RU2789452C2 - Method and equipment for processing of video data - Google Patents

Method and equipment for processing of video data Download PDF

Info

Publication number
RU2789452C2
RU2789452C2 RU2021122357A RU2021122357A RU2789452C2 RU 2789452 C2 RU2789452 C2 RU 2789452C2 RU 2021122357 A RU2021122357 A RU 2021122357A RU 2021122357 A RU2021122357 A RU 2021122357A RU 2789452 C2 RU2789452 C2 RU 2789452C2
Authority
RU
Russia
Prior art keywords
block
prediction
vector
candidate
list
Prior art date
Application number
RU2021122357A
Other languages
Russian (ru)
Other versions
RU2021122357A (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 RU2021122357A publication Critical patent/RU2021122357A/en
Application granted granted Critical
Publication of RU2789452C2 publication Critical patent/RU2789452C2/en

Links

Images

Abstract

FIELD: video encoding/decoding.
SUBSTANCE: invention relates to the field of encoding/decoding of a video signal by means of the use of mutual prediction. A method for decoding of video data is proposed, which contains: configuration of a list of possible options of a block vectors of the current block, to which a prediction mode based on inter-block copying (hereinafter – IBC) is applied, wherein IBC mode refers to another block in the current frame, and formation of a prediction sample of the current block based on the block vector included in the list of possible options of block vectors. Configuration of the list of possible options of block vectors contains: configuration of a list of possible options of block vectors from a spatial neighboring block, to which IBC prediction mode is applied, and modification of the list of possible options of block vectors based on a possible option of history-based motion vector prediction (HVMP), to which IBC prediction mode is applied, when a number of current possible options of the list of possible options of block vectors is less than the maximum number of possible options.
EFFECT: provision of processing of video data for creation of a list of possible combination options or an option of motion vector prediction in a prediction mode based on a link to current frames (CPR) or based on IBC.
7 cl, 30 dwg

Description

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

[1] Настоящее раскрытие относится к способу и устройству для обработки видеосигнала, а более конкретно, к способу и устройству для кодирования или декодирования видеосигнала посредством использования взаимного прогнозирования.[1] The present disclosure relates to a method and apparatus for processing a video signal, and more specifically, to a method and apparatus for encoding or decoding a video signal by using inter prediction.

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

[2] Кодирование со сжатием означает последовательность технологий обработки сигналов для передачи оцифрованной информации через линию связи или технологий для сохранения информации в форме, которая является подходящей для носителя хранения данных. Мультимедиа, включающее в себя видео, изображение, аудио и т.п., может представлять собой цель для кодирования со сжатием, и, в частности, технология выполнения кодирования со сжатием, предназначенного для видео, называется "сжатием видеоизображений".[2] Compression encoding means a series of signal processing technologies for transmitting digitized information over a communication line, or technologies for storing information in a form that is suitable for a storage medium. Media including video, image, audio, and the like may be a target for compression encoding, and specifically, a technique for performing compression encoding intended for video is referred to as "video image compression".

[3] Видеоконтент следующего поколения предположительно должен иметь характеристики высокого пространственного разрешения, высокой частоты кадров и большого числа размерностей представления сцены. Чтобы обрабатывать такой контент, в результате вызывается радикальное увеличение объема запоминающего устройства, частоты обращений к запоминающему устройству и мощности обработки.[3] Next-generation video content is expected to have the characteristics of high spatial resolution, high frame rate, and a large number of scene representation dimensions. In order to process such content, a radical increase in storage space, storage access rate, and processing power is caused as a result.

[4] Соответственно, требуется проектировать инструментальное средство кодирования для эффективной обработки видеоконтента следующего поколения. В частности, стандарты видеокодеков после стандарта высокоэффективного кодирования видео (HEVC) требуют более эффективных технологий прогнозирования.[4] Accordingly, it is required to design an encoding tool for efficient processing of next generation video content. In particular, post-High Efficiency Video Coding (HEVC) video codec standards require more efficient prediction technologies.

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

Техническая задачаTechnical task

[5] Цель вариантов осуществления раскрытия заключается в том, чтобы предложить способ и оборудование обработки видеоданных для конструирования списка возможных вариантов объединения или возможного варианта прогнозирования векторов движения в режиме прогнозирования (предсказания) на основе ссылки на текущие кадры (CPR) или на основе внутриблочного копирования (IBC), который выполняет взаимное (интер-) прогнозирование с использованием текущего кадра в качестве опорного кадра.[5] The purpose of the embodiments of the disclosure is to provide a video data processing method and equipment for constructing a combination candidate list or motion vector prediction candidate in a prediction (prediction) mode based on current frame reference (CPR) or on an intra-block copy basis. (IBC) that performs inter-prediction using the current frame as the reference frame.

[6] Цели раскрытия не ограничены вышеприведенным, и другие неупомянутые цели должны становиться очевидными для специалистов в данной области техники из нижеприведенного описания.[6] The objectives of the disclosure are not limited to the above, and other purposes not mentioned should become apparent to those skilled in the art from the description below.

Техническое решениеTechnical solution

[7] В аспекте варианта осуществления раскрытия, способ обработки видеоданных может содержать: конфигурирование списка потенциально подходящих вариантов (возможных вариантов) векторов блока текущего блока, к которому применяется режим прогнозирования на основе внутриблочного копирования (IBC), причем IBC-режим ссылается на другой блок в текущем кадре; и формирование прогнозной выборки текущего блока на основе вектора блока, включенного в список возможных вариантов векторов блока, при этом конфигурирование списка возможных вариантов векторов блока содержит: конфигурирование списка возможных вариантов векторов блока из пространственного соседнего блока, к которому применяется режим IBC-прогнозирования; и модификацию списка возможных вариантов векторов блока на основе возможного варианта прогнозирования векторов движения на основе предыстории (HVMP), к которому применяется режим IBC-прогнозирования, когда число текущих возможных вариантов из списка возможных вариантов векторов блока меньше максимального числа возможных вариантов.[7] In an aspect of an embodiment of the disclosure, a method for processing video data may comprise: configuring a list of potentially suitable options (possibilities) of the block vectors of the current block to which the intra-block copy (IBC) prediction mode is applied, and the IBC mode refers to another block in the current frame; and generating a prediction sample of the current block based on a block vector included in the block vector candidate list, wherein configuring the block vector candidate list comprises: configuring the block vector candidate list from a spatial neighboring block to which the IBC prediction mode is applied; and modifying the block vector candidate list based on the historical motion vector prediction (HVMP) candidate to which the IBC prediction mode is applied when the number of current candidates in the block vector candidate list is less than the maximum number of candidates.

[8] В варианте осуществления, конфигурирование списка возможных вариантов векторов блока дополнительно может содержать добавление нулевого вектора в модифицированный список возможных вариантов векторов блока, когда число текущих возможных вариантов из модифицированного списка возможных вариантов векторов блока меньше максимального числа возможных вариантов.[8] In an embodiment, configuring the block vector candidate list may further comprise adding a null vector to the modified block vector candidate list when the number of current candidates in the modified block vector candidate list is less than the maximum number of candidate vectors.

[9] В варианте осуществления, добавление нулевого вектора в модифицированный список возможных вариантов векторов блока может содержать добавление нулевого вектора в модифицированный список возможных вариантов векторов блока до тех пор, пока число текущих возможных вариантов из модифицированного списка возможных вариантов векторов блока не становится максимальным числом возможных вариантов.[9] In an embodiment, adding a null vector to the modified block vector candidate list may comprise adding a null vector to the modified block vector candidate list until the number of current candidates from the modified block vector candidate list becomes the maximum number of possible vectors. options.

[10] В варианте осуществления, пространственный соседний блок может включать в себя, по меньшей мере, одно из левого бокового соседнего блока, левого нижнего соседнего блока, верхнего бокового соседнего блока или правого верхнего соседнего блока.[10] In an embodiment, a spatial neighbor may include at least one of a left side neighbor, a left bottom neighbor, a top side neighbor, or a right top neighbor.

[11] В варианте осуществления, конфигурирование списка возможных вариантов векторов блока дополнительно может содержать добавление в модифицированный список возможных вариантов векторов блока попарного возможного варианта, сформированного на основе комбинации векторов блока, включенных в модифицированный список возможных вариантов векторов блока.[11] In an embodiment, configuring the block vector candidate list may further comprise adding to the modified block vector candidate list a pairwise candidate generated based on the combination of the block vectors included in the modified block vector candidate list.

[12] В варианте осуществления, способ дополнительно может содержать добавление нулевого вектора в список возможных вариантов векторов блока, когда число текущих возможных вариантов из списка возможных вариантов векторов блока, в который добавляется попарный возможный вариант, меньше максимального числа возможных вариантов.[12] In an embodiment, the method may further comprise adding a null vector to the block vector candidate list when the number of current candidates from the vector candidate list of the block to which the pairwise opportunity is added is less than the maximum number of possibilities.

[13] В другом аспекте варианта осуществления, способ кодирования видеоданных может содержать: конфигурирование списка возможных вариантов векторов блока текущего блока, к которому применяется режим прогнозирования на основе внутриблочного копирования (IBC), причем IBC-режим ссылается на другой блок в текущем кадре; формирование прогнозной выборки текущего блока на основе вектора блока, включенного в список возможных вариантов векторов блока; и кодирование информации, связанной с прогнозированием текущего блока, при этом конфигурирование списка возможных вариантов векторов блока содержит: конфигурирование списка возможных вариантов векторов блока из пространственного соседнего блока, к которому применяется режим IBC-прогнозирования; и модификацию списка возможных вариантов векторов блока на основе возможного варианта прогнозирования векторов движения на основе предыстории (HVMP), к которому применяется режим IBC-прогнозирования, когда число текущих возможных вариантов из списка возможных вариантов векторов блока меньше максимального числа возможных вариантов.[13] In another aspect of the embodiment, the video encoding method may comprise: configuring a list of possible block vectors of the current block to which the intra-block copy (IBC) prediction mode is applied, the IBC mode referring to another block in the current frame; generating a predictive sample of the current block based on the block vector included in the list of candidate block vectors; and encoding information related to prediction of the current block, wherein configuring the block vector candidate list comprises: configuring the block vector candidate list from the spatial neighboring block to which the IBC prediction mode is applied; and modifying the block vector candidate list based on the historical motion vector prediction (HVMP) candidate to which the IBC prediction mode is applied when the number of current candidates in the block vector candidate list is less than the maximum number of candidates.

[14] В другом аспекте варианта осуществления, оборудование для декодирования видеоданных может содержать: запоминающее устройство для сохранения видеоданных; и процессор, соединенный с запоминающим устройством и выполненный с возможностью обрабатывать видеоданные, при этом процессор выполнен с возможностью: конфигурировать список возможных вариантов векторов блока текущего блока, к которому применяется режим прогнозирования на основе внутриблочного копирования (IBC), причем IBC-режим ссылается на другой блок в текущем кадре; и формировать прогнозную выборку текущего блока на основе вектора блока, включенного в список возможных вариантов векторов блока, при этом для того, чтобы конфигурировать список возможных вариантов векторов блока, процессор выполнен с возможностью: конфигурировать список возможных вариантов векторов блока из пространственного соседнего блока, к которому применяется режим IBC-прогнозирования; и модифицировать список возможных вариантов векторов блока на основе возможного варианта прогнозирования векторов движения на основе предыстории (HVMP), к которому применяется режим IBC-прогнозирования, когда число текущих возможных вариантов из списка возможных вариантов векторов блока меньше максимального числа возможных вариантов.[14] In another aspect of the embodiment, the equipment for decoding video data may comprise: a storage device for storing video data; and a processor coupled to the storage device and configured to process the video data, wherein the processor is configured to: configure a list of possible block vectors of the current block to which the intra-block copy (IBC) prediction mode is applied, the IBC mode referring to another block in the current frame; and generate a prediction sample of the current block based on the block vector included in the block vector candidate list, wherein, in order to configure the block vector candidate list, the processor is configured to: configure the block vector candidate list from the spatial neighboring block to which the IBC forecasting mode is applied; and modifying the block vector candidate list based on the Historical Motion Vector Prediction (HVMP) candidate to which the IBC prediction mode is applied when the number of current candidates in the block vector candidate list is less than the maximum number of candidates.

[15] В еще одном другом аспекте варианта осуществления, оборудование для кодирования видеоданных может содержать: запоминающее устройство для сохранения видеоданных; и процессор, соединенный с запоминающим устройством и выполненный с возможностью обрабатывать видеоданные, при этом процессор выполнен с возможностью: конфигурировать список возможных вариантов векторов блока текущего блока, к которому применяется режим прогнозирования на основе внутриблочного копирования (IBC), причем IBC-режим ссылается на другой блок в текущем кадре; формировать прогнозную выборку текущего блока на основе вектора блока, включенного в список возможных вариантов векторов блока; и кодировать информацию, связанную с прогнозированием текущего блока, при этом для того, чтобы конфигурировать список возможных вариантов векторов блока, процессор выполнен с возможностью: конфигурировать список возможных вариантов векторов блока из пространственного соседнего блока, к которому применяется режим IBC-прогнозирования; и модифицировать список возможных вариантов векторов блока на основе возможного варианта прогнозирования векторов движения на основе предыстории (HVMP), к которому применяется режим IBC-прогнозирования, когда число текущих возможных вариантов из списка возможных вариантов векторов блока меньше максимального числа возможных вариантов.[15] In yet another aspect of the embodiment, the video encoding equipment may comprise: a storage device for storing video data; and a processor coupled to the storage device and configured to process the video data, wherein the processor is configured to: configure a list of possible block vectors of the current block to which an intra-block copy (IBC) prediction mode is applied, the IBC mode referring to another block in the current frame; generate a predictive sample of the current block based on the block vector included in the list of candidate block vectors; and encode information related to prediction of the current block, wherein, in order to configure a block vector candidate list, the processor is configured to: configure a block vector candidate list from a spatial neighboring block to which the IBC prediction mode is applied; and modifying the block vector candidate list based on the Historical Motion Vector Prediction (HVMP) candidate to which the IBC prediction mode is applied when the number of current candidates in the block vector candidate list is less than the maximum number of candidates.

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

[16] Согласно варианту осуществления раскрытия, когда режим прогнозирования на основе CPR (ссылки на текущие кадры) или IBC (внутриблочного копирования) применяется к текущему блоку посредством конструирования списка возможных вариантов прогнозирования при одновременном исключении временных соседних блоков относительно текущего блока, список возможных вариантов объединения или прогнозирования векторов движения может эффективно конструироваться.[16] According to an embodiment of the disclosure, when a prediction mode based on CPR (current frame reference) or IBC (intra-block copy) is applied to the current block by constructing a prediction candidate list while excluding temporal neighboring blocks relative to the current block, the combining candidate list or prediction of motion vectors can be efficiently constructed.

[17] Преимущества раскрытия не ограничены вышеприведенным, и другие неупомянутые преимущества должны становиться очевидными для специалистов в данной области техники из нижеприведенного описания.[17] The advantages of the disclosure are not limited to the above, and other unmentioned advantages should become apparent to those skilled in the art from the description below.

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

[18] Прилагаемые чертежи, которые включаются в качестве части подробного описания, чтобы помогать в понимании раскрытия, предоставляют варианты осуществления раскрытия и описывают технические характеристики раскрытия вместе с подробным описанием.[18] The accompanying drawings, which are included as part of the detailed description to assist in understanding the disclosure, provide embodiments of the disclosure and describe the specifications of the disclosure along with the detailed description.

[19] Фиг. 1 иллюстрирует пример системы кодирования видео согласно варианту осуществления раскрытия.[19] FIG. 1 illustrates an example of a video coding system according to an embodiment of the disclosure.

[20] Фиг. 2 является вариантом осуществления, к которому применяется раскрытие, и является принципиальной блок-схемой оборудования кодирования для кодирования видеосигнала/сигнала изображения.[20] FIG. 2 is an embodiment to which the disclosure applies, and is a schematic block diagram of an encoding equipment for encoding a video signal/image signal.

[21] Фиг. 3 является вариантом осуществления, к которому применяется раскрытие, и является принципиальной блок-схемой оборудования декодирования для декодирования видеосигнала/сигнала изображения.[21] FIG. 3 is an embodiment to which the disclosure applies, and is a schematic block diagram of a decoding equipment for decoding a video/image signal.

[22] Фиг. 4 показывает пример структурной схемы системы потоковой передачи контента согласно варианту осуществления раскрытия.[22] FIG. 4 shows an example of a block diagram of a content streaming system according to an embodiment of the disclosure.

[23] Фиг. 5 показывает пример блок-схемы оборудования для обработки видеосигнала согласно варианту осуществления раскрытия.[23] FIG. 5 shows an example block diagram of video signal processing equipment according to an embodiment of the disclosure.

[24] Фиг. 6A-6D, соответственно, иллюстрируют примеры структур разбиения блоков согласно дереву квадрантов (QT), двоичному дереву (BT), троичному дереву (TT) и асимметричному дереву (AT).[24] FIG. 6A-6D respectively illustrate examples of block partition structures according to quadtree (QT), binary tree (BT), ternary tree (TT), and asymmetric tree (AT).

[25] Фиг. 7 и 8, соответственно, являются процедурой кодирования видео/изображений на основе взаимного (интер-) прогнозирования и модулем взаимного прогнозирования в оборудовании кодирования согласно варианту осуществления раскрытия.[25] FIG. 7 and 8, respectively, are an inter-prediction-based video/image coding procedure and an inter-prediction unit in the coding equipment according to an embodiment of the disclosure.

[26] Фиг. 9 и 10, соответственно, являются процедурой декодирования видео/изображений на основе взаимного прогнозирования и модулем взаимного прогнозирования в оборудовании декодирования согласно варианту осуществления раскрытия.[26] FIG. 9 and 10, respectively, are an inter-prediction-based video/image decoding procedure and an inter-prediction unit in the decoding equipment according to an embodiment of the disclosure.

[27] Фиг. 11 иллюстрирует пример конструирования пространственных возможных вариантов объединения для текущего блока.[27] FIG. 11 illustrates an example of constructing spatial merge options for the current block.

[28] Фиг. 12 является блок-схемой последовательности операций, иллюстрирующей способ конфигурирования списка возможных вариантов объединения согласно варианту осуществления, к которому применяется раскрытие.[28] FIG. 12 is a flowchart illustrating a method for configuring a combination candidate list according to an embodiment to which the disclosure applies.

[29] Фиг. 13 является блок-схемой последовательности операций, иллюстрирующей способ конфигурирования списка возможных вариантов прогнозирования (списка возможных MVP-вариантов) согласно варианту осуществления, к которому применяется раскрытие.[29] FIG. 13 is a flowchart illustrating a method for configuring a prediction candidate list (MVP candidate list) according to the embodiment to which the disclosure applies.

[30] Фиг. 14 и 15 показывают примеры единицы прогнозирования в способе кодирования и оборудовании кодирования видео/изображений на основе IBC-прогнозирования согласно варианту осуществления настоящего описания изобретения.[30] FIG. 14 and 15 show examples of a prediction unit in a coding method and video/image coding equipment based on IBC prediction according to an embodiment of the present disclosure.

[31] Фиг. 16 и 17 показывают примеры единицы прогнозирования в способе декодирования и оборудовании декодирования видео/изображений на основе IBC-прогнозирования согласно варианту осуществления настоящего описания изобретения.[31] FIG. 16 and 17 show examples of a prediction unit in a decoding method and video/image decoding equipment based on IBC prediction according to an embodiment of the present disclosure.

[32] Фиг. 18-21 показывают блок-схемы последовательности операций, иллюстрирующие способы конфигурирования списка возможных вариантов IBC-объединения согласно вариантам осуществления настоящего описания изобретения.[32] FIG. 18-21 show flowcharts illustrating methods for configuring an IBC join candidate list according to embodiments of the present specification.

[33] Фиг. 24 и 25 показывают блок-схемы последовательности операций, иллюстрирующие способы конфигурирования списка возможных вариантов IBC-объединения согласно вариантам осуществления настоящего описания изобретения.[33] FIG. 24 and 25 show flowcharts illustrating methods for configuring a list of possible IBC joins according to embodiments of the present specification.

[34] Фиг. 26 является примером блок-схемы последовательности операций способа для кодирования видеоданных согласно варианту осуществления настоящего описания изобретения.[34] FIG. 26 is an example of a flowchart for encoding video data according to an embodiment of the present specification.

[35] Фиг. 27 является примером блок-схемы последовательности операций способа для декодирования видеоданных согласно варианту осуществления настоящего описания изобретения.[35] FIG. 27 is an example of a flowchart for decoding video data according to an embodiment of the present specification.

Оптимальный режим осуществления изобретенияOptimal Mode for Carrying Out the Invention

[32] Далее описываются предпочтительные варианты осуществления раскрытия со ссылкой на прилагаемые чертежи. Описание, которое приводится ниже вместе с прилагаемыми чертежами, должно описывать примерные варианты осуществления раскрытия и не имеет намерение описывать единственный вариант осуществления, в котором может реализовываться раскрытие. Нижеприведенное описание включает в себя конкретные подробности для того, чтобы предоставлять идеальное понимание раскрытия. Тем не менее, следует понимать, что раскрытие может осуществляться без конкретных подробностей для специалистов в данной области техники. В некоторых случаях, чтобы исключать неясность технической идеи раскрытия, структуры или устройства, которые являются общеизвестными, могут опускаться либо могут быть проиллюстрированы как блок-схема, ориентированная на базовые функции структур или устройств.[32] The following describes preferred embodiments of the disclosure with reference to the accompanying drawings. The description that follows in conjunction with the accompanying drawings is to describe exemplary embodiments of the disclosure and is not intended to describe a single embodiment in which the disclosure may be implemented. The following description includes specific details in order to provide an ideal understanding of the disclosure. However, it should be understood that the disclosure may be made without specific details to those skilled in the art. In some cases, to avoid obscuring the technical idea of the disclosure, structures or devices that are well known may be omitted or may be illustrated as a block diagram oriented to the basic functions of the structures or devices.

[33] В некоторых случаях, чтобы исключать неясность технической идеи раскрытия, структуры или устройства, которые являются общеизвестными, могут опускаться либо могут быть проиллюстрированы как блок-схема, ориентированная на базовые функции структур или устройств.[33] In some cases, to avoid obscuring the technical idea of the disclosure, structures or devices that are well known may be omitted or may be illustrated as a block diagram oriented to the basic functions of the structures or devices.

[34] Дополнительно, хотя общие термины, широко используемые в данный момент, выбираются в качестве терминов в раскрытии в максимально возможной степени, термин, который произвольно выбирается заявителем, используется в конкретном случае. Поскольку смысловое значение термина четко описывается в соответствующей части описания в таком случае, следует понимать, что раскрытие не должно просто интерпретироваться посредством терминов, используемых только в описании раскрытия, а должно выясняться смысловое значение терминов.[34] Additionally, although general terms currently in common use are chosen as terms in the disclosure to the greatest extent possible, a term that is arbitrarily chosen by the Applicant is used on a case-by-case basis. Since the meaning of the term is clearly described in the relevant part of the description in such a case, it should be understood that the disclosure should not simply be interpreted in terms of terms used only in the description of the disclosure, but the meaning of the terms should be ascertained.

[35] Конкретные терминологии, используемые в нижеприведенном описании, могут предоставляться для того, чтобы помогать пониманию раскрытия. Кроме того, конкретная терминология может модифицироваться в другие формы в пределах технической идеи раскрытия. Например, сигнал, данные, выборка, кадр, срез, плитка, кадр, блок и т.д. могут надлежащим образом заменяться и интерпретироваться в каждом процессе кодирования.[35] Specific terminology used in the description below may be provided to aid understanding of the disclosure. Moreover, the specific terminology may be modified into other forms within the technical scope of the disclosure. For example, signal, data, sample, frame, slice, tile, frame, block, etc. may be appropriately replaced and interpreted in each encoding process.

[36] В дальнейшем в этом документе, в этом подробном описании, "единица обработки" означает единицу, в которой выполняется процесс обработки кодирования/декодирования, такой как прогнозирование, преобразование и/или квантование. Единица обработки может истолковываться как имеющая смысловое значение, включающее в себя единицу для компонента сигнала яркости и единицу для компонента сигнала цветности. Например, единица обработки может соответствовать единице дерева кодирования (CTU), единице кодирования (CU), единице прогнозирования (PU) или единице преобразования (TU).[36] Hereinafter, in this detailed description, "processing unit" means a unit in which an encoding/decoding processing such as prediction, transformation, and/or quantization is performed. A processing unit can be interpreted as having a meaning including a unit for the luminance signal component and a unit for the chrominance signal component. For example, a processing unit may correspond to a coding tree unit (CTU), a coding unit (CU), a prediction unit (PU), or a transformation unit (TU).

[37] Кроме того, единица обработки может истолковываться в качестве единицы для компонента сигнала яркости или единицы для компонента сигнала цветности. Например, единица обработки может соответствовать блоку дерева кодирования (CTB), блоку кодирования (CB), блоку прогнозирования (PU) или блоку преобразования (TB) для компонента сигнала яркости. Альтернативно, единица обработки может соответствовать блоку дерева кодирования (CTB), блоку кодирования (CB), блоку прогнозирования (PB) или блоку преобразования (TB) для компонента сигнала цветности. Кроме того, раскрытие не ограничено этим, и единица обработки может истолковываться в качестве смыслового значения, включающего в себя единицу для компонента сигнала яркости и единицу для компонента сигнала цветности.[37] In addition, the processing unit can be interpreted as a unit for the luminance signal component or a unit for the chrominance signal component. For example, a processing unit may correspond to a coding tree block (CTB), a coding block (CB), a prediction block (PU), or a transform block (TB) for the luma component. Alternatively, the processing unit may correspond to a coding tree block (CTB), a coding block (CB), a prediction block (PB), or a transform block (TB) for the chroma component. In addition, the disclosure is not limited to this, and a processing unit can be interpreted as a meaning including a unit for the luminance signal component and a unit for the chrominance signal component.

[38] Кроме того, единица обработки по существу не ограничивается квадратным блоком и может конструироваться в форме многоугольника, имеющей три или более вершин.[38] In addition, the processing unit is essentially not limited to a square block and can be designed in the shape of a polygon having three or more vertices.

[39] Кроме того, в дальнейшем в этом документе, в этом подробном описании, пиксел, элемент кадра, коэффициент (коэффициент преобразования или коэффициент преобразования после преобразования первого порядка) и т.д., в общем, называются "выборкой" ("дискретным отсчетом"). Кроме того, использование выборки может означать использование пиксельного значения, значения элемента кадра, коэффициента преобразования и т.п.[39] In addition, hereinafter, in this detailed description, a pixel, a frame element, a factor (a transform factor or a transform factor after first-order transform), etc., is generally referred to as a "sample" ("discrete countdown"). In addition, the use of sampling may mean the use of a pixel value, a frame element value, a transform factor, and the like.

[40] Фиг. 1 иллюстрирует пример системы кодирования видео согласно варианту осуществления раскрытия.[40] FIG. 1 illustrates an example of a video coding system according to an embodiment of the disclosure.

[41] Система кодирования видео может включать в себя исходное устройство 10 и приемное устройство 20. Исходное устройство 10 может передавать кодированную информацию или данные видео/изображений в приемное устройство 20 в формате файла или потоковой передачи через носитель хранения данных или сеть.[41] The video coding system may include a source device 10 and a receiver 20. The source device 10 may transmit the encoded information or video/image data to the receiver 20 in file format or streaming via storage media or a network.

[42] Исходное устройство 10 может включать в себя видеоисточник 11, оборудование 12 кодирования и передатчик 13. Приемное устройство 20 может включать в себя приемник 21, оборудование 22 декодирования и модуль 23 рендеринга. Исходное устройство может называться "оборудованием кодирования видео/изображений", и приемное устройство может называться "оборудованием декодирования видео/изображений". Передатчик 13 может включаться в оборудование 12 кодирования. Приемник 21 может включаться в оборудование 22 декодирования. Модуль рендеринга может включать в себя дисплей, и дисплей может быть сконфигурирован как отдельное устройство или внешний компонент.[42] Source device 10 may include video source 11, encoding equipment 12, and transmitter 13. Receiver device 20 may include receiver 21, decoding equipment 22, and renderer 23. The source device may be referred to as "video/image coding equipment", and the receiving device may be referred to as "video/image decoding equipment". The transmitter 13 may be included in the coding equipment 12. The receiver 21 may be included in the equipment 22 decoding. The renderer may include a display, and the display may be configured as a separate device or an external component.

[43] Видеоисточник 11 может получать видеоданные/данные изображений через процесс захвата, синтеза или формирования видео/изображения. Видеоисточник может включать в себя устройство захвата видео/изображений и/или устройство формирования видео/изображений. Устройство захвата видео/изображений может включать в себя, например, одну или более камер, архив видео/изображений, включающий в себя ранее захваченные видео/изображения, и т.п. Устройство формирования видео/изображений может включать в себя, например, компьютер, планшетный компьютер и смартфон и может электронно формировать видеоданные/данные изображений. Например, виртуальные видеоданные/данные изображений могут формироваться через компьютер и т.п., и в этом случае, процесс захвата видео/изображений может заменяться посредством процесса формирования связанных данных.[43] The video source 11 can acquire video/image data through a video/image capturing, synthesis, or forming process. 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, a video/image archive including previously captured videos/images, and the like. The video/image generating apparatus may include, for example, a computer, a tablet computer, and a smartphone, and may electronically generate video/image data. For example, virtual video/image data may be generated via a computer or the like, in which case, the video/image capturing process may be replaced by a linked data generation process.

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

[45] Передатчик 13 может передавать кодированную информацию или данные видео/видео, выводимую в форме потока битов, в приемник приемного устройства через цифровой носитель хранения данных или сеть в формате файла или потоковой передачи. Цифровые носители хранения данных могут включать в себя различные носители хранения данных, такие как носители по универсальной последовательной шины (USB), по стандарту Secure Digital (SD), компакт-диск (CD), цифровой видеодиск (DVD), BluRay-диск, накопитель на жестких дисках (HDD) и полупроводниковый накопитель (SSD). Передатчик 13 может включать в себя элемент для формирования мультимедийного файла через предварительно определенный формат файлов и может включать в себя элемент для передачи через широковещательную сеть/сеть связи. Приемник 21 может извлекать поток битов и передавать его в оборудование 22 декодирования.[45] The transmitter 13 may transmit the encoded information or video/video 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 a file or streaming format. Digital storage media may include various storage media such as Universal Serial Bus (USB), Secure Digital (SD), Compact Disc (CD), Digital Video Disc (DVD), BluRay Disc, hard disk drive (HDD) and solid state drive (SSD). The transmitter 13 may include an element for generating a media file via a predetermined file format, and may include an element for transmission via a broadcast/communications network. The receiver 21 may extract the bit stream and transmit it to the decoding equipment 22 .

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

[47] Модуль 23 рендеринга может формировать декодированное видео/изображение. Сформированное видео/изображение может отображаться через дисплей.[47] The rendering unit 23 may generate a decoded video/image. The generated video/image can be displayed through the display.

[48] Фиг. 2 является вариантом осуществления, к которому применяется раскрытие, и является принципиальной блок-схемой оборудования кодирования для кодирования видеосигнала/сигнала изображения.[48] FIG. 2 is an embodiment to which the disclosure applies, and is a schematic block diagram of an encoding equipment for encoding a video signal/image signal.

[49] Ссылаясь на фиг 2, оборудование 100 кодирования может быть выполнено с возможностью включать в себя модуль 110 разделения изображений, вычитатель 115, преобразователь 120, квантователь 130, деквантователь 140, обратный преобразователь 150, сумматор 155, фильтр 160, запоминающее устройство 170, модуль 180 взаимного прогнозирования, модуль 185 внутреннего прогнозирования и энтропийный кодер 190. Модуль 180 взаимного прогнозирования и модуль 185 внутреннего прогнозирования типично могут называться "модулем прогнозирования". Другими словами, модуль прогнозирования может включать в себя модуль 180 взаимного прогнозирования и модуль 185 внутреннего (интра-) прогнозирования. Преобразователь 120, квантователь 130, деквантователь 140 и обратный преобразователь 150 могут включаться в остаточный процессор. Остаточный процессор дополнительно может включать в себя вычитатель 115. В одном варианте осуществления, модуль 110 разделения изображений, вычитатель 115, преобразователь 120, квантователь 130, деквантователь 140, обратный преобразователь 150, сумматор 155, фильтр 160, модуль 180 взаимного прогнозирования, модуль 185 внутреннего прогнозирования и энтропийный кодер 190 могут быть сконфигурированы как один аппаратный компонент (например, кодер или процессор). Кроме того, запоминающее устройство 170 может быть сконфигурировано с помощью аппаратного компонента (например, запоминающего устройства или цифрового носителя хранения данных) в варианте осуществления. Кроме того, запоминающее устройство 170 может включать в себя буфер декодированных кадров (DPB).[49] Referring to FIG. 2, the encoding equipment 100 may be configured to include an image separation unit 110, a subtractor 115, a transformer 120, a quantizer 130, a dequantizer 140, an inverse transformer 150, an adder 155, a filter 160, a memory 170, inter prediction unit 180, intra prediction unit 185, and entropy encoder 190. Inter prediction unit 180 and intra prediction unit 185 may typically be referred to as a "prediction unit". In other words, the prediction module may include an inter prediction module 180 and an intra prediction module 185 . Transformer 120, quantizer 130, dequantizer 140, and inverse transform 150 may be included in the residual processor. The residual processor may further include subtractor 115. In one embodiment, image separation module 110, subtractor 115, transform 120, quantizer 130, dequantizer 140, inverse transform 150, adder 155, filter 160, inter prediction module 180, internal prediction and entropy encoder 190 may be configured as a single hardware component (eg, encoder or processor). In addition, the storage device 170 may be configured with a hardware component (eg, a storage device or a digital storage medium) in the embodiment. In addition, memory 170 may include a decoded frame buffer (DPB).

[50] Модуль 110 разделения изображений может разделять входное изображение (либо кадр или картинка), вводимое в оборудование 100 кодирования, на одну или более единиц обработки. Например, единица обработки может называться "единицей кодирования (CU)". В этом случае, единица кодирования может рекурсивно разбиваться из единицы дерева кодирования (CTU) или наибольшей единицы кодирования (LCU) на основе структуры в виде дерева квадрантов и двоичного дерева (QTBT). Например, одна единица кодирования может разбиваться на множество единиц кодирования большей глубины на основе структуры в виде дерева квадрантов и/или структуры в виде двоичного дерева. В этом случае, например, сначала может применяться структура в виде дерева квадрантов, а затем может применяться структура в виде двоичного дерева. Альтернативно, сначала может применяться структура в виде двоичного дерева. Процедура кодирования согласно раскрытию может выполняться на основе конечной единицы кодирования, которая более не разбивается. В этом случае, наибольшая единица кодирования может непосредственно использоваться в качестве конечной единицы кодирования на основе эффективности кодирования согласно характеристике изображения, либо единица кодирования может рекурсивно разбиваться на единицы кодирования большей глубины при необходимости. Соответственно, единица кодирования, имеющая оптимальный размер, может использоваться в качестве конечной единицы кодирования. В этом случае, процедура кодирования может включать в себя такую процедуру, как прогнозирование, преобразование или восстановление, которая описывается ниже. В другом примере, единица обработки дополнительно может включать в себя единицу прогнозирования (PU) или единицу преобразования (TU). В этом случае, каждая из единицы прогнозирования и единицы преобразования может разделяться или сегментироваться из каждой конечной единицы кодирования. Единица прогнозирования может представлять собой единицу для выборочного прогнозирования, и единица преобразования может представлять собой единицу, из которой извлекается коэффициент преобразования, и/или единицу, в которой остаточный сигнал извлекается из коэффициента преобразования.[50] The image separating unit 110 may separate an input image (either a frame or a picture) input to the encoding equipment 100 into one or 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 split from a coding tree unit (CTU) or a largest coding unit (LCU) based on a quadtree binary tree (QTBT) structure. For example, one coding unit may be split into multiple coding units of greater depth based on a quadtree structure and/or a binary tree structure. In this case, for example, a quadtree structure may be applied first, and then a binary tree structure may be applied. Alternatively, a binary tree structure may be applied first. The encoding procedure according to the disclosure may be performed based on a final coding unit that is no longer split. In this case, the largest coding unit may be directly used as the final coding unit based on the coding efficiency according to the image characteristic, or the coding unit may be recursively split into larger depth coding units as needed. Accordingly, a coding unit having an optimal size can be used as a final coding unit. In this case, the encoding procedure may include a procedure such as prediction, transformation, or restoration, which is described below. In another example, the processing unit may further include a prediction unit (PU) or a transformation unit (TU). In this case, each of the prediction unit and the transformation unit may be partitioned or segmented from each final coding unit. The prediction unit may be a unit for selective prediction, and the transform unit may be the unit from which the transform coefficient is extracted and/or the unit in which the residual signal is extracted from the transform coefficient.

[51] Единица может взаимозаменяемо использоваться с блоком или зоной согласно обстоятельствам. В общем случае, блок MxN может указывать набор выборок, сконфигурированных с M столбцов и N строк или набором коэффициентов преобразования. В общем, выборка может указывать пиксел или значение пиксела и может указывать только пиксел/пиксельное значение компонента сигнала яркости либо только пиксел/пиксельное значение компонента сигнала цветности. В выборке, один кадр (или изображение) может использоваться в качестве термина, соответствующего пикселу или пелу.[51] The unit can be used interchangeably with a block or zone according to the circumstances. In general, the MxN block may indicate a set of samples configured with M columns and N rows or a set of transform coefficients. In general, a sample may indicate a pixel or a pixel value, and may indicate only a pixel/pixel value of a luma component, or only a pixel/pixel value of a chroma component. In a sample, one frame (or image) can be used as a term corresponding to a pixel or pel.

[52] Оборудование 100 кодирования может формировать остаточный сигнал (остаточный блок или массив остаточных выборок) посредством вычитания прогнозного сигнала (прогнозированного блока или массива прогнозных выборок), выводимого посредством модуля 180 взаимного прогнозирования или модуля 185 внутреннего прогнозирования, из сигнала входного изображения (исходного блока или массива исходных выборок). Сформированный остаточный сигнал передается в преобразователь 120. В этом случае, как проиллюстрировано, модуль, в котором прогнозный сигнал (блок прогнозирования или массив прогнозных выборок) вычитается из сигнала входного изображения (исходного блока или массива исходных выборок) в оборудовании 100 кодирования, может называться "вычитателем 115". Модуль прогнозирования может выполнять прогнозирование относительно целевого блока обработки (далее текущего блока) и может формировать прогнозированный блок, включающий в себя прогнозные выборки для текущего блока. Модуль прогнозирования может определять то, применяется внутреннее прогнозирование либо применяется взаимное прогнозирование в текущем блоке или единице CU. Модуль прогнозирования может формировать различные фрагменты информации относительно прогнозирования, такие как информация режима прогнозирования, как указано ниже в описании каждого режима прогнозирования, и может передавать информацию в энтропийный кодер 190. Информация относительно прогнозирования может кодироваться в энтропийном кодере 190 и может выводиться в форме потока битов.[52] The encoding equipment 100 can generate a residual signal (residual block or residual sample array) by subtracting the prediction signal (predicted block or predictive sample array) output by the inter prediction unit 180 or intra prediction unit 185 from the input image signal (original block or an array of initial samples). The generated residual signal is transmitted to the converter 120. In this case, as illustrated, a unit in which a prediction signal (a prediction block or an array of predictive samples) is subtracted from an input image signal (a source block or an array of original samples) in the encoding equipment 100 may be called " subtractor 115". The prediction module may perform prediction on a target processing block (hereinafter, the current block), and may generate a prediction block including prediction samples for the current block. The prediction module may determine whether intra prediction is applied or inter prediction is applied in the current block or CU. The prediction module may generate various pieces of prediction information such as prediction mode information as described below in the description of each prediction mode, and may transmit the information to the entropy encoder 190. The prediction information may be encoded in the entropy encoder 190 and may be output in the form of a bitstream. .

[53] Модуль 185 внутреннего прогнозирования может прогнозировать текущий блок со ссылкой на выборки в пределах текущего кадра. Выборки для ссылки могут быть расположены таким образом, что они граничат с текущим блоком, или могут быть разнесены от текущего блока в зависимости от режима прогнозирования. При внутреннем прогнозировании, режимы прогнозирования могут включать в себя множество ненаправленных режимов и множество направленных режимов. Ненаправленный режим может включать в себя, например, DC-режим и планарный режим. Угловой режим может включать в себя 33 режима углового прогнозирования или 65 режимов углового прогнозирования, например, в зависимости от точной степени направления прогнозирования. В этом случае, режимы углового прогнозирования, которые больше или меньше 33 режимов углового прогнозирования или 65 режимов углового прогнозирования, например, могут использоваться в зависимости от конфигурации. Модуль 185 внутреннего прогнозирования может определять режим прогнозирования, применяемый к текущему блоку, с использованием режима прогнозирования, применяемого к соседнему блоку.[53] Intra prediction module 185 may predict the current block with reference to samples within the current frame. The reference samples may be located such that they are adjacent to the current block, or may be spaced apart from the current block, depending on 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 angle mode may include 33 angle prediction modes or 65 angle prediction modes, for example, depending on the precise prediction direction degree. In this case, angle prediction modes greater than or less than 33 angle prediction modes or 65 angle prediction modes, for example, may be used depending on the configuration. The intra prediction unit 185 may determine the prediction mode applied to the current block using the prediction mode applied to the adjacent block.

[54] Модуль 180 взаимного прогнозирования может извлекать прогнозированный блок для текущего блока на основе опорного блока (массива опорных выборок), указываемого посредством вектора движения для опорного кадра. В этом случае, чтобы уменьшать объем информации движения, передаваемой в режиме взаимного прогнозирования, информация движения может прогнозироваться в качестве блока, субблока или единицы выборок на основе корреляции информации движения между соседним блоком и текущим блоком. Информация движения может включать в себя вектор движения и индекс опорного кадра. Информация движения дополнительно может включать в себя информацию направления взаимного прогнозирования (L0-прогнозирование, L1-прогнозирование или бипрогнозирование). В случае взаимного прогнозирования, соседний блок может включать в себя пространственный соседний блок, присутствующий в текущем изображении, и временной соседний блок, присутствующий в опорном изображении. Опорный кадр, включающий в себя опорный блок, и опорный кадр, включающий в себя временной соседний блок, могут быть идентичными или отличающимися. Временной соседний блок может иметь название "совместно размещенный опорный блок" или "совместно размещенная CU (colCU)". Опорный кадр, включающий в себя временной соседний блок, может называться "совместно размещенным кадром (colPic)". Например, модуль 180 взаимного прогнозирования может конфигурировать список возможных вариантов информации движения на основе соседних блоков и формировать информацию, указывающую то, какой возможный вариант используется для того, чтобы извлекать вектор движения и/или индекс опорного кадра текущего блока. Взаимное прогнозирование может выполняться на основе различных режимов прогнозирования. Например, в случае режима пропуска и режима объединения, модуль 180 взаимного прогнозирования может использовать информацию движения соседнего блока в качестве информации движения текущего блока. В случае режима пропуска, в отличие от режима объединения, остаточный сигнал может не передаваться. В случае режима прогнозирования векторов движения (MVP), вектор движения соседнего блока может использоваться в качестве предиктора вектора движения. Вектор движения текущего блока может указываться посредством сигнализирования разности векторов движения.[54] The inter prediction unit 180 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 as a block, sub-block, or unit of 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, or bi-prediction). In the case of inter prediction, the neighbor block may include a spatial neighbor present in the current picture and a temporal neighbor present in the reference picture. The reference frame including the reference block and the reference frame including the temporal neighbor block may be the same or different. The temporary neighbor block may be called a "collocated reference block" or "collocated CU (colCU)". A reference frame including a temporal adjacent block may be referred to as a "collocated frame (colPic)". For example, inter-prediction module 180 may configure a list of motion information candidates 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 merge mode, the inter prediction unit 180 may use the neighboring block motion information as the current block motion information. In the case of the skip mode, unlike the combine mode, the residual signal may not be transmitted. In the case of a motion vector prediction (MVP) mode, a neighboring block's motion vector may be used as a motion vector predictor. The motion vector of the current block may be indicated by signaling the motion vector difference.

[55] Прогнозный сигнал, сформированный через модуль 180 взаимного прогнозирования или модуль 185 внутреннего прогнозирования, может использоваться для того, чтобы формировать восстановленный сигнал или остаточный сигнал.[55] The predictive signal generated through the inter prediction module 180 or the intra prediction module 185 may be used to generate a recovered signal or a residual signal.

[56] Преобразователь 120 может формировать коэффициенты преобразования посредством применения схемы преобразования к остаточному сигналу. Например, схема преобразования может включать в себя, по меньшей мере, одно из дискретного косинусного преобразования (DCT), дискретного синусного преобразования (DST), преобразования Карунена-Лоэва (KLT), преобразования на основе графа (GBT) или условно нелинейного преобразования (CNT). В этом случае, GBT означает преобразование, полученное из графа, если информация взаимосвязи между пикселами представляется как граф. CNT означает преобразование, полученное на основе прогнозного сигнала, сформированного с использованием всех ранее восстановленных пикселов. Кроме того, процесс преобразования может применяться к пиксельным блокам, имеющим идентичный размер квадратной формы, либо может применяться к блокам, имеющим переменные размеры неквадратной формы.[56] Converter 120 may generate transform coefficients by applying a transform circuit to the residual signal. For example, the transform circuit may include at least one of discrete cosine transform (DCT), discrete sine transform (DST), Karhunen-Loeve transform (KLT), graph-based transform (GBT), or conditionally non-linear transform (CNT). ). In this case, GBT means a transformation obtained from a graph if the relationship information between pixels is represented as a graph. CNT means the transformation obtained based on the predictive signal generated using all previously reconstructed pixels. In addition, the transformation process may be applied to pixel blocks having the same size of a square shape, or may be applied to blocks having variable sizes of a non-square shape.

[57] Квантователь 130 может квантовать коэффициенты преобразования и передавать их в энтропийный кодер 190. Энтропийный кодер 190 может кодировать квантованный сигнал (информацию относительно квантованных коэффициентов преобразования) и выводить его в форме потока битов. Информация относительно квантованных коэффициентов преобразования может называться "остаточной информацией". Квантователь 130 может перекомпоновывать квантованные коэффициенты преобразования блочной формы в одномерную векторную форму на основе последовательности сканирования коэффициентов и может формировать информацию относительно квантованных коэффициентов преобразования на основе квантованных коэффициентов преобразования одномерной векторной формы. Энтропийный кодер 190 может выполнять различные способы кодирования, такие как кодирование экспоненциальным кодом Голомба, контекстно-адаптивное кодирование переменной длины (CAVLC) и контекстно-адаптивное двоичное арифметическое кодирование (CABAC). Энтропийный кодер 190 может кодировать информацию (например, значения синтаксических элементов), необходимую для восстановления видео/изображений, в дополнение к квантованным коэффициентам преобразования вместе или отдельно. Кодированная информация (например, кодированная информация видео/изображений) может передаваться или сохраняться в единице слоя абстрагирования от сети (NAL) в форме потока битов. Поток битов может передаваться по сети или может сохраняться на цифровом носителе хранения данных. В этом случае, сеть может включать в себя широковещательную сеть и/или сеть связи. Цифровой носитель хранения данных может включать в себя различные носители хранения данных, такие как USB, SD, CD, DVD, Blu-Ray, HDD и SSD. Передатчик (не проиллюстрирован), который передает сигнал, выводимый посредством энтропийного кодера 190, и/или хранилище (не проиллюстрировано) для сохранения сигнала могут быть сконфигурированы как внутренний/внешний элемент оборудования 100 кодирования, либо передатчик может представлять собой элемент энтропийного кодера 190.[57] The quantizer 130 may quantize the transform coefficients and pass them to the entropy encoder 190. The entropy encoder 190 may encode the quantized signal (information regarding the quantized transform coefficients) and output it in the form of a bitstream. The information regarding the quantized transform coefficients may be referred to as "residual information". The quantizer 130 may repackage the quantized transform coefficients of the block form into a one-dimensional vector form based on the coefficient scan sequence, and may generate information on the quantized transform coefficients based on the quantized transform coefficients of the one-dimensional vector form. Entropy encoder 190 may perform various coding techniques such as exponential Golomb coding, context adaptive variable length coding (CAVLC), and context adaptive binary arithmetic coding (CABAC). Entropy encoder 190 may encode information (eg, syntax element values) needed to reconstruct video/images, in addition to quantized transform coefficients together or separately. Encoded information (eg, encoded video/image information) may be transmitted or stored in a network abstraction layer (NAL) unit in the form of a bitstream. The bit stream may be transmitted over a network or may be stored on a digital storage medium. In this case, the network may include a broadcast network and/or a communication network. The digital storage medium may include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, and SSD. A transmitter (not illustrated) that transmits the signal output by the entropy encoder 190 and/or a store (not illustrated) for storing the signal may be configured as an internal/external element of the encoding equipment 100, or the transmitter may be an element of the entropy encoder 190.

[58] Квантованные коэффициенты преобразования, выводимые посредством квантователя 130, могут использоваться для того, чтобы формировать прогнозный сигнал. Например, остаточный сигнал может восстанавливаться посредством применения деквантования и обратного преобразования к квантованным коэффициентам преобразования через деквантователь 140 и обратный преобразователь 150 в контуре. Сумматор 155 может суммировать восстановленный остаточный сигнал с прогнозным сигналом, выводимым посредством модуля 180 взаимного прогнозирования или модуля 185 внутреннего прогнозирования, так что может формироваться восстановленный сигнал (восстановленный кадр, восстановленный блок или массив восстановленных выборок). Прогнозированный блок может использоваться в качестве восстановленного блока, если отсутствует остаток для целевого блока обработки, как в случае, когда режим пропуска применяется. Сумматор 155 может называться "модулем восстановления" или "формирователем восстановительных блоков". Сформированный восстановленный сигнал может использоваться для внутреннего прогнозирования следующего целевого блока обработки в пределах текущего кадра и может использоваться для взаимного прогнозирования следующего кадра посредством фильтрации, как описано ниже.[58] The quantized transform coefficients output by quantizer 130 may be used to generate a predictive signal. For example, the residual signal may be recovered by applying dequantization and inverse transform to the quantized transform coefficients via dequantizer 140 and inverse transform 150 in the loop. The summer 155 may add the recovered residual signal to the prediction signal output by the inter prediction unit 180 or the intra prediction unit 185, so that a recovered signal (frame recovered, block recovered, or recovered sample array) may be generated. The predicted block may be used as the reconstructed block if there is no remainder for the target processing block, as is the case when the skip mode is applied. The adder 155 may be referred to as a "recovery module" or "recovery block generator". The generated recovered signal may be used to intra-predict the next target processing unit within the current frame, and may be used to inter-predict the next frame through filtering as described below.

[59] Фильтр 160 может повышать субъективное/объективное качество кадров посредством применения фильтрации к восстановленному сигналу. Например, фильтр 160 может формировать модифицированный восстановленный кадр посредством применения различных способов фильтрации к восстановленному кадру. Модифицированный восстановленный кадр может сохраняться в DPB 170. Различные способы фильтрации, например, могут включать в себя фильтрацию для удаления блочности, дискретизированное адаптивное смещение, адаптивный контурный фильтр и билатеральный фильтр. Фильтр 160 может формировать различные фрагменты информации для фильтрации, как указано ниже в описании каждого способа фильтрации, и может передавать их в энтропийный кодер 190. Информация фильтрации может кодироваться посредством энтропийного кодера 190 и выводиться в форме потока битов.[59] Filter 160 may improve subjective/objective frame quality by applying filtering to the reconstructed signal. For example, filter 160 may generate a modified reconstructed frame by applying various filtering techniques to the reconstructed frame. The modified reconstructed frame may be stored in DPB 170. Various filtering techniques may include, for example, deblocking filtering, sampled adaptive offset, adaptive loop filter, and bilateral filter. The filter 160 may generate various pieces of information for filtering, as described below in the description of each filtering method, and may pass them to the entropy encoder 190. The filtering information may be encoded by the entropy encoder 190 and output in the form of a bit stream.

[60] Модифицированный восстановленный кадр, передаваемый в DPB 170, может использоваться в качестве опорного кадра в модуле 180 взаимного прогнозирования. Оборудование кодирования может исключать рассогласование прогнозирования в оборудовании 100 кодирования и оборудовании декодирования и повышать эффективность кодирования, если взаимное прогнозирование применяется.[60] The modified reconstructed frame transmitted to the DPB 170 may be used as a reference frame in the inter prediction module 180. The encoding equipment can eliminate the prediction mismatch in the encoding equipment 100 and the decoding equipment, and improve encoding efficiency if inter prediction is applied.

[61] DPB 170 может сохранять модифицированный восстановленный кадр, чтобы использовать модифицированный восстановленный кадр в качестве опорного кадра в модуле 180 взаимного прогнозирования.[61] The DPB 170 may store the modified reconstructed frame to use the modified reconstructed frame as a reference frame in the inter prediction module 180.

[62] Фиг. 3 является вариантом осуществления, к которому применяется раскрытие, и является принципиальной блок-схемой оборудования декодирования для декодирования видеосигнала/сигнала изображения.[62] FIG. 3 is an embodiment to which the disclosure applies, and is a schematic block diagram of a decoding equipment for decoding a video/image signal.

[63] Ссылаясь на фиг 3, оборудование 200 декодирования может быть выполнено включающим в себя энтропийный декодер 210, деквантователь 220, обратный преобразователь 230, сумматор 235, фильтр 240, запоминающее устройство 250, модуль 260 взаимного прогнозирования и модуль 265 внутреннего прогнозирования. Модуль 260 взаимного прогнозирования и модуль 265 внутреннего прогнозирования могут совместно называться "модулем прогнозирования". Таким образом, модуль прогнозирования может включать в себя модуль 180 взаимного прогнозирования и модуль 185 внутреннего прогнозирования. Деквантователь 220 и обратный преобразователь 230 могут совместно называться "остаточным процессором". Таким образом, остаточный процессор может включать в себя деквантователь 220 и обратный преобразователь 230. Энтропийный декодер 210, деквантователь 220, обратный преобразователь 230, сумматор 235, фильтр 240, модуль 260 взаимного прогнозирования и модуль 265 внутреннего прогнозирования могут быть сконфигурированы как один аппаратный компонент (например, декодер или процессор) согласно варианту осуществления. Кроме того, буфер 250 декодированных кадров может быть сконфигурирован с помощью аппаратного компонента (например, запоминающего устройства или цифрового носителя хранения данных) в варианте осуществления. Запоминающее устройство 250 может включать в себя DPB 175 и может быть сконфигурировано посредством цифрового носителя хранения данных.[63] Referring to FIG. 3, the decoding equipment 200 may be configured including an entropy decoder 210, a dequantizer 220, an inverse transform 230, an adder 235, a filter 240, a memory 250, an inter prediction unit 260, and an intra prediction unit 265. The inter prediction module 260 and the intra prediction module 265 may be collectively referred to as a "prediction module". Thus, the prediction module may include an inter prediction module 180 and an intra prediction module 185 . Dequantizer 220 and inverse converter 230 may be collectively referred to as a "residual processor". Thus, the residual processor may include a dequantizer 220 and an inverse transform 230. Entropy decoder 210, dequantizer 220, inverse transform 230, adder 235, filter 240, inter prediction unit 260, and intra prediction unit 265 may be configured as a single hardware component ( eg, decoder or processor) according to an embodiment. Moreover, the decoded frame buffer 250 may be configured with a hardware component (eg, memory or digital storage medium) in the embodiment. The storage device 250 may include a DPB 175 and may be configured with a digital storage medium.

[64] Когда поток битов, включающий в себя информацию видео/изображений, вводится, оборудование 200 декодирования может восстанавливать изображение в соответствии с процессом обработки информации видео/изображений в оборудовании кодирования по фиг. 2. Например, оборудование 200 декодирования может выполнять декодирование с использованием единицы обработки, применяемой в оборудовании кодирования. Соответственно, единица обработки для декодирования, например, может представлять собой единицу кодирования. Единица кодирования может разбиваться из единицы дерева кодирования или наибольшей единицы кодирования в зависимости от структуры в виде дерева квадрантов и/или структуры в виде двоичного дерева. Кроме того, восстановленный сигнал изображения, декодированный и выводимый через оборудование 200 декодирования, может воспроизводиться через устройство воспроизведения.[64] When a bitstream including video/image information is input, the decoding equipment 200 may reconstruct the image according to the video/image information processing process in the encoding equipment of FIG. 2. For example, the decoding equipment 200 may perform decoding using the processing unit used in the encoding equipment. Accordingly, the processing unit for decoding, for example, may be a coding unit. The coding unit may be partitioned from the coding tree unit or the largest coding unit depending on the quadtree structure and/or the binary tree structure. In addition, the reconstructed image signal decoded and output via the decoding equipment 200 can be reproduced via the playback device.

[65] Оборудование 200 декодирования может принимать сигнал, выводимый посредством оборудования кодирования по фиг. 1, в форме потока битов. Принимаемый сигнал может декодироваться через энтропийный декодер 210. Например, энтропийный декодер 210 может извлекать информацию (например, информацию видео/изображений) для восстановления изображений (или восстановления кадров) посредством синтаксического анализа потока битов. Например, энтропийный декодер 210 может декодировать информацию в потоке битов на основе способа кодирования, такого как кодирование экспоненциальным кодом Голомба, CAVLC или CABAC, и может выводить значение синтаксического элемента для восстановления изображений или квантованных значений коэффициентов преобразования относительно остатка. Более конкретно, в способе энтропийного CABAC-декодирования, элемент разрешения, соответствующий каждому синтаксическому элементу, может приниматься из потока битов, контекстная модель может определяться с использованием информации целевых синтаксических элементов декодирования и информации декодирования соседнего и целевого блока декодирования либо информации символа/элемента разрешения, декодированного на предыдущем этапе, вероятность того, что элемент разрешения возникает, может прогнозироваться на основе определенной контекстной модели, и символ, соответствующий значению каждого синтаксического элемента, может формироваться посредством выполнения арифметического декодирования для элемента разрешения. В этом случае, в способе энтропийного CABAC-декодирования, после того, как контекстная модель определяется, контекстная модель может обновляться с использованием информации символа/элемента разрешения, декодированного для контекстной модели следующего символа/элемента разрешения. Информация относительно прогнозирования из информации, декодированной в энтропийном декодере 2110, может предоставляться в модуль прогнозирования (модуль 260 взаимного прогнозирования и модуль 265 внутреннего прогнозирования). Информация параметров, связанная с остаточным значением, для которого энтропийное декодирование выполнено в энтропийном декодере 210, т.е. с квантованными коэффициентами преобразования, может вводиться в деквантователь 220. Кроме того, информация относительно фильтрации из информации, декодированной в энтропийном декодере 210, может предоставляться в фильтр 240. Между тем, приемник (не проиллюстрирован), который принимает сигнал, выводимый посредством оборудования кодирования, может быть дополнительно сконфигурирован как внутренний/внешний элемент оборудования 200 декодирования, либо приемник может представлять собой элемент энтропийного декодера 210.[65] The decoding equipment 200 may receive a signal output by the encoding equipment of FIG. 1 in the form of a bit stream. The received signal may be decoded via entropy decoder 210. For example, entropy decoder 210 may extract information (eg, video/image information) for image recovery (or frame recovery) by parsing the bit stream. For example, entropy decoder 210 may decode information in the bitstream based on an encoding method such as Exponential Golomb, CAVLC, or CABAC coding and may output a syntax element value for restoring images or quantized values of transform coefficients relative to the remainder. More specifically, in the CABAC entropy decoding method, a bin corresponding to each syntax element may be received from a bit stream, a context model may be determined using decoding target syntax element information and decoding information of a neighboring and target decoding block, or symbol/grant element information, decoded in the previous step, the probability that a bin occurs may be predicted based on a certain context model, and a character corresponding to the value of each syntax element may be generated by performing arithmetic decoding on the bin. In this case, in the CABAC entropy decoding method, after the context model is determined, the context model may be updated using the character/bin information decoded for the context model of the next character/bin. Information regarding prediction from the information decoded in the entropy decoder 2110 may be provided to a prediction module (inter prediction module 260 and intra prediction module 265). Parameter information associated with the residual value for which entropy decoding is performed in the entropy decoder 210, i. e. with quantized transform coefficients may be input to the dequantizer 220. In addition, information regarding filtering from the information decoded in the entropy decoder 210 may be provided to the filter 240. Meanwhile, a receiver (not illustrated) that receives a signal output by the encoding equipment, may be further configured as an internal/external element of the decoding equipment 200, or the receiver may be an element of the entropy decoder 210.

[66] Деквантователь 220 может деквантовать квантованные коэффициенты преобразования и выводить коэффициенты преобразования. Деквантователь 220 может перекомпоновывать квантованные коэффициенты преобразования в двумерную блочную форму. В этом случае, перекомпоновка может выполняться на основе последовательности сканирования коэффициентов, выполняемой в оборудовании кодирования. Деквантователь 220 может выполнять деквантование для квантованных коэффициентов преобразования с использованием параметра квантования (например, информации размера шага квантования) и может получать коэффициенты преобразования.[66] The dequantizer 220 may dequantize the quantized transform coefficients and output the transform coefficients. The dequantizer 220 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 sequence performed in the encoding equipment. The dequantizer 220 may perform dequantization on the quantized transform coefficients using a quantization parameter (eg, quantization step size information) and may obtain the transform coefficients.

[67] Обратный преобразователь 230 может выводить остаточный сигнал (остаточный блок или массив остаточных выборок) посредством применения обратного преобразования к коэффициентам преобразования.[67] The inverse transform 230 may output a residual signal (residual block or array of residual samples) by applying an inverse transform to the transform coefficients.

[68] Модуль прогнозирования может выполнять прогнозирование для текущего блока и может формировать прогнозированный блок, включающий в себя прогнозные выборки для текущего блока. Модуль прогнозирования может определять то, применяется внутреннее прогнозирование либо применяется взаимное прогнозирование к текущему блоку, на основе информации касаемо прогнозирования, которая выводится посредством энтропийного декодера 210, и может определять подробный режим внутреннего/взаимного прогнозирования.[68] The prediction module 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 is applied or inter prediction is applied to the current block based on the prediction regarding information output by the entropy decoder 210, and may determine the detailed intra/inter prediction mode.

[69] Модуль 265 внутреннего прогнозирования может прогнозировать текущий блок со ссылкой на выборки в пределах текущего кадра. Выборки для ссылки могут быть расположены таким образом, что они граничат с текущим блоком или могут быть разнесены от текущего блока в зависимости от режима прогнозирования. При внутреннем прогнозировании, режимы прогнозирования могут включать в себя множество ненаправленных режимов и множество направленных режимов. Модуль 265 внутреннего прогнозирования может определять режим прогнозирования, применяемый к текущему блоку, посредством использования режима прогнозирования, применяемого к соседнему блоку.[69] The intra prediction module 265 may predict the current block with reference to samples within the current frame. The reference samples may be located such that they are adjacent to the current block or may be spaced apart from the current block depending on 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 265 may determine the prediction mode applied to the current block by using the prediction mode applied to the adjacent block.

[70] Модуль 260 взаимного прогнозирования может извлекать прогнозированный блок для текущего блока на основе опорного блока (массива опорных выборок), указываемого посредством вектора движения для опорного кадра. В этом случае, чтобы уменьшать объем информации движения, передаваемой в режиме взаимного прогнозирования, информация движения может прогнозироваться в качестве блока, субблока или единицы выборок на основе корреляции информации движения между соседним блоком и текущим блоком. Информация движения может включать в себя вектор движения и индекс опорного кадра. Информация движения дополнительно может включать в себя информацию направления взаимного прогнозирования (L0-прогнозирование, L1-прогнозирование или бипрогнозирование). В случае взаимного прогнозирования, соседний блок может включать в себя пространственный соседний блок, присутствующий в текущем изображении, и временной соседний блок, присутствующий в опорном изображении. Например, модуль 260 взаимного прогнозирования может конфигурировать список возможных вариантов информации движения на основе соседних блоков и извлекать вектор движения текущего блока и/или индекс опорного кадра на основе принимаемой информации выбора возможных вариантов. Взаимное прогнозирование может выполняться на основе различных режимов прогнозирования. Информация касаемо прогнозирования может включать в себя информацию, указывающую режим взаимного прогнозирования для текущего блока.[70] The inter prediction unit 260 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 as a block, sub-block, or unit of 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, or bi-prediction). In the case of inter prediction, the neighbor block may include a spatial neighbor present in the current picture and a temporal neighbor present in the reference picture. For example, inter-prediction module 260 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. The prediction-related information may include information indicating the inter-prediction mode for the current block.

[71] Сумматор 235 может формировать восстановленный сигнал (восстановленный кадр, восстановленный блок или массив восстановленных выборок) посредством суммирования полученного остаточного сигнала с прогнозным сигналом (прогнозированным блоком или массивом прогнозных выборок), выводимым посредством модуля 260 взаимного прогнозирования или модуля 265 внутреннего прогнозирования. Прогнозированный блок может использоваться в качестве восстановленного блока, если отсутствует остаток для целевого блока обработки, как в случае, когда режим пропуска применяется.[71] The adder 235 may generate a reconstructed signal (recovered frame, reconstructed block, or array of reconstructed samples) by summing the obtained residual signal with a predictive signal (predicted block or array of predictive samples) output by inter prediction module 260 or intra prediction module 265. The predicted block may be used as the reconstructed block if there is no remainder for the target processing block, as is the case when the skip mode is applied.

[72] Сумматор 235 может называться "модулем восстановления" или "формирователем восстановительных блоков". Сформированный восстановленный сигнал может использоваться для внутреннего прогнозирования следующего целевого блока обработки в пределах текущего кадра и может использоваться для взаимного прогнозирования следующего кадра посредством фильтрации, как описано ниже.[72] The adder 235 may be referred to as a "recovery module" or "recovery block generator". The generated recovered signal may be used to intra-predict the next target processing unit within the current frame, and may be used to inter-predict the next frame through filtering as described below.

[73] Фильтр 240 может повышать субъективное/объективное качество кадров посредством применения фильтрации к восстановленному сигналу. Например, фильтр 240 может формировать модифицированный восстановленный кадр посредством применения различных способов фильтрации к восстановленному кадру и может передавать модифицированный восстановленный кадр в DPB 250. Различные способы фильтрации, например, могут включать в себя фильтрацию для удаления блочности, дискретизированное адаптивное смещение (SAO), адаптивный контурный фильтр (ALF) и билатеральный фильтр.[73] Filter 240 may improve subjective/objective frame quality by applying filtering to the reconstructed signal. For example, filter 240 may generate a modified reconstructed frame by applying various filtering methods to the reconstructed frame, and may pass the modified reconstructed frame to DPB 250. Various filtering methods, for example, may include deblocking filtering, sampled adaptive offset (SAO), adaptive loop filter (ALF) and bilateral filter.

[74] Восстановленный кадр, передаваемый (модифицированный) в буфер 250 декодированных кадров, может использоваться в качестве опорного кадра в модуле 260 взаимного прогнозирования.[74] The reconstructed frame transmitted (modified) to the decoded frame buffer 250 may be used as a reference frame in the inter prediction module 260 .

[75] В раскрытии, варианты осуществления, описанные в фильтре 160, модуле 180 взаимного прогнозирования и модуле 185 внутреннего прогнозирования оборудования 100 кодирования, могут применяться к фильтру 240, модулю 260 взаимного прогнозирования и модулю 265 внутреннего прогнозирования оборудования 200 декодирования, соответственно, идентично или на основе соответствия.[75] In the disclosure, the embodiments described in the filter 160, the inter prediction unit 180, and the intra prediction unit 185 of the encoding equipment 100 may be applied to the filter 240, the inter prediction unit 260, and the intra prediction unit 265 of the decoding equipment 200, respectively, identically or based on matching.

[76] [77] Фиг. 4 показывает структурную схему системы потоковой передачи контента согласно варианту осуществления раскрытия.[76] [77] FIG. 4 shows a block diagram of a content streaming system according to an embodiment of the disclosure.

[78] Система потоковой передачи контента, к которой применяется раскрытие, может включать в себя сервер 410 кодирования, потоковый сервер 420, веб-сервер 430, хранилище 440 мультимедиа, пользовательское устройство 450 и устройство 460 ввода мультимедиа.[78] The content streaming system to which the disclosure applies may include an encoding server 410, a streaming server 420, a web server 430, a media storage 440, a user device 450, and a media input device 460.

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

[80] Поток битов может формироваться посредством способа кодирования или способа формирования потока битов, к которому применяется раскрытие, и потоковый сервер 420 может временно сохранять поток битов в процессе передачи или приема потока битов.[80] The bit stream may be generated by the encoding method or the bit stream generation method to which the disclosure applies, and the stream server 420 may temporarily store the bit stream in the process of transmitting or receiving the bit stream.

[81] Потоковый сервер 420 передает мультимедийные данные в пользовательское устройство 450 на основе пользовательского запроса через веб-сервер 430, и веб-сервер 430 служит в качестве посредника для того, чтобы информировать пользователя в отношении того, какая услуга присутствует. Когда пользователь запрашивает требуемую услугу через веб-сервер 430, веб-сервер 430 доставляет ее на потоковый сервер 420, и потоковый сервер 420 передает мультимедийные данные пользователю. В это время, система потоковой передачи контента может включать в себя отдельный сервер управления, причем в этом случае сервер управления служит для того, чтобы управлять командами/ответами между устройствами в системе потоковой передачи контента.[81] The streaming server 420 transmits media data to the user device 450 based on the user's request through the web server 430, and the web server 430 serves as an intermediary to inform the user as to which service is present. When a user requests a desired service via the web server 430, the web server 430 delivers it to the streaming server 420, and the streaming server 420 transmits the media data to the user. At this time, the content streaming system may include a separate control server, in which case the control server serves to manage commands/responses between devices in the content streaming system.

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

[83] Например, пользовательское устройство 450 может включать в себя мобильный телефон, смартфон, переносной компьютер, терминал для цифровой широковещательной передачи, персональное цифровое устройство (PDA), портативный мультимедийный проигрыватель (PMP), навигационный терминал, грифельный планшетный PC, планшетный PC, ультрабук, носимое устройство (например, интеллектуальные часы, интеллектуальные очки, наголовный дисплей (HMD), цифровой телевизор, настольный компьютер и систему цифровых информационных табло.[83] For example, the user device 450 may include a mobile phone, a smartphone, a laptop computer, a digital broadcast terminal, a personal digital assistant (PDA), a portable media player (PMP), a navigation terminal, a stylus tablet PC, a tablet PC, ultrabook, wearable device (e.g. smart watch, smart glasses, head-mounted display (HMD), digital TV, desktop computer and digital signage system.

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

[85] Фиг. 5 показывает пример блок-схемы оборудования для обработки видеосигнала согласно варианту осуществления раскрытия. Оборудование обработки видеосигналов может соответствовать оборудованию 100 кодирования по фиг. 2 или оборудованию 200 декодирования по фиг. 3.[85] FIG. 5 shows an example block diagram of video signal processing equipment according to an embodiment of the disclosure. The video signal processing equipment may correspond to the encoding equipment 100 of FIG. 2 or the decoding equipment 200 of FIG. 3.

[86] Оборудование 500 обработки видеосигналов согласно варианту осуществления раскрытия может включать в себя запоминающее устройство 520 для сохранения видеосигнала и процессор 510 для обработки видеосигнала при комбинировании с запоминающим устройством 520.[86] The video signal processing equipment 500 according to an embodiment of the disclosure may include a video memory 520 and a video signal processor 510 when combined with the memory 520.

[87] Процессор 510 согласно варианту осуществления раскрытия может быть сконфигурирован, по меньшей мере, с помощью одной схемы обработки для обработки видеосигнала и может обрабатывать видеосигнал посредством выполнения инструкций для кодирования или декодирования видеосигнала. Таким образом, процессор 510 может кодировать исходный видеосигнал или декодировать кодированный видеосигнал посредством осуществления способов кодирования или декодирования, описанных ниже.[87] The processor 510 according to an embodiment of the disclosure may be configured with at least one processing circuit for processing a video signal, and may process the video signal by executing instructions for encoding or decoding the video signal. Thus, processor 510 may encode the original video signal or decode the encoded video signal by performing the encoding or decoding methods described below.

[88] Способ кодирования видео/изображений согласно этому документу может выполняться на основе различных подробных технологий, и каждая подробная технология приводится следующим образом. Специалистам в данной области техники должно быть очевидным, что технологии, описанные ниже, могут быть связаны с такими процедурами, как прогнозирование, остаточная обработка (преобразование, квантование и т.д.), кодирование синтаксических элементов, фильтрация, сегментация/разбиение на сегменты и т.д. в процедуре кодирования/декодирования видео/изображений, описанной выше и/или ниже.[88] The video/image coding method according to this document may be performed based on various detailed technologies, and each detailed technology is given as follows. It should be apparent to those skilled in the art that the techniques described below may be associated with procedures such as prediction, residual processing (transformation, quantization, etc.), syntax encoding, filtering, segmentation/segmentation, and etc. in the video/image encoding/decoding procedure described above and/or below.

[89] Фиг. 6 показывает варианты осуществления, к которым применяется раскрытие. Фиг. 6A-6D, соответственно, иллюстрируют примеры структур разбиения блоков согласно дереву квадрантов (QT), двоичному дереву (BT), троичному дереву (TT) и асимметричному дереву (AT).[89] FIG. 6 shows embodiments to which the disclosure applies. Fig. 6A-6D respectively illustrate examples of block partition structures according to quadtree (QT), binary tree (BT), ternary tree (TT), and asymmetric tree (AT).

[90] При кодировании видео, один блок может разбиваться на основе QT. Кроме того, один субблок, разбитый посредством QT, дополнительно может разбиваться рекурсивно с использованием QT. Блок-лист, который более не QT-разбивается, может разбиваться, по меньшей мере, посредством одного из BT, TT или AT. BT может иметь два типа разбиения: горизонтальное BT (2NxN, 2NxN) и вертикальное BT (Nx2N, Nx2N). TT может иметь два типа разбиения: горизонтальное TT (2Nx1/2N, 2NxN, 2Nx1/2N) и вертикальное TT (1/2Nx2N, Nx2N, 1/2Nx2N). AT может иметь четыре типа разбиения: AT вверх по горизонтали (2Nx1/2N, 2Nx3/2N), AT вниз по горизонтали (2Nx3/2N, 2Nx1/2N), AT влево по вертикали (1/2Nx2N, 3/2Nx2N), AT вправо по вертикали (3/2Nx2N, 1/2Nx2N). Каждое BT, TT, AT дополнительно может разбиваться рекурсивно с использованием BT, TT, AT.[90] When encoding video, one block may be split based on QT. In addition, one subblock split using QT can be further split recursively using QT. A blocklist that is no longer QT-partitioned may be partitioned by at least one of BT, TT, or AT. BT can have two types of partitioning: horizontal BT (2NxN, 2NxN) and vertical BT (Nx2N, Nx2N). TT can have two types of partitioning: horizontal TT (2Nx1/2N, 2NxN, 2Nx1/2N) and vertical TT (1/2Nx2N, Nx2N, 1/2Nx2N). AT can have four split types: AT horizontal up (2Nx1/2N, 2Nx3/2N), AT horizontal down (2Nx3/2N, 2Nx1/2N), AT vertical left (1/2Nx2N, 3/2Nx2N), AT right vertically (3/2Nx2N, 1/2Nx2N). Each BT, TT, AT can additionally be split recursively using BT, TT, AT.

[91] Фиг. 6A показывает пример QT-сегментации. Блок A может разбиваться на четыре субблока A0, A1, A2 и A3 посредством QT. Субблок A1 может разбиваться на четыре субблока B0, B1, B2 и B3 снова посредством QT.[91] FIG. 6A shows an example of QT segmentation. Block A can be split into four sub-blocks A0, A1, A2 and A3 by means of QT. Subblock A1 can be split into four subblocks B0, B1, B2 and B3 again by QT.

[92] Фиг. 6B показывает пример BT-сегментации. Блок B3, который более не разбивается посредством QT, может разбиваться на вертикальное BT (C0, C1) или горизонтальное BT (D0, D1). В качестве блока C0, каждый субблок дополнительно может разбиваться рекурсивно в форме горизонтального BT (E0, E1) или вертикального BT (F0, F1).[92] FIG. 6B shows an example of BT segmentation. Block B3, which is no longer partitioned by QT, can be partitioned into vertical BT (C0, C1) or horizontal BT (D0, D1). As a C0 block, each subblock can further be split recursively in the form of a horizontal BT (E0, E1) or a vertical BT (F0, F1).

[93] Фиг. 6C показывает пример TT-сегментации. Блок B3, который более не разбивается посредством QT, может разбиваться на вертикальное TT (C0, C1, C2) или горизонтальное TT (D0, D1, D2). В качестве блока C1 каждый субблок дополнительно может рекурсивно разбиваться в форме горизонтального TT (E0, E1, E2) или вертикального TT (F0, F1, F2).[93] FIG. 6C shows an example of TT segmentation. Block B3, which is no longer split by QT, can be split into vertical TT (C0, C1, C2) or horizontal TT (D0, D1, D2). As a block C1, each sub-block can further be recursively split in the form of a horizontal TT (E0, E1, E2) or a vertical TT (F0, F1, F2).

[94] Фиг. 6D показывает пример AT-сегментации. Блок B3, который более не разбивается посредством QT, может разбиваться на вертикальное AT (C0, C1) или горизонтальное AT (D0, D1). В качестве блока C1, каждый субблок дополнительно может рекурсивно разбиваться в форме горизонтального AT (E0, E1) или вертикального TT (F0, F1).[94] FIG. 6D shows an example of AT segmentation. Block B3, which is no longer partitioned by QT, can be partitioned into vertical AT (C0, C1) or horizontal AT (D0, D1). As a block C1, each sub-block can optionally be split recursively in the form of horizontal AT (E0, E1) or vertical TT (F0, F1).

[95] Между тем, BT-, TT- и AT-сегментации могут использоваться вместе для того, чтобы сегментировать блок. Например, субблок, разбитый посредством BT, может разбиваться посредством TT или AT. Помимо этого, субблок, разбитый посредством TT, может разбиваться посредством BT или AT. Субблок, разбитый посредством AT, может разбиваться посредством BT или TT. Например, после горизонтального BT-разбиения, каждый субблок может разбиваться на вертикальное BT, либо после вертикального BT-разбиения, каждый субблок сможет разбиваться на горизонтальное BT. Случаи имеют различный порядок разбиения, но конечные формы разбиения являются идентичными.[95] Meanwhile, BT-, TT-, and AT-segments can be used together to segment a block. For example, a subblock split by BT may be split by TT or AT. In addition, a subblock split by TT may be split by BT or AT. A subblock split by AT may be split by BT or TT. For example, after a horizontal BT split, each sub-block may be split into a vertical BT, or after a vertical BT split, each sub-block may be split into a horizontal BT. The cases have different partitioning order, but the final partitioning forms are identical.

[96] Кроме того, когда блок разбивается, порядок, в котором выполняется поиск в блоке, может задаваться различными способами. В общем, операция поиска выполняется слева направо и сверху вниз. Выполнение поиска в блоке может означать порядок определения того, следует или нет разбивать дополнительно каждый субблок разбиения, либо порядок кодирования соответствующих субблоков, когда блок более не разбивается, либо порядок поиска, когда субблоки ссылаются на информацию других соседних блоков.[96] In addition, when a block is split, the order in which the block is searched can be specified in various ways. In general, the search operation is performed from left to right and from top to bottom. Performing a search in a block may mean the order of determining whether or not to further split each sub-block of the split, or the encoding order of the corresponding sub-blocks when the block is no longer split, or the search order when the sub-blocks refer to information of other adjacent blocks.

[97] Преобразование может выполняться для каждой единицы обработки (или блока преобразования), разделенной посредством структуры сегментации, как показано на фиг. 6A-6D, и в частности, матрица преобразования может применяться отдельно к каждому направлению строк и направлению столбцов. Согласно варианту осуществления раскрытия, различные типы преобразования могут использоваться в зависимости от длины в направлении строк или в направлении столбцов единицы обработки (либо блока преобразования).[97] Transformation may be performed for each processing unit (or transformation unit) divided by a segmentation structure as shown in FIG. 6A-6D, and in particular, the transformation matrix may be applied separately to each row direction and column direction. According to an embodiment of the disclosure, different types of transformations may be used depending on the length in the row direction or in the column direction of the processing unit (or transformation unit).

[98] Фиг. 7 и 8, соответственно, являются процедурой кодирования видео/изображений на основе взаимного прогнозирования и модулем взаимного прогнозирования в оборудовании кодирования согласно варианту осуществления раскрытия.[98] FIG. 7 and 8, respectively, are an inter-prediction-based video/image coding procedure and an inter-prediction unit in the coding equipment according to an embodiment of the disclosure.

[99] Оборудование 100 кодирования выполняет взаимное прогнозирование для текущего блока (S710). Оборудование 100 кодирования может извлекать режим взаимного прогнозирования и информацию движения текущего блока и может формировать прогнозные выборки текущего блока. В этом случае, процедура определения режима взаимного прогнозирования, извлечения информации движения и формирования прогнозных выборок может выполняться одновременно, и любая процедура может выполняться до другой процедуры. Например, модуль 180 взаимного прогнозирования оборудования 100 кодирования может включать в себя модуль 181 определения режима прогнозирования, модуль 182 извлечения информации движения и модуль 183 извлечения прогнозных выборок. Модуль 181 определения режима прогнозирования может определять режим прогнозирования для текущего блока. Модуль 182 извлечения информации движения может извлекать информацию движения текущего блока. Модуль 183 извлечения прогнозных выборок может извлекать прогнозные выборки текущего блока. Например, модуль 180 взаимного прогнозирования оборудования 100 кодирования может выполнять поиск в данной зоне (зоне поиска) опорных кадров на предмет блока, аналогичного текущему блоку, через оценку движения, и может извлекать опорный блок, имеющий минимальную разность либо разность в данное опорное значение или меньше относительно текущего блока. Модуль 180 взаимного прогнозирования может извлекать индекс опорного кадра, указывающий опорный кадр, в котором расположен опорный блок, на основе опорного блока и может извлекать вектор движения на основе разности местоположения между опорным блоком и текущим блоком. Оборудование 100 кодирования может определять режим, применяемый к текущему блоку, из различных режимов прогнозирования. Оборудование 100 кодирования может сравнивать RD-затраты для различных режимов прогнозирования и может определять оптимальный режим прогнозирования для текущего блока.[99] The encoding equipment 100 performs inter prediction for the current block (S710). The encoding equipment 100 may extract the inter-prediction mode and motion information of the current block, and may generate prediction samples of the current block. In this case, the procedure for determining the inter-prediction mode, extracting the motion information, and generating the prediction samples may be performed simultaneously, and any procedure may be performed before the other procedure. For example, the inter-prediction unit 180 of the encoding equipment 100 may include a prediction mode determination unit 181, a motion information extraction unit 182, and a prediction sample extraction unit 183. The prediction mode determination module 181 may determine the prediction mode for the current block. The motion information extractor 182 may extract the motion information of the current block. Predictive sample extractor 183 may extract predictive samples of the current block. For example, the inter-prediction unit 180 of the encoding equipment 100 may search a given area (search area) for reference frames for a block similar to the current block through motion estimation, and may extract a reference block having a minimum difference or a difference of a given reference value or less relative to the current block. The inter prediction unit 180 may derive a reference frame index indicating a reference frame in which the reference block is located based on the reference block, and may derive a motion vector based on a position difference between the reference block and the current block. The encoding equipment 100 can determine the mode applied to the current block from various prediction modes. The encoding equipment 100 can compare RD costs for different prediction modes and can determine the optimal prediction mode for the current block.

[100] Например, если режим пропуска или режим объединения применяется к текущему блоку, оборудование 100 кодирования может конфигурировать список возможных вариантов объединения, который описывается ниже, и может извлекать опорный блок, имеющий минимальную разность либо разность в данное опорное значение или меньше относительно текущего блока, из опорных блоков, указываемых посредством возможных вариантов объединения, включенных в список возможных вариантов объединения. В этом случае, возможный вариант объединения, ассоциированный с блоком извлеченного опорного варианта, может выбираться. Информация индекса объединения, указывающая выбранный возможный вариант объединения, может формироваться и сигнализироваться в оборудование 200 декодирования. Информация движения текущего блока может извлекаться с использованием информации движения выбранного возможного варианта объединения.[100] For example, if the skip mode or merge mode is applied to the current block, the encoding equipment 100 may configure a merge candidate list, which is described below, and may extract a reference block having a minimum difference or a difference of a given reference value or less relative to the current block , from the reference blocks indicated by the join candidates included in the join candidate list. In this case, the merge candidate associated with the extracted reference case block may be selected. Combining index information indicating the selected combining candidate may be generated and signaled to the decoding equipment 200 . The motion information of the current block may be extracted using the motion information of the selected join candidate.

[101] В качестве другого примера, если (A)MVP-режим применяется к текущему блоку, оборудование кодирования может конфигурировать список возможных (A)MVP-вариантов, который описывается ниже, и может использовать вектор движения возможного варианта предиктора вектора движения (MVP), выбранного из возможных MVP-вариантов, включенных в список возможных (A)MVP-вариантов, в качестве MVP текущего блока. В этом случае, например, вектор движения, указывающий опорный блок, извлекаемый посредством оценки движения, может использоваться в качестве вектора движения текущего блока. Возможный MVP-вариант, включающий в себя вектор движения, имеющий наименьшую разность относительно вектора движения текущего блока, из возможных MVP-вариантов, может становиться выбранным возможным MVP-вариантом. Разность векторов движения (MVD), т.е. разность, полученная посредством вычитания MVP из вектора движения текущего блока, может извлекаться. В этом случае, информация относительно MVD может сигнализироваться в оборудование 200 декодирования. Кроме того, когда (A)MVP-режим применяется, значение индекса опорного кадра может быть сконфигурировано как информация индекса опорного кадра и может отдельно сигнализироваться в оборудование декодирования.[101] As another example, if the (A)MVP mode is applied to the current block, the encoding equipment may configure the (A)MVP candidate list, which is described below, and may use the motion vector of the Motion Vector Predictor (MVP) candidate. selected from the possible MVPs included in the list of possible (A)MVPs as the MVP of the current block. In this case, for example, a motion vector indicating a reference block retrieved by motion estimation may be used as the motion vector of the current block. The MVP candidate including the motion vector having the smallest difference relative to the motion vector of the current block, among the MVP candidates, may become the selected MVP candidate. Motion vector difference (MVD), i.e. the difference obtained by subtracting the MVP from the motion vector of the current block can be extracted. In this case, information regarding the MVD may be signaled to the decoding equipment 200 . In addition, when the (A)MVP mode is applied, the index value of the reference frame may be configured as reference frame index information and may be separately signaled to the decoding equipment.

[102] Оборудование 100 кодирования может извлекать остаточные выборки на основе прогнозных выборок (S720). Оборудование 100 кодирования может извлекать остаточные выборки через сравнение между исходными выборками текущего блока и прогнозными выборками.[102] The encoding equipment 100 may extract residual samples based on the predictive samples (S720). Encoding equipment 100 can extract residual samples through a comparison between the original samples of the current block and the predictive samples.

[103] Оборудование 100 кодирования кодирует информацию изображений, включающую в себя информацию прогнозирования и остаточную информацию (S730). Оборудование кодирования может выводить кодированную информацию изображений в форме потока битов. Информация прогнозирования может включать в себя информацию касаемо информации режима прогнозирования (например, флаг пропуска, флаг объединения или индекс режима) и информацию движения в качестве информации, связанной с процедурой прогнозирования. Информация, связанная с информацией движения, может включать в себя информацию выбора возможных вариантов (например, индекс объединения, MVP-флаг или MVP-индекс), т.е. информацию для извлечения вектора движения. Кроме того, информация, связанная с информацией движения, может включать в себя информацию относительно MVD и/или информацию индекса опорного кадра. Кроме того, информация, связанная с информацией движения, может включать в себя информацию, указывающую то, применяется либо нет L0-прогнозирование, L1-прогнозирование или бипрогнозирование. Остаточная информация представляет собой информацию относительно остаточных выборок. Остаточная информация может включать в себя информацию относительно квантованных коэффициентов преобразования для остаточных выборок.[103] The encoding equipment 100 encodes image information including prediction information and residual information (S730). The encoding equipment may output the encoded image information in the form of a bit stream. The prediction information may include information regarding prediction mode information (eg, a skip flag, a union flag, or a mode index) and motion information as information associated with a prediction procedure. The information associated with the motion information may include candidate selection information (eg, merge index, MVP flag, or MVP index), i. e. information to extract the motion vector. In addition, the information associated with the motion information may include information regarding MVD and/or reference frame index information. In addition, the information associated with the motion information may include information indicating whether or not 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.

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

[105] Между тем, как описано выше, оборудование кодирования может формировать восстановленный кадр (включающий в себя восстановленные выборки и восстановленный блок) на основе опорных выборок и остаточных выборок. Это служит для извлечения, в оборудовании 100 кодирования, результатов прогнозирования, идентичных результатам прогнозирования, выполняемого в оборудовании 200 декодирования. Соответственно, эффективность кодирования может повышаться. Соответственно, оборудование 100 кодирования может сохранять восстановленный кадр (или восстановленные выборки и восстановленный блок) в запоминающем устройстве и может использовать восстановленный кадр в качестве опорного кадра для взаимного прогнозирования. Как описано выше, процедура внутриконтурной фильтрации дополнительно может применяться к восстановленному кадру.[105] Meanwhile, as described above, the encoding equipment can generate a reconstructed frame (including the reconstructed samples and the reconstructed block) based on the reference samples and the residual samples. This serves to extract, in the encoding equipment 100, prediction results identical to the prediction results performed in the decoding equipment 200 . Accordingly, the coding efficiency can be improved. Accordingly, the encoding equipment 100 may store the reconstructed frame (or the reconstructed samples and the reconstructed block) in a memory, and may use the reconstructed frame as a reference frame for inter prediction. As described above, the in-loop filtering procedure may additionally be applied to the reconstructed frame.

[106] Фиг. 9 и 10, соответственно, являются процедурой декодирования видео/изображений на основе взаимного прогнозирования и модулем взаимного прогнозирования в оборудовании декодирования согласно варианту осуществления раскрытия.[106] FIG. 9 and 10, respectively, are an inter-prediction-based video/image decoding procedure and an inter-prediction unit in the decoding equipment according to an embodiment of the disclosure.

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

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

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

[110] Оборудование 200 декодирования извлекает информацию движения текущего блока на основе определенного режима взаимного прогнозирования (S920). Например, если режим пропуска или режим объединения применяется к текущему блоку, оборудование 200 декодирования может конфигурировать список возможных вариантов объединения, который описывается ниже, и выбирать один из возможных вариантов объединения, включенных в список возможных вариантов объединения. Выбор возможного варианта объединения может выполняться на основе индекса объединения. Информация движения текущего блока может извлекаться из информации движения выбранного возможного варианта объединения. Информация движения выбранного возможного варианта объединения может использоваться как информация движения текущего блока.[110] The decoding equipment 200 extracts motion information of the current block based on the determined inter-prediction mode (S920). For example, if a skip mode or a merge mode is applied to the current block, the decoding equipment 200 may configure a merge candidate list, which is described below, and select one of the merge candidates included in the merge candidate list. The selection of a candidate join may be performed based on the join index. The motion information of the current block may be derived from the motion information of the selected join candidate. The motion information of the selected join candidate may be used as the motion information of the current block.

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

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

[113] Оборудование 200 декодирования может формировать прогнозные выборки для текущего блока на основе информации движения текущего блока (S930). В этом случае, оборудование 200 декодирования может извлекать опорный кадр на основе индекса опорного кадра текущего блока и может извлекать прогнозные выборки текущего блока, указываемого в опорном кадре, посредством вектора движения текущего блока. В этом случае, как описано ниже, процедура фильтрации прогнозных выборок дополнительно может выполняться для части или для всех прогнозных выборок текущего блока согласно обстоятельствам.[113] The decoding equipment 200 may generate prediction samples for the current block based on motion information of the current block (S930). In this case, the decoding equipment 200 may extract the reference frame based on the index of the reference frame of the current block, and may extract the prediction samples of the current block indicated in the reference frame by the motion vector of the current block. In this case, as described below, the prediction sample filtering procedure may further be performed on a part or all of the prediction samples of the current block according to the circumstances.

[114] Например, модуль 260 взаимного прогнозирования оборудования 200 декодирования может включать в себя модуль 261 определения режима прогнозирования, модуль 262 извлечения информации движения и модуль 263 извлечения прогнозных выборок. Оборудование 200 декодирования может определять режим прогнозирования текущего блока на основе информации режима прогнозирования, принимаемой из модуля 261 определения режима прогнозирования, может извлекать информацию движения (вектор движения и/или индекс опорного кадра) текущего блока на основе информации, связанной с информацией движения, принимаемой из модуля 262 извлечения информации движения. Модуль 263 извлечения прогнозных выборок может извлекать прогнозные выборки текущего блока.[114] For example, the inter-prediction unit 260 of the decoding equipment 200 may include a prediction mode determination unit 261, a motion information extraction unit 262, and a prediction sample extraction unit 263. The decoding equipment 200 may determine the prediction mode of the current block based on the prediction mode information received from the prediction mode determination unit 261, may extract motion information (motion vector and/or reference frame index) of the current block based on information related to the motion information received from a motion information extractor 262 . The predictive sample extractor 263 may extract the predictive samples of the current block.

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

[116] Как описано выше, процедура взаимного прогнозирования может включать в себя этап определения режима взаимного прогнозирования, этап извлечения информации движения согласно определенному режиму прогнозирования и этап выполнения прогнозирования (формирования прогнозных выборок) на основе извлеченной информации движения.[116] As described above, the inter-prediction procedure may include a step of determining an inter-prediction mode, a step of extracting motion information according to the determined prediction mode, and a step of performing prediction (predictive sampling) based on the extracted motion information.

[117] Различные режимы взаимного прогнозирования могут использоваться для прогнозирования текущего блока в кадре. Например, могут использоваться различные режимы, такие как режим объединения, режим пропуска, MVP-режим и аффинный режим. Режим детализации векторов движения на стороне декодера (DMVR) и режим адаптивного разрешения векторов движения (AMVR) дополнительно могут использоваться в качестве дополнительных режимов. Аффинный режим может называться "режимом аффинного прогнозирования движения". MVP-режим может называться "режимом усовершенствованного прогнозирования векторов движения (AMVP)".[117] Various inter-prediction modes may be used to predict the current block in a frame. For example, different modes may be used, such as pool mode, skip mode, MVP mode, and affine mode. The decoder-side motion vector detail (DMVR) mode and the adaptive motion vector resolution (AMVR) mode can additionally be used as additional modes. The affine mode may be referred to as "affine motion prediction mode". The MVP mode may be referred to as "Advanced Motion Vector Prediction (AMVP) mode".

[118] Информация режима прогнозирования, указывающая режим взаимного прогнозирования текущего блока, может сигнализироваться из оборудования кодирования в оборудование декодирования. Информация режима прогнозирования может включаться в поток битов и приниматься посредством оборудования декодирования. Информация режима прогнозирования может включать в себя информацию индекса, указывающую один из нескольких возможных вариантов режимов. Альтернативно, режим взаимного прогнозирования может указываться через иерархическое сигнализирование информации флага. В этом случае, информация режима прогнозирования может включать в себя один или более флагов. Например, флаг дополнительно может сигнализироваться, чтобы указывать то, применяется или нет режим пропуска, посредством сигнализирования флага пропуска, чтобы указывать то, применяется или нет режим объединения, посредством сигнализирования флага объединения, если режим пропуска не применяется, и указывать то, что MVP-режим применяется, если режим объединения не применяется, либо для дополнительной идентификации. Аффинный режим может сигнализироваться в качестве независимого режима или может сигнализироваться в качестве режима, зависимого от режима объединения или MVP-режима. Например, аффинный режим может быть сконфигурирован как один из списка возможных вариантов объединения или списка возможных MVP-вариантов, как описано ниже.[118] Prediction mode information indicating the inter-prediction mode of the current block may be signaled from the encoding equipment to the decoding equipment. The prediction mode information may be included in the bitstream and received by the decoding equipment. The prediction mode information may include index information indicating one of several possible modes. Alternatively, the inter-prediction mode may be indicated via hierarchical flag information signaling. In this case, the prediction mode information may include one or more flags. For example, the flag may further be signaled to indicate whether or not a skip mode is applied by signaling a skip flag, to indicate whether or not a join mode is applied by signaling a join flag if the skip mode is not applied, and indicating that the MVP is the mode is applied if the merge mode is not applied, or for additional identification. The affine mode may be signaled as an independent mode, or may be signaled as a mode dependent on the join mode or MVP mode. For example, the affine mode may be configured as one of a join candidate list or an MVP candidate list, as described below.

[119] Оборудование 100 кодирования или оборудование 200 декодирования может выполнять взаимное прогнозирование с использованием информации движения текущего блока. Оборудование 100 кодирования может извлекать оптимальную информацию движения для текущего блока согласно процедуре оценки движения. Например, оборудование 100 кодирования может выполнять поиск опорного блока, имеющего аналогичную корреляцию, с использованием исходного блока в исходном кадре для текущего блока в дробной единице пикселов в пределах определенного диапазона поиска в опорном кадре. Соответственно, оборудование кодирования может извлекать информацию движения. Подобие блока может извлекаться на основе разности между выборочными значениями на основе фазы. Например, подобие блока может вычисляться на основе суммы абсолютных разностей (SAD) между текущим блоком (или эталоном текущего блока) и опорным блоком (или эталоном опорного блока). В этом случае, информация движения может извлекаться на основе опорного блока, имеющего наименьшую SAD в зоне поиска. Извлеченная информация движения может сообщаться в оборудование декодирования с использованием нескольких способов на основе режима взаимного прогнозирования.[119] The encoding equipment 100 or the decoding equipment 200 may perform inter prediction using the motion information of the current block. The encoding equipment 100 can extract the optimal motion information for the current block according to the motion estimation procedure. For example, encoding equipment 100 may search for a reference block having a similar correlation using a source block in a source frame for the current block in fractional pixels within a certain search range in the reference frame. Accordingly, the encoding equipment can extract motion information. Block similarity may be derived based on the difference between phase-based sample values. For example, block similarity may be calculated based on the sum of absolute differences (SAD) between the current block (or current block reference) and a reference block (or reference block reference). In this case, the motion information may be extracted based on the reference block having the lowest SAD in the search area. The extracted motion information may be reported to the decoding equipment using several methods based on the inter-prediction mode.

[120] Если режим объединения применяется, информация движения текущего блока прогнозирования непосредственно не передается, и информация движения текущего блока прогнозирования извлекается с использованием информации движения соседнего блока прогнозирования. Соответственно, оборудование 100 кодирования может указывать информацию движения текущего блока прогнозирования посредством передачи информации флага, чтобы уведомлять в отношении того, что режим объединения использован, и индекса объединения, чтобы уведомлять в отношении того, какой соседний блок прогнозирования использован.[120] If 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. Accordingly, the encoding equipment 100 can indicate motion information of the current prediction block by transmitting flag information to notify that the combining mode has been used and a combining index to notify which adjacent prediction block has been used.

[121] Оборудование 100 кодирования должно выполнять поиск возможного варианта блока объединения, используемого для того, чтобы извлекать информацию движения текущего блока прогнозирования, чтобы выполнять режим объединения. Например, могут использоваться максимум вплоть до 5 возможных вариантов блоков объединения, но раскрытие не ограничено этим. Кроме того, максимальное число возможных вариантов блоков объединения может передаваться в заголовке среза, и раскрытие не ограничено этим. После выполнения поиска возможных вариантов блоков объединения, оборудование 100 кодирования может формировать список возможных вариантов объединения и может выбирать возможный вариант блока объединения, имеющий наименьшие затраты, из возможных вариантов блоков объединения, в качестве конечного возможного варианта блока объединения.[121] The coding equipment 100 needs to search for a join block candidate used to extract motion information of the current prediction block to perform the join mode. For example, up to a maximum of 5 possible merge block options may be used, but the disclosure is not limited to this. In addition, the maximum number of possible merge block options may be conveyed in the slice header, and the disclosure is not limited to this. After performing a merge candidate search, the encoding equipment 100 may generate a merge candidate list and may select the least cost merge candidate from the merge candidate as the final merge candidate.

[122] Вариант осуществления раскрытия предоставляет различные варианты осуществления возможных вариантов блоков объединения, конструирующих список возможных вариантов объединения.[122] An embodiment of the disclosure provides various embodiments of candidate merge blocks constructing a list of merge candidates.

[123] Список возможных вариантов объединения, например, может использовать 5 возможных вариантов блоков объединения. Например, могут использоваться 4 пространственных возможных варианта объединения и 1 временной возможный вариант объединения.[123] The merge candidate list, for example, may use 5 merge block candidates. For example, 4 spatial pooling opportunities and 1 temporal pooling opportunity may be used.

[124] Фиг. 11 иллюстрирует пример конструирования пространственных возможных вариантов объединения для текущего блока.[124] FIG. 11 illustrates an example of constructing spatial merge options for the current block.

[125] Ссылаясь на фиг 11, для прогнозирования текущего блока может использоваться, по меньшей мере, один из левого соседнего блока A1, левого нижнего соседнего блока A2, правого верхнего соседнего блока B0, верхнего соседнего блока B1 и левого верхнего соседнего блока B2. Список возможных вариантов объединения для текущего блока может быть сконфигурирован на основе процедуры, показанной на фиг. 12.[125] Referring to FIG. 11, at least one of left neighbor block A1, left lower neighbor block A2, right upper neighbor block B0, upper neighbor block B1, and left upper neighbor block B2 can be used to predict the current block. The list of join options for the current block may be configured based on the procedure shown in FIG. 12.

[126] Фиг. 12 является блок-схемой последовательности операций, иллюстрирующей способ конфигурирования списка возможных вариантов объединения согласно варианту осуществления, к которому применяется раскрытие.[126] FIG. 12 is a flowchart illustrating a method for configuring a combination candidate list according to an embodiment to which the disclosure applies.

[127] Оборудование кодирования (оборудование 100 кодирования или оборудование 200 декодирования) выполняет поиск пространственных соседних блоков относительно текущего блока и вставляет извлекаемые пространственные возможные варианты объединения в список возможных вариантов объединения (S1210). Например, пространственные соседние блоки могут включать в себя левый нижний угловой соседний блок, левый соседний блок, правый верхний угловой соседний блок, верхний соседний блок и левый верхний угловой соседний блок текущего блока. В этом случае, это представляет собой пример, и дополнительные соседние блоки, такие как правый соседний блок, нижний соседний блок и правый нижний соседний блок, в дополнение к пространственным соседним блокам, дополнительно могут использоваться в качестве пространственных соседних блоков. Оборудование кодирования может обнаруживать доступные блоки посредством выполнения поиска пространственных соседних блоков на основе приоритета и может извлекать информацию движения обнаруженных блоков в качестве пространственных возможных вариантов объединения. Например, оборудование 100 кодирования или оборудование 200 декодирования может выполнять поиск 5 блоков, проиллюстрированных на фиг. 11, в последовательности A1, B1, B0, A0 и B2, и может конфигурировать список возможных вариантов объединения посредством последовательной индексации доступных возможных вариантов.[127] The encoding equipment (encoding equipment 100 or decoding equipment 200) searches for spatial neighboring blocks with respect to the current block, and inserts the retrieved spatial join opportunities into the join candidate list (S1210). 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 of the current block. In this case, this is an example, and additional neighbor blocks such as a right neighbor block, a bottom neighbor block, and a right bottom neighbor block, in addition to the spatial neighbor blocks, may further be used as the spatial neighbor blocks. The coding equipment may detect available blocks by performing a search for spatial neighbor blocks based on priority, and may extract the motion information of the detected blocks as spatial join candidates. For example, encoding equipment 100 or decoding equipment 200 may search for the 5 blocks illustrated in FIG. 11 in sequence A1, B1, B0, A0, and B2, and can configure a list of join candidates by sequentially indexing the available candidates.

[128] Оборудование кодирования выполняет поиск временного соседнего блока относительно текущего блока и вставляет извлеченный временной возможный вариант объединения в список возможных вариантов объединения (S1220). Временной соседний блок может быть расположен в опорном кадре, т.е. в кадре, отличающемся от текущего кадра, в котором расположен текущий блок. Опорный кадр, в котором расположен временной соседний блок, может называться "совместно размещенным кадром" или "совместно размещ. кадром". Можно выполнять поиск временного соседнего блока в последовательности из правого нижнего углового соседнего блока и правого нижнего центрального блока относительно совместно размещенного блока для текущего блока в совместно размещ. кадре. Между тем, если сжатие данных движения применяется, конкретная информация движения может сохраняться в совместно размещ. кадре в качестве характерной информации движения для каждой данной единицы хранения. В этом случае, необязательно сохранять информацию движения для всех блоков в данной единице хранения, и в силу этого преимущество сжатия данных движения может получаться. В этом случае, данная единица хранения может быть предварительно определена в качестве единицы выборок 16×16 или единицы выборок 8×8, например, или информация размера для данной единицы хранения может сигнализироваться из оборудования 100 кодирования в оборудование 200 декодирования. Если сжатие данных движения применяется, информация движения временного соседнего блока может заменяться на характерную информацию движения данной единицы хранения, в которой расположен временной соседний блок. Таким образом, в этом случае, в аспекте реализации, после того, как арифметический сдвиг вправо выполняется посредством данного значения на основе координат (левой верхней выборочной позиции) временного соседнего блока, а не блока прогнозирования, в котором расположены координаты временного соседнего блока, временной возможный вариант объединения может извлекаться на основе информации движения блока прогнозирования, который покрывает местоположение с арифметическим сдвигом влево. Например, если данная единица хранения представляет собой единицу выборок 2nx2n, при условии, что координаты временного соседнего блока представляют собой (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)), т.е. в модифицированном местоположении, может использоваться для временного возможного варианта объединения.[128] The encoding equipment searches for a temporal neighboring block relative to the current block, and inserts the extracted temporal merge candidate into the merge candidate list (S1220). 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 sequence 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, if motion data compression is applied, specific motion information can be stored in the colocation. frame as motion characteristic information for each given storage unit. In this case, it is not necessary to store motion information for all blocks in a given storage unit, and thus, an advantage of motion data compression can be obtained. In this case, a given storage unit may be predetermined as a 16×16 sample unit or an 8×8 sample unit, for example, or size information for a given storage unit may be signaled from the encoding equipment 100 to the decoding equipment 200. If motion data compression is applied, the motion information of the temporal neighbor block may be replaced with the characteristic motion information of the given storage unit in which the temporal neighbor block is located. Thus, in this case, in the implementation aspect, after the arithmetic right shift is performed by the given value based on the coordinates (upper left sample position) of the temporal neighbor block, and not the prediction block in which the coordinates of the temporal neighbor block are located, the temporal possible the merging case may be derived based on motion information of the prediction block that covers the location with an arithmetic shift to the left. For example, if this storage unit is a 2nx2n sample unit, assuming that the coordinates of the temporal neighbor block are (xTnb, yTnb), motion information of the prediction block located at ((xTnb>>n)<<n), (yTnb> >n)<<n)), i.e. in a modified location, may be used for a temporary merge option. Specifically, for example, if the storage unit is a 16×16 sample unit, assuming that the coordinates of the temporal neighboring block are (xTnb, yTnb), motion information of the prediction block located at ((xTnb>>4)<<4 ), (yTnb>>4)<<4)), i.e. in a modified location, may be used for a temporary merge option. Alternatively, for example, if the given storage unit is an 8×8 sample unit, assuming that the coordinates of the temporal neighboring block are (xTnb, yTnb), motion information of the prediction block located at ((xTnb>>3)<<3) , (yTnb>>3)<<3)), i.e. in a modified location, may be used for a temporary merge option.

[129] Оборудование кодирования может проверять то, меньше или нет текущее число возможных вариантов объединения максимального числа возможных вариантов объединения (S1230). Максимальное число возможных вариантов объединения может быть предварительно задано или может сигнализироваться из оборудования 100 кодирования в оборудование 200 декодирования. Например, оборудование 100 кодирования может формировать информацию относительно максимального числа возможных вариантов объединения, может кодировать информацию и может передавать информацию в оборудование 200 декодирования в форме потока битов. Если максимальное число возможных вариантов объединения заполняется, процесс добавления возможного варианта может не выполняться.[129] The encoding equipment may check whether or not the current number of combination possibilities is less than the maximum number of combination possibilities (S1230). The maximum number of possible combinations may be predetermined or may be signaled from the encoding equipment 100 to the decoding equipment 200 . For example, the encoding equipment 100 may generate information regarding the maximum number of possible combinations, may encode the information, and may transmit the information to the decoding equipment 200 in the form of a bitstream. If the maximum number of merge candidates fills up, the process of adding a candidate may not be performed.

[130] Если, в результате проверки, текущее число возможных вариантов объединения меньше максимального числа возможных вариантов объединения, оборудование кодирования вставляет добавленный возможный вариант объединения в список возможных вариантов объединения (S1240). Добавленный возможный вариант объединения, например, может включать в себя ATMVP (адаптивное временное прогнозирование векторов движения), комбинированный бипрогнозирующий возможный вариант объединения (если тип среза для текущего среза представляет собой B-тип) и/или возможный вариант объединения на основе нулевых векторов.[130] If, as a result of checking, the current number of combining possibilities is less than the maximum number of combining possibilities, the encoding equipment inserts the added combining candidate into the combining candidate list (S1240). The added join candidate, for example, may include ATMVP (adaptive temporal motion vector prediction), a combined bi-predictive join candidate (if the slice type for the current slice is B-type), and/or a null vector-based join candidate.

[131] Фиг. 13 является блок-схемой последовательности операций, иллюстрирующей способ конфигурирования списка возможных вариантов прогнозирования (списка возможных MVP-вариантов) согласно варианту осуществления, к которому применяется раскрытие.[131] FIG. 13 is a flowchart illustrating a method for configuring a prediction candidate list (MVP candidate list) according to the embodiment to which the disclosure applies.

[132] Если режим прогнозирования векторов движения (MVP) применяется, список возможных вариантов предикторов векторов движения (MVP) может формироваться на основе вектора движения восстановленного пространственного соседнего блока (например, соседний блока, описанного на фиг. 11) и/или вектора движения, соответствующего временному соседнему блоку (или Col-блоку). Таким образом, вектор движения восстановленного пространственного соседнего блока и/или вектор движения временного соседнего блока могут использоваться в качестве возможного варианта предиктора вектора движения. Информация касаемо прогнозирования может включать в себя информацию выбора (например, MVP-флаг или MVP-индекс), указывающую оптимальный возможный вариант предиктора вектора движения, выбранного из возможных вариантов предикторов векторов движения, включенных в список. В этом случае, модуль прогнозирования может выбирать предиктор вектора движения текущего блока, из возможных вариантов предикторов векторов движения, включенных в список возможных вариантов векторов движения, с использованием информации выбора. Модуль прогнозирования оборудования 100 кодирования может вычислять разность векторов движения (MVD) между вектором движения текущего блока и предиктором вектора движения, может кодировать MVD и может выводить кодированную MVD в форме потока битов. Таким образом, MVD может получаться посредством вычитания предиктора вектора движения из вектора движения текущего блока. В этом случае, модуль прогнозирования оборудования декодирования может получать разность векторов движения, включенную в информацию относительно прогнозирования, и может извлекать вектор движения текущего блока через суммирование разности векторов движения и предиктора вектора движения. Модуль прогнозирования оборудования декодирования может получать или извлекать индекс опорного кадра, указывающий опорный кадр, из информации относительно прогнозирования. Например, список возможных вариантов предикторов векторов движения может быть сконфигурирован так, как проиллюстрировано на фиг. 13.[132] If a motion vector prediction (MVP) mode is applied, a motion vector predictor (MVP) candidate list may be generated based on the motion vector of the reconstructed spatial neighbor block (e.g., the neighbor block described in FIG. 11) and/or the motion vector, corresponding to the temporary adjacent block (or Col block). Thus, the motion vector of the reconstructed spatial neighbor block and/or the motion vector of the temporal neighbor block can be used as a motion vector predictor candidate. The prediction information may include selection information (eg, MVP flag or MVP index) indicating the best candidate motion vector predictor selected from among the motion vector predictor candidates included in the list. In this case, the prediction module may select a motion vector predictor of the current block from motion vector predictor candidates included in the motion vector candidate list using the selection information. The prediction unit of the encoding equipment 100 may calculate a motion vector difference (MVD) between the motion vector of the current block and the motion vector predictor, may encode the MVD, and may output the encoded MVD in the form of a bitstream. Thus, MVD can be obtained by subtracting the motion vector predictor from the motion vector of the current block. In this case, the decoding equipment prediction unit may obtain the motion vector difference included in the prediction information, and may 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. For example, the motion vector predictor candidate list may be configured as illustrated in FIG. 13.

[133] Ссылаясь на фиг 13, оборудование кодирования выполняет поиск пространственного возможного варианта блока для прогнозирования векторов движения и вставляет его в список возможных вариантов прогнозирования (S1310). Например, оборудование кодирования может выполнять поиск соседних блоков согласно предварительно определенному порядку поиска и добавлять информацию соседнего блока, удовлетворяющего условию для пространственного возможного варианта блока, в список возможных вариантов прогнозирования (список возможных MVP-вариантов).[133] Referring to FIG. 13, the encoding equipment searches for a spatial block candidate for motion vector prediction and inserts it into the prediction candidate list (S1310). For example, the encoding equipment may search for neighboring blocks according to a predetermined search order, and add information of a neighboring block satisfying a condition for a spatial block candidate to a prediction candidate list (MVP candidate list).

[134] После конструирования списка пространственных возможных вариантов блоков, оборудование кодирования сравнивает число пространственных возможных вариантов, включенных в список возможных вариантов прогнозирования, с предварительно установленным опорным числом (например, 2) (S1320). Если число пространственных возможных вариантов, включенных в список возможных вариантов прогнозирования, превышает или равно опорному числу (например, 2), оборудование кодирования может завершать конструирование списка возможных вариантов прогнозирования.[134] After constructing the block spatial candidate list, the encoding equipment compares the number of spatial possibilities included in the prediction candidate list with a preset reference number (eg, 2) (S1320). If the number of spatial candidates included in the prediction candidate list is greater than or equal to a reference number (eg, 2), the encoding equipment may complete construction of the prediction candidate list.

[135] Но если число списков пространственных возможных вариантов, включенных в список возможных вариантов прогнозирования, меньше опорного числа (например, 2), оборудование кодирования выполняет поиск временного возможного варианта блока и вставляет его в список возможных вариантов прогнозирования (S1330), и когда временной возможный вариант блока является недоступным, добавляет нулевой вектор движения в список возможных вариантов прогнозирования (S1340).[135] But, if the number of spatial candidate lists included in the prediction candidate list is less than the reference number (eg, 2), the encoding equipment searches for a temporal block candidate and inserts it into the prediction candidate list (S1330), and when the temporal the block candidate is unavailable adds a motion vector zero to the prediction candidate list (S1340).

[136] Прогнозированный блок для текущего блока может извлекаться на основе информации движения, извлекаемой согласно режиму прогнозирования. Прогнозированный блок может включать в себя прогнозные выборки (массив прогнозных выборок) текущего блока. Когда вектор движения текущего блока указывает дробную единицу выборок, процедура интерполяции может выполняться, и через нее, прогнозные выборки текущего блока могут извлекаться на основе опорных выборок в дробной единице выборок в опорном кадре. Когда аффинное взаимное прогнозирование применяется к текущему блоку, прогнозные выборки могут формироваться на основе вектора движения в единице выборок/субблоков. Когда двунаправленное прогнозирование применяется, конечные прогнозные выборки могут извлекаться через взвешенные (согласно фазе) суммы прогнозных выборок, извлекаемых на основе первого направленного прогнозирования (например, L0-прогнозирования), и прогнозных выборок, извлекаемых на основе второго направленного прогнозирования. Восстановительные выборки и восстановительные кадры могут формироваться на основе извлеченных прогнозных выборок, и, как описано выше, впоследствии могут выполняться такие процедуры, как внутриконтурная фильтрация.[136] A predicted block for the current block may be derived based on motion information retrieved according to the prediction mode. The prediction block may include the prediction samples (array of prediction samples) of the current block. When the motion vector of the current block indicates a fractional unit of samples, an interpolation procedure may be performed, and through it, the prediction samples of the current block may be derived based on the reference samples in the fractional unit of samples in the reference frame. When affine inter prediction is applied to the current block, predictive samples may be generated based on a motion vector in a unit of samples/subblocks. When bidirectional prediction is applied, the final predictive samples may be derived through the weighted (according to phase) sums of the predictive samples derived from the first directional prediction (eg, L0 prediction) and the predictive samples derived from the second directional prediction. Reconstruction samples and reconstruction frames may be generated based on the extracted predictive samples and, as described above, procedures such as in-loop filtering may subsequently be performed.

[137] В дальнейшем в этом документе, прогнозирование на основе IBC (внутриблочного копирования) описывается в качестве примера взаимного прогнозирования. IBC может использоваться, например, для кодирования видео контента для игр, такого как SCC (кодирование экранного контента). IBC по существу выполняет прогнозирование в пределах текущего кадра, но может выполняться аналогично взаимному прогнозированию, при котором опорный блок извлекается в пределах текущего кадра. Таким образом, IBC может использовать, по меньшей мере, одну из технологий взаимного прогнозирования, описанных в этом документе. Например, IBC может использовать, по меньшей мере, один из вышеописанных способов для извлечения информации движения (вектора движения). IBC может ссылаться на текущий кадр и в силу этого может называться "ссылкой на текущие кадры (CPR)". В связи с этим, технология прогнозирования с использованием другого блока в качестве опорного блока в текущем кадре, включающем в себя текущий блок (т.е. с использованием текущего кадра в качестве опорного кадра), может называться "IBC" или "CPR", но варианты осуществления настоящего документа не ограничены конкретными терминами и могут заменяться на другие соответствующие термины.[137] Hereinafter in this document, prediction based on IBC (intra-block copy) is described as an example of inter-prediction. IBC can be used, for example, to encode video content for games such as SCC (Screen Content Coding). IBC essentially performs prediction within the current frame, but may be performed similar to inter-prediction in which a reference block is retrieved within the current frame. Thus, the IBC may use at least one of the inter-prediction technologies described in this document. 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)". In this regard, a prediction technique using another block as a reference block in the current frame including the current block (i.e., using the current frame as the reference frame) may be referred to as "IBC" or "CPR", but embodiments of this document are not limited to specific terms and may be replaced by other appropriate terms.

[138] Для IBC, оборудование 100 кодирования может выполнять поблочное сопоставление (BM), чтобы извлекать оптимальный вектор блока (или вектор движения) для текущего блока (например, CU). Извлеченный вектор блока (или вектор движения) может сигнализироваться в оборудование 200 декодирования через поток битов с использованием способа, аналогичного вышеописанному сигнализированию информации блоков (вектора движения) при взаимном прогнозировании. Оборудование 200 декодирования может извлекать опорный блок для текущего блока в текущем кадре через сигнализируемый вектор блока (вектор движения) и может извлекать прогнозный сигнал (прогнозированный блок или прогнозные выборки) для текущего блока через него. Здесь, вектор блока (или вектор движения) может указывать смещение от текущего блока до опорного блока, расположенного в уже восстановленной области в текущем кадре. Соответственно, вектор блока (или вектор движения) может называться "вектором смещения". В дальнейшем в этом документе, в IBC, вектор движения может соответствовать вектору блока или вектору смещения. Вектор движения текущего блока может включать в себя вектор движения для компонента сигнала яркости (вектор движения сигнала яркости) или вектор движения для компонента сигнала цветности (вектор движения сигнала цветности). Например, вектор движения сигнала яркости для IBC-кодированной CU может представлять собой целочисленную единицу выборок (т.е. целочисленную точность). Вектор движения сигнала цветности также может отсекаться в единицах целочисленных выборок. Как описано выше, IBC может использовать, по меньшей мере, одну из технологий взаимного прогнозирования. Например, когда IBC применяется вместе с AMVR, 1-пелная и 4-пелная точности векторов движения могут переключаться между собой.[138] For IBC, encoding equipment 100 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 200 via the bit stream using a method similar to the block information (motion vector) signaling in inter prediction described above. The decoding equipment 200 may derive a reference block for the current block in the current frame via a signaled block vector (motion vector), and may derive a prediction signal (predicted block or prediction samples) for the current block through it. Here, the block vector (or motion vector) may indicate an offset from the current block to a reference block located in an already reconstructed area in the current frame. Accordingly, the 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). The chrominance motion vector may also be truncated in units of integer samples. As described above, the IBC may use at least one of the inter-prediction technologies. For example, when IBC is applied in conjunction with AMVR, 1-bar and 4-bar motion vector accuracies can be switched between each other.

[139] Чтобы уменьшать использование запоминающего устройства и сложность декодирования, может использоваться восстановленная часть предварительно установленной зоны, включающей в себя текущую CTU. Это ограничение может обеспечивать возможность реализации IBC-режима с использованием фактического внутримикросхемного запоминающего устройства для аппаратной реализации.[139] In order to reduce storage usage and decoding complexity, a reconstructed portion of a preset area including the current CTU may be used. This limitation may allow the implementation of the IBC mode using the actual on-chip memory for hardware implementation.

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

[141] В поиске на основе хеша, согласование хеш-ключа (32-битовый CRC) между текущим блоком и опорным блоком расширяется на все разрешенные размеры блоков. Вычисление хеш-ключа для всех позиций в текущем кадре основано на субблоках 4×4. Если все хеш-ключи субблоков 4×4 совпадают с хеш-ключами в соответствующих опорных позициях для текущего блока больших размеров, определяется то, что хеш-ключ совпадает с хеш-ключом опорного блока. Если хеш-ключи множества опорных блоков совпадают с хеш-ключом текущего блока, вектор блока каждого из совпадающих опорных блоков вычисляется, и выбирается один из них с минимальными затратами.[141] In a hash-based search, the hash key agreement (32-bit CRC) between the current block and the reference block is extended to all allowed block sizes. The hash key calculation for all positions in the current frame is based on 4x4 subblocks. If all the hash keys of the 4×4 sub-blocks match the hash keys at the respective reference positions for the current large size block, it is determined that the hash key matches the hash key of the reference block. If the hash keys of the set of reference blocks match the hash key of the current block, the block vector of each of the matching reference blocks is computed and one of them is selected at minimal cost.

[142] В поиске на основе поблочного сопоставления, диапазон поиска задается равным N выборок влево и вверх относительно текущего блока в текущей CTU. В начале CTU, если отсутствует временной опорный кадр, значение N инициализируется равным 128, и если имеется, по меньшей мере, один временной опорный кадр, значение N инициализируется равным 64. Процент совпадений в кэше задается как процентная доля от выборок в CTU, которая демонстрирует соответствие с использованием поиска на основе хеша. При кодировании текущей CTU, если процент совпадений в кэше меньше 5%, N делится на два.[142] 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, if there is no temporal reference frame, the value of N is initialized to 128, and if there is at least one temporal reference frame, the value of N is initialized to 64. The cache hit percentage is given as a percentage of the samples in the CTU, which demonstrates matching using a hash-based lookup. When encoding the current CTU, if the cache hit percentage is less than 5%, N is divided by two.

[143] На уровне CU, IBC-режим сигнализируется с использованием флага и может сигнализироваться в качестве IBC AMVP-режима или режима IBC-пропуска/объединения следующим образом.[143] At the CU level, the IBC mode is signaled using a flag, and may be signaled as the IBC AMVP mode or the IBC pass/merge mode as follows.

[144] Режим IBC-пропуска/объединения: индекс возможного варианта объединения используется для того, чтобы указывать векторы блока в списке из соседних возможных вариантов IBC-кодированных блоков, используемых для того, чтобы прогнозировать текущий блок.[144] IBC Skip/Merge Mode: A merge candidate index is used to indicate block vectors in a list of adjacent IBC-coded block candidates used to predict the current block.

[145] IBC AMVP-режим: разность векторов блока кодируется аналогично разности векторов движения. Способ прогнозирования векторов блока использует два возможных варианта в качестве предикторов, и один служит для левого соседнего блока, а другой служит для верхнего соседнего блока (в случае кодировании с помощью IBC). Если оба соседних блока не доступны, вектор блока по умолчанию используется в качестве предиктора. Флаг сигнализируется для указания индекса предиктора вектора блока.[145] IBC AMVP mode: block vector difference is encoded similarly to motion vector difference. The block vector prediction method uses two options as predictors, and one is for the left neighbor block and the other is for the top neighbor block (in the case of IBC encoding). If both neighboring blocks are not available, the default block vector is used as a predictor. The flag is signaled to indicate the predictor index of the block vector.

[146] Фиг. 14 и 15 показывают примеры единицы прогнозирования в способе кодирования и оборудовании кодирования видео/изображений на основе IBC-прогнозирования согласно варианту осуществления настоящего описания изобретения.[146] FIG. 14 and 15 show examples of a prediction unit in a coding method and video/image coding equipment based on IBC prediction according to an embodiment of the present disclosure.

[147] Оборудование 100 кодирования выполняет IBC-прогнозирование (прогнозирование на основе IBC) для текущего блока (S1410). Оборудование 100 кодирования может извлекать режим прогнозирования и вектор движения текущего блока и формировать прогнозные выборки текущего блока. Режим прогнозирования может включать в себя, по меньшей мере, один из вышеописанных режимов взаимного прогнозирования. Здесь, процедуры определения режима прогнозирования, извлечения векторов движения и формирования прогнозных выборок могут выполняться одновременно, или одна процедура может выполняться перед другой процедурой. Например, модуль прогнозирования оборудования 100 кодирования может включать в себя модуль определения режима прогнозирования, модуль извлечения векторов движения и модуль извлечения прогнозных выборок. Так же, модуль определения режима прогнозирования может определять режим прогнозирования для текущего блока, модуль извлечения векторов движения может извлекать вектор движения текущего блока, и модуль извлечения прогнозных выборок может извлекать прогнозные выборки текущего блока. Например, модуль прогнозирования оборудования 100 кодирования может выполнять поиск блока, аналогичного текущему блоку, в восстановленной зоне текущего кадра (либо в определенной зоне (зоне поиска) восстановленной зоны) посредством поблочного сопоставления (BM), и извлекать опорный блок, имеющий разность относительно текущего блока, равную или меньшую минимума либо определенного критерия. Вектор движения может извлекаться на основе разности смещения между опорным блоком и текущим блоком. Оборудование 100 кодирования может определять режим, применяемый к текущему блоку, из различных режимов прогнозирования. Оборудование 100 кодирования может сравнивать RD-затраты различных режимов прогнозирования друг с другом и определять оптимальный режим прогнозирования для текущего блока.[147] The encoding equipment 100 performs IBC prediction (IBC based prediction) for the current block (S1410). The encoding equipment 100 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 above-described inter-prediction modes. Here, the prediction mode determination, motion vector extraction, and prediction sampling procedures may be performed simultaneously, or one procedure may be performed before another procedure. For example, the prediction module of the encoding equipment 100 may include a prediction mode determination module, a motion vector extraction module, and a prediction sample extraction module. Also, the prediction mode determining 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 may extract the prediction samples of the current block. For example, the prediction module of the encoding equipment 100 may search for a block similar to the current block in the reconstructed area of the current frame (or in a specific area (search area) of the recovered area) by block-by-block matching (BM), and extract a reference block having a difference with respect to the current block. , equal to or less than a minimum or a certain criterion. The motion vector may be derived based on the offset difference between the reference block and the current block. The encoding equipment 100 can determine the mode applied to the current block from various prediction modes. The encoding equipment 100 can compare the RD costs of different prediction modes with each other and determine the optimal prediction mode for the current block.

[148] Например, когда режим пропуска или режим объединения применяется к текущему блоку, оборудование 100 кодирования конфигурирует вышеописанный список возможных вариантов объединения и извлекает опорный блок, имеющий разность относительно текущего блока, равную или меньшую минимума либо предварительно определенного критерия, из опорных блоков, указываемых посредством возможных вариантов объединения, включенных в список возможных вариантов объединения. В этом случае, возможный вариант объединения, ассоциированный с извлеченным опорным блоком, может выбираться, и информация индекса объединения, указывающая выбранный возможный вариант объединения, может формироваться и сигнализироваться в оборудование 200 декодирования. Вектор движения текущего блока может извлекаться посредством использования вектора движения выбранного возможного варианта объединения.[148] For example, when the skip mode or merge mode is applied to the current block, the encoding equipment 100 configures the above-described merge candidate list and extracts a reference block having a difference with respect to the current block equal to or less than a minimum or a predetermined criterion from the reference blocks specified through the possible join options included in the list of possible join options. 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 200. The motion vector of the current block may be extracted by using the motion vector of the selected join candidate.

[149] В качестве другого примера, когда (A)MVP-режим применяется к текущему блоку, оборудование 100 кодирования конструирует вышеописанный список возможных (A)MVP-вариантов и использует вектор движения возможного MVP-варианта, выбранного из числа возможных вариантов предикторов векторов движения (MVP), включенных в список возможных (A)MVP-вариантов, в качестве MVP текущего блока. В этом случае, например, вектор движения, указывающий опорный блок, извлекаемый посредством вышеописанной оценки движения, может использоваться в качестве вектора движения текущего блока, и возможный MVP-вариант, имеющий вектор движения с наименьшей разностью относительно вектора движения текущего блока из возможных MVP-вариантов, может представлять собой выбранный возможный MVP-вариант. Разность векторов движения (MVD), которая представляет собой разность, полученную посредством вычитания MVP из вектора движения текущего блока, может извлекаться 0. В этом случае информация относительно MVD может сигнализироваться в оборудование 200 декодирования.[149] As another example, when the (A)MVP mode is applied to the current block, the encoding equipment 100 constructs the above-described list of (A)MVP candidates, and uses the motion vector of the MVP candidate selected from among the motion vector predictor candidates. (MVP) 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 the MVP candidate having the motion vector with the smallest difference with respect to the motion vector of the current block among the candidate MVP candidates , may represent the selected MVP candidate. A motion vector difference (MVD), which is a difference obtained by subtracting the MVP from the motion vector of the current block, can be extracted 0 . In this case, information regarding the MVD may be signaled to the decoding equipment 200 .

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

[151] Оборудование 100 кодирования кодирует информацию изображений, включающую в себя информацию прогнозирования и остаточную информацию (S1430). Оборудование 100 кодирования может выводить кодированную информацию изображений в форме потока битов. Информация прогнозирования представляет собой информацию, связанную с процедурой прогнозирования, и может включать в себя информацию режима прогнозирования (например, флаг пропуска, флаг объединения или индекс режима) и информацию вектора движения. Информация относительно вектора движения может включать в себя информацию выбора возможных вариантов (например, индекс объединения, MVP-флаг или MVP-индекс), которая представляет собой информацию для извлечения вектора движения. Кроме того, информация вектора движения может включать в себя вышеописанную MVD-информацию. Кроме того, информация относительно вектора движения может включать в себя информацию, указывающую то, применяется либо нет L0-прогнозирование, L1-прогнозирование или попарное (би)- прогнозирование. Остаточная информация представляет собой информацию относительно остаточных выборок. Остаточная информация может включать в себя информацию относительно квантованных коэффициентов преобразования для остаточных выборок.[151] The encoding equipment 100 encodes image information including prediction information and residual information (S1430). The encoding equipment 100 may output encoded image information in the form of a bitstream. The prediction information is information related to the prediction procedure and may include prediction mode information (eg, skip flag, merge flag, or mode index) and motion vector information. 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 above-described MVD information. Further, the motion vector information may include information indicating whether or not L0 prediction, L1 prediction, or pairwise (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.

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

[153] Между тем, как описано выше, оборудование 100 кодирования может формировать восстановленный кадр (включающий в себя восстановленные выборки и восстановленные блоки) на основе опорных выборок и остаточных выборок. Это служит для извлечения результата прогнозирования, идентичного результату прогнозирования, выполняемого посредством оборудования 200 декодирования в оборудовании 100 кодирования, и через него, эффективность кодирования может увеличиваться. Соответственно, оборудование 100 кодирования может сохранять восстановленный кадр (либо восстановленные выборки или восстановленный блок) в запоминающем устройстве и использовать его в качестве опорного кадра для взаимного прогнозирования. Как описано выше, процедура внутриконтурной фильтрации дополнительно может применяться к восстановленному кадру.[153] Meanwhile, as described above, the encoding equipment 100 can generate a reconstructed frame (including reconstructed samples and reconstructed blocks) based on the reference samples and the residual samples. This serves to extract a prediction result identical to the prediction result performed by the decoding equipment 200 in the encoding equipment 100, and through it, encoding efficiency can be increased. Accordingly, the encoding equipment 100 may store the reconstructed frame (either the reconstructed samples or the reconstructed block) in a memory and use it as a reference frame for inter prediction. As described above, the in-loop filtering procedure may additionally be applied to the reconstructed frame.

[154] Процедура декодирования видео/изображений на основе IBC и единица прогнозирования в оборудовании 200 декодирования могут схематично включать в себя, например, следующее.[154] The IBC-based video/image decoding procedure and the prediction unit in the decoding equipment 200 may schematically include, for example, the following.

[155] Фиг. 16 и 17 показывают примеры единицы прогнозирования в способе декодирования и оборудовании декодирования видео/изображений на основе IBC-прогнозирования согласно варианту осуществления настоящего описания изобретения.[155] FIG. 16 and 17 show examples of a prediction unit in a decoding method and video/image decoding equipment based on IBC prediction according to an embodiment of the present disclosure.

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

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

[158] Например, оборудование 200 декодирования может определять то, применяется или нет режим объединения к текущему блоку, либо то, определяется или нет (A)MVP-режим, на основе флага объединения. Либо, оборудование 200 декодирования может выбирать один из различных возможных вариантов режима взаимного прогнозирования на основе индекса режима. Возможные варианты режима взаимного прогнозирования могут включать в себя режим пропуска, режим объединения и/или (A)MVP-режим или могут включать в себя различные режимы взаимного прогнозирования, которые описываются ниже.[158] For example, the decoding equipment 200 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. Or, the decoding equipment 200 may select one of various inter-prediction mode options based on the mode index. Possible options for the inter prediction mode may include skip mode, merge mode, and/or (A)MVP mode, or may include various inter prediction modes, which are described below.

[159] Оборудование 200 декодирования извлекает вектор движения текущего блока на основе определенного режима прогнозирования (S1620). Например, когда режим пропуска или режим объединения применяется к текущему блоку, оборудование 200 декодирования может конструировать вышеописанный список возможных вариантов объединения и выбирать один возможный вариант объединения из числа возможных вариантов объединения, включенных в список возможных вариантов объединения. Выбор может выполняться на основе вышеописанной информации выбора (индекса объединения). Вектор движения текущего блока может извлекаться с использованием вектора движения выбранного возможного варианта объединения. Вектор движения выбранного возможного варианта объединения может использоваться в качестве вектора движения текущего блока.[159] The decoding equipment 200 extracts the motion vector of the current block based on the determined prediction mode (S1620). For example, when the skip mode or merge mode is applied to the current block, the decoding equipment 200 may construct the above-described merge candidate list and select one merge candidate from among the merge candidates included in the merge candidate list. The selection may be performed based on the selection information (combination index) described above. 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.

[160] В качестве другого примера, когда (A)MVP-режим применяется к текущему блоку, оборудование 200 декодирования может конструировать вышеописанный список возможных (A)MVP-вариантов и использовать вектор движения возможного MVP-варианта, выбранного из возможных вариантов, включенных в список возможных (A)MVP-вариантов, в качестве MVP текущего блока. Выбор может выполняться на основе вышеописанной информации выбора (MVP-флага или MVP-индекса). В этом случае, MVD текущего блока может извлекаться на основе информации относительно MVD, и вектор движения текущего блока может извлекаться на основе MVP и MVD текущего блока. Кроме того, индекс опорного кадра текущего блока может извлекаться на основе информации индекса опорного кадра. Кадр, указываемый посредством индекса опорного кадра в списке опорных кадров для текущего блока, может извлекаться в качестве опорного кадра, на который ссылаются для взаимного прогнозирования текущего блока.[160] As another example, when the (A)MVP mode is applied to the current block, the decoding equipment 200 may construct the above-described list of (A)MVP candidates and use the motion vector of the MVP candidate selected from the candidates included in a 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 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.

[161] Между тем, как описано выше, информация движения текущего блока может извлекаться без конфигурирования списка возможных вариантов, и в этом случае, вектор движения текущего блока может извлекаться согласно процедуре, раскрытой в соответствующем режиме прогнозирования. В этом случае, конфигурирование списка возможных вариантов, как описано выше, может опускаться.[161] Meanwhile, as described above, the motion information 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.

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

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

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

[165] В дальнейшем в этом документе, вариант осуществления настоящего описания изобретения предоставляет способ конструирования списка возможных вариантов объединения (списка возможных AMVP-вариантов) для прогнозирования блока, к которому применяется режим IBC-прогнозирования (или к которому не применяется режим IBC-прогнозирования). Более конкретно, когда режим IBC-прогнозирования активируется, способ для конфигурирования возможных вариантов прогнозирования для IBC-блока и не-IBC-блока предоставляется. В нижеприведенном варианте осуществления, когда IBC-прогнозирование доступно в процессе сжатия неподвижного изображения или движущегося кадра, способ конструирования возможного варианта прогнозирования для блока, кодированного/декодированного в режиме IBC-прогнозирования, и возможного варианта прогнозирования для блока, кодированного/декодированного в режиме, отличном от режима IBC-прогнозирования, предоставляется, и посредством способа производительность сжатия может повышаться.[165] Hereinafter, an embodiment of the present disclosure provides a method for constructing a join candidate list (AMVP candidate list) for predicting a block to which the IBC prediction mode is applied (or to which the IBC prediction mode is not applied) . More specifically, when the IBC prediction mode is activated, a method for configuring prediction candidates for an IBC block and a non-IBC block is provided. In the following embodiment, when IBC prediction is available in a still picture or moving frame compression process, a method for constructing a prediction candidate for a block encoded/decoded in an IBC prediction mode and a prediction candidate for a block encoded/decoded in a mode other than from the IBC prediction mode is provided, and through the method, compression performance can be improved.

[166] Фиг. 18-23 показывают примеры блок-схемы последовательности операций способа для конфигурирования возможных вариантов IBC-объединения и возможных IBC AMVP-вариантов согласно вариантам осуществления настоящего описания изобретения.[166] FIG. 18-23 show examples of a flowchart for configuring IBC merge candidates and IBC AMVP candidates according to embodiments of the present specification.

[167] Вариант осуществления настоящего описания изобретения предоставляет способ для конфигурирования возможных вариантов IBC-объединения и возможных IBC AVMP-вариантов для блока, к которому применяется IBC-режим. Согласно этому варианту осуществления, когда режим IBC-прогнозирования применяется к текущему блоку, список возможных вариантов прогнозирования конструируется с использованием возможных IBC-вариантов, к которым применяется IBC-прогнозирование. Помимо этого, если требуемое число возможных IBC-вариантов не сконфигурировано, возможный вариант по умолчанию (например, нулевой вектор) добавляется в список возможных вариантов объединения/возможных AVMP-вариантов.[167] An embodiment of the present specification provides a method for configuring IBC association candidates and AVMP IBC candidates for a block to which the IBC mode is applied. According to this embodiment, when the IBC prediction mode is applied to the current block, a prediction candidate list is constructed using the IBC candidates to which the IBC prediction is applied. In addition, if the required number of IBC candidates is not configured, a default candidate (eg, null vector) is added to the pooling candidate/AVMP candidate list.

[168] Согласно варианту осуществления настоящего описания изобретения, проверяется то, кодируется или нет возможный вариант, который должен добавляться в режиме IBC-прогнозирования при конструировании списка возможных вариантов прогнозирования для текущего блока, к которому применяется режим IBC-прогнозирования, и когда соответствующий возможный вариант кодируется в режиме IBC-прогнозирования, соответствующий возможный вариант добавляется в список возможных вариантов прогнозирования.[168] According to an embodiment of the present specification, it is checked whether or not a candidate to be added in the IBC prediction mode is encoded when constructing a prediction candidate list for the current block to which the IBC prediction mode is applied, and when the corresponding candidate is encoded in IBC prediction mode, the corresponding candidate is added to the prediction candidate list.

[169] Фиг. 18 является аналогичным конструированию традиционного списка возможных вариантов взаимного прогнозированного объединения, но временной возможный вариант объединения исключается, поскольку ссылаются на текущий кадр вследствие характеристик IBC. Таким образом, используется способ конструирования существующего списка возможных вариантов объединения, за исключением временного возможного варианта объединения, и добавляется процесс проверки того, применяется или нет режим IBC-прогнозирования к каждому возможному варианту.[169] FIG. 18 is similar to constructing a conventional mutual predictive combining candidate list, but the temporal combining candidate is eliminated because the current frame is referred to due to IBC characteristics. Thus, a method of constructing an existing list of join candidate except for a temporary join candidate is used, and a process of checking whether or not the IBC prediction mode is applied to each candidate is added.

[170] Ссылаясь на фиг 18, чтобы конструировать пространственный возможный вариант, оборудование кодирования (оборудование 100 кодирования или оборудование 200 декодирования) выполняет поиск пространственных соседних блоков и проверяет то, применяется или нет IBC-режим к возможному варианту (соответствующему возможному варианту), и добавляет соответствующий возможный вариант в список возможных вариантов объединения, если режим IBC-прогнозирования применяется.[170] Referring to FIG. 18, to construct a spatial opportunity, the encoding equipment (encoding equipment 100 or decoding equipment 200) searches for spatial neighboring blocks and checks whether or not the IBC mode is applied to the opportunity (corresponding to the opportunity), and adds the corresponding candidate to the join candidate list if the IBC prediction mode is applied.

[171] Если текущее число возможных вариантов в списке возможных вариантов объединения меньше максимального числа, оборудование кодирования может выполнять поиск возможных HMVP-вариантов. Оборудование кодирования выполняет поиск возможных вариантов в списке возможных вариантов прогнозирования векторов движения на основе предыстории (HMVP) (HMVP-буфере), чтобы добавлять возможный HMVP-вариант, и добавляет возможный вариант, к которому применяется IBC-прогнозирование, в список возможных вариантов объединения. В этом документе, HMVP представляет способ использования информации прогнозирования (вектора движения, индекса опорного кадра) другого блока, который уже декодирован (восстановлен) в текущем кадре, в качестве информации для прогнозирования текущего блока.[171] If the current number of possible options in the merge candidate list is less than the maximum number, the encoding equipment may search for HMVP candidates. The encoding equipment searches for candidates in a history-based motion vector prediction (HMVP) candidate list (HMVP buffer) to add an HMVP candidate, and adds the candidate to which the IBC prediction is applied to the combining candidate list. In this document, HMVP presents a method of using prediction information (motion vector, reference frame index) of another block that has already been decoded (recovered) in the current frame as information for prediction of the current block.

[172] Если текущее число возможных вариантов в списке возможных вариантов объединения меньше максимального числа, оборудование кодирования может выполнять поиск попарных возможных вариантов прогнозирования. Попарные возможные варианты прогнозирования представляют собой возможные варианты прогнозирования, сформированные посредством комбинирования возможных вариантов, заранее сконфигурированных в списке возможных вариантов прогнозирования. Например, посредством комбинирования вектора блока L0-направления (вектора движения) первого возможного варианта и вектора блока L1-направления второго возможного варианта, попарный возможный вариант прогнозирования может формироваться. Здесь, оборудование кодирования может проверять то, применяется или нет IBC-прогнозирование к попарному возможному варианту прогнозирования, и когда IBC-прогнозирование применяется, добавлять попарный возможный вариант прогнозирования в список возможных вариантов объединения. Когда IBC-прогнозирование применяется к обоим возможным вариантам, используемым для конструирования попарного возможного варианта прогнозирования, можно сказать, что IBC-прогнозирование применяется к попарному возможному варианту прогнозирования. Если текущее число возможных вариантов в списке возможных вариантов объединения меньше максимального числа, оборудование кодирования добавляет нулевой вектор в список возможных вариантов объединения.[172] If the current number of possibilities in the pooling candidate list is less than the maximum number, the encoding equipment may search for pairwise prediction candidates. The pairwise prediction candidates are prediction candidates generated by combining the candidates preconfigured in the prediction candidate list. For example, by combining the L0 direction block vector (motion vector) of the first candidate and the L1 direction block vector of the second candidate, a pairwise prediction opportunity can be generated. Here, the encoding equipment can check whether or not the IBC prediction is applied to the pairwise prediction candidate, and when the IBC prediction is applied, add the pairwise prediction opportunity to the join candidate list. When the IBC prediction is applied to both possibilities used to construct the pairwise prediction candidate, the IBC prediction can be said to be applied to the pairwise prediction possibility. If the current number of possible combinations in the list of possible combinations is less than the maximum number, the encoding equipment adds a null vector to the list of possible combinations.

[173] Фиг. 19 является аналогичным конфигурированию существующего списка возможных вариантов взаимного прогнозированного объединения, но исключает временной возможный вариант объединения и возможный HMVP-вариант. Причина, по которой возможные HMVP-варианты исключаются, состоит в том, что поскольку существующее HMVP сохраняет определенное число возможных вариантов, когда возможные HMVP-варианты используются для IBC-прогнозирования, необходимо сохранять все возможные IBC/не-IBC-варианты для ограниченного числа возможных вариантов, и вследствие этого производительность прогнозирования или эффективность использования запоминающего устройства может ухудшаться в процессе конструирования возможных не-IBC-вариантов.[173] FIG. 19 is similar to configuring the existing mutual predictive join candidate list, but excludes the temporal join candidate and the HMVP candidate. The reason why HMVP possibles are excluded is because since the existing HMVP stores a certain number of possibles, when HMVP possibles are used for IBC prediction, it is necessary to store all IBC/non-IBC possibles for a limited number of possibles. options, and as a result, prediction performance or storage efficiency may be degraded during the construction of non-IBC candidate cases.

[174] Ссылаясь на фиг 19, чтобы конструировать пространственные возможные варианты, оборудование кодирования (оборудование 100 кодирования или оборудование 200 декодирования) выполняет поиск пространственных соседних блоков, проверяет то, применяется или нет IBC-режим к возможным вариантам, и добавляет соответствующий возможный вариант, к которому применяется режим IBC-прогнозирования, в список возможных вариантов объединения.[174] Referring to FIG. 19, to construct spatial opportunities, the encoding equipment (encoding equipment 100 or decoding equipment 200) searches for spatial neighboring blocks, checks whether or not the IBC mode is applied to the opportunities, and adds the corresponding opportunity, to which the IBC forecasting mode is applied, into the list of possible combinations.

[175] Если текущее число возможных вариантов в списке возможных вариантов объединения меньше максимального числа, оборудование кодирования может выполнять поиск попарного возможного варианта прогнозирования. Попарный возможный вариант прогнозирования представляет собой возможный вариант прогнозирования, сформированный посредством комбинирования возможных вариантов, заранее сконфигурированных в списке возможных вариантов прогнозирования. Например, попарный возможный вариант прогнозирования может формироваться посредством комбинирования вектора блока L0-направления (вектора движения) первого возможного варианта и вектора блока L1-направления второго возможного варианта. Здесь, оборудование кодирования может проверять то, применяется или нет IBC-прогнозирование к попарному возможному варианту прогнозирования, и когда IBC-прогнозирование применяется, добавлять соответствующий попарный возможный вариант прогнозирования в список возможных вариантов объединения. Когда IBC-прогнозирование применяется к обоим возможным вариантам, используемым для конструирования попарного возможного варианта прогнозирования, можно сказать, что IBC-прогнозирование применяется к попарному возможному варианту прогнозирования. Если текущее число возможных вариантов в списке возможных вариантов объединения меньше максимального числа, оборудование кодирования добавляет нулевой вектор в список возможных вариантов объединения.[175] If the current number of candidates in the list of combining candidates is less than the maximum number, the encoding equipment may search for a pairwise prediction candidate. The pairwise prediction candidate is a prediction candidate generated by combining the candidates preconfigured in the prediction candidate list. For example, the pairwise prediction candidate may be generated by combining the L0 direction block vector (motion vector) of the first candidate and the L1 direction block vector of the second candidate. Here, the encoding equipment can check whether or not the IBC prediction is applied to the pairwise prediction candidate, and when the IBC prediction is applied, add the corresponding pairwise prediction opportunity to the combination candidate list. When the IBC prediction is applied to both possibilities used to construct the pairwise prediction candidate, the IBC prediction can be said to be applied to the pairwise prediction possibility. If the current number of possible combinations in the list of possible combinations is less than the maximum number, the encoding equipment adds a null vector to the list of possible combinations.

[176] Фиг. 20 является аналогичным существующему способу для конструирования списка возможных вариантов взаимного прогнозированного объединения, но представляет собой случай, в котором временной возможный вариант объединения и попарный возможный вариант прогнозирования исключаются.[176] FIG. 20 is similar to the existing method for constructing a mutual predictive join candidate list, but is a case in which the temporal join candidate and the pairwise prediction candidate are eliminated.

[177] Ссылаясь на фиг 20, чтобы конструировать пространственный возможный вариант, оборудование кодирования (оборудование 100 кодирования или оборудование 200 декодирования) выполняет поиск пространственно соседних блоков, проверяет то, применяется или нет IBC-режим к возможным вариантам, и добавляет соответствующий возможный вариант, к которому применяется IBC-режим, в список возможных вариантов объединения.[177] Referring to FIG. 20, to construct a spatial opportunity, the encoding equipment (encoding equipment 100 or decoding equipment 200) searches for spatially neighboring blocks, checks whether or not IBC mode is applied to the opportunities, and adds the corresponding opportunity, to which IBC mode is applied to the list of possible combinations.

[178] Если число текущих возможных вариантов в списке возможных вариантов объединения меньше максимального числа, оборудование кодирования может выполнять поиск возможных HMVP-вариантов. Оборудование кодирования выполняет поиск возможных вариантов в списке возможных HMVP-вариантов (HMVP-буфере), чтобы конструировать возможный вариант прогнозирования векторов движения на основе предыстории (HMVP), и добавляет возможный вариант, к которому применяется IBC-прогнозирование, в список возможных вариантов объединения. Если текущее число возможных вариантов в списке возможных вариантов объединения меньше максимального числа, оборудование кодирования добавляет нулевой вектор в список возможных вариантов объединения.[178] If the number of current candidates in the merge candidate list is less than the maximum number, the encoding equipment may search for HMVP candidates. The encoding equipment searches for candidates in the HMVP candidate list (HMVP buffer) to construct a history-based motion vector prediction (HMVP) candidate, and adds the candidate to which the IBC prediction is applied to the pooling candidate list. If the current number of possible combinations in the list of possible combinations is less than the maximum number, the encoding equipment adds a null vector to the list of possible combinations.

[179] Фиг. 21 исключает попарные возможные варианты прогнозирования, возможные HMVP-варианты и временной возможный вариант объединения в существующем процессе конструирования списка возможных вариантов взаимного прогнозированного объединения.[179] FIG. 21 eliminates the pairwise prediction candidates, the HMVP candidates, and the temporal join candidate in the existing mutual predictive join candidate list construction process.

[180] Ссылаясь на фиг 21, чтобы конструировать пространственные возможные варианты, оборудование кодирования (оборудование 100 кодирования или оборудование 200 декодирования) выполняет поиск пространственно соседних блоков, проверяет то, применяется или нет IBC-режим к возможному варианту, и добавляет соответствующий возможный вариант, к которому применяется IBC-режим, в список возможных вариантов объединения. Если текущее число возможных вариантов в списке возможных вариантов объединения меньше максимального числа, оборудование кодирования добавляет нулевой вектор в список возможных вариантов объединения.[180] Referring to FIG. 21, to construct spatial opportunities, the encoding equipment (encoding equipment 100 or decoding equipment 200) searches for spatially adjacent blocks, checks whether or not the IBC mode is applied to the opportunity, and adds the corresponding opportunity, to which IBC mode is applied to the list of possible combinations. If the current number of possible combinations in the list of possible combinations is less than the maximum number, the encoding equipment adds a null vector to the list of possible combinations.

[181] Фиг. 22 исключает временной возможный вариант объединения и возможные HMVP-варианты в существующем процессе конструирования списка возможных AMVP-вариантов взаимного прогнозирования.[181] FIG. 22 eliminates the temporal merge candidate and HMVP candidates in the existing inter prediction AMVP candidate list construction process.

[182] Ссылаясь на фиг 22, чтобы конструировать пространственные возможные варианты, оборудование кодирования (оборудование 100 кодирования или оборудование 200 декодирования) выполняет поиск пространственно соседних блоков, проверяет то, применяется или нет IBC-режим к возможному варианту, и добавляет соответствующий возможный вариант, к которому применяется IBC-режим, в список возможных AMVP-вариантов. Если текущее число возможных вариантов в списке возможных AMVP-вариантов меньше максимального числа, оборудование кодирования добавляет нулевой вектор в список возможных AMVP-вариантов.[182] Referring to FIG. 22, to construct spatial opportunities, the encoding equipment (encoding equipment 100 or decoding equipment 200) searches for spatially adjacent blocks, checks whether or not the IBC mode is applied to the opportunity, and adds the corresponding opportunity, to which IBC mode is applied to the list of possible AMVP options. If the current number of possibilities in the AMVP candidate list is less than the maximum number, the encoding equipment adds a null vector to the AMVP candidate list.

[183] Фиг. 23 исключает временной возможный вариант объединения в существующем процессе конструирования списка возможных AMVP-вариантов взаимного прогнозирования.[183] FIG. 23 eliminates the temporal join opportunity in the existing AMVP inter prediction candidate list construction process.

[184] Ссылаясь на фиг 23, чтобы конструировать пространственные возможные варианты, оборудование кодирования (оборудование 100 кодирования или оборудование 200 декодирования) выполняет поиск пространственно соседних блоков, проверяет то, применяется или нет IBC-режим к возможному варианту, и добавляет соответствующий возможный вариант, к которому применяется IBC-режим, в список возможных AMVP-вариантов.[184] Referring to FIG. 23, in order to construct spatial opportunities, the encoding equipment (encoding equipment 100 or decoding equipment 200) searches for spatially adjacent blocks, checks whether or not the IBC mode is applied to the opportunity, and adds the corresponding opportunity, to which IBC mode is applied to the list of possible AMVP options.

[185] Если число текущих возможных вариантов в списке возможных вариантов объединения меньше максимального числа, оборудование кодирования может выполнять поиск возможных HMVP-вариантов. Оборудование кодирования выполняет поиск возможных вариантов в списке возможных HMVP-вариантов (HMVP-буфере), чтобы конструировать возможный вариант прогнозирования векторов движения на основе предыстории (HMVP) и добавляет возможный вариант, к которому применяется IBC-прогнозирование, в список возможных AMVP-вариантов. Если текущее число возможных вариантов в списке возможных вариантов объединения меньше максимального числа, оборудование кодирования добавляет нулевой вектор в список возможных AMVP-вариантов.[185] If the number of current candidates in the merge candidate list is less than the maximum number, the encoding equipment may search for HMVP candidates. The encoding equipment searches for candidates in the HMVP candidate list (HMVP buffer) to construct a history-based motion vector prediction (HMVP) candidate, and adds the candidate to which the IBC prediction is applied to the AMVP candidate list. If the current number of possible options in the merge candidate list is less than the maximum number, the encoding equipment adds a null vector to the AMVP candidate list.

[186] Помимо этого, вариант осуществления настоящего описания изобретения предоставляет способ конфигурирования возможных вариантов объединения/возможных AVMP-вариантов для режима взаимного прогнозирования, отличного IBC. Он представляет собой способ конструирования списка возможных вариантов только с использованием возможных не-IBC-вариантов в процессе конструирования возможного варианта прогнозирования, когда режим взаимного прогнозирования (MODE_INTER), отличный от IBC, применяется к текущему блоку. Если требуемое число возможных не-IBC-вариантов не сконфигурировано, оно сконфигурировано как возможный вариант по умолчанию (например, нулевой вектор).[186] In addition, an embodiment of the present specification provides a method for configuring fusion/AVMP candidates for a non-IBC inter-prediction mode. It is a method for constructing a candidate list using only non-IBC candidates in a prediction candidate construction process when an inter-prediction mode (MODE_INTER) other than IBC is applied to the current block. If the required number of non-IBC candidates is not configured, it is configured as a default candidate (eg, null vector).

[187] Фиг. 24 и 25 представляют собой примеры блок-схем последовательности операций способа для конструирования списка возможных вариантов прогнозирования для блока, к которому применяется взаимное прогнозирование, согласно варианту осуществления настоящего описания изобретения.[187] FIG. 24 and 25 are examples of flowcharts for constructing a prediction candidate list for a block to which inter prediction is applied, according to an embodiment of the present specification.

[188] Более конкретно, оборудование кодирования добавляет возможный вариант в список возможных вариантов прогнозирования только тогда, когда возможный вариант, который должен добавляться в процессе конструирования списка возможных вариантов прогнозирования, кодируется со взаимным прогнозированием (не-IBC). Таким образом, когда возможный вариант, который должен добавляться в список возможных вариантов прогнозирования, кодируется в IBC-режиме, он не добавляется в список возможных вариантов.[188] More specifically, the encoding equipment adds a candidate to the prediction candidate list only when the candidate to be added in the process of constructing the prediction candidate list is encoded with inter-prediction (non-IBC). Thus, when a candidate to be added to the prediction candidate list is encoded in IBC mode, it is not added to the candidate candidate list.

[189] Фиг. 24 показывает, что проверяется то, представляет ли собой режим прогнозирования возможного варианта, который должен добавляться, режим IBC-прогнозирования в процессе конструирования списка возможных вариантов объединения, и когда режим IBC-прогнозирования не применяется к соответствующему возможному варианту (когда взаимное прогнозирование применяется), соответствующий возможный вариант добавляется в список возможных вариантов объединения. Когда режим прогнозирования возможного варианта, который должен добавляться, представляет собой режим IBC-прогнозирования, соответствующий возможный вариант не добавляется в список возможных вариантов объединения.[189] FIG. 24 shows that it is checked whether the prediction mode of the candidate to be added is the IBC prediction mode in the process of constructing the join candidate list, and when the IBC prediction mode is not applied to the corresponding candidate (when inter-prediction is applied), the matching candidate is added to the join candidate list. When the candidate prediction mode to be added is the IBC prediction mode, the corresponding candidate is not added to the join candidate list.

[190] Ссылаясь на фиг 24, чтобы конструировать пространственный возможный вариант объединения, оборудование кодирования выполняет поиск пространственно соседних блоков, проверяет то, применяется ли режим взаимного прогнозирования к соответствующему возможному варианту (представляет или нет режим прогнозирования соответствующего пространственного возможного варианта собой режим взаимного прогнозирования), и добавляет соответствующий возможный вариант в список возможных вариантов объединения, когда режим взаимного прогнозирования применяется (когда режим IBC-прогнозирования не применяется). Возможный вариант, к которому применяется режим IBC-прогнозирования, не добавляется в список возможных вариантов объединения.[190] Referring to FIG. 24, to construct a spatial merging candidate, the encoding equipment searches for spatially neighboring blocks, checks whether the inter prediction mode is applied to the corresponding candidate (is the prediction mode of the corresponding spatial candidate an inter prediction mode or not) , and adds the corresponding candidate to the pooling candidate list when the inter-prediction mode is applied (when the IBC prediction mode is not applied). A candidate that has IBC prediction mode applied to it is not added to the join candidate list.

[191] Если текущее число возможных вариантов в списке возможных вариантов объединения меньше максимального числа, оборудование кодирования может выполнять поиск временного возможного варианта прогнозирования. Временной (TMVP) возможный вариант представляет информацию движения блока, совместно размещаемого в кадре, отличающемся от текущего блока. Оборудование кодирования выполняет поиск совместно размещенных блоков (временно соседних блоков) в другом кадре, чтобы конструировать временной возможный вариант, и добавляет временной возможный вариант, к которому применяется взаимное прогнозирование (к которому не применяется IBC-прогнозирование), в список возможных вариантов объединения.[191] If the current number of possibilities in the combination candidate list is less than the maximum number, the encoding equipment may search for a temporary prediction candidate. The temporal (TMVP) candidate represents motion information of a block co-located in a frame different from the current block. The coding equipment searches for co-located blocks (temporally adjacent blocks) in another frame to construct a temporal opportunity, and adds a temporal opportunity to which inter prediction is applied (to which no IBC prediction is applied) to the pooling candidate list.

[192] Если число текущих возможных вариантов в списке возможных вариантов объединения меньше максимального числа, оборудование кодирования может выполнять поиск возможных HMVP-вариантов. Оборудование кодирования выполняет поиск возможных вариантов в списке возможных HMVP-вариантов (HMVP-буфере), чтобы конструировать возможный HMVP-вариант, и добавляет возможный вариант, к которому применяется взаимное прогнозирование (к которому не применяется IBC-прогнозирование), в список возможных вариантов объединения.[192] If the number of current candidates in the merge candidate list is less than the maximum number, the encoding equipment may search for HMVP candidates. The encoding equipment searches for candidates in the HMVP candidate list (HMVP buffer) to construct an HMVP candidate, and adds the candidate to which inter prediction is applied (to which IBC prediction is not applied) to the pooling candidate list. .

[193] Если текущее число возможных вариантов в списке возможных вариантов объединения меньше максимального числа, оборудование кодирования может выполнять поиск попарных возможных вариантов прогнозирования. Попарные возможные варианты прогнозирования представляют собой возможные варианты прогнозирования, сформированные посредством комбинирования возможных вариантов, заранее сконфигурированных в списке возможных вариантов прогнозирования. Например, посредством комбинирования вектора блока L0-направления (вектора движения) первого возможного варианта и вектора блока L1-направления второго возможного варианта, попарный возможный вариант прогнозирования может формироваться. Здесь, оборудование кодирования может проверять то, применяется или нет взаимное прогнозирование (IBC-прогнозирование не применяется), и когда взаимное прогнозирование применяется (когда IBC-прогнозирование не применяется), добавлять попарный возможный вариант прогнозирования в список возможных вариантов объединения. Когда взаимное прогнозирование применяется к обоим возможным вариантам, используемым для конструирования попарного возможного варианта прогнозирования (когда IBC-прогнозирование не применяется к обоим возможным вариантам), можно сказать, что взаимное прогнозирование применяется к попарному возможному варианту прогнозирования. Если текущее число возможных вариантов в списке возможных вариантов объединения меньше максимального числа, оборудование кодирования добавляет нулевой вектор в список возможных вариантов объединения.[193] If the current number of possibilities in the combination candidate list is less than the maximum number, the encoding equipment may search for pairwise prediction candidates. The pairwise prediction candidates are prediction candidates generated by combining the candidates preconfigured in the prediction candidate list. For example, by combining the L0 direction block vector (motion vector) of the first candidate and the L1 direction block vector of the second candidate, a pairwise prediction opportunity can be generated. Here, the encoding equipment can check whether or not inter prediction is applied (IBC prediction is not applied), and when inter prediction is applied (when IBC prediction is not applied), add the pairwise prediction candidate to the join candidate list. When inter prediction is applied to both possibilities used to construct a pairwise prediction candidate (when IBC prediction is not applied to both possibilities), it can be said that inter prediction is applied to the pairwise prediction opportunity. If the current number of possible combinations in the list of possible combinations is less than the maximum number, the encoding equipment adds a null vector to the list of possible combinations.

[194] Фиг. 25 показывает, что проверяется то, представляет ли собой режим прогнозирования возможного варианта, который должен добавляться, режим IBC-прогнозирования в процессе конструирования списка возможных вариантов AMVP, и когда режим IBC-прогнозирования не применяется к соответствующему возможному варианту (когда взаимное прогнозирование применяется), соответствующий возможный вариант добавляется в список возможных AMVP-вариантов объединения. Когда режим прогнозирования возможного варианта, который должен добавляться, представляет собой режим IBC-прогнозирования, соответствующий возможный вариант не добавляется в список возможных AMVP-вариантов.[194] FIG. 25 shows that it is checked whether the prediction mode of the candidate to be added is the IBC prediction mode in the process of constructing the AMVP candidate list, and when the IBC prediction mode is not applied to the corresponding candidate (when inter prediction is applied), the corresponding candidate is added to the AMVP merge candidate list. When the candidate prediction mode to be added is the IBC prediction mode, the corresponding candidate is not added to the AMVP candidate list.

[195] Ссылаясь на фиг 25, чтобы конструировать пространственный возможный AMVP-вариант, оборудование кодирования выполняет поиск пространственно соседних блоков, проверяет то, применяется или нет режим взаимного прогнозирования к соответствующему возможному варианту (представляет или нет режим прогнозирования соответствующего пространственного возможного варианта собой режим взаимного прогнозирования), и добавляет соответствующий возможный вариант в список возможных AMVP-вариантов, когда режим взаимного прогнозирования применяется (когда режим IBC-прогнозирования не применяется). Возможный вариант, к которому применяется режим IBC-прогнозирования, не добавляется в список возможных AMVP-вариантов.[195] Referring to FIG. 25, in order to construct an AMVP spatial opportunity, the encoding equipment searches for spatially neighboring blocks, checks whether or not the inter prediction mode is applied to the corresponding candidate (is the prediction mode of the corresponding spatial opportunity or not the mutual prediction mode). prediction) and adds the corresponding candidate to the AMVP candidate list when the inter-prediction mode is applied (when the IBC prediction mode is not applied). An opportunity to which the IBC prediction mode is applied is not added to the AMVP candidate list.

[196] Если текущее число возможных вариантов в списке возможных AMVP-вариантов меньше максимального числа, оборудование кодирования может выполнять поиск временного возможного варианта прогнозирования. Временной (TMVP) возможный вариант представляет информацию движения блока, совместно размещаемого в кадре, отличающемся от текущего блока. Оборудование кодирования выполняет поиск совместно размещенных блоков (временно соседних блоков) в другом кадре, чтобы конструировать временной возможный вариант, и добавляет временной возможный вариант, к которому применяется взаимное прогнозирование (к которому не применяется IBC-прогнозирование), в список возможных AMVP-вариантов.[196] If the current number of possibilities in the AMVP candidate list is less than the maximum number, the encoding equipment may search for a temporary prediction opportunity. The temporal (TMVP) candidate represents motion information of a block co-located in a frame different from the current block. The encoding equipment searches for co-located blocks (temporally adjacent blocks) in another frame to construct a temporal opportunity, and adds a temporal opportunity to which inter prediction is applied (to which no IBC prediction is applied) to the AMVP candidate list.

[197] Если число текущих возможных вариантов в списке возможных AMVP-вариантов меньше максимального числа, оборудование кодирования может выполнять поиск возможных HMVP-вариантов. Оборудование кодирования выполняет поиск возможных вариантов в списке возможных HMVP-вариантов (HMVP-буфере), чтобы конструировать возможный HMVP-вариант, и добавляет возможный вариант, к которому применяется взаимное прогнозирование (к которому не применяется IBC-прогнозирование), в список возможных AMVP-вариантов.[197] If the number of current candidates in the list of AMVP candidates is less than the maximum number, the encoding equipment may search for HMVP candidates. The encoding equipment searches for candidates in the HMVP candidate list (HMVP buffer) to construct an HMVP candidate, and adds the candidate to which inter prediction is applied (to which no IBC prediction is applied) to the AMVP candidate list. options.

[198] Если текущее число возможных вариантов в списке возможных AMVP-вариантов меньше максимального числа, оборудование кодирования может выполнять поиск попарных возможных вариантов прогнозирования. Попарные возможные варианты прогнозирования представляют собой возможные варианты прогнозирования, сформированные посредством комбинирования возможных вариантов, заранее сконфигурированных в списке возможных вариантов прогнозирования. Например, посредством комбинирования вектора блока L0-направления (вектора движения) первого возможного варианта и вектора блока L1-направления второго возможного варианта, попарный возможный вариант прогнозирования может формироваться. Здесь, оборудование кодирования может проверять то, применяется или нет взаимное прогнозирование (IBC-прогнозирование не применяется), и когда взаимное прогнозирование применяется (когда IBC-прогнозирование не применяется), добавлять попарный возможный вариант прогнозирования в список возможных AMVP-вариантов. Когда взаимное прогнозирование применяется к обоим возможным вариантам, используемым для конструирования попарного возможного варианта прогнозирования (когда IBC-прогнозирование не применяется к обоим возможным вариантам), можно сказать, что взаимное прогнозирование применяется к попарному возможному варианту прогнозирования. Если текущее число возможных вариантов в списке возможных вариантов объединения меньше максимального числа, оборудование кодирования добавляет нулевой вектор в список возможных AMVP-вариантов.[198] If the current number of candidates in the AMVP candidate list is less than the maximum number, the encoding equipment may search for pairwise prediction candidates. The pairwise prediction candidates are prediction candidates generated by combining the candidates preconfigured in the prediction candidate list. For example, by combining the L0 direction block vector (motion vector) of the first candidate and the L1 direction block vector of the second candidate, a pairwise prediction opportunity can be generated. Here, the encoding equipment can check whether or not inter prediction is applied (IBC prediction is not applied), and when inter prediction is applied (when IBC prediction is not applied), add the pairwise prediction candidate to the AMVP candidate list. When inter prediction is applied to both possibilities used to construct a pairwise prediction candidate (when IBC prediction is not applied to both possibilities), it can be said that inter prediction is applied to the pairwise prediction opportunity. If the current number of possible options in the merge candidate list is less than the maximum number, the encoding equipment adds a null vector to the AMVP candidate list.

[199] Аналогично предыдущим вариантам осуществления, в процессе конструирования списка возможных вариантов прогнозирования для не-IBC-блока, конечно, можно опускать поиск любого типа из различных типов возможных вариантов (пространственных возможных вариантов, временного возможного варианта, возможных HMVP-вариантов и попарных возможных вариантов прогнозирования).[199] Similar to the previous embodiments, in the process of constructing a list of prediction candidate lists for a non-IBC block, of course, one can omit searching for any type of the various types of candidate candidate (spatial candidate, temporal candidate, HMVP candidate, and pairwise candidate). prediction options).

[200] Фиг. 26 является примером блок-схемы последовательности операций способа для кодирования видеоданных согласно варианту осуществления настоящего описания изобретения. Операция по фиг. 26 может выполняться посредством модуля 180 взаимного прогнозирования оборудования 100 кодирования.[200] FIG. 26 is an example of a flowchart for encoding video data according to an embodiment of the present specification. The operation of FIG. 26 may be performed by the inter-prediction module 180 of the encoding equipment 100 .

[201] Ссылаясь на фиг 26, оборудование 100 кодирования конструирует список возможных вариантов векторов блока для текущего блока, к которому применяется режим IBC-прогнозирования, ссылающийся на другой блок в текущем кадре (S2610). Здесь, оборудование 100 кодирования может добавлять соответствующий возможный вариант в список возможных вариантов векторов блока только тогда, когда режим прогнозирования соответствующего возможного варианта, который должен добавляться, представляет собой режим IBC-прогнозирования в процессе конструирования списка возможных вариантов векторов блока (списка возможных вариантов объединения/списка возможных AMVP-вариантов). Таким образом, оборудование 100 кодирования может добавлять возможный вариант (пространственный возможный вариант, временной возможный вариант, возможный HMVP-вариант или попарный возможный вариант прогнозирования), к которому применяется режим IBC-прогнозирования, в список возможных вариантов векторов блока.[201] Referring to FIG. 26, the encoding equipment 100 constructs a block vector candidate list for the current block to which the IBC prediction mode is applied referring to another block in the current frame (S2610). Here, the encoding equipment 100 may add the corresponding candidate to the block vector candidate list only when the prediction mode of the corresponding candidate to be added is the IBC prediction mode in the process of constructing the block vector candidate list (combination candidate list/ list of possible AMVP options). Thus, encoding equipment 100 can add a candidate (spatial candidate, temporal candidate, HMVP candidate, or pairwise prediction candidate) to which the IBC prediction mode is applied to the block vector candidate list.

[202] В варианте осуществления, чтобы конструировать список возможных вариантов векторов блока, оборудование 100 кодирования может конструировать список возможных вариантов векторов блока из пространственных соседних блоков, к которым применяется режим IBC-прогнозирования, и изменять список возможных вариантов векторов блока на основе возможных HMVP-вариантов, к которым применяется режим IBC-прогнозирования, когда текущее число возможных вариантов в списке возможных вариантов векторов блока меньше максимального числа возможных вариантов.[202] In an embodiment, to construct a block vector candidate list, encoding equipment 100 may construct a block vector candidate list from spatial neighboring blocks to which the IBC prediction mode is applied, and modify the block vector candidate list based on the HMVP candidates. options to which the IBC prediction mode is applied when the current number of options in the block vectors list of options is less than the maximum number of options.

[203] В варианте осуществления, если текущее число возможных вариантов в измененном списке возможных вариантов векторов блока меньше максимального числа возможных вариантов, оборудование 100 кодирования может добавлять нулевой вектор в измененный список возможных вариантов векторов блока. В варианте осуществления, оборудование 100 кодирования может добавлять нулевой вектор в измененный список возможных вариантов векторов блока до тех пор, пока текущее число возможных вариантов не равно максимальному числу возможных вариантов.[203] In an embodiment, if the current number of possibilities in the modified block vector candidate list is less than the maximum number of possibilities, encoding equipment 100 may add a null vector to the modified block vector candidate list. In an embodiment, encoding equipment 100 may add a null vector to the modified block vector candidate list as long as the current number of candidates is not equal to the maximum number of candidates.

[204] В варианте осуществления, пространственные соседние блоки могут включать в себя, по меньшей мере, одно из левого соседнего блока, нижнего левого соседнего блока, верхнего соседнего блока, правого соседнего блока или правого соседнего блока относительно текущего блока.[204] In an embodiment, the spatial neighbor blocks may include at least one of a left neighbor, bottom left neighbor, top neighbor, right neighbor, or right neighbor relative to the current block.

[205] В варианте осуществления, оборудование 100 кодирования может добавлять попарный возможный вариант, сформированный на основе комбинации векторов блока, включенных в измененный список возможных вариантов векторов блока, в список возможных вариантов векторов блока.[205] In an embodiment, encoding equipment 100 may add a pairwise opportunity generated based on a combination of block vectors included in the modified block vector candidate list to the block vector candidate list.

[206] В варианте осуществления, если текущее число возможных вариантов в списке возможных вариантов векторов блока, в который добавляются попарные возможные варианты, меньше максимального числа возможных вариантов, нулевой вектор может добавляться в список возможных вариантов векторов блока.[206] In an embodiment, if the current number of possibilities in the block vector candidate list to which the pairwise possibilities are added is less than the maximum number of possibilities, a null vector may be added to the block vector candidate list.

[207] Оборудование 100 кодирования формирует прогнозную выборку для текущего блока на основе списка возможных вариантов векторов блока, сконструированного аналогично вариантам осуществления настоящего описания изобретения (S2620). Например, оборудование 100 кодирования может формировать прогнозную выборку посредством использования вектора блока (вектора движения) возможного варианта, указываемого посредством индекса объединения в списке возможных вариантов векторов блока (списке возможных вариантов объединения). В частности, прогнозная выборка может формироваться с использованием выборочного значения, указываемого посредством вектора блока в текущем кадре, включающем в себя текущий блок.[207] The encoding equipment 100 generates a predictive sample for the current block based on a block vector candidate list constructed similarly to the embodiments of the present specification (S2620). For example, the encoding equipment 100 can generate a predictive sample by using a block vector (motion vector) of a candidate indicated by a union index in the block vector candidate list (combination candidate list). In particular, the predictive sample may be generated using a sample value indicated by a block vector in the current frame including the current block.

[208] Помимо этого, относительно блока, к которому применяется режим взаимного прогнозирования, отличный от режима IBC-прогнозирования, оборудование 100 кодирования может определять то, представляет ли собой режим прогнозирования возможного варианта, который должен добавляться, чтобы конструировать список возможных вариантов векторов блока, режим, идентичный режиму прогнозирования для текущего блока (режиму взаимного прогнозирования), и добавлять соответствующий возможный вариант в список возможных вариантов векторов блока в случае, если режимы прогнозирования являются идентичными (представляют собой режим взаимного прогнозирования).[208] In addition, with respect to a block to which an inter-prediction mode other than the IBC prediction mode is applied, the encoding equipment 100 can determine whether a candidate prediction mode is to be added to construct a block vector candidate list, a mode identical to the prediction mode for the current block (inter prediction mode), and add the corresponding candidate to the block vector candidate list in case the prediction modes are identical (are the inter prediction mode).

[209] Оборудование 100 кодирования кодирует информацию, связанную с прогнозированием текущего блока (S2630).[209] The encoding equipment 100 encodes information related to prediction of the current block (S2630).

[210] Фиг. 27 является примером блок-схемы последовательности операций способа для декодирования видеоданных согласно варианту осуществления настоящего описания изобретения. Операции по фиг. 27 могут выполняться посредством модуля 260 взаимного прогнозирования оборудования 200 декодирования.[210] FIG. 27 is an example of a flowchart for decoding video data according to an embodiment of the present specification. The operations of FIG. 27 may be performed by the inter-prediction module 260 of the decoding equipment 200.

[211] Оборудование 200 декодирования конструирует список возможных вариантов векторов блока для текущего блока, к которому применяется режим IBC-прогнозирования, ссылающийся на другой блок в текущем кадре (S2710).[211] The decoding equipment 200 constructs a block vector candidate list for the current block to which the IBC prediction mode is applied referring to another block in the current frame (S2710).

[212] Оборудование 200 декодирования формирует прогнозную выборку для текущего блока на основе списка возможных вариантов векторов блока (S2720). Здесь, оборудование 100 декодирования может добавлять возможный вариант в список возможных вариантов векторов блока только тогда, когда режим прогнозирования возможного варианта, который должен добавляться, представляет собой режим IBC-прогнозирования в процессе конструирования списка возможных вариантов векторов блока (списка возможных вариантов объединения/список возможных AMVP-вариантов). Таким образом, оборудование 200 декодирования может добавлять возможный вариант (пространственный возможный вариант, временной возможный вариант, возможный HMVP-вариант или попарный возможный вариант прогнозирования), к которому применяется режим IBC-прогнозирования, в список возможных вариантов векторов блока.[212] The decoding equipment 200 generates a predictive sample for the current block based on a list of possible block vectors (S2720). Here, the decoding equipment 100 may add a candidate to the block vector candidate list only when the prediction mode of the candidate to be added is the IBC prediction mode in the block vector candidate list (join candidate list/possible list) construction process. AMVP variants). Thus, the decoding equipment 200 can add a candidate (spatial candidate, temporal candidate, HMVP candidate, or pairwise prediction opportunity) to which the IBC prediction mode is applied to the block vector candidate list.

[213] В варианте осуществления, чтобы конструировать список возможных вариантов векторов блока, оборудование 200 декодирования может конструировать список возможных вариантов векторов блока из пространственных соседних блоков, к которым применяется режим IBC-прогнозирования, и изменять список возможных вариантов векторов блока на основе возможных HMVP-вариантов, к которым применяется режим IBC-прогнозирования, когда текущее число возможных вариантов в списке возможных вариантов векторов блока меньше максимального числа возможных вариантов.[213] In an embodiment, to construct a block vector candidate list, decoding equipment 200 may construct a block vector candidate list from the spatial neighbor blocks to which the IBC prediction mode is applied, and modify the block vector candidate list based on the HMVP candidates. options to which the IBC prediction mode is applied when the current number of options in the block vectors list of options is less than the maximum number of options.

[214] В варианте осуществления, если текущее число возможных вариантов в измененном списке возможных вариантов векторов блока меньше максимального числа возможных вариантов, оборудование 200 декодирования может добавлять нулевой вектор в измененный список возможных вариантов векторов блока. В варианте осуществления, оборудование 100 кодирования может добавлять нулевой вектор в измененный список возможных вариантов векторов блока до тех пор, пока текущее число возможных вариантов не равно максимальному числу возможных вариантов.[214] In an embodiment, if the current number of possibilities in the modified block vector candidate list is less than the maximum number of possibilities, decoding equipment 200 may add a null vector to the modified block vector candidate list. In an embodiment, encoding equipment 100 may add a null vector to the modified block vector candidate list as long as the current number of candidates is not equal to the maximum number of candidates.

[215] В варианте осуществления, пространственные соседние блоки могут включать в себя, по меньшей мере, одно из левого соседнего блока, нижнего левого соседнего блока, верхнего соседнего блока, правого соседнего блока или правого соседнего блока относительно текущего блока.[215] In an embodiment, spatial neighbor blocks may include at least one of left neighbor, bottom left neighbor, top neighbor, right neighbor, or right neighbor relative to the current block.

[216] В варианте осуществления, оборудование 200 декодирования может добавлять попарный возможный вариант, сформированный на основе комбинации векторов блока, включенных в измененный список возможных вариантов векторов блока, в список возможных вариантов векторов блока.[216] In an embodiment, decoding equipment 200 may add a pairwise opportunity generated based on a combination of block vectors included in the modified block vector candidate list to the block vector candidate list.

[217] В варианте осуществления, если текущее число возможных вариантов в списке возможных вариантов векторов блока, в который добавляются попарные возможные варианты, меньше максимального числа возможных вариантов, нулевой вектор может добавляться в список возможных вариантов векторов блока.[217] In an embodiment, if the current number of possibilities in the block vector candidate list to which the pairwise possibilities are added is less than the maximum number of possibilities, a null vector may be added to the block vector candidate list.

[218] Оборудование 200 декодирования может формировать прогнозную выборку посредством использования вектора блока (вектора движения) возможного варианта, указываемого посредством индекса объединения в списке возможных вариантов векторов блока (списке возможных вариантов объединения). В частности, прогнозная выборка может формироваться с использованием выборочного значения, указываемого посредством вектора блока в текущем кадре, включающем в себя текущий блок.[218] The decoding equipment 200 can generate a predictive sample by using a block vector (motion vector) of a candidate indicated by a union index in the block vector candidate list (combination candidate list). In particular, the predictive sample may be generated using a sample value indicated by a block vector in the current frame including the current block.

[219] Помимо этого, относительно блока, к которому применяется режим взаимного прогнозирования, отличный от режима IBC-прогнозирования, оборудование 200 декодирования может определять то, представляет режим прогнозирования возможного варианта, который должен добавляться, чтобы конструировать список возможных вариантов векторов блока, собой или нет режим, идентичный режиму прогнозирования для текущего блока (режиму взаимного прогнозирования), и добавлять соответствующий возможный вариант в список возможных вариантов векторов блока в случае, если режимы прогнозирования являются идентичными (представляют собой режим взаимного прогнозирования).[219] In addition, with respect to a block to which an inter-prediction mode other than the IBC prediction mode is applied, the decoding equipment 200 can determine whether the candidate prediction mode to be added to construct the block vector candidate list is itself or there is no mode identical to the prediction mode for the current block (inter prediction mode), and add the corresponding candidate to the block vector candidate list in case the prediction modes are identical (represent the inter prediction mode).

[220] Поток битов[220] Bitstream

[221] Кодированная информация (например, кодированная информация видео/изображений), извлекаемая посредством устройства 100 кодирования на основе вышеописанных вариантов осуществления раскрытия, может выводиться в форме потока битов. Кодированная информация может передаваться или сохраняться в NAL-единицах, в форме потока битов. Поток битов может передаваться по сети или может сохраняться на энергонезависимом цифровом носителе хранения данных. Дополнительно, как описано выше, поток битов непосредственно не передается из устройства 100 кодирования в устройство 200 декодирования, но может передаваться в потоковом режиме/загружаться через внешний сервер (например, сервер потоковой передачи контента). Сеть может включать в себя, например, широковещательную сеть и/или сеть связи, и цифровой носитель хранения данных может включать в себя, например, USB, SD, CD, DVD, Blu-Ray, HDD, SSD или другие различные носители хранения данных.[221] Encoded information (eg, encoded video/image information) extracted by the encoding apparatus 100 based on the above-described embodiments of the disclosure may be output in the form of a bit stream. The encoded information may be transmitted or stored in NAL units, in the form of a bit stream. The bit stream may be transmitted over a network or may be stored on a non-volatile digital storage medium. Further, as described above, the bitstream is not directly transmitted from the encoder 100 to the decoder 200, but may be streamed/downloaded via an external server (eg, a content streaming server). The network may include, for example, a broadcast network and/or a communications network, and the digital storage medium may include, for example, USB, SD, CD, DVD, Blu-ray, HDD, SSD, or various other storage media.

[222] Способы обработки, к которым применяются варианты осуществления раскрытия, могут создаваться в форме программы, выполняемой на компьютерах, и могут сохраняться в машиночитаемых носителях записи. Мультимедийные данные со структурой данных согласно раскрытию также могут сохраняться на машиночитаемых носителях записи. Машиночитаемые носители записи включают в себя все виды устройств хранения данных и распределенных устройств хранения данных, которые могут сохранять машиночитаемые данные. Машиночитаемые носители записи могут включать в себя, например, Blu-Ray-диски (BD), накопители по стандарту универсальной последовательной шины (USB), ROM, PROM, EPROM, EEPROM, RAM, CD-ROM, магнитные ленты, гибкие диски и оптическое устройство хранения данных. Машиночитаемые носители записи могут включать в себя среды, реализованные в форме несущих волн (например, как передачи по Интернету). Потоки битов, сформированные посредством способа кодирования, могут сохраняться на машиночитаемых носителях записи либо передаваться через сеть проводной/беспроводной связи.[222] The processing methods to which the embodiments of the disclosure apply may be created in the form of a program executable on computers and may be stored in computer-readable recording media. Multimedia data with a data structure according to the disclosure may also be stored on computer-readable recording media. Computer-readable recording media includes all kinds of storage devices and distributed storage devices that can store computer-readable data. Computer-readable recording media may include, for example, Blu-ray Discs (BDs), Universal Serial Bus (USB) drives, ROM, PROM, EPROM, EEPROM, RAM, CD-ROM, magnetic tapes, floppy disks, and optical storage device. Computer-readable recording media may include media implemented in the form of carrier waves (eg, as transmissions over the Internet). The bitstreams generated by the encoding method may be stored on computer-readable recording media or transmitted over a wired/wireless communication network.

[223] Варианты осуществления раскрытия могут реализовываться как компьютерные программы посредством программных кодов, которые могут исполняться на компьютерах согласно варианту осуществления раскрытия. Машинные коды могут сохраняться на машиночитаемом носителе.[223] Embodiments of the disclosure may be implemented as computer programs through program codes that may be executed on computers according to an embodiment of the disclosure. The machine codes may be stored on a computer-readable medium.

[224] Вышеописанные варианты осуществления раскрытия могут реализовываться посредством энергонезависимого машиночитаемого носителя, сохраняющего машиноисполняемый компонент, выполненный с возможностью исполняться посредством одного или более процессоров вычислительного устройства. Согласно варианту осуществления раскрытия, машиноисполняемый компонент может быть выполнен с возможностью определять то, применяется или нет PCM-режим, в котором выборочное значение текущего блока в видеоданных передается через поток битов, идентифицировать опорный индекс, связанный с опорной линией для внутреннего прогнозирования текущего блока на основе неприменения PCM-режима, и формировать прогнозную выборку текущего блока на основе опорной выборки, включенной в опорную линию, связанную с опорным индексом. Дополнительно, согласно варианту осуществления раскрытия, машиноисполняемый компонент может быть выполнен с возможностью выполнять операции, соответствующие способу обработки видеоданных, описанному со ссылкой на фиг. 13 и 14.[224] The above described embodiments of the disclosure may be implemented by a non-volatile computer-readable medium storing a computer-executable component configured to be executed by one or more processors of a computing device. According to an embodiment of the disclosure, a computer-executable component may be configured to determine whether or not a PCM mode is applied in which a sample value of the current block in the video data is transmitted via a bitstream, to identify a reference index associated with a reference line for intra-prediction of the current block based on not applying the PCM mode, and generating a prediction sample of the current block based on the reference sample included in the reference line associated with the reference index. Additionally, according to an embodiment of the disclosure, the computer-executable component may be configured to perform operations corresponding to the video data processing method described with reference to FIG. 13 and 14.

[225] Устройство 200 декодирования и устройство 100 кодирования, к которым применяется раскрытие, могут включаться в цифровое устройство. Цифровые устройства охватывают все виды или типы цифровых устройств, допускающих выполнение, по меньшей мере, одной из передачи, приема, обработки и вывода, например, данных, контента или услуг. Обработка данных, контента или услуг посредством цифрового устройства включает в себя кодирование и/или декодирование данных, контента или услуг. Такое цифровое устройство может спариваться или соединяться с другим цифровым устройством или внешним сервером через проводную/беспроводную сеть, передачу или прием данных либо, при необходимости, преобразование данных.[225] The decoding device 200 and the encoding device 100 to which the disclosure applies may be included in a digital device. Digital devices encompass all kinds or types of digital devices capable of performing at least one of transmitting, receiving, processing and outputting, for example, data, content or services. The processing of data, content, or services by a digital device includes encoding and/or decoding the data, content, or services. Such a digital device can be paired or connected to another digital device or an external server via a wired/wireless network, data transmission or reception, or data conversion as needed.

[226] Цифровые устройства могут включать в себя, например, сетевые телевизоры, гибридные широковещательные широкополосные телевизоры, интеллектуальные телевизоры, телевизоры по Интернет-протоколу (IPTV), персональные компьютеры или другие стоящие устройства либо мобильные или карманные устройства, такие как персональные цифровые устройства (PDA), смартфоны, планшетные PC или переносные компьютеры.[226] Digital devices may include, for example, network TVs, hybrid broadband TVs, smart TVs, Internet Protocol TVs (IPTVs), personal computers or other stationary devices, or mobile or handheld devices such as personal digital devices ( PDA), smartphones, tablet PCs or laptops.

[227] При использовании в данном документе, "проводная/беспроводная сеть" совместно означает сети связи, поддерживающие различные стандарты или протоколы связи для обмена данными и/или взаимного соединения между цифровыми устройствами или между цифровым устройством и внешним сервером. Такие проводные/беспроводные сети могут включать в себя сети связи, в данный момент поддерживаемые или которые должны поддерживаться в будущем, и протоколы связи для таких сетей связи, и могут формироваться, например, посредством стандартов связи для проводного соединения, включающих в себя USB (универсальную последовательную шину), CVBS (композитный гасящий синхронизирующий видеосигнал), компонентное соединение, S-видео-соединение (аналоговое), DVI (цифровой видеоинтерфейс), HDMI (мультимедийный интерфейс высокой четкости), RGB или D-SUB, и стандартов связи для беспроводного соединения, включающих в себя Bluetooth, RFID (радиочастотную идентификацию), IrDA (стандарт Ассоциации по передаче данных в инфракрасном диапазоне), UWB (стандарт сверхширокополосной связи), ZigBee, DLNA (стандарт Альянса цифровых домашних сетей), WLAN (беспроводную LAN) (Wi-Fi), WiBro (стандарт беспроводной широкополосной связи), Wimax (стандарт общемировой совместимости широкополосного беспроводного доступа), HSDPA (высокоскоростной пакетный доступ по нисходящей линии связи), LTE (стандарт долгосрочного развития) или стандарт Wi-Fi Direct.[227] As used herein, "wired/wireless network" collectively means communication networks supporting various communication standards or protocols for data exchange and/or interconnection between digital devices or between a digital device and an external server. Such wired/wireless networks may include communication networks currently supported or to be supported in the future, and communication protocols for such communication networks, and may be formed, for example, by communication standards for wired connection, including USB (Universal serial bus), CVBS (Composite Video Sync Bleeding), Component, S-Video (Analog), DVI (Digital Video Interface), HDMI (High Definition Multimedia Interface), RGB or D-SUB, and communication standards for wireless connection including Bluetooth, RFID (Radio Frequency Identification), IrDA (Infrared Data Association standard), UWB (Ultra-Wideband), ZigBee, DLNA (Digital Home Network Alliance), WLAN (Wireless LAN) (Wi- Fi), WiBro (Wireless Broadband Standard), Wimax (Global Interoperability Standard for Broadband Wireless Access), H SDPA (High Speed Downlink Packet Access), LTE (Long Term Evolution) or Wi-Fi Direct.

[228] В дальнейшем в этом документе, когда называется просто "цифровым устройством" в раскрытии, оно может означать одно или оба из стационарного устройства или/и мобильного устройства в зависимости от контекста.[228] Hereinafter, when referred to simply as "digital device" in the disclosure, it may mean one or both of a fixed device and/or a mobile device, depending on the context.

[229] Между тем, цифровое устройство представляет собой интеллектуальное устройство, которое поддерживает, например, широковещательный прием, функции компьютера и, по меньшей мере, один внешний ввод и может поддерживать, например, обмен электронными почтовыми сообщениями, просмотр веб-страниц, банковские операции, игры или приложения через вышеописанную проводную/беспроводную сеть. Дополнительно, цифровое устройство может включать в себя интерфейс для поддержки, по меньшей мере, одного средства ввода или управления (в дальнейшем в этом документе, средства ввода), такого как устройство рукописного ввода, сенсорный экран и пространственный пульт дистанционного управления. Цифровое устройство может использовать стандартизированную операционную систему (ОС) общего назначения. Например, цифровое устройство может добавлять, удалять, изменять и обновлять различные приложения в ядре ОС общего назначения, за счет этого конфигурируя и предоставляя более удобное для пользователя окружение.[229] Meanwhile, the digital device is an intelligent device that supports, for example, broadcast reception, computer functions, and at least one external input, and can support, for example, e-mail, web browsing, banking , games or applications via the above wired/wireless network. Additionally, the digital device may include an interface to support at least one input or control means (hereinafter, input means) such as a handwriting device, a touch screen, and a spatial remote control. The digital device may use a standardized general purpose operating system (OS). For example, a digital device can add, remove, modify, and update various applications in a general purpose OS kernel, thereby configuring and providing a more user-friendly environment.

[230] Вышеописанные варианты осуществления рассматривают предварительно определенные комбинации компонентов и признаков раскрытия. Каждый компонент или признак должен считаться необязательным, если явно не указано иное. Каждый компонент или признак может осуществляться на практике таким образом, что он не комбинируется с другими компонентами или признаками. Дополнительно, некоторые компоненты и/или признаки могут комбинироваться между собой, чтобы конфигурировать вариант осуществления раскрытия. Порядок операций, описанных в связи с вариантами осуществления раскрытия, может варьироваться. Некоторые компоненты или признаки одного варианта осуществления могут быть включены в другой вариант осуществления либо могут заменяться соответствующими компонентами или признаками другого варианта осуществления. Очевидно, что пункты формулы изобретения могут комбинироваться, чтобы составлять вариант осуществления, если в явной форме не указано иное, либо такие комбинации могут добавляться в новой формуле изобретения посредством изменения после подачи заявки.[230] The above embodiments consider predetermined combinations of components and disclosure features. Each component or feature should be considered optional unless explicitly stated otherwise. Each component or feature can be practiced in such a way that it is not combined with other components or features. Additionally, certain components and/or features may be combined with each other to configure an embodiment of the disclosure. The order of operations described in connection with the embodiments of the disclosure may vary. Some components or features of one embodiment may be included in another embodiment, or may be replaced by corresponding components or features of another embodiment. Obviously, claims may be combined to constitute an embodiment, unless expressly stated otherwise, or such combinations may be added to a new claim by post-filing amendment.

[231] При реализации в микропрограммном обеспечении или аппаратных средствах, вариант осуществления раскрытия может реализовываться как модуль, процедура или функция, выполняющая вышеописанные функции или операции. Программный код может сохраняться в запоминающем устройстве и направляться посредством процессора. Запоминающее устройство может позиционироваться внутри или снаружи процессора, чтобы обмениваться данными с процессором посредством различных известных средств.[231] When implemented in firmware or hardware, an embodiment of the disclosure may be implemented as a module, procedure, or function that performs the functions or operations described above. The program code may be stored in a storage device and sent by the processor. The memory device may be positioned inside or outside the processor to communicate with the processor through various known means.

[232] Специалистам в данной области техники должно быть очевидным, что раскрытие может осуществляться в других конкретных формах без отступления от существа раскрытия. Таким образом, вышеприведенное описание должно интерпретироваться не в качестве ограничивающего во всех аспектах, а в качестве примерного. Объем раскрытия должен определяться посредством обоснованных интерпретаций прилагаемой формулы изобретения, и все эквиваленты раскрытия охватываются объемом раскрытия.[232] Those skilled in the art should appreciate that the disclosure may take other specific forms without departing from the spirit of the disclosure. Thus, the foregoing description is not to be interpreted as limiting in all respects, but as exemplary. The scope of the disclosure is to be determined by reasonable interpretations of the appended claims, and all equivalents of the disclosure are covered by the scope of the disclosure.

Промышленная применимостьIndustrial Applicability

[233] Выше раскрываются предпочтительные варианты осуществления настоящего раскрытия для иллюстративной цели, и в дальнейшем в этом документе, модификации, изменения, замены или добавления различных других вариантов осуществления осуществляются в пределах технической сущности и объема настоящего раскрытия, определяемого прилагаемой формулой изобретения для специалистов в данной области техники.[233] The preferred embodiments of the present disclosure are disclosed above for illustrative purposes, and hereinafter, modifications, alterations, substitutions, or additions to various other embodiments are made within the technical spirit and scope of the present disclosure, as defined by the appended claims for those skilled in the art. the field of technology.

Claims (27)

1. Способ обработки видеоданных, содержащий этапы, на которых:1. A method for processing video data, comprising the steps of: определяют, применяется ли первый режим прогнозирования к текущему блоку, причем первый режим прогнозирования ссылается на другой блок в текущем кадре;determining whether the first prediction mode is applied to the current block, wherein the first prediction mode refers to another block in the current frame; конфигурируют список возможных вариантов векторов блока текущего блока на основе применения первого режима прогнозирования к текущему блоку; иconfiguring a list of candidate block vectors of the current block based on applying the first prediction mode to the current block; And формируют прогнозную выборку текущего блока на основе вектора блока, включенного в список возможных вариантов векторов блока,generating a predictive sample of the current block based on the block vector included in the list of possible block vectors, при этом при конфигурировании списка возможных вариантов векторов блока список возможных вариантов векторов блока конфигурируют только на основе пространственного соседнего блока, к которому применяется первый режим прогнозирования, возможного варианта прогнозирования векторов движения на основе предыстории (HMVP), к которому применяется первый режим прогнозирования, и нулевого вектора посредством добавления вектора блока пространственного соседнего блока, возможного варианта HMVP и нулевого вектора в список возможных вариантов векторов блока в порядке вектор блока пространственного соседнего блока, возможный вариант HMVP и нулевой вектор, wherein, when configuring the block vector candidate list, the block vector candidate list is configured only based on the spatial neighboring block to which the first prediction mode is applied, the historical motion vector prediction (HMVP) candidate to which the first prediction mode is applied, and the null vector by adding the spatial neighbor block vector, the HMVP candidate, and the null vector to the list of block vector candidates in the order of the spatial neighbor block vector, the HMVP candidate, and the null vector, при этом нулевой вектор добавляется в список возможных вариантов векторов блока до тех пор, пока число текущих возможных вариантов из списка возможных вариантов векторов блока не станет максимальным числом возможных вариантов.wherein the null vector is added to the list of possible block vectors until the number of current possibilities from the list of possible block vectors becomes the maximum number of possible options. 2. Способ по п.1, в котором пространственный соседний блок включает в себя по меньшей мере одно из левого бокового соседнего блока, левого нижнего соседнего блока, верхнего бокового соседнего блока и правого верхнего соседнего блока.2. The method of claim 1, wherein the spatial neighbor includes at least one of a left side neighbor, a left bottom neighbor, a top side neighbor, and a right top neighbor. 3. Способ по п.1, в котором временной соседний возможный вариант и попарный возможный вариант, сформированные на основе комбинации векторов блока, включенных в список возможных вариантов векторов блока, не включаются в список возможных вариантов векторов блока.3. The method of claim 1, wherein the temporal neighbor opportunity and the pairwise opportunity generated based on the combination of block vectors included in the block vector candidate list are not included in the block vector candidate list. 4. Способ кодирования видеоданных, содержащий этапы, на которых:4. A method for encoding video data, comprising the steps of: определяют, следует ли применять первый режим прогнозирования к текущему блоку, причем первый режим ссылается на другой блок в текущем кадре;determining whether to apply the first prediction mode to the current block, the first mode referring to another block in the current frame; конфигурируют список возможных вариантов векторов блока текущего блока на основе применения первого режима прогнозирования к текущему блоку;configuring a list of candidate block vectors of the current block based on applying the first prediction mode to the current block; формируют прогнозную выборку текущего блока на основе вектора блока, включенного в список возможных вариантов векторов блока; иgenerating a predictive sample of the current block based on the block vector included in the list of candidate block vectors; And кодируют информацию, относящуюся к прогнозированию текущего блока,encode information related to prediction of the current block, при этом при конфигурировании списка возможных вариантов векторов блока список возможных вариантов векторов блока конфигурируют только на основе пространственного соседнего блока, к которому применяется первый режим прогнозирования, возможного варианта прогнозирования векторов движения на основе предыстории (HMVP), к которому применяется первый режим прогнозирования, и нулевого вектора посредством добавления вектора блока пространственного соседнего блока, возможного варианта HMVP и нулевого вектора в список возможных вариантов векторов блока в порядке вектор блока пространственного соседнего блока, возможный вариант HMVP и нулевой вектор, wherein, when configuring the block vector candidate list, the block vector candidate list is configured only based on the spatial neighboring block to which the first prediction mode is applied, the history-based motion vector prediction (HMVP) candidate to which the first prediction mode is applied, and the null vector by adding the spatial neighbor block vector, the HMVP candidate, and the null vector to the list of block vector candidates in the order of the spatial neighbor block vector, the HMVP candidate, and the null vector, при этом нулевой вектор добавляется в список возможных вариантов векторов блока до тех пор, пока число текущих возможных вариантов из списка возможных вариантов векторов блока не станет максимальным числом возможных вариантов.wherein the null vector is added to the list of possible block vectors until the number of current possibilities from the list of possible block vectors becomes the maximum number of possible options. 5. Способ по п.4, в котором пространственный соседний блок включает в себя по меньшей мере одно из левого бокового соседнего блока, левого нижнего соседнего блока, верхнего бокового соседнего блока и правого верхнего соседнего блока.5. The method of claim 4, wherein the spatial neighbor includes at least one of a left side neighbor, a left bottom neighbor, a top side neighbor, and a right top neighbor. 6. Способ по п.4, в котором временной соседний возможный вариант и попарный возможный вариант, сформированные на основе комбинации векторов блока, включенных в список возможных вариантов векторов блока, не включаются в список возможных вариантов векторов блока.6. The method of claim 4, wherein the temporal neighbor opportunity and the pairwise opportunity generated based on the combination of block vectors included in the block vector candidate list are not included in the block vector candidate list. 7. Способ передачи данных, содержащих поток битов для изображения, причем способ содержит:7. A method for transmitting data containing a bit stream for an image, the method comprising: получение потока битов для изображения; иobtaining a bit stream for the image; And передачу данных, содержащих поток битов,transmission of data containing a stream of bits, при этом поток битов сформирован посредством выполнения этапов, на которых:wherein the bit stream is generated by performing steps in which: определяют, следует ли применять первый режим прогнозирования к текущему блоку, причем первый режим ссылается на другой блок в текущем кадре;determining whether to apply the first prediction mode to the current block, the first mode referring to another block in the current frame; конфигурируют список возможных вариантов векторов блока текущего блока на основе применения первого режима прогнозирования к текущему блоку;configuring a block vector list of the current block based on applying the first prediction mode to the current block; формируют прогнозную выборку текущего блока на основе вектора блока, включенного в список возможных вариантов векторов блока; иgenerating a predictive sample of the current block based on the block vector included in the list of candidate block vectors; And кодируют информацию, относящуюся к прогнозированию текущего блока,encode information related to prediction of the current block, при этом при конфигурировании списка возможных вариантов векторов блока список возможных вариантов векторов блока конфигурируют только на основе пространственного соседнего блока, к которому применяется первый режим прогнозирования, возможного варианта прогнозирования векторов движения на основе предыстории (HMVP), к которому применяется первый режим прогнозирования, и нулевого вектора посредством добавления вектора блока пространственного соседнего блока, возможного варианта HMVP и нулевого вектора в список возможных вариантов векторов блока в порядке вектор блока пространственного соседнего блока, возможный вариант HMVP и нулевой вектор, wherein, when configuring the block vector candidate list, the block vector candidate list is configured only based on the spatial neighboring block to which the first prediction mode is applied, the history-based motion vector prediction (HMVP) candidate to which the first prediction mode is applied, and the null vector by adding the spatial neighbor block vector, the HMVP candidate, and the null vector to the list of block vector candidates in the order of the spatial neighbor block vector, the HMVP candidate, and the null vector, при этом нулевой вектор добавляется в список возможных вариантов векторов блока до тех пор, пока число текущих возможных вариантов из списка возможных вариантов векторов блока не станет максимальным числом возможных вариантов.wherein the null vector is added to the list of possible block vectors until the number of current possibilities from the list of possible block vectors becomes the maximum number of possible options.
RU2021122357A 2019-01-05 2020-01-03 Method and equipment for processing of video data RU2789452C2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US62/788,777 2019-01-05

Related Child Applications (1)

Application Number Title Priority Date Filing Date
RU2023102071A Division RU2023102071A (en) 2019-01-05 2020-01-03 METHOD AND EQUIPMENT FOR VIDEO DATA PROCESSING

Publications (2)

Publication Number Publication Date
RU2021122357A RU2021122357A (en) 2023-01-31
RU2789452C2 true RU2789452C2 (en) 2023-02-03

Family

ID=

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
BENJAMIN BROSS et al, Versatile Video Coding (Draft 3), Joint Video Experts Team (JVET) of ITU-T SG16 WP3 and ISO/IEC JTC 1/SC 29/WG 11, JVET-L1001-v7, 12th Meeting: Macao, 3-12 Oct. 2018. LI ZHANG et al, CE4-related: History-based Motion Vector Prediction, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, JVET-K0104-v4, 11th Meeting: Ljubljana, 10-18 July 2018. US 2017054996 A1 - 2017.02.23. US 2017289566 A1- 2017.10.05. WEIWEI XU et al, CE4-related: Constraint of Pruning in History-based Motion Vector Prediction, Joint Video Experts Team (JVET) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, JVET-L0448-v2, 12th Meeting: Macao, 3-12 Oct. 2018. US 2017332099 A1 - 2017.11.16. RU 2574280 С2 - 2016.02.10. RU 2612386 С2 - 2017.03.09. *

Similar Documents

Publication Publication Date Title
JP7141463B2 (en) Video processing method based on inter-prediction mode and apparatus therefor
JP7436543B2 (en) Image decoding method and apparatus based on affine motion prediction using affine MVP candidate list in image coding system
KR102502175B1 (en) Image processing method based on inter prediction mode and apparatus therefor
JP7184911B2 (en) Method and apparatus for processing video signals using inter-prediction
EP3896971A1 (en) Method and apparatus for processing video data
JP7404481B2 (en) Image decoding method and device based on sub-block motion prediction in image coding system
US11876957B2 (en) Method and apparatus for processing video data
KR102500091B1 (en) Image processing method based on inter prediction mode and apparatus therefor
KR20230025036A (en) Method and device for processing video signal for intra prediction
KR102496711B1 (en) Image processing method based on inter prediction mode and apparatus therefor
KR102568712B1 (en) Method and apparatus for processing video signals using affine motion prediction
RU2789452C2 (en) Method and equipment for processing of video data
RU2793834C2 (en) Method and device for video signal processing by using external prediction
RU2820148C2 (en) Image encoding and decoding equipment and image data transmission equipment
AU2022252845B2 (en) Method and device for processing video signal by using inter prediction
RU2803197C1 (en) Method and device for encoding/decoding images based on sub-frames and method for transmitting a bit stream
JP2024073645A (en) Method and apparatus for processing a video signal using inter-picture prediction - Patents.com