RU2793834C2 - Method and device for video signal processing by using external prediction - Google Patents

Method and device for video signal processing by using external prediction Download PDF

Info

Publication number
RU2793834C2
RU2793834C2 RU2022107813A RU2022107813A RU2793834C2 RU 2793834 C2 RU2793834 C2 RU 2793834C2 RU 2022107813 A RU2022107813 A RU 2022107813A RU 2022107813 A RU2022107813 A RU 2022107813A RU 2793834 C2 RU2793834 C2 RU 2793834C2
Authority
RU
Russia
Prior art keywords
frame
entry
list
strp
entries
Prior art date
Application number
RU2022107813A
Other languages
Russian (ru)
Other versions
RU2022107813A (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 RU2022107813A publication Critical patent/RU2022107813A/en
Application granted granted Critical
Publication of RU2793834C2 publication Critical patent/RU2793834C2/en

Links

Images

Abstract

FIELD: methods and devices for processing video signals using external prediction.
SUBSTANCE: invention relates to methods and devices for constructing a list of reference frames for predicting the current frame. The effect is achieved as the method for processing a video signal according to the invention includes a step for generating a reference frame list for a current frame in a video signal, and a step for predicting the current frame by using the reference frame list, wherein the step for generating the reference frame list includes: a step for obtaining a frame sequence number difference (POC) between a frame associated with the first entry and another frame when the first entry of the reference frame list corresponds to a short-term reference frame (STRP) entry; and a step for obtaining a module POC value for a frame associated with the second reference frame list entry when the second entry corresponds to a Long Term Reference Frame (LTRP) entry. A reference frame list for frame identification can be simply and efficiently generated to improve compression performance and reduce computation time.
EFFECT: effect of the invention is increased efficiency of video content processing.
15 cl, 18 dwg, 5 tbl

Description

Перекрестная ссылка на родственные заявкиCross-reference to related applications

Эта заявка представляет собой подачу заявки на национальной фазе в соответствии 35 U.S.C. 371 международной заявки № PCT/KR2020/000032, поданной 2 января 2020 года, которая испрашивает приоритет заявки на патент США № 62/787,384, поданной 2 января 2019 года, содержимое которых настоящим полностью содержится по ссылке в данном документе.This application constitutes a national phase filing under 35 U.S.C. 371 of International Application No. PCT/KR2020/000032, filed January 2, 2020, which claims priority of U.S. Patent Application No. 62/787,384, filed January 2, 2019, the contents of which are hereby incorporated by reference herein in their entirety.

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

[1] Варианты осуществления раскрытия сущности относятся к способам и устройствам для обработки видеосигналов с использованием внешнего прогнозирования (внешнего предсказания, inter prediction), а более конкретно, к способам и устройствам для конструирования списка опорных кадров для прогнозирования текущего кадра. [1] Embodiments of the disclosure relate to methods and devices for processing video signals using inter prediction (inter prediction), and more specifically, to methods and devices for constructing a list of reference frames for predicting the current frame.

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

[2] Кодирование со сжатием означает технологию для последовательности обработок сигналов для передачи оцифрованной информации через линию связи либо ее сохранения в подходящем формате на носителе хранения данных. Видео, изображения, голос или другое мультимедиа могут представлять собой цели для кодирования со сжатием. В частности, технология кодирования со сжатием, нацеленная на видео, известна как сжатие видео.[2] Compression coding means a technique for a series of signal processing to transmit digitized information over a communication line or store it in a suitable format on a storage medium. Video, images, voice, or other media may be targets for compression encoding. In particular, a compression coding technique targeting video is known as video compression.

[3] Видеоконтент следующего поколения должен демонстрировать высокое пространственное разрешение, высокую частоту кадров и большое число размерностей представления сцены. Для обработки такого контента, в результате должен получаться существенный рост с точки зрения объема запоминающего устройства, частоты обращений к запоминающему устройству и мощности обработки.[3] Next-generation video content must exhibit high spatial resolution, high frame rates, and a large number of scene representation dimensions. To process such content, a substantial increase in terms of storage space, storage access rate, and processing power must result.

[4] Таким образом, существует потребность в проектировании инструментального средства кодирования для эффективной обработки видеоконтента следующего поколения. В частности, стандарты видеокодеков после стандарта высокоэффективного кодирования видео (HEVC) требуют технологии прогнозирования, допускающей точное формирование прогнозных выборок при более эффективном использовании ресурсов.[4] Thus, there is a need 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 a prediction technology capable of accurately generating prediction samples while using resources more efficiently.

Подробное описание изобретенияDetailed description of the invention

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

[5] Варианты осуществления раскрытия сущности предоставляют способ и устройство для конструирования списка опорных кадров, необходимого для прогнозирования текущего кадра.[5] Embodiments of the disclosure provide a method and apparatus for constructing a list of reference frames needed to predict the current frame.

[6] Варианты осуществления раскрытия сущности предоставляют способ и устройство для получения информации, необходимой для конструирования списка опорных кадров.[6] Embodiments of the disclosure provide a method and apparatus for obtaining the information necessary to construct a list of reference frames.

[7] Варианты осуществления раскрытия сущности предоставляют способ и устройство для задания числа записей, необходимых для конструирования списка опорных кадров.[7] Embodiments of the disclosure provide a method and apparatus for specifying the number of entries needed to construct a list of key frames.

[8] Варианты осуществления раскрытия сущности предоставляют способ и устройство для уменьшения количества синтаксических элементов, необходимых для конструирования списка опорных кадров.[8] Embodiments of the disclosure provide a method and apparatus for reducing the number of syntax elements required to construct a list of reference frames.

[9] Варианты осуществления раскрытия сущности предоставляют способ и устройство для подсчета числа пометок опорных кадров в ходе конструирования списка опорных кадров.[9] Embodiments of the disclosure provide a method and apparatus for counting the number of flags of key frames in the course of constructing a list of key frames.

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

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

[11] Варианты осуществления раскрытия сущности предоставляют способы и устройства для декодирования видеосигналов с использованием внешнего прогнозирования. Согласно варианту осуществления раскрытия сущности, способ для обработки видеосигнала содержит конструирование списка опорных кадров для текущего кадра в видеосигнале и выполнение прогнозирования для текущего кадра посредством использования списка опорных кадров, при этом конструирование списка опорных кадров содержит, если первая запись списка опорных кадров соответствует кратковременному опорному кадру (STRP, short-term reference picture), получение разности порядковых номеров кадров (POC, picture order count) между кадром, связанным с первой записью, и другим кадром, и если вторая запись списка опорных кадров соответствует долговременному опорному кадру (LTRP, long-term reference picture), получение значения по модулю POC для кадра, связанного со второй записью.[11] Embodiments of the disclosure provide methods and apparatus for decoding video signals using inter prediction. According to an embodiment of the disclosure, a method for processing a video signal comprises constructing a key frame list for the current frame in the video signal and performing prediction for the current frame by using the key frame list, wherein constructing the key frame list comprises if the first entry of the key frame list corresponds to a short-term key frame (STRP, short-term reference picture), getting the difference in frame sequence numbers (POC, picture order count) between the frame associated with the first entry and another frame, and if the second reference frame list entry corresponds to a long-term reference frame (LTRP, long- term reference picture), getting the modulo POC value for the frame associated with the second entry.

[12] Согласно варианту осуществления, конструирование списка опорных кадров может содержать получение числа записей списка опорных кадров и выполнение пометки опорных кадров для каждой из записей списка опорных кадров в качестве LTRP или STRP посредством числа записей.[12] According to an embodiment, constructing the key frame list may comprise obtaining the number of key frame list entries and marking each of the key frame list entries as LTRP or STRP by the number of entries.

[13] Согласно варианту осуществления, число записей может иметь максимальное значение в качестве максимального требуемого размера буфера декодированных кадров плюс 14.[13] According to an embodiment, the number of entries may have a maximum value as the maximum required decoded frame buffer size plus 14.

[14] Согласно варианту осуществления, выполнение пометки опорных кадров может содержать получение числа STRP-записей и LTRP-записей и выполнение STRP-пометки посредством числа STRP-записей и выполнение LTRP-пометки посредством числа LTRP-записей.[14] According to an embodiment, performing marking of key frames may comprise obtaining the number of STRP entries and LTRP entries, and performing STRP marking by the number of STRP entries and performing LTRP marking by the number of LTRP entries.

[15] Согласно варианту осуществления, конструирование списка опорных кадров может содержать получение первого флага и определение того, соответствует запись списка опорных кадров STRP-записи или LTRP-записи, на основе первого флага.[15] According to an embodiment, constructing the key frame list may comprise obtaining a first flag and determining whether the key frame list entry corresponds to an STRP entry or an LTRP entry based on the first flag.

[16] Согласно варианту осуществления, POC-разность может составлять абсолютное значение POC другого кадра минус POC для кадра, связанного с первой записью.[16] According to an embodiment, the POC difference may be the absolute value of the POC of another frame minus the POC for the frame associated with the first entry.

[17] Согласно варианту осуществления, конструирование списка опорных кадров может содержать, если абсолютное значение больше 0, получение второго флага, указывающего знак POC-разности.[17] According to an embodiment, constructing the reference frame list may comprise, if the absolute value is greater than 0, obtaining a second flag indicating the sign of the POC difference.

[18] Согласно варианту осуществления раскрытия сущности, способ кодирования видеосигнала содержит конструирование списка опорных кадров для текущего кадра в видеосигнале, выполнение прогнозирования для текущего кадра посредством использования списка опорных кадров и кодирование информации для конструирования списка опорных кадров. Информация для конструирования списка опорных кадров может включать в себя разность порядковых номеров кадров (POC) между кадром, связанным с записью с кратковременным опорным кадром (STRP), и другим кадром в списке опорных кадров, и значение по модулю POC для кадра, в котором вторая запись связана с записью с долговременным опорным кадром (LTRP) в списке опорных кадров.[18] According to an embodiment of the disclosure, a video encoding method comprises constructing a key frame list for a current frame in a video signal, performing prediction on the current frame by using the key frame list, and encoding information to construct the key frame list. Information for constructing the key frame list may include a frame sequence number (POC) difference between a frame associated with a short-term key frame (STRP) recording and another frame in the key frame list, and a modulo POC value for the frame in which the second the entry is linked to a long-term key frame (LTRP) entry in the key frame list.

[19] Согласно варианту осуществления, информация кодирования для конструирования списка опорных кадров дополнительно может содержать число записей списка опорных кадров. Число записей может иметь максимальное значение в качестве максимального требуемого размера буфера декодированных кадров плюс 14.[19] According to an embodiment, the encoding information for constructing the reference frame list may further comprise the number of reference frame list entries. The number of entries may have a maximum value as the maximum required decoded frame buffer size plus 14.

[20] Согласно варианту осуществления, информация кодирования для конструирования списка опорных кадров дополнительно может содержать первый флаг, указывающий то, соответствует или нет запись списка опорных кадров STRP-записи.[20] According to an embodiment, the encoding information for constructing the reference frame list may further comprise a first flag indicating whether or not the reference frame list entry matches the STRP entry.

[21] Согласно варианту осуществления, информация кодирования для конструирования списка опорных кадров дополнительно может содержать второй флаг, указывающий знак POC-разности для записи, POC-разность которой больше 0.[21] According to an embodiment, the encoding information for constructing the reference frame list may further comprise a second flag indicating the sign of the POC difference for the entry whose POC difference is greater than 0.

[22] Согласно варианту осуществления, информация кодирования для конструирования списка опорных кадров может включаться в набор параметров последовательности (SPS), набор параметров кадра (PPS) или заголовок среза в потоке битов, связанном с видеосигналом.[22] According to an embodiment, encoding information for constructing a reference frame list may be included in a sequence parameter set (SPS), a frame parameter set (PPS), or a slice header in a bitstream associated with a video signal.

[23] Согласно другому варианту осуществления раскрытия сущности, устройство для декодирования видеосигнала включает в себя запоминающее устройство для сохранения видеосигнала и процессор, соединенный с запоминающим устройством. Процессор выполнен с возможностью конструировать список опорных кадров для текущего кадра в видеосигнале и выполнять прогнозирование относительно текущего кадра с использованием списка опорных кадров. Для конструирования списка опорных кадров, процессор выполнен с возможностью, если первая запись списка опорных кадров соответствует кратковременному опорному кадру (STRP), получать разность порядковых номеров кадров (POC) между кадром, связанным с первой записью, и другим кадром, и если вторая запись списка опорных кадров соответствует долговременному опорному кадру (LTRP), получать значение по модулю POC для кадра, связанного со второй записью.[23] According to another embodiment of the disclosure, a device for decoding a video signal includes a memory device for storing the video signal and a processor connected to the memory device. The processor is configured to construct a reference frame list for the current frame in the video signal and perform prediction about the current frame using the reference frame list. To construct the key frame list, the processor is configured to, if the first entry of the key frame list corresponds to a short-term reference frame (STRP), obtain a frame sequence difference (POC) between the frame associated with the first entry and another frame, and if the second entry of the list of reference frames corresponds to a long-term reference frame (LTRP), get the value modulo the POC for the frame associated with the second entry.

[24] Согласно другому варианту осуществления раскрытия сущности, устройство для кодирования видеосигнала включает в себя запоминающее устройство для сохранения видеосигнала и процессор, соединенный с запоминающим устройством. Процессор выполнен с возможностью конструировать список опорных кадров для текущего кадра в видеосигнале и кодировать информацию для конструирования списка опорных кадров. Информация кодирования для конструирования списка опорных кадров может содержать разность порядковых номеров кадров (POC) между кадром, связанным с первой записью, и другим кадром в списке опорных кадров и по модулю POC для кадра, связанного со второй записью в списке опорных кадров.[24] According to another embodiment of the disclosure, a video encoding apparatus includes a video storage device and a processor coupled to the storage device. The processor is configured to construct a key frame list for the current frame in the video signal and encode information for constructing the key frame list. The encoding information for constructing the key frame list may comprise a frame sequence number difference (POC) between a frame associated with the first entry and another frame in the key frame list and modulo the POC for the frame associated with the second entry in the key frame list.

[25] Согласно другому варианту осуществления раскрытия сущности, предусмотрен некратковременный компьютерно-читаемый носитель, сохраняющий одну или более инструкций. Одна или более инструкций, выполняемых посредством одного или более процессоров, управляют устройством обработки видеосигналов таким образом, чтобы конструировать список опорных кадров для текущего кадра в видеосигнале и выполнять прогнозирование относительно текущего кадра с использованием списка опорных кадров. Одна или более инструкций управляют устройством обработки видеосигналов, для конструирования списка опорных кадров, если первая запись списка опорных кадров соответствует кратковременному опорному кадру (STRP), таким образом, чтобы получать разность порядковых номеров кадров (POC) между кадром, связанным с первой записью, и другим кадром, и если вторая запись списка опорных кадров соответствует долговременному опорному кадру (LTRP), получать значение по модулю POC для кадра, связанного со второй записью.[25] According to another embodiment of the disclosure, a non-transitory computer-readable medium is provided that stores one or more instructions. One or more instructions executed by one or more processors control the video signal processor to construct a reference frame list for the current frame in the video signal and make predictions about the current frame using the reference frame list. One or more instructions direct the video processor to construct a key frame list if the first entry of the key frame list corresponds to a short-term key frame (STRP), so as to obtain a frame sequence difference (POC) between a frame associated with the first entry, and another frame, and if the second entry of the key frame list corresponds to a long-term reference frame (LTRP), obtain the modulo POC value for the frame associated with the second entry.

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

[26] Согласно варианту осуществления раскрытия сущности, список опорных кадров, необходимый для прогнозирования текущего кадра, может конструироваться посредством пометки опорного кадра.[26] According to an embodiment of the disclosure, a list of reference frames needed to predict the current frame may be constructed by tagging the reference frame.

[27] Согласно варианту осуществления раскрытия сущности, надлежащая информация может получаться согласно типу опорного кадра.[27] According to an embodiment of the disclosure, proper information can be obtained according to the type of the reference frame.

[28] Согласно варианту осуществления раскрытия сущности, число записей, необходимых для конструирования списка опорных кадров, может задаваться, обеспечивая эффективное управление запоминающим устройством, необходимым для сохранения кадров.[28] According to an embodiment of the disclosure, the number of entries needed to construct the reference frame list can be set, providing efficient control of the storage device needed to store the frames.

[29] Согласно варианту осуществления раскрытия сущности, объем данных, необходимый для конструирования списка опорных кадров, может опускаться для того, чтобы синтаксически анализировать некоторые синтаксические элементы.[29] According to an embodiment of the disclosure, the amount of data required to construct a list of reference frames may be omitted in order to parse some syntax elements.

[30] Согласно варианту осуществления раскрытия сущности, синтаксис для конструирования списка опорных кадров может эффективно реализовываться посредством подсчета счетчика пометок опорных кадров.[30] According to an embodiment of the disclosure, a syntax for constructing a list of key frames can be efficiently implemented by counting a key frame mark counter.

[31] Преимущества раскрытия сущности не ограничены вышеприведенным, и другие неупомянутые преимущества должны становиться очевидными для специалистов в данной области техники из нижеприведенного описания.[31] 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

[32] Более полная оценка раскрытия сущности и множество ее сопутствующих аспектов должны легко получаться, поскольку они лучше понимаются в отношении нижеприведенного подробного описания при рассмотрении в связи с прилагаемыми чертежами, на которых:[32] A more complete appreciation of the disclosure and its many related aspects should be readily obtained as they are better understood in relation to the detailed description below when considered in connection with the accompanying drawings, in which:

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

[34] Фиг. 2 является блок-схемой, схематично иллюстрирующей оборудование кодирования для кодирования видеосигналов/сигналов изображений согласно варианту осуществления раскрытия сущности;[34] FIG. 2 is a block diagram schematically illustrating encoding equipment for encoding video/image signals according to an embodiment of the disclosure;

[35] Фиг. 3 является блок-схемой, схематично иллюстрирующей оборудование декодирования для декодирования видеосигналов согласно варианту осуществления раскрытия сущности;[35] FIG. 3 is a block diagram schematically illustrating decoding equipment for decoding video signals according to an embodiment of the disclosure;

[36] Фиг. 4 является видом, иллюстрирующим структуру системы потоковой передачи контента согласно варианту осуществления раскрытия сущности;[36] FIG. 4 is a view illustrating the structure of a content streaming system according to an embodiment of the disclosure;

[37] Фиг. 5 является блок-схемой, иллюстрирующей примерное устройство для обработки видеосигналов согласно варианту осуществления раскрытия сущности;[37] FIG. 5 is a block diagram illustrating an exemplary video signal processing apparatus according to an embodiment of the disclosure;

[38] Фиг. 6A, 6B, 6C и 6D являются видами, иллюстрирующими примерные структуры разбиения на блоки посредством дерева квадрантов (QT), двоичного дерева (BT), троичного дерева (TT) и асимметричного дерева (AT), соответственно, согласно варианту осуществления раскрытия сущности;[38] FIG. 6A, 6B, 6C, and 6D are views illustrating exemplary blocking structures by quadtree (QT), binary tree (BT), ternary tree (TT), and asymmetric tree (AT), respectively, according to an embodiment of the disclosure;

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

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

[41] Фиг. 11 является блок-схемой последовательности операций способа, иллюстрирующей пример конструирования списка опорных кадров согласно варианту осуществления раскрытия сущности;[41] FIG. 11 is a flowchart illustrating an example of constructing a reference frame list according to an embodiment of the disclosure;

[42] Фиг. 12 и 13 являются блок-схемами последовательности операций способа, иллюстрирующими пример пометки опорных кадров согласно варианту осуществления раскрытия сущности;[42] FIG. 12 and 13 are flowcharts illustrating an example of flagging key frames according to an embodiment of the disclosure;

[43] Фиг. 14 является блок-схемой последовательности операций способа, иллюстрирующей другой пример пометки опорных кадров согласно варианту осуществления раскрытия сущности; и[43] FIG. 14 is a flowchart illustrating another example of marking key frames according to an embodiment of the disclosure; And

[44] Фиг. 15 является блок-схемой последовательности операций способа, иллюстрирующей пример видеосигналов обработки согласно варианту осуществления раскрытия сущности.[44] FIG. 15 is a flowchart illustrating an example of processing video signals according to an embodiment of the disclosure.

Режим для осуществления на практике раскрытия сущностиMode for Practicing Entity Disclosure

[45] В дальнейшем в этом документе, подробно описываются предпочтительные варианты осуществления раскрытия сущности со ссылкой на прилагаемые чертежи. Нижеприведенное подробное описание, рассматриваемое в сочетании с прилагаемыми чертежами, предназначено для описания примерных вариантов осуществления раскрытия сущности, а не для представления единственного варианта осуществления раскрытия сущности. Нижеприведенное подробное описание включает в себя конкретные подробности, чтобы передавать полное понимание раскрытия сущности. Тем не менее, специалисты в данной области техники должны принимать во внимание, что варианты осуществления раскрытия сущности могут осуществляться на практике даже без таких подробностей.[45] Hereinafter, preferred embodiments of the disclosure are described in detail with reference to the accompanying drawings. The following detailed description, taken in conjunction with the accompanying drawings, is intended to describe exemplary embodiments of the disclosure and not to represent a single embodiment of the disclosure. The following detailed description includes specific details to convey a thorough understanding of the disclosure. However, those skilled in the art should appreciate that embodiments of the disclosure may be practiced even without such details.

[46] В некоторых случаях, чтобы исключать неоднозначность в понятии, известные структуры или устройства могут опускаться или показываться на блок-схемах с фокусированием на базовых признаках каждой структуры и устройства.[46] In some cases, to avoid ambiguity in the concept, well-known structures or devices may be omitted or shown in block diagrams with a focus on the basic features of each structure and device.

[47] Хотя варианты осуществления раскрытия сущности описываются главным образом с помощью стандартных терминов, которые являются общеупотребительными в настоящее время, некоторые конкретные термины могут выбираться авторами изобретения. В таком случае, могут приводиться определения авторов изобретения для терминов. Таким образом, термины, используемые в данном документе, должны интерпретироваться в свете определений, задаваемых авторами изобретения, а не простых словарных определений.[47] While embodiments of the disclosure are described primarily in terms of standard terms that are currently in common use, some specific terms may be chosen by the inventors. In such a case, the authors' definitions for the terms may be given. Thus, the terms used in this document should be interpreted in the light of the definitions given by the inventors, and not simple dictionary definitions.

[48] Терминология, используемая в данном документе, предоставляется для лучшего понимания раскрытия сущности, и изменения могут вноситься в нее без отступления от технической сущности раскрытия сущности. Например, термины "сигнал", "данные", "выборка", "изображение", "срез", "плитка", "кадр" и "блок" могут надлежащим образом заменяться и интерпретироваться в каждом процессе кодирования.[48] The terminology used herein is provided for a better understanding of the entity disclosure, and changes may be made to it without departing from the technical nature of the entity disclosure. For example, the terms "signal", "data", "sample", "picture", "slice", "tile", "frame", and "block" may be appropriately replaced and interpreted in each encoding process.

[49] При использовании в данном документе, термин "единица обработки" означает единицу обработки, такой как кодирование/декодирование, например, прогнозирование, преобразование и/или квантование. "Единица обработки" может интерпретироваться как охватывающая единицу для компонента сигнала яркости и единицу для компонента сигнала цветности. Например, единица обработки может соответствовать блоку, единице кодирования (CU), единице прогнозирования (PU) или единице преобразования (TU).[49] As used herein, the term "processing unit" means a processing unit such as encoding/decoding, such as prediction, transformation, and/or quantization. A "processing unit" may be interpreted to encompass a unit for the luma component and a unit for the chroma component. For example, a processing unit may correspond to a block, a coding unit (CU), a prediction unit (PU), or a transformation unit (TU).

[50] Единица обработки также может интерпретироваться в качестве единицы для компонента сигнала яркости или единицы для компонента сигнала цветности. Например, единица обработки может соответствовать блоку дерева кодирования, блоку кодирования (CB), PU или блоку преобразования (TB) для компонента сигнала яркости. Альтернативно, единица обработки может соответствовать CTB, CB, PU или TB для компонента сигнала цветности. Тем не менее, без ограничений означенным, единица обработки также может интерпретироваться как включающая в себя единицу для компонента сигнала яркости и единицу для компонента сигнала цветности.[50] The processing unit can also be interpreted as a unit for the luma component or a unit for the chroma component. For example, a processing unit may correspond to a coding tree block, a coding block (CB), a PU, or a transform block (TB) for the luma component. Alternatively, the processing unit may correspond to CTB, CB, PU, or TB for the chrominance signal component. However, without limitation, a processing unit may also be interpreted to include a unit for the luminance signal component and a unit for the chrominance signal component.

[51] Дополнительно, единица обработки не обязательно ограничивается квадратными блоками, а вместо этого может представлять собой многоугольник с тремя или более вершинами.[51] Additionally, the processing unit is not necessarily limited to square blocks, but may instead be a polygon with three or more vertices.

[52] При использовании в данном документе, "пиксел" и "коэффициент" (например, коэффициент преобразования или коэффициент преобразования, который подвергнут первому преобразованию) могут совместно называться "выборкой". Когда выборка используется, это может означать то, что, например, используются пиксельное значение или коэффициент (например, коэффициент преобразования или коэффициент преобразования, который подвергнут первому преобразованию).[52] As used herein, a "pixel" and a "factor" (eg, a transform factor or a transform factor that is first transformed) may be collectively referred to as a "sample". When sampling is used, this may mean that, for example, a pixel value or a factor (eg, a transform factor or a transform factor that is first transformed) is used.

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

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

[55] Исходное устройство 10 может включать в себя видеоисточник 11, оборудование 12 кодирования и передатчик 13. Приемное устройство 20 может включать в себя приемник 21, оборудование 22 декодирования и модуль 23 рендеринга. Оборудование 12 кодирования может называться "оборудованием кодирования видео/изображений", и оборудование 22 декодирования может называться "оборудованием декодирования видео/изображений". Передатчик 13 может включаться в оборудование 12 кодирования. Приемник 21 может включаться в оборудование 22 декодирования. Модуль 23 рендеринга может включать в себя модуль отображения, и модуль отображения может быть сконфигурирован как отдельное устройство или внешний компонент.[55] 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 encoding equipment 12 may be referred to as "video/image coding equipment", and the decoding equipment 22 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 rendering module 23 may include a display module, and the display module may be configured as a separate device or an external component.

[56] Видеоисточник может получать видео/изображение посредством захвата, синтезирования или формирования видео/изображения. Видеоисточник может включать в себя устройство захвата видео/изображений и/или устройство формирования видео/изображений. Устройство захвата видео/изображений может включать в себя, например, одну или более камер и архив видео/изображений, включающий в себя ранее захваченные видео/изображения. Устройство формирования видео/изображений может включать в себя, например, компьютер, планшетный PC или смартфон и может (электронно) формировать видео/изображения. Например, виртуальное видео/изображение может формироваться, например, через компьютер, причем в этом случае процесс для формирования его связанных данных может заменять процесс захвата видео/изображений.[56] A video source may acquire video/image by capturing, synthesizing, or generating video/image. The video source may include a video/image capture device and/or a video/image generation device. The video/image capture device may include, for example, one or more cameras and a video/image archive including previously captured videos/images. The video/image generating apparatus may include, for example, a computer, tablet PC, or smartphone, and may (electronically) generate video/images. For example, the virtual video/image may be generated, for example, via a computer, in which case the process for generating its associated data may replace the video/image capture process.

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

[58] Передатчик 13 может передавать кодированную информацию или данные видео/изображений, которая выведена в форме потока битов, в форме файла или потоковой передачи в приемник приемного устройства через цифровой носитель хранения данных или сеть. Цифровой носитель хранения данных может включать в себя различные носители хранения данных, такие как носители по стандарту универсальной последовательной шины (USB), по стандарту Secure Digital (SD), компакт-диск (CD), цифровой видеодиск (DVD), Blu-Ray, жесткий диск или твердотельный накопитель (SSD). Передатчик 13 может включать в себя элемент для формирования мультимедийных файлов в предварительно определенном формате файлов и элемент для передачи по широковещательной сети/сети связи. Приемник 21 может извлекать поток битов и передавать поток битов в оборудование 22 декодирования. [58] The transmitter 13 may transmit the encoded information or video/image data that is output in the form of a bit stream, in the form of a file, or streaming to the receiver of the receiving device via a digital storage medium or a network. The digital storage media may include various storage media such as Universal Serial Bus (USB), Secure Digital (SD), Compact Disc (CD), Digital Video Disc (DVD), Blu-Ray, hard drive or solid state drive (SSD). The transmitter 13 may include an element for generating media files in a predetermined file format and an element for transmitting over a broadcast/communications network. The receiver 21 may extract the bit stream and transmit the bit stream to the decoding equipment 22 .

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

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

[61] Фиг. 2 является блок-схемой, схематично иллюстрирующей оборудование кодирования для кодирования видеосигналов/сигналов изображений согласно варианту осуществления раскрытия сущности.[61] FIG. 2 is a block diagram schematically illustrating encoding equipment for encoding video/image signals according to an embodiment of the disclosure.

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

[63] Модуль 110 сегментации изображений может разбивать изображение (либо кадр или кинокадр), вводимое в оборудование 100 кодирования, на одну или более единиц обработки. В качестве примера, единица обработки может называться "единицей кодирования (CU)". В этом случае, единица кодирования может рекурсивно разбиваться на единицу дерева кодирования (CTU) или наибольшую единицу кодирования (LCU) согласно структуре в виде дерева квадрантов и двоичного дерева (QTBT). Например, одна единица кодирования может разбиваться на множество единиц кодирования большей глубины на основе структуры в виде дерева квадрантов и/или структуры в виде двоичного дерева. В этом случае, например, сначала может применяться структура в виде дерева квадрантов, а затем структура в виде двоичного дерева. Альтернативно, сначала может применяться структура в виде двоичного дерева. Процедура кодирования согласно варианту осуществления раскрытия сущности может выполняться на основе конечной единицы кодирования, которая более не разбивается. В этом случае, наибольшая единица кодирования может сразу использоваться в качестве конечной единицы кодирования, например, на основе эффективности кодирования согласно свойствам изображения, или, при необходимости, единица кодирования может рекурсивно разбиваться на единицы кодирования нижней глубины, и единица кодирования оптимального размера может использоваться в качестве конечной единицы кодирования. Процедура кодирования может включать в себя, например, прогнозирование, преобразование или восстановление, описанное ниже. В качестве примера, единица обработки дополнительно может включать в себя единицу PU прогнозирования или единицу TU преобразования. В этом случае, единица прогнозирования и единица преобразования могут разбиваться или сегментироваться на/из вышеописанной конечной единицы кодирования. Единица прогнозирования может представлять собой единицу выборочного прогнозирования, и единица преобразования может представлять собой единицу для извлечения коэффициента преобразования и/или единицу для извлечения остаточного сигнала из коэффициента преобразования.[63] The image segmentation module 110 may split an image (either a frame or a movie frame) input to the encoding equipment 100 into one or more processing units. As an example, a processing unit may be referred to as a "coding unit (CU)". In this case, the coding unit may be recursively split into a coding tree unit (CTU) or a largest coding unit (LCU) according to 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, the quadtree structure may be applied first, and then the binary tree structure. Alternatively, a binary tree structure may be applied first. An encoding procedure according to an embodiment of entity disclosure may be performed based on a final encoding unit that is no longer split. In this case, the largest coding unit may be immediately used as the final coding unit, for example, based on the coding efficiency according to image properties, or, if necessary, the coding unit may be recursively split into lower depth coding units, and the optimal size coding unit may be used in as the final coding unit. The encoding procedure may include, for example, prediction, transformation, or restoration, as described below. As an example, the processing unit may further include a prediction PU or a transformation TU. In this case, the prediction unit and the transformation unit may be partitioned or segmented to/from the above-described final coding unit. The prediction unit may be a selective prediction unit, and the transform unit may be a unit for extracting a transform coefficient and/or a unit for extracting a residual signal from a transform coefficient.

[64] Термин "единица" может взаимозаменяемо использоваться с "блоком" или "зоной" в некоторых случаях. Обычно, блок MxN может обозначать набор выборок или коэффициентов преобразования, состоящий из M столбцов и N строк. Обычно, выборка может обозначать пиксельное или пиксельное значение либо может обозначать пиксел/пиксельное значение только компонента сигнала яркости или пиксел/пиксельное значение только компонента сигнала цветности. Выборка может использоваться в качестве термина, соответствующего пикселу или элементу отображения одного кадра (или изображения).[64] The term "unit" can be used interchangeably with "block" or "zone" in some cases. Typically, an MxN block may denote a set of samples or transform coefficients, consisting of M columns and N rows. Typically, a sample may denote a pixel or pixel value, or may denote a pixel/pixel value of only the luma component, or a pixel/pixel value of only the chroma component. Sample can be used as a term corresponding to a pixel or display element of a single frame (or image).

[65] Оборудование 100 кодирования может формировать остаточный сигнал (остаточный блок или массив остаточных выборок) посредством вычитания прогнозного сигнала (прогнозированного блока или массива прогнозных выборок), выводимого из модуля 180 внешнего прогнозирования или модуля 185 внутреннего прогнозирования, из сигнала входного изображения (необработанного блока или массива необработанных выборок), и сформированный остаточный сигнал передается в модуль 120 преобразования. В этом случае, как показано, модуль для вычитания прогнозного сигнала (блока прогнозирования или массива прогнозных выборок) из сигнала входного изображения (необработанного блока или массива необработанных выборок) в оборудовании 100 кодирования может называться "вычитателем 115". Модуль прогнозирования может выполнять прогнозирование относительно целевого блока для обработки (далее текущего блока) и формировать прогнозированный блок, включающий в себя прогнозные выборки для текущего блока. Модуль прогнозирования может определять то, применяется внутреннее прогнозирование или внешнее прогнозирование, в каждом блоке или единице CU. Модуль прогнозирования может формировать различные фрагменты информации для прогнозирования, к примеру, информацию режима прогнозирования, как описано ниже в связи с каждым режимом прогнозирования, и передавать сформированную информацию в модуль 190 энтропийного кодирования. Связанная с прогнозированием информация может кодироваться посредством модуля 190 энтропийного кодирования и выводиться в форме потока битов.[65] 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 from the inter prediction unit 180 or the intra prediction unit 185 from the input image signal (raw block). or an array of raw samples), and the generated residual signal is transmitted to the transform module 120. In this case, as shown, a module for subtracting a prediction signal (prediction block or array of prediction samples) from an input image signal (raw block or array of raw samples) in the encoding equipment 100 may be referred to as "subtractor 115". The prediction module may perform prediction on a processing target block (hereinafter, the current block), and generate a prediction block including prediction samples for the current block. The prediction module may determine whether intra prediction or inter prediction is applied in each block or CU. The prediction module may generate various pieces of prediction information, such as prediction mode information, as described below in connection with each prediction mode, and pass the generated information to the entropy encoding module 190 . The prediction-related information may be encoded by entropy encoding unit 190 and output in the form of a bitstream.

[66] Модуль 185 внутреннего прогнозирования может прогнозировать текущий блок посредством ссылки на выборки в текущем кадре. Выборки, на которые ссылаются, могут быть соседними или позиционироваться на большом расстоянии от текущего блока в зависимости от режима прогнозирования. При внутреннем прогнозировании, режимы прогнозирования могут включать в себя множество ненаправленных режимов и множество направленных режимов. Ненаправленные режимы могут включать в себя, например, DC-режим и планарный режим. Направленные режимы могут включать в себя, например, 33 режима направленного прогнозирования или 65 режимов направленного прогнозирования в зависимости от того, насколько тщательно продуманным является направление прогнозирования. Тем не менее, это представляет собой просто пример, и большее или меньшее число режимов направленного прогнозирования может использоваться. Модуль 185 внутреннего прогнозирования может определять режим прогнозирования, применяемый к текущему блоку, с использованием режима прогнозирования, применяемого к соседнему блоку.[66] The intra prediction module 185 may predict the current block by referring to the samples in the current frame. The referenced samples may be adjacent or positioned at a large distance 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. Non-directional modes may include, for example, DC mode and planar mode. The directional modes may include, for example, 33 directional prediction modes or 65 directional prediction modes, depending on how elaborate the prediction direction is. However, this is just an example, and more or less directional prediction modes may be used. The intra prediction unit 185 may determine the prediction mode applied to the current block using the prediction mode applied to the adjacent block.

[67] Модуль 180 внешнего прогнозирования может извлекать прогнозированный блок для текущего блока на основе опорного блока (массива опорных выборок), указываемого посредством вектора движения для опорного кадра. Здесь, чтобы уменьшать объем информации движения, передаваемой в режиме внешнего прогнозирования, информация движения может прогнозироваться в расчете на блок, субблок или выборку на основе корреляции в информации движения между соседним блоком и текущим блоком. Информация движения может включать в себя вектор движения и индекс опорного кадра. Информация движения дополнительно может включать в себя информацию направления внешнего прогнозирования (L0-прогнозирование, L1-прогнозирование или бипрогнозирование). В случае внешнего прогнозирования, соседние блоки могут включать в себя пространственный соседний блок, присутствующий в текущем кадре, и временный соседний блок, присутствующий в опорном кадре. Опорный кадр, включающий в себя опорный блок, может быть идентичным или отличающимся от опорного кадра, включающего в себя временно соседний блок. Временно соседний блок может называться, например, "совместно размещенным опорным блоком" или "совместно размещенной CU (colCU)", и опорный кадр, включающий в себя временно соседний блок, может называться "совместно размещенным кадром (colPic)". Например, модуль 180 внешнего прогнозирования может конфигурировать список возможных вариантов информации движения на основе соседних блоков и формировать информацию, указывающую то, какой возможный вариант используется для того, чтобы извлекать вектор движения и/или индекс опорного кадра текущего блока. Внешнее прогнозирование может выполняться на основе различных режимов прогнозирования. Например, в режиме пропуска или режиме объединения, модуль 180 внешнего прогнозирования может использовать информацию движения для соседнего блока в качестве информации движения для текущего блока. В режиме пропуска, в отличие от режима объединения, остаточный сигнал может не передаваться. В режиме прогнозирования векторов движения (MVP), вектор движения соседнего блока может использоваться в качестве предиктора вектора движения, и разность векторов движения может передаваться в служебных сигналах, за счет этого указывая вектор движения текущего блока.[67] 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. Here, in order to reduce the amount of motion information transmitted in the inter-prediction mode, the motion information may be predicted per block, sub-block, or sample based on a correlation in the motion information between an adjacent block and a current block. The motion information may include a motion vector and a reference frame index. The motion information may further include external prediction direction information (L0 prediction, L1 prediction, or bi prediction). In the case of inter prediction, neighboring blocks may include a spatial neighboring block present in the current frame and a temporal neighboring block present in a reference frame. The reference frame including the reference block may be the same or different from the reference frame including the temporally adjacent block. The temporally adjacent block may be referred to as, for example, a "collocated reference block" or "collocated CU (colCU)", and a reference frame including the temporally adjacent block may be referred to as a "collocated frame (colPic)". For example, inter prediction module 180 may configure a motion information candidate list based on neighboring blocks and generate information indicating which candidate is used to derive the motion vector and/or the reference frame index of the current block. External prediction may be performed based on various prediction modes. For example, in the skip mode or the merge mode, the inter prediction module 180 may use the motion information for the neighboring block as the motion information for the current block. In the skip mode, unlike the combine mode, the residual signal may not be transmitted. In the motion vector prediction (MVP) mode, the motion vector of an adjacent block may be used as a motion vector predictor, and the motion vector difference may be signaled, thereby indicating the motion vector of the current block.

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

[69] Модуль 120 преобразования может применять схему преобразования к остаточному сигналу, с формированием коэффициентов преобразования. Например, схема преобразования может включать в себя, по меньшей мере, одно из дискретного косинусного преобразования (DCT), дискретного синусного преобразования (DST), преобразования Карунена-Лоэва (KLT), преобразования на основе графа (GBT) или условно нелинейного преобразования (CNT). GBT означает преобразование, полученное из графи, в котором представляется информация для взаимосвязи между пикселами. CNT означает преобразование, которое получается на основе формирования сигнала прогнозирования с использованием всех ранее восстановленных пикселов. Дополнительно, процесс преобразования может применяться к квадратным пиксельным блокам с идентичным размером или также может применяться к неквадратным блокам переменного размера.[69] Transform module 120 may apply a transform circuit to the residual signal to generate transform coefficients. 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). ). GBT stands for a graph-derived transformation that represents information for the relationship between pixels. CNT means a transformation that is obtained based on generating a prediction signal using all previously reconstructed pixels. Additionally, the transformation process may be applied to square pixel blocks of identical size, or may also be applied to non-square blocks of variable size.

[70] Модуль 130 квантования может квантовать коэффициенты преобразования и передавать квантованные коэффициенты преобразования в модуль 190 энтропийного кодирования, и модуль 190 энтропийного кодирования может кодировать квантованный сигнал (информацию для квантованных коэффициентов преобразования) и выводить кодированный сигнал в потоке битов. Информация для квантованных коэффициентов преобразования может называться "остаточной информацией". Модуль 130 квантования может пересортировывать блочные квантованные коэффициенты преобразования в форме одномерного вектора, на основе порядка сканирования коэффициентов и формировать информацию для квантованных коэффициентов преобразования на основе одномерной формы квантованных коэффициентов преобразования. Модуль 190 энтропийного кодирования может осуществлять различные способы кодирования, такие как, например, кодирование экспоненциальным кодом Голомба, контекстно-адаптивное кодирование переменной длины (CAVLC) или контекстно-адаптивное двоичное арифметическое кодирование (CABAC). Модуль 190 энтропийного кодирования может кодировать значения фрагментов информации (например, синтаксических элементов), необходимых для того, чтобы восстанавливать видео/изображение, наряду с или отдельно от квантованных коэффициентов преобразования. Кодированная информация (например, информация видео/изображений) может передаваться или сохраняться в форме потока битов на основе единицы слоя абстрагирования от сети (NAL). Поток битов может передаваться через сеть или сохраняться на цифровом носителе хранения данных. Сеть может включать в себя, например, широковещательную сеть и/или сеть связи, и цифровой носитель хранения данных может включать в себя, например, USB, SD, CD, DVD, Blu-Ray, HDD, SSD или другие различные носители хранения данных. Передатчик (не показан) для передачи и/или модуль хранения (не показан) для сохранения сигнала, выводимого из модуля 190 энтропийного кодирования, может быть сконфигурирован как внутренний/внешний элемент оборудования 100 кодирования, или передатчик может представлять собой компонент модуля 190 энтропийного кодирования.[70] The quantization unit 130 may quantize the transform coefficients and supply the quantized transform coefficients to the entropy encoding unit 190, and the entropy encoding unit 190 may encode the quantized signal (information for the quantized transform coefficients) and output the encoded signal in a bitstream. The information for the quantized transform coefficients may be referred to as "residual information". The quantization module 130 may resort the block quantized transform coefficients in the form of a one-dimensional vector based on the scan order of the coefficients, and generate information for the quantized transform coefficients based on the one-dimensional form of the quantized transform coefficients. Entropy encoding module 190 may implement various encoding methods such as exponential Golomb encoding, context adaptive variable length coding (CAVLC), or context adaptive binary arithmetic coding (CABAC), for example. Entropy encoding module 190 may encode the values of pieces of information (eg, syntax elements) needed to reconstruct the video/image, along with or separately from the quantized transform coefficients. Encoded information (eg, video/image information) may be transmitted or stored in the form of a bitstream based on a network abstraction layer (NAL) unit. The bit stream may be transmitted over a network or stored on a digital storage medium. 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. A transmitter (not shown) for transmitting and/or a storage module (not shown) for storing the signal output from entropy encoding module 190 may be configured as an internal/external element of encoding equipment 100, or the transmitter may be a component of entropy encoding module 190.

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

[72] Модуль 160 фильтрации может повышать субъективное/объективное качество изображений за счет применения фильтрации к восстановленному сигналу. Например, модуль 160 фильтрации может формировать модифицированный восстановленный кадр за счет применения различных способов фильтрации к восстановленному кадру и передавать модифицированный восстановленный кадр в буфер 170 декодированных кадров. Различные способы фильтрации могут включать в себя, например, фильтрацию для удаления блочности, дискретизированное адаптивное смещение, адаптивную контурную фильтрацию и билатеральную фильтрацию. Модуль 160 фильтрации может формировать различные фрагменты информации для фильтрации и передавать результирующую информацию в модуль 190 энтропийного кодирования, как описано ниже в связи с каждым способом фильтрации. Связанная с фильтрацией информация может кодироваться посредством модуля 190 энтропийного кодирования и выводиться в форме потока битов.[72] The filter module 160 can improve subjective/objective image quality by applying filtering to the reconstructed signal. For example, the filter module 160 may generate a modified reconstructed frame by applying various filtering methods to the reconstructed frame and pass the modified reconstructed frame to the decoded frame buffer 170 . Various filtering methods may include, for example, deblocking filtering, sampled adaptive offset, adaptive loop filtering, and bilateral filtering. Filtering module 160 may generate various pieces of information for filtering and pass the resulting information to entropy encoding module 190 as described below in connection with each filtering method. The filtering related information may be encoded by entropy encoding unit 190 and output in the form of a bitstream.

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

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

[75] Фиг. 3 является блок-схемой, схематично иллюстрирующей оборудование декодирования для декодирования видеосигналов согласно варианту осуществления раскрытия сущности.[75] FIG. 3 is a block diagram schematically illustrating decoding equipment for decoding video signals according to an embodiment of the disclosure.

[76] Ссылаясь на фиг 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 и сконфигурировано из цифрового носителя хранения данных.[76] Referring to FIG. 3, the decoding equipment 200 may include an entropy decoding unit 210, an inverse quantization unit 220, an inverse transform unit 230, an adder 235, a filtering unit 240, a memory 250, an inter prediction unit 260, and an intra prediction unit 265 . The external prediction module 260 and the intra prediction module 265 may be collectively referred to as a "prediction module". In other words, the prediction module may include an external prediction module 180 and an intra prediction module 185 . The inverse quantization unit 220 and the inverse transform unit 230 may be collectively referred to as a "residual processor". In other words, the residual processor may include an inverse quantizer 220 and an inverse transform 230 . Entropy decoding unit 210, inverse quantization unit 220, inverse transform unit 230, adder 235, filtering unit 240, inter prediction unit 260, and intra prediction unit 265 may be configured in a single hardware component (e.g., decoder or processor) according to an embodiment. The decoded frame buffer 250 may be implemented as a single hardware component (eg, memory or digital storage media) according to an embodiment. The storage device 250 may include a DPB 175 and is configured from a digital storage medium.

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

[78] Оборудование 200 декодирования может принимать сигнал, выводимый из оборудования 100 кодирования по фиг. 2, в форме потока битов, и принимаемый сигнал может декодироваться через модуль 210 энтропийного декодирования. Например, модуль 210 энтропийного декодирования может синтаксически анализировать поток битов и извлекать информацию (например, информацию видео/изображений), необходимую для восстановления изображений (или восстановления кадров). Например, модуль 210 энтропийного декодирования может декодировать информацию в потоке битов на основе способа кодирования, такого как кодирование экспоненциальным кодом Голомба, CAVLC или CABAC, и может выводить значения синтаксических элементов, необходимых для восстановления изображений, и квантованные значения коэффициентов преобразования относительно остатка. В частности, способ энтропийного CABAC-декодирования может принимать элемент разрешения, соответствующий каждому синтаксическому элементу в потоке битов, определять контекстную модель с использованием информации целевого синтаксического элемента декодирования, информации декодирования для соседнего целевого блока и целевого блока декодирования или информации для символа/элемента разрешения, декодированной на предшествующем этапе, прогнозировать вероятность появления элемента разрешения согласно определенной контекстной модели и выполнять арифметическое декодирование элемента разрешения. В это время, после определения контекстной модели, способ энтропийного CABAC-декодирования может обновлять контекстную модель с использованием информации для символа/элемента разрешения, декодированной для контекстной модели следующего символа/элемента разрешения. Из фрагментов информации, декодированных посредством модуля 210 энтропийного декодирования, информация для прогнозирования может предоставляться в модуль прогнозирования (например, в модуль 260 внешнего прогнозирования и модуль 265 внутреннего прогнозирования), и остаточное значение, энтропийно декодированное посредством модуля 210 энтропийного декодирования, т.е. квантованные коэффициенты преобразования и релевантная информация процессора, может вводиться в модуль 220 обратного квантования. Из фрагментов информации, декодированных посредством модуля 210 энтропийного декодирования, информация для фильтрации может предоставляться в модуль 240 фильтрации. Между тем, приемник (не показан) для приема сигнала, выводимого из оборудования 100 кодирования, дополнительно может быть сконфигурирован как внутренний/внешний элемент оборудования 200 декодирования, или приемник может представлять собой компонент модуля 210 энтропийного декодирования.[78] The decoding equipment 200 may receive a signal output from the encoding equipment 100 of FIG. 2 in the form of a bit stream, and the received signal can be decoded through the entropy decoding unit 210 . For example, entropy decoding module 210 may parse the bit stream and extract information (eg, video/image information) necessary for image recovery (or frame recovery). For example, entropy decoding module 210 may decode information in the bitstream based on an encoding method such as Exponential Golomb, CAVLC, or CABAC coding, and may output syntax element values necessary for image reconstruction and quantized values of transform coefficients relative to the remainder. In particular, the CABAC entropy decoding method can receive a bin corresponding to each syntax element in the bitstream, determine a context model using decoding target syntax element information, decoding information for a neighboring target block, and a decoding target block, or information for character/bin element, decoded in the previous step, predict the occurrence probability of the bin according to the determined context model, and perform arithmetic decoding of the bin. At this time, after the context model is determined, the CABAC entropy decoding method may update the context model using the information for the character/bin bin decoded for the context model of the next character/bin. From the pieces of information decoded by the entropy decoding module 210, prediction information may be provided to the prediction module (for example, to the outer prediction module 260 and the intra prediction module 265), and the residual value entropy decoded by the entropy decoding module 210, i. the quantized transform coefficients and relevant processor information may be input to inverse quantizer 220 . From the pieces of information decoded by the entropy decoding module 210, filtering information may be provided to the filter module 240 . Meanwhile, a receiver (not shown) for receiving a signal output from the encoding equipment 100 may be further configured as an internal/external member of the decoding equipment 200, or the receiver may be a component of the entropy decoding unit 210.

[79] Модуль 220 обратного квантования может обратно квантовать квантованные коэффициенты преобразования и выводить коэффициенты преобразования. Модуль 220 обратного квантования может пересортировывать квантованные коэффициенты преобразования в форме двумерного блока. В этом случае, пересортировка может выполняться на основе порядка сканирования коэффициентов, в котором работает оборудование 100 кодирования. Модуль 220 обратного квантования может обратно квантовать квантованные коэффициенты преобразования с использованием параметров квантования (например, информации размера шага квантования), с получением коэффициентов преобразования.[79] An inverse quantizer 220 may inversely quantize the quantized transform coefficients and output the transform coefficients. An inverse quantizer 220 may re-sort the quantized transform coefficients in the form of a two-dimensional block. In this case, the resorting may be performed based on the coefficient scan order in which the encoding equipment 100 operates. An inverse quantizer 220 may inversely quantize the quantized transform coefficients using quantization parameters (eg, quantization step size information) to obtain transform coefficients.

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

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

[82] Модуль 265 внутреннего прогнозирования может прогнозировать текущий блок посредством ссылки на выборки в текущем кадре. Выборки, на которые ссылаются, могут быть соседними или позиционироваться на большом расстоянии от текущего блока в зависимости от режима прогнозирования. При внутреннем прогнозировании, режимы прогнозирования могут включать в себя множество ненаправленных режимов и множество направленных режимов. Модуль 265 внутреннего прогнозирования может определять режим прогнозирования, применяемый к текущему блоку, с использованием режима прогнозирования, применяемого к соседнему блоку.[82] The intra prediction module 265 may predict the current block by referring to the samples in the current frame. The referenced samples may be adjacent or positioned at a large distance 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 using the prediction mode applied to the adjacent block.

[83] Модуль 260 внешнего прогнозирования может извлекать прогнозированный блок для текущего блока на основе опорного блока (массива опорных выборок), указываемого посредством вектора движения для опорного кадра. Здесь, чтобы уменьшать объем информации движения, передаваемой в режиме внешнего прогнозирования, информация движения может прогнозироваться в расчете на блок, субблок или выборку на основе корреляции в информации движения между соседним блоком и текущим блоком. Информация движения может включать в себя вектор движения и индекс опорного кадра. Информация движения дополнительно может включать в себя информацию для направления внешнего прогнозирования (L0-прогнозирование, L1-прогнозирование или бипрогнозирование). В случае внешнего прогнозирования, соседние блоки могут включать в себя пространственный соседний блок, присутствующий в текущем кадре, и временный соседний блок, присутствующий в опорном кадре. Например, модуль 260 внешнего прогнозирования может конструировать список возможных вариантов информации движения на основе соседних блоков и извлекать вектор движения и/или индекс опорного кадра текущего блока на основе принимаемой информации выбора возможных вариантов. Внешнее прогнозирование может выполняться на основе различных режимов прогнозирования. Информация для прогнозирования может включать в себя информацию, указывающую режим внешнего прогнозирования для текущего блока.[83] 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. Here, in order to reduce the amount of motion information transmitted in the inter-prediction mode, the motion information may be predicted per block, sub-block, or sample based on a correlation in the motion information between an adjacent block and a current block. The motion information may include a motion vector and a reference frame index. The motion information may further include information for an external prediction direction (L0 prediction, L1 prediction, or bi-prediction). In the case of inter prediction, neighboring blocks may include a spatial neighboring block present in the current frame and a temporal neighboring block present in a reference frame. For example, inter prediction module 260 may construct a motion information candidate list based on neighboring blocks, and derive a motion vector and/or a reference frame index of the current block based on the received candidate selection information. External prediction may be performed based on various prediction modes. The prediction information may include information indicating an inter prediction mode for the current block.

[84] Сумматор 235 может суммировать полученный остаточный сигнал с прогнозным сигналом (например, прогнозированным блоком или массивом прогнозных выборок), выводимым из модуля 260 внешнего прогнозирования или модуля 265 внутреннего прогнозирования, за счет этого формируя восстановленный сигнал (восстановленный кадр, восстановленный блок или массив восстановленных выборок). Как и в случае, когда режим пропуска применяется, когда отсутствует остаток для целевого блока для обработки, прогнозированный блок может использоваться в качестве восстановленного блока.[84] The summer 235 may add the obtained residual signal to the prediction signal (e.g., a predicted block or array of prediction samples) output from the inter prediction unit 260 or the intra prediction unit 265, thereby generating a reconstructed signal (recovered frame, reconstructed block, or array recovered samples). As in the case where the skip mode is applied when there is no remainder for the target block to be processed, the predicted block may be used as the reconstructed block.

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

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

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

[88] В раскрытии сущности, варианты осуществления, описанные выше в связи с модулем 160 фильтрации, модулем 180 внешнего прогнозирования и модулем 185 внутреннего прогнозирования оборудования 100 кодирования, могут применяться аналогично или соответствовать модулю 240 фильтрации, модулю 260 внешнего прогнозирования и модулю 265 внутреннего прогнозирования оборудования декодирования.[88] In the disclosure, the embodiments described above in connection with the filter module 160, the inter prediction module 180, and the intra prediction module 185 of the encoding equipment 100 may be applied similarly to or correspond to the filter module 240, the inter prediction module 260, and the intra prediction module 265 decoding equipment.

[89] Фиг. 4 является видом, иллюстрирующим структуру системы потоковой передачи контента согласно варианту осуществления раскрытия сущности.[89] FIG. 4 is a view illustrating the structure of a content streaming system according to an embodiment of the disclosure.

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

[91] Сервер 410 кодирования может сжимать контент, вводимый из устройств ввода мультимедиа, таких как смартфоны, камеры или записывающие видеокамеры, в цифровые данные, формировать поток битов и передавать поток битов на потоковый сервер 420. В качестве примера, когда устройства 460 ввода мультимедиа, такие как смартфоны, камеры или записывающие видеокамеры, непосредственно формируют поток битов, сервер 410 кодирования может опускаться.[91] The encoding server 410 may compress content input from media input devices such as smartphones, cameras, or camcorders into digital data, generate a bit stream, and transmit the bit stream to the stream server 420. As an example, when media input devices 460 , such as smartphones, cameras, or camcorders directly generate a bitstream, the encoding server 410 may be omitted.

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

[93] Потоковый сервер 420 может передавать мультимедийные данные в пользовательское устройство 450 на основе пользовательского запроса через веб-сервер 430, и веб-сервер 430 играет роль в качестве агента, чтобы уведомлять пользователя в отношении того, какие услуги предоставляются. Когда пользователь отправляет запрос на требуемую услугу в веб-сервер 430, веб-сервер 430 передает запрос на потоковый сервер 420, и потоковый сервер 420 передает мультимедийные данные пользователю. Система потоковой передачи контента может включать в себя отдельный сервер управления, причем в этом случае, сервер управления управляет командами/ответами между устройствами в системе потоковой передачи контента.[93] The streaming server 420 may transmit media data to the user device 450 based on a user request through the web server 430, and the web server 430 plays a role as an agent to notify the user as to which services are being provided. When the user sends a request for a desired service to the web server 430, the web server 430 transmits the request to the streaming server 420, and the streaming server 420 transmits the media data to the user. The content streaming system may include a separate control server, in which case, the control server manages commands/responses between devices in the content streaming system.

[94] Потоковый сервер 420 может принимать контент из хранилища 440 мультимедиа и/или сервера 410 кодирования. Например, потоковый сервер 420 может принимать, в реальном времени, контент из сервера 410 кодирования. В этом случае, чтобы прозрачно предоставлять услугу, потоковый сервер 420 может сохранять поток битов в течение предварительно определенного времени.[94] 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 bit stream for a predetermined time.

[95] Например, примеры пользовательского устройства 450 могут включать в себя мобильные телефоны, смартфоны, переносные компьютеры, цифровые широковещательные терминалы, персональные цифровые устройства (PDA), портативные мультимедийные проигрыватели (PMP), навигационные устройства, грифельные планшетные PC, планшетные PC, ультрабуки, носимые устройства, такие как интеллектуальные часы, интеллектуальные очки или наголовные дисплеи (HMD), цифровые телевизоры, настольные компьютеры или устройства системы цифровых информационных табло.[95] For example, examples of user device 450 may include mobile phones, smartphones, laptop computers, digital broadcast terminals, personal digital assistants (PDAs), portable media players (PMPs), navigation devices, stylus tablet PCs, tablet PCs, ultrabooks. , wearable devices such as smart watches, smart glasses or head-mounted displays (HMDs), digital TVs, desktop computers, or digital signage devices.

[96] В системе потоковой передачи контента, серверы могут представлять собой распределенные серверы, причем в этом случае, данные, принимаемые посредством каждого сервера, могут распределяться и обрабатываться.[96] In a content streaming system, the servers may be distributed servers, in which case, data received by each server may be distributed and processed.

[97] Фиг. 5 является блок-схемой, иллюстрирующей примерное устройство для обработки видеосигналов согласно варианту осуществления раскрытия сущности. Устройство обработки видеосигналов по фиг. 5 может соответствовать оборудованию 100 кодирования по фиг. 2 или оборудованию 200 декодирования по фиг. 3.[97] FIG. 5 is a block diagram illustrating an exemplary video signal processing apparatus according to an embodiment of the disclosure. The video signal processing device of FIG. 5 may correspond to the encoding equipment 100 of FIG. 2 or the decoding equipment 200 of FIG. 3.

[98] Согласно варианту осуществления раскрытия сущности, устройство обработки видеосигналов 500 может включать в себя запоминающее устройство 520 для сохранения видеосигналов и процессор 510, соединенный с запоминающим устройством, чтобы обрабатывать видеосигналы.[98] According to an embodiment of the disclosure, the video signal processing apparatus 500 may include a memory 520 for storing video signals and a processor 510 coupled to the memory to process the video signals.

[99] Согласно варианту осуществления раскрытия сущности, процессор 510 может быть сконфигурирован как, по меньшей мере, одна схема обработки для обработки видеосигналов и может выполнять инструкции для кодирования или декодирования видеосигналов, чтобы за счет этого обрабатывать видеосигналы. Другими словами, процессор 510 может кодировать видеосигналы или декодировать кодированные видеосигналы посредством осуществления способов кодирования или декодирования, описанных ниже.[99] According to an embodiment of the disclosure, processor 510 may be configured as at least one processing circuit for processing video signals, and may execute instructions for encoding or decoding video signals to thereby process video signals. In other words, processor 510 may encode video signals or decode encoded video signals by performing the encoding or decoding methods described below.

[100] Согласно варианту осуществления раскрытия сущности, процессор 510 может быть сконфигурирован как, по меньшей мере, одна схема обработки для обработки сигналов изображений и может выполнять инструкции для кодирования или декодирования сигналов изображений, чтобы за счет этого обрабатывать сигналы изображений. Другими словами, процессор 510 может кодировать данные необработанных изображений или декодировать кодированные сигналы изображений посредством осуществления способов кодирования или декодирования, описанных выше.[100] According to an embodiment of the disclosure, processor 510 may be configured as at least one processing circuit for processing image signals and may execute instructions for encoding or decoding image signals to thereby process image signals. In other words, processor 510 may encode raw image data or decode encoded image signals by performing the encoding or decoding methods described above.

[101] Фиг. 6A, 6B, 6C и 6D являются видами, иллюстрирующим примерные структуры разбиения на блоки посредством дерева квадрантов (QT), двоичного дерева (BT), троичного дерева (TT) и асимметричного дерева (AT), соответственно, согласно варианту осуществления раскрытия сущности.[101] FIG. 6A, 6B, 6C, and 6D are views illustrating exemplary blocking structures by quadtree (QT), binary tree (BT), ternary tree (TT), and asymmetric tree (AT), respectively, according to an embodiment of the disclosure.

[102] При кодировании видео, один блок может разбиваться на основе 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.[102] When encoding video, one block may be split based on QT. One subblock split by QT can be further split recursively by QT. A blocklist that is no longer split by QT may be split by at least one schema from BT, TT, or AT. A BT can have two types of partitions, such as horizontal BT (2NxN, 2NxN) and vertical BT (Nx2N, Nx2N). A TT can have two types of partitions, such as horizontal TT (2Nx1/2N, 2NxN, 2Nx1/2N) and vertical TT (1/2Nx2N, Nx2N, 1/2Nx2N). AT can have four types of splits, for example, AT up horizontal (2Nx1/2N, 2Nx3/2N), AT down horizontal (2Nx3/2N, 2Nx1/2N), AT left vertical (1/2Nx2N, 3/2Nx2N ) and AT to the right vertically (3/2Nx2N, 1/2Nx2N). BT, TT and AT can optionally be split recursively using BT, TT and AT.

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

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

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

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

[107] Между тем, BT, TT и AT могут использоваться вместе для разбиения. Например, субблок, разбитый посредством BT, может разбиваться посредством TT или AT. Дополнительно, субблок, разбитый посредством TT, может разбиваться посредством BT или AT. Субблок, разбитый посредством AT, может разбиваться посредством BT или TT. Например, после разбиения посредством горизонтального BT, каждый субблок может разбиваться посредством вертикального BT, либо, после разбиения посредством вертикального BT, каждый субблок сможет разбиваться посредством горизонтального BT. В этом случае, хотя различные порядки разбиения применяются, конечная форма после разбиения может быть идентичной.[107] Meanwhile, BT, TT and AT can be used together for splitting. For example, a subblock split by BT may be split by TT or AT. Additionally, 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 splitting with a horizontal BT, each sub-block may be split with a vertical BT, or, after splitting with a vertical BT, each sub-block may be split with a horizontal BT. In this case, although different splitting orders apply, the final shape after splitting may be identical.

[108] Когда блок разбивается, различные порядки поиска блока могут задаваться. Обычно, поиск выполняется слева направо или сверху вниз. Поиск блока может означать порядок определения того, следует или нет дополнительно разбивать каждый разбитый субблок, либо если блок более не разбивается, порядок кодирования каждого субблока или порядок поиска, когда субблок ссылается на другой соседний блок.[108] When a block is split, different block search orders may be specified. Typically, the search is performed from left to right or top to bottom. Block search may refer to the order in which each broken sub-block should be further split or not, or if the block is no longer split, the encoding order of each sub-block, or the search order when the sub-block refers to another adjacent block.

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

[110] Оборудование 100 кодирования выполняет внешнее прогнозирование для текущего блока (S710). Оборудование 100 кодирования может извлекать движение i и режим внешнего прогнозирования текущего блока и формировать прогнозные выборки текущего блока. Здесь, определение режима внешнего прогнозирования, извлечение информации движения и формирование прогнозных выборок могут выполняться одновременно, либо любое из означенного может выполняться раньше остальных. Например, модуль 180 внешнего прогнозирования оборудования 100 кодирования может включать в себя модуль 181 определения режима прогнозирования, модуль 182 извлечения информации движения и модуль 183 извлечения прогнозных выборок. Модуль 181 определения режима прогнозирования может определять режим прогнозирования для текущего блока, модуль 182 извлечения информации движения может извлекать информацию движения для текущего блока, и модуль 183 извлечения прогнозных выборок может извлекать прогнозные выборки текущего блока. Например, модуль 180 внешнего прогнозирования оборудования 100 кодирования может выполнять поиск блока, аналогичного текущему блоку, в предварительно определенной зоне (зоне поиска) опорных кадров через оценку движения, и извлекать опорный блок с минимальной разностью либо предварительно определенной разностью или меньше относительно текущего блока. На основе этого, индекс опорного кадра, указывающий опорный кадр, в котором позиционируется опорный блок, может извлекаться, и вектор движения может извлекаться на основе разности в позиции между опорным блоком и текущим блоком. Оборудование 100 кодирования может определять режим, применяемый к текущему блоку, из различных режимов прогнозирования. Оборудование 100 кодирования может сравнивать RD-затраты для различных режимов прогнозирования и определять оптимальный режим прогнозирования для текущего блока.[110] The encoding equipment 100 performs inter prediction for the current block (S710). The encoding equipment 100 can extract the motion i and the inter prediction mode of the current block, and generate prediction samples of the current block. Here, determination of the external prediction mode, motion information extraction, and prediction sampling may be performed at the same time, or any of the above may be performed before the others. For example, the external 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 determining unit 181 may determine the prediction mode for the current block, the motion information extraction unit 182 may extract motion information for the current block, and the prediction sample extraction unit 183 may extract the prediction samples of the current block. For example, the inter prediction unit 180 of the encoding equipment 100 may search for a block similar to the current block in a predetermined area (search area) of reference frames through motion estimation, and retrieve a reference block with a minimum difference or a predetermined difference or less relative to the current block. Based on this, a reference frame index indicating a reference frame in which the reference block is positioned may be extracted, and a motion vector may be extracted 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 determine the optimal prediction mode for the current block.

[111] Например, когда режим пропуска или режим объединения применяется к текущему блоку, оборудование 100 кодирования может конструировать список возможных вариантов объединения, описанный ниже, и извлекать опорный блок, который имеет минимальную разность либо предварительно определенную разность или меньше относительно текущего блока, из опорных блоков, указываемых посредством возможных вариантов объединения, включенных в список возможных вариантов объединения. В этом случае, возможный вариант объединения, ассоциированный с блоком извлеченного опорного варианта, может выбираться, и информация индекса объединения, указывающая выбранный возможный вариант объединения, может формироваться и передаваться в служебных сигналах в оборудование 200 декодирования. Информация движения для текущего блока может извлекаться с использованием информации движения для выбранного возможного варианта объединения.[111] For example, when the skip mode or merge mode is applied to the current block, the encoding equipment 100 may construct a merge candidate list described below and extract a reference block that has a minimum difference or a predetermined difference or less relative to the current block from the reference blocks indicated by the merge options included in the list of merge options. In this case, the combining candidate associated with the extracted reference case 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 information for the current block may be retrieved using the motion information for the selected merging candidate.

[112] В качестве примера, когда (A)MVP-режим применяется к текущему блоку, оборудование 100 кодирования может конструировать список возможных (A)MVP-вариантов и использовать вектор движения возможного MVP-варианта, выбранного из числа возможных вариантов предикторов векторов движения (MVP), включенных в список возможных (A)MVP-вариантов, в качестве MVP текущего блока. В этом случае, например, вектор движения, указывающий опорный блок, извлекаемый посредством вышеописанной оценки движения, может использоваться в качестве вектора движения текущего блока, и возможный MVP-вариант, имеющий вектор движения с наименьшей разностью относительно вектора движения текущего блока из возможных MVP-вариантов, может представлять собой выбранный возможный MVP-вариант. Разность векторов движения (MVD), которая представляет собой вектор движения текущего блока меньше MVP, может извлекаться. В этом случае, информация для MVD может передаваться в служебных сигналах в оборудование 200 декодирования. Дополнительно, когда (A)MVP-режим применяется, значение индекса опорного кадра может быть сконфигурировано как информация индекса опорного кадра и отдельно передаваться в служебных сигналах в оборудование 200 декодирования.[112] As an example, when the (A)MVP mode is applied to the current block, the encoding equipment 100 may construct a list of (A)MVP candidates and use 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 motion vector of the current block less than the MVP, may be extracted. In this case, the information for the MVD may be signaled to the decoding equipment 200 . Further, when the (A)MVP mode is applied, the index value of the reference frame may be configured as index information of the reference frame and separately signaled to the decoding equipment 200 .

[113] Оборудование 100 кодирования может извлекать остаточные выборки на основе прогнозных выборок (S720). Оборудование 100 кодирования может извлекать остаточные выборки через сравнение между необработанными выборками текущего блока и прогнозными выборками.[113] 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 raw samples of the current block and the predictive samples.

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

[115] Выходной поток битов может сохраняться на (цифровом) носителе хранения данных и передаваться в оборудование декодирования либо может передаваться в оборудование декодирования через сеть.[115] The output bitstream 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.

[116] Между тем, как изложено выше, оборудование кодирования может формировать восстановленный кадр (включающий в себя восстановленные выборки и восстановленный блок) на основе опорных выборок и остаточных выборок. Именно в силу этого оборудование 100 кодирования извлекает результат прогнозирования, идентичный результату прогнозирования, полученному посредством оборудования 200 декодирования, и за счет этого может повышаться эффективность кодирования. Таким образом, оборудование 100 кодирования может сохранять восстановленный кадр (либо восстановленные выборки или восстановленный блок) в запоминающем устройстве и использовать его в качестве опорного кадра для внешнего прогнозирования. Как описано выше, например, внутриконтурная фильтрация дополнительно может выполняться для восстановленного кадра.[116] 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. It is because of this that the encoding equipment 100 extracts a prediction result identical to the prediction result obtained by the decoding equipment 200, and thus encoding efficiency can be improved. Thus, the encoding equipment 100 can 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, for example, in-loop filtering may additionally be performed on the reconstructed frame.

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

[118] Оборудование 200 декодирования может выполнять операции, соответствующие операциям, выполняемым посредством оборудования 100 кодирования. Оборудование 200 декодирования может выполнять прогнозирование относительно текущего блока на основе принимаемой информации прогнозирования и извлекать прогнозные выборки.[118] The decoding equipment 200 can perform operations corresponding to those 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.

[119] В частности, оборудование 200 декодирования может определять режим прогнозирования для текущего блока на основе принимаемой информации прогнозирования (S910). Оборудование 200 декодирования может определять то, какой режим внешнего прогнозирования применяется к текущему блоку, на основе информации режима прогнозирования в информации прогнозирования.[119] 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.

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

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

[122] В качестве примера, когда (A)MVP-режим применяется к текущему блоку, оборудование 200 декодирования может конструировать список возможных (A)MVP-вариантов и использовать вектор движения возможного MVP-варианта, выбранного из числа возможных MVP-вариантов, включенных в список возможных (A)MVP-вариантов, в качестве MVP текущего блока. Выбор MVP может выполняться на основе вышеописанной информации выбора (MVP-флага или MVP-индекса). В этом случае, оборудование 200 декодирования может извлекать MVD текущего блока на основе информации для MVD и извлекать вектор движения текущего блока на основе MVD и MVP текущего блока. Дополнительно, оборудование 200 декодирования может извлекать индекс опорного кадра текущего блока на основе информации индекса опорного кадра. Кадр, указываемый посредством индекса опорного кадра в списке опорных кадров для текущего блока, может извлекаться в качестве опорного кадра, на который ссылаются для внешнего прогнозирования текущего блока.[122] As an example, when the (A)MVP mode is applied to the current block, the decoding equipment 200 may construct a list of (A)MVP candidates and use the motion vector of the (A)MVP candidate selected from among the MVP candidates included to the list of possible (A)MVP options, as the MVP of the current block. MVP selection may be performed based on the selection information (MVP flag or MVP index) described above. In this case, the decoding equipment 200 can extract the MVD of the current block based on the information for the MVD, and extract the motion vector of the current block based on the MVD and MVP of the current block. Further, the decoding equipment 200 may derive a key frame index of the current block based on the key frame index information. 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 external prediction of the current block.

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

[124] Оборудование 200 декодирования может формировать прогнозные выборки для текущего блока на основе информации движения для текущего блока (S930). В этом случае, оборудование 200 декодирования может извлекать опорный кадр на основе индекса опорного кадра текущего блока и извлекать прогнозные выборки текущего блока с использованием выборок опорного блока, указываемого посредством вектора движения текущего блока в опорном кадре. В этом случае, фильтрация прогнозных выборок дополнительно может выполняться для всех или некоторых прогнозных выборок текущего блока согласно случаям, как описано ниже.[124] The decoding equipment 200 may generate predictive samples for the current block based on motion information for 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 extract the prediction samples of the current block using the reference block samples indicated by the motion vector of the current block in the reference frame. In this case, filtering of the prediction samples may further be performed on all or some of the prediction samples of the current block according to the cases as described below.

[125] Например, модуль 260 внешнего прогнозирования оборудования 200 декодирования может включать в себя модуль 261 определения режима прогнозирования, модуль 262 извлечения информации движения и модуль 263 извлечения прогнозных выборок. Модуль 181 определения режима прогнозирования может определять режим прогнозирования для текущего блока на основе принимаемой информации режима прогнозирования, модуль 182 извлечения информации движения может извлекать информацию движения (вектор движения и/или индекс опорного кадра) для текущего блока на основе информации для принимаемой информации движения, и модуль 183 извлечения прогнозных выборок может извлекать прогнозные выборки текущего блока.[125] For example, the external 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 prediction mode determining unit 181 may determine the prediction mode for the current block based on the received prediction mode information, the motion information extraction unit 182 may extract the motion information (motion vector and/or reference frame index) for the current block based on the information for the received motion information, and the prediction sample extraction module 183 may extract the prediction samples of the current block.

[126] Оборудование 200 декодирования формирует остаточные выборки для текущего блока на основе принимаемой остаточной информации (S940). Оборудование 200 декодирования может формировать восстановленные выборки для текущего блока на основе прогнозных выборок и остаточных выборок и, на их основе, формировать восстановленный кадр (S950). После этого, внутриконтурная фильтрация дополнительно может выполняться для восстановленного кадра, как описано выше.[126] 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 the residual samples, and generate a reconstructed frame based on them (S950). Thereafter, in-loop filtering may further be performed on the reconstructed frame as described above.

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

[128] Различные режимы внешнего прогнозирования могут использоваться для того, чтобы прогнозировать текущий блок в кадре. Например, могут использоваться режим объединения, режим пропуска, MVP-режим и аффинный режим. Режим детализации векторов движения на стороне декодера (DMVR) и режим адаптивного разрешения векторов движения (AMVR) дополнительно могут использоваться в качестве дополнительных режимов. Аффинный режим также может называться "режимом аффинного прогнозирования движения". MVP-режим также может называться "режимом усовершенствованного прогнозирования векторов движения (AMVP)".[128] Various inter prediction modes may be used to predict the current block in a frame. For example, pool mode, skip mode, MVP mode, and affine mode can be used. 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 also be referred to as "affine motion prediction mode". The MVP mode may also be referred to as "Advanced Motion Vector Prediction (AMVP) mode".

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

[130] Оборудование 100 кодирования или оборудование 200 декодирования может выполнять внешнее прогнозирование с использованием информации движения для текущего блока. Оборудование 100 кодирования может извлекать оптимальную информацию движения для текущего блока через процедуру оценки движения. Например, оборудование 100 кодирования может выполнять поиск аналогичных опорных блоков с высокой корреляцией, в пределах предварительно определенного диапазона поиска в опорном кадре, на основе дробного пиксела, с использованием необработанных блоков в необработанном кадре для текущего блока и, на основе этого, извлекать информацию движения. Подобие блока может извлекаться на основе разности между выборочными значениями на основе фазы. Например, подобие блоков может вычисляться на основе суммы абсолютных разностей (SAD) между текущим блоком (или эталоном текущего блока) и опорным блоком (или эталоном опорного блока). В этом случае, информация движения может извлекаться на основе опорного блока с наименьшей SAD в зоне поиска. Извлеченная информация движения может передаваться в служебных сигналах в оборудование декодирования на основе режима внешнего прогнозирования посредством различных способов.[130] The encoding equipment 100 or the decoding equipment 200 may perform external prediction using the motion information for the current block. The encoding equipment 100 can extract the optimal motion information for the current block through a motion estimation procedure. For example, encoding equipment 100 may search for similar high-correlation reference blocks within a predetermined search range in a reference frame, based on a fractional pixel, using raw blocks in the raw frame for the current block, and extract motion information based thereon. 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, motion information may be extracted based on the reference block with the lowest SAD in the search area. The extracted motion information may be signaled to the decoding equipment based on the inter prediction mode by various methods.

[131] Когда режим объединения применяется, информация движения для текущего блока прогнозирования не передается непосредственно, а вместо этого извлекается с использованием информации движения для его соседних блоков прогнозирования. Таким образом, оборудование 100 кодирования может указывать информацию движения для текущего блока прогнозирования посредством передачи информации флага, указывающей то, что использован режим объединения, и индекса объединения, указывающего то, какой соседний блок прогнозирования использован.[131] When the combining mode is applied, the motion information for the current prediction block is not transmitted directly, but instead is extracted using the motion information for its neighboring prediction blocks. Thus, the coding equipment 100 can indicate motion information for the current prediction block by transmitting flag information indicating that the combining mode has been used and a combining index indicating which adjacent prediction block has been used.

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

[133] Различные варианты осуществления для возможных вариантов блоков объединения, составляющих список возможных вариантов объединения, описываются в данном документе.[133] Various embodiments for the merge candidate list constituting the merge candidate list are described herein.

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

[135] Ниже описывается способ для конфигурирования списка опорных кадров для вышеописанного внешнего прогнозирования.[135] The following describes a method for configuring a list of reference frames for the above-described inter prediction.

[136] Высокоуровневый синтаксис (HLS) существует в системе кодирования видео, чтобы полностью управлять совместным использованием общей информацией. HLS имеет целью управлять кинокадрами таким образом, чтобы уменьшать число битов, что обеспечивает эффективное использование запоминающего устройства. HLS использует систему управления опорными кадрами, которая активирует процесс, обозначаемый как "пометка опорных кадров". Этот процесс помечает каждый кинокадр согласно удобству и простоте использования для декодирования текущего кинокадра. Проектирование и реализация HLS имеют целью иметь упрощенное и эффективное средство для того, чтобы идентифицировать кадры, необходимые для декодирования текущего кадра.[136] A High Level Syntax (HLS) exists in the video coding system to fully manage the sharing of common information. HLS aims to manage movie frames in such a way as to reduce the number of bits, which ensures efficient use of the storage device. HLS uses a key frame management system that activates a process referred to as "key frame tagging". This process marks each movie frame according to the convenience and ease of use for decoding the current movie frame. The design and implementation of the HLS aims to have a simplified and efficient means for identifying the frames needed to decode the current frame.

[137] Вариант 1 осуществления [137] Embodiment 1

[138] В этом варианте осуществления, вводится система управления списками опорных кадров (RPL), которые непосредственно передаются в служебных сигналах и извлекаются. Используются два списка (например, список 0 опорных кадров и список 1 опорных кадров). Информация для извлечения двух списков опорных кадров передается в служебных сигналах в качестве синтаксических элементов в заголовках срезов, наборе параметров последовательности (SPS) и наборе параметров кадра (PPS). Два списка формируются для всех типов срезов. Тем не менее, тогда как I-срез не использует ни один из фрагментов информации из списков, P-срез использует информацию только из List0, и B-срез использует информацию из обоих списков. Кадры идентифицируются с использованием порядковых номеров кадров (POC). Каждый кадр может классифицироваться в качестве долговременного опорного кадра (LTRP) или кратковременного опорного кадра (STRP). Кадры, классифицированные в качестве LTRP или STRP, символизируют то, что они представляют собой активные кадры и могут использоваться при декодировании, и неактивные кадры представляют собой кадры, не используемые во время процесса декодирования.[138] In this embodiment, a system for managing lists of reference frames (RPL) is introduced, which are directly signaled and retrieved. Two lists are used (eg, key frame list 0 and key frame list 1). The information for extracting the two key frame lists is signaled as syntax elements in slice headers, sequence parameter set (SPS), and frame parameter set (PPS). Two lists are formed for all types of slices. However, while I-slice does not use any of the pieces of information from lists, P-slice only uses information from List0, and B-slice uses information from both lists. Frames are identified using frame sequence numbers (POCs). Each frame may be classified as either a Long Term Reference Frame (LTRP) or a Short Term Reference Frame (STRP). Frames classified as LTRP or STRP symbolize that they are active frames and can be used in decoding, and inactive frames are frames not used during the decoding process.

[139] Фиг. 11 является блок-схемой последовательности операций способа, иллюстрирующей пример конструирования списка опорных кадров согласно варианту осуществления раскрытия сущности. Операции по фиг. 11 могут выполняться посредством оборудования 200 декодирования.[139] FIG. 11 is a flowchart illustrating an example of constructing a reference frame list according to an embodiment of the disclosure. The operations of FIG. 11 may be performed by the decoding equipment 200.

[140] Фиг. 11 иллюстрирует начальную часть процесса конфигурирования списков опорных кадров. Во-первых, на этапе S1105, оборудование 200 декодирования синтаксически анализирует общее число записей в списке. После этого, для каждой записи, кадр помечается как LTRP или STRP через процесс пометки опорных кадров (S1120). В этом раскрытии сущности, пометка кадра означает добавление или обновление информации (параметра), связанной с кадром. В частности, оборудование 200 декодирования инициализирует индекс (i) записи (S1110), и когда индекс (i) записи равен или меньше общего числа записей (S1115), выполняет пометку опорных кадров (S1120). Когда пометка опорных кадров закончена, оборудование декодирования обновляет индекс (i) записи (S1125). Согласно варианту осуществления раскрытия сущности, предлагается совершенно новая архитектура для того, чтобы улучшать систему управления опорными кадрами.[140] FIG. 11 illustrates the initial part of the process for configuring reference frame lists. First, in step S1105, the decoding equipment 200 parses the total number of entries in the list. Thereafter, for each entry, the frame is marked as LTRP or STRP through the reference frame marking process (S1120). In this disclosure, tagging a frame means adding or updating information (a parameter) associated with a frame. Specifically, the decoding equipment 200 initializes the entry index (i) (S1110), and when the entry index (i) is equal to or less than the total number of entries (S1115), performs flagging of the reference frames (S1120). When the marking of the reference frames is completed, the decoding equipment updates the record index (i) (S1125). According to an embodiment of the disclosure, a completely new architecture is proposed in order to improve the reference frame management system.

[141] Фиг. 12 и 13 являются блок-схемами последовательности операций способа, иллюстрирующими пример пометки опорных кадров согласно варианту осуществления раскрытия сущности.[141] FIG. 12 and 13 are flowcharts illustrating an example of flagging key frames according to an embodiment of the disclosure.

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

Figure 00000001
Figure 00000001

[143] Таблица 1 показывает пример синтаксиса, конфигурирующего список опорных кадров. Здесь, настоящий вариант осуществления предоставляет структуру, допускающую управление опорным кадром. Функция ref_pic_list_struct принимает listIdx, указываемый с помощью rpl1_same_as_rpl0_flag, в качестве первого ввода. Другими словами, когда флаг (rpl1_same_as_rpl0_flag) представляет собой "истина", это обозначает то, что списки являются идентичными, и один список (L0 или L1) может логически выводиться из другого (L1 или L0). Второй ввод rplsIdx функции ref_pic_list_struct обозначает число списков опорных кадров, используемых в кодированной видеопоследовательности, указываемой в SPS; num_ref_entries обозначает число записей в ref_pic_list_struct(listIdx, rpIsIdx). Когда LRTP-кадры используются для каждой записи, флаг синтаксически анализируется из списка, чтобы считывать то, трактуется кинокадр в качестве LTRP или STRP. Когда запись представляет собой STRP и представляет собой первую STRP-запись в синтаксической структуре ref_pic_list_struct(listIdx, rpIsIdx), это обозначает абсолютную разность между POC текущего кадра и POC кадра, на который ссылаются посредством i-ой записи, либо если i-ая запись представляет собой STRP-, но не первую, запись, это указывает абсолютную разность между POC кадра, на который ссылаются посредством i-ой записи, и POC кадра, указываемого посредством предыдущего STRP. (Если запись представляет собой STRP, она представляет собой первую STRP-запись в синтаксической структуре ref_pic_list_struc(listIdx, rpIsIdx), и она указывает абсолютную разность в POC текущего кадра и кадра, на который ссылаются посредством i-ой записи, либо когда i-ая запись представляет собой STRP-запись, но не первую запись, то она указывает абсолютную разность между POC кадра, на который ссылаются посредством i-ой записи и посредством предыдущего STRP). Когда abs_delta_poc i-ой записи больше 0, информация кода пометки флагов для STRP передается в служебных сигналах. Тем не менее, когда st_ref_pic_flag равен 0, i-ая запись обозначает долговременный опорный кадр. LTRP передаются в служебных сигналах посредством младшего бита (LSB) POC. [143] Table 1 shows an example of a syntax configuring a list of reference frames. Here, the present embodiment provides a structure capable of managing a key frame. The ref_pic_list_struct function takes the listIdx specified by rpl1_same_as_rpl0_flag as the first input. In other words, when the flag (rpl1_same_as_rpl0_flag) is true, it means that the lists are identical and one list (L0 or L1) can be inferred from another (L1 or L0). The second input rplsIdx of the ref_pic_list_struct function indicates the number of reference frame lists used in the encoded video sequence specified in the SPS; num_ref_entries denotes the number of entries in ref_pic_list_struct(listIdx, rpIsIdx). When LRTP frames are used for each entry, a flag is parsed from the list to read whether the movie frame is treated as LTRP or STRP. When an entry is an STRP and is the first STRP entry in the ref_pic_list_struct(listIdx, rpIsIdx) syntax structure, this denotes the absolute difference between the POC of the current frame and the POC of the frame referenced by the i-th entry, or if the i-th entry represents is an STRP-, but not the first, entry, this indicates the absolute difference between the POC of the frame referred to by the i-th entry and the POC of the frame indicated by the previous STRP. (If the entry is an STRP, it is the first STRP entry in the ref_pic_list_struc(listIdx, rpIsIdx) syntax structure, and it indicates the absolute difference in POC of the current frame and the frame referenced by the i-th entry, or when the i-th entry is a STRP entry but not the first entry, it indicates the absolute difference between the POC of the frame referenced by the i-th entry and the previous STRP). When abs_delta_poc of the i-th entry is greater than 0, STRP flag code information is signaled. However, when st_ref_pic_flag is 0, the i-th entry denotes a long-term reference frame. LTRPs are signaled over the least significant bit (LSB) of the POC.

[144] Синтаксические элементы, связанные с таблицей 1, могут задаваться следующим образом:[144] The syntax elements associated with Table 1 may be specified as follows:

[145] num_ref_entries[listIdx][rplsIdx] обозначает число записей в синтаксической структуре ref_pic_list_struct(listIdx, rplsIdx). num_ref_entries[listIdx][rplsIdx] может иметь значение от 0 до sps_max_dec_pic_buffering_minus1+14.[145] num_ref_entries[listIdx][rplsIdx] denotes the number of entries in the ref_pic_list_struct(listIdx, rplsIdx) syntax structure. num_ref_entries[listIdx][rplsIdx] can be from 0 to sps_max_dec_pic_buffering_minus1+14.

[146] Когда rpl1_same_as_rpl0_flag равен 1, синтаксические структуры num_ref_pic_lists_in_sps[1] и ref_pic_list_struct(1, rplsIdx) отсутствуют, и применимо следующее.[146] When rpl1_same_as_rpl0_flag is equal to 1, the num_ref_pic_lists_in_sps[1] and ref_pic_list_struct(1, rplsIdx) syntax structures are absent, and the following applies.

[147] num_ref_pic_lists_in_sps[1] логически выводится как имеющий значение, идентичное значению num_ref_pic_lists_in_sps[0].[147] num_ref_pic_lists_in_sps[1] is inferred to have the same value as num_ref_pic_lists_in_sps[0].

[148] - В ref_pic_list_struct(1, rplsIdx), значение каждого синтаксического элемента логически выводится идентичным значению синтаксического элемента в ref_pic_list_struct(0, rplsIdx) для rplsIdx, который может составлять значение от 0 до num_ref_pic_lists_in_sps[0]-1.[148] - In ref_pic_list_struct(1, rplsIdx), the value of each syntax element is inferred identical to the value of the syntax element in ref_pic_list_struct(0, rplsIdx) for rplsIdx, which can be a value from 0 to num_ref_pic_lists_in_sps[0]-1.

[149] Когда long_term_ref_pics_flag равен 0, это обозначает то, что LTRP не используется для внешнего прогнозирования любого кодированного кадра в кодированной видеопоследовательности (CVS). Когда long_term_ref_pics_flag равен 1, это обозначает то, что LTRP используется для внешнего прогнозирования одного или более кодированных кадров в CVS.[149] When long_term_ref_pics_flag is 0, this indicates that LTRP is not used for inter-prediction of any encoded frame in a coded video sequence (CVS). When long_term_ref_pics_flag is equal to 1, this indicates that LTRP is used for external prediction of one or more coded frames in CVS.

[150] Когда st_ref_pic_flag[listIdx][rplsIdx][i] равен 1, i-ая запись в синтаксической структуре ref_pic_list_struct(listIdx, rplsIdx) представляет собой STRP-запись. Когда st_ref_pic_flag[listIdx][rplsIdx][i] равен 0, i-ая запись в синтаксической структуре ref_pic_list_struct(listIdx, rplsIdx) представляет собой LTRP-запись. Если не присутствует, значение st_ref_pic_flag[listIdx][rplsIdx][i] выводится логически равным 1.[150] When st_ref_pic_flag[listIdx][rplsIdx][i] is 1, the i-th entry in the ref_pic_list_struct(listIdx, rplsIdx) syntax structure is a STRP entry. When st_ref_pic_flag[listIdx][rplsIdx][i] is 0, the i-th entry in the ref_pic_list_struct(listIdx, rplsIdx) syntax structure is an LTRP entry. If not present, the value of st_ref_pic_flag[listIdx][rplsIdx][i] is inferred to be logically 1.

[151] abs_delta_poc_st[listIdx][rplsIdx][i] обозначает абсолютную разность в значении порядковых номеров кадрв между кадром, на который ссылаются посредством i-ой записи, и текущим кадром, когда i-ая запись представляет собой первый STRP в синтаксической структуре ref_pic_list_struct(listIdx, rplsIdx), либо абсолютную разность в значении порядковых номеров кадров между кадрами посредством предыдущего STRP в синтаксической структуре ref_pic_list_struct(listIdx, rplsIdx) и i-ой записи, если i-ая запись представляет собой STRP-, но не первую, запись в синтаксической структуре ref_pic_list_struct(listIdx, rplsIdx).[151] abs_delta_poc_st[listIdx][rplsIdx][i] denotes the absolute difference in value of frame sequence numbers between the frame referenced by the i-th entry and the current frame when the i-th entry is the first STRP in the ref_pic_list_struct syntax (listIdx, rplsIdx), or the absolute difference in the value of the frame sequence numbers between frames by means of the previous STRP in the ref_pic_list_struct(listIdx, rplsIdx) syntax structure and the i-th entry, if the i-th entry is a STRP-, but not the first, entry in syntax structure ref_pic_list_struct(listIdx, rplsIdx).

[152] abs_delta_poc_st[listIdx][rplsIdx][i] имеет значение от 0 до 215-1.[152] abs_delta_poc_st[listIdx][rplsIdx][i] has a value between 0 and 215-1.

[153] Когда strp_entry_sign_flag[listIdx][rplsIdx][i] равен 1, это обозначает то, что i-ая запись в синтаксической структуре ref_pic_list_struct(listIdx, rplsIdx) имеет значение, равное или большее 0. Когда strp_entry_sign_flag[listIdx][rplsIdx][i] равен 0, это обозначает то, что i-ая запись в синтаксической структуре ref_pic_list_struct(listIdx, rplsIdx) имеет значение, меньшее 0. Если не присутствует, значение strp_entry_sign_flag[i][j] выводится логически равным 1.[153] When strp_entry_sign_flag[listIdx][rplsIdx][i] is 1, this means that the i-th entry in the ref_pic_list_struct(listIdx, rplsIdx) syntax structure has a value equal to or greater than 0. When strp_entry_sign_flag[listIdx][rplsIdx ][i] is 0, which means that the i-th entry in the ref_pic_list_struct(listIdx, rplsIdx) syntax structure has a value less than 0. If not present, the value of strp_entry_sign_flag[i][j] is output as logical 1.

[154] poc_lsb_lt[listIdx][rplsIdx][i] обозначает порядковый номер кадра MaxPicOrderCntLsb по модулю кадра, на который ссылаются посредством i-ой записи в ref_pic_list_struct(listIdx, rplsIdx). Длина poc_lsb_lt[listIdx][rplsIdx][i] составляет log2_max_pic_order_cnt_lsb_minus4+4 бита.[154] poc_lsb_lt[listIdx][rplsIdx][i] denotes the sequence number of the MaxPicOrderCntLsb frame modulo the frame referenced by the i-th entry in ref_pic_list_struct(listIdx, rplsIdx). The length of poc_lsb_lt[listIdx][rplsIdx][i] is log2_max_pic_order_cnt_lsb_minus4+4 bits.

[155] Вышеприведенные описания синтаксических элементов могут обобщаться так, как указано в нижеприведенной таблице 2:[155] The above descriptions of syntax elements can be summarized as indicated in Table 2 below:

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

Figure 00000002
Figure 00000002

Figure 00000003
Figure 00000003

[157] Ссылаясь на фиг 12, оборудование 200 декодирования идентифицирует то, используется или нет LTRP в записи списка опорных кадров, через long_term_ref_pics_flag (S1205), и когда LTRP используется (когда long_term_ref_pics_flag равен 1), синтаксически анализирует st_ref_pic_flag (S1210) и идентифицирует то, представляет или нет st_ref_pic_flag собой "истина" (S1215). Когда st_ref_pic_flag представляет собой "истина" (1) (т.е. когда текущая запись представляет собой STRP), оборудование 200 декодирования синтаксически анализирует abs_delta_poc_st. Другими словами, когда текущая запись соответствует STRP-записи, оборудование 200 декодирования получает POC-разность между кадром, связанным с текущей записью, и предыдущим кадром. [157] Referring to FIG. 12, the decoding equipment 200 identifies whether or not LTRP is used in the reference frame list entry via long_term_ref_pics_flag (S1205), and when LTRP is used (when long_term_ref_pics_flag is 1), parses st_ref_pic_flag (S1210) and identifies that whether or not st_ref_pic_flag is true (S1215). When st_ref_pic_flag is true (1) (ie, when the current entry is an STRP), the decoding equipment 200 parses abs_delta_poc_st. In other words, when the current entry matches the STRP entry, the decoding equipment 200 obtains the POC difference between the frame associated with the current entry and the previous frame.

[158] Когда long_term_ref_pics_flag представляет собой "ложь" на этапе S1205, оборудование декодирования сразу синтаксически анализирует abs_delta_poc_st. После этого, оборудование 200 декодирования идентифицирует то, больше или нет abs_delta_poc_st 0 (S1225), и когда abs_delta_poc_st больше 0, синтаксически анализирует strp_entry_sign_flag (S1230).[158] When long_term_ref_pics_flag is false in step S1205, the decoding equipment immediately parses abs_delta_poc_st. After that, the decoding equipment 200 identifies whether or not abs_delta_poc_st is greater than 0 (S1225), and when abs_delta_poc_st is greater than 0, parses strp_entry_sign_flag (S1230).

[159] Когда st_ref_pic_flag представляет собой "ложь" (0) на этапе S1215, оборудование 200 декодирования синтаксически анализирует poc_lsb_lt (S1235). Другими словами, когда текущая запись соответствует LTRP-записи, оборудование 200 декодирования получает значение по модулю POC для кадра, связанного с текущей записью. Значение по модулю POC для кадра используется для того, чтобы извлекать POC-значение кадра, и может комбинироваться со старшим битом (MSB) POC, чтобы за счет этого извлекать POC-значение кадра.[159] When st_ref_pic_flag is false (0) in step S1215, the decoding equipment 200 parses poc_lsb_lt (S1235). In other words, when the current entry matches the LTRP entry, the decoding equipment 200 obtains the modulo POC value for the frame associated with the current entry. The modulo POC value of the frame is used to extract the POC value of the frame, and may be combined with the most significant bit (MSB) of the POC to thereby extract the POC value of the frame.

[160] Вышеописанный процесс конфигурирования списка опорных кадров может представляться в двух блоках, как показано на фиг. 13. Операции каждого этапа могут реализовываться посредством идентичных или различных элементов аппаратных средств. Оборудование 200 декодирования может получать флаг (long_term_ref_pic_flag), указывающий то, используется или долговременный опорный кадр, и число записей (num_ref_entries) (1310), и определять то, представляет каждая запись собой LTRP- или STRP-запись (1320).[160] The above-described reference frame list configuration process may be presented in two blocks, as shown in FIG. 13. The operations of each step may be implemented by identical or different hardware elements. The decoding equipment 200 may receive a flag (long_term_ref_pic_flag) indicating whether either a long-term reference frame is used and the number of entries (num_ref_entries) (1310), and determine whether each entry is an LTRP or STRP entry (1320).

[161] Вариант 2 осуществления [161] Embodiment 2

[162] В этом варианте осуществления, предлагается ограничение параметра num_ref_entries, описанного выше в связи с таблицей 1. Типично, num_ref_entries[listIdx][rpIsIdx] обозначает число записей в ref_pic_list_struct(listIdx, rpIsIdx). Идентифицируется то, что num_ref_entries может иметь значение от 0 до sps_max_dec_pic_buffering_minus1+14. Чтобы использовать меньшее количество кинокадров, диапазон num_ref_entries может быть ограничен. Сценарий по принципу наихудшего случая возникает, когда еще 14 кинокадров требуются по сравнению со значением, указываемым посредством sps_max_dec_pic_buffering_minus1. Это означает то, что буфер декодированных кадров обязательно должен иметь достаточный объем запоминающего устройства для того, чтобы сохранять столько кинокадров. Вместо достижения этого, наложение ограничения на иерархические группы структур (GOP) может приспосабливаться с учетом TemporalId (временного идентификатора) слоя.[162] In this embodiment, a constraint on the num_ref_entries parameter described above in connection with Table 1 is proposed. Typically, num_ref_entries[listIdx][rpIsIdx] denotes the number of entries in ref_pic_list_struct(listIdx, rpIsIdx). It is identified that num_ref_entries may have a value from 0 to sps_max_dec_pic_buffering_minus1+14. To use fewer movie frames, the range of num_ref_entries can be limited. The worst case scenario occurs when 14 more movie frames are required compared to the value indicated by sps_max_dec_pic_buffering_minus1. This means that the decoded frame buffer must necessarily have sufficient storage capacity to store so many movie frames. Instead of achieving this, the constraint on hierarchical groupings of structures (GOPs) can be tailored based on the TemporalId (temporary identifier) of the layer.

[163] Дополнительный синтаксис может задаваться так, как показано в таблице 3; sps_max_dec_pic_buffering_minus1 плюс 1, в качестве единицы буфера для хранения кадров, обозначает максимальный требуемый размер одного буфера декодированных кадров в CVS; sps_max_dec_pic_buffering_minus1 может иметь значение от 0 до MaxDpbSize-1, и MaxDpbSize может отдельно задаваться.[163] Additional syntax may be specified as shown in Table 3; sps_max_dec_pic_buffering_minus1 plus 1, as the frame buffer unit, denotes the maximum required size of a single decoded frame buffer in CVS; sps_max_dec_pic_buffering_minus1 can be from 0 to MaxDpbSize-1, and MaxDpbSize can be set separately.

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

Figure 00000004
Figure 00000004

[165] Другими словами, число записей в списке опорных кадров может иметь максимальное значение в качестве максимального требуемого размера буфера декодированных кадров плюс 14. Дополнительно, согласно настоящему варианту осуществления (варианту 2 осуществления), число записей в списке опорных кадров может иметь максимальное значение в качестве максимального требуемого размера буфера декодированных кадров. [165] In other words, the number of entries in the reference frame list may have a maximum value as the maximum required decoded frame buffer size plus 14. Further, according to the present embodiment (Embodiment 2), the number of entries in the reference frame list may have a maximum value of as the maximum required decoded frame buffer size.

[166] Вариант 3 осуществления [166] Embodiment 3

[167] В настоящем варианте осуществления, предлагается способ удаления синтаксического элемента long_term_ref_pics_flag из ref_pic_list_struct(listIdx, rpIsIdx). Когда синтаксический элемент (long_term_ref_pics_flag равен 0, это обозначает то, что LTRP более не используется для внешнего прогнозирования кодированных кадров в CVS. Когда long_term_ref_pics_flag равен 1, это обозначает то, что LTRP используется для внешнего прогнозирования одного или более кодированных фильтров в CVS. Посредством удаления синтаксического элемента long_term_ref_pics_flag, можно логически выводить то, что LTRP используется по умолчанию, в CVS. Это является полезным, поскольку LTRP представляют собой высоконадежные кадры в DPB.[167] In the present embodiment, a method is provided to remove the long_term_ref_pics_flag syntax element from ref_pic_list_struct(listIdx, rpIsIdx). When the syntax element (long_term_ref_pics_flag is equal to 0, this indicates that LTRP is no longer used for outward prediction of coded frames in CVS. When long_term_ref_pics_flag is equal to 1, this indicates that LTRP is used for outward prediction of one or more coded filters in CVS. By removing long_term_ref_pics_flag syntax element, it is possible to infer that LTRP is the default in CVS This is useful because LTRPs are highly reliable frames in DPB.

[168] Вариант 4 осуществления [168] Embodiment 4

[169] Фиг. 14 является блок-схемой последовательности операций способа, иллюстрирующей другой пример пометки опорных кадров согласно варианту осуществления раскрытия сущности.[169] FIG. 14 is a flowchart illustrating another example of marking key frames according to an embodiment of the disclosure.

[170] Предоставляется другой вариант осуществления для ref_pic_list_struct(listIdx, rpIsIdx). В частности, ref_pic_list_struct(listIdx, rpIsIdx) может быть сконфигурирован с учетом того, когда LTRP и STRP передаются в служебных сигналах отдельно. Это может представляться так, как указано в нижеприведенной таблице 4. Здесь, согласно варианту осуществления раскрытия сущности, предусмотрен способ ограничения num_strp_entries[listIdx][rpIsIdx], который указывает общее число используемых STRP, и num_ltrp_entries[listIdx][rpIsIdx], который указывает общее число LTRP.[170] Another embodiment for ref_pic_list_struct(listIdx, rpIsIdx) is provided. In particular, ref_pic_list_struct(listIdx, rpIsIdx) can be configured to accommodate when LTRP and STRP are signaled separately. This may be represented as indicated in Table 4 below. Here, according to an embodiment of the entity disclosure, there is a limiting method of num_strp_entries[listIdx][rpIsIdx], which indicates the total number of STRPs used, and num_ltrp_entries[listIdx][rpIsIdx], which indicates the total number of LTRPs.

[171] Фиг. 14 иллюстрирует общее представление предложенной структуры, в которой LTRP-счетчик и STRP-счетчик отдельно передаются в служебных сигналах. Здесь, STRP- и LTRP-счетчики сначала синтаксически анализируются с использованием LTRP согласно long_term_ref_pics_flag. После этого, для каждой записи, синтаксически анализируется lt_ref_pic_flag, который указывает то, представляет собой кадр или нет LTRP. Когда lt_ref_pic_flag представляет собой "истина", LTRP-счетчик увеличивается. В противном случае, STRP-счетчик увеличивается. Когда lt_ref_pic_flag представляет собой "ложь", STRP идентифицируется посредством синтаксического анализа delta_poc_st и его информации кодирования (когда delta_poc_st больше 0). В противном случае, LTRP идентифицируется посредством LSB POC.[171] FIG. 14 illustrates an overview of the proposed structure in which the LTRP counter and STRP counter are signaled separately. Here, STRP and LTRP counters are first parsed using LTRP according to long_term_ref_pics_flag. Thereafter, for each entry, an lt_ref_pic_flag is parsed that indicates whether or not the frame is an LTRP. When lt_ref_pic_flag is true, the LTRP counter is incremented. Otherwise, the STRP counter is incremented. When lt_ref_pic_flag is false, STRP is identified by parsing delta_poc_st and its encoding information (when delta_poc_st is greater than 0). Otherwise, LTRP is identified by the LSB POC.

[172] Нижеприведенная таблица 4 показывает пример синтаксиса для конфигурирования списка опорных кадров согласно варианту осуществления.[172] Table 4 below shows an example of a syntax for configuring a reference frame list according to an embodiment.

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

Figure 00000005
Figure 00000005

[174] num_strp_entries[listIdx][rplsIdx] обозначает число STRP-записей в ref_pic_list_struct(listIdx, rplsIdx).[174] num_strp_entries[listIdx][rplsIdx] denotes the number of STRP entries in ref_pic_list_struct(listIdx, rplsIdx).

[175] num_ltrp_entries[listIdx][rplsIdx] обозначает число LTRP-записей в ref_pic_list_struct(listIdx, rplsIdx).[175] num_ltrp_entries[listIdx][rplsIdx] denotes the number of LTRP entries in ref_pic_list_struct(listIdx, rplsIdx).

[176] Когда lt_ref_pic_flag[listIdx][rplsIdx] отсутствует, значение lt_ref_pic_flag[listIdx][rplsIdx] логически выводится следующим образом.[176] When lt_ref_pic_flag[listIdx][rplsIdx] is absent, the value of lt_ref_pic_flag[listIdx][rplsIdx] is inferred as follows.

[177] Когда num_ltrp_entries[listIdx][rplsIdx] равен 0, значение (lt_ref_pic_flag[listIdx][rplsIdx]) логически выводится равным 0. В противном случае, оно логически выводится как, когда numLtrps (число LTRP) равен num_ltrp_entries[listIdx][rplsIdx], и как 0, когда numStrps (число STRP) равен num_strp_entries[listIdx][rplsIdx].[177] When num_ltrp_entries[listIdx][rplsIdx] is 0, the value of (lt_ref_pic_flag[listIdx][rplsIdx]) is inferred to be 0. Otherwise, it is inferred as when numLtrps (LTRP number) is equal to num_ltrp_entries[listIdx][ rplsIdx], and as 0 when numStrps (the number of STRPs) is equal to num_strp_entries[listIdx][rplsIdx].

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

Figure 00000006
Figure 00000006

[179] Ссылаясь на фиг 14, оборудование 200 декодирования начинает конструировать опорный список (S1405) и синтаксически анализирует число STRP-записей (num_strp_entries) (S1410). Оборудование декодирования идентифицирует то, используется или нет LTRP (S1415), и когда LTRP используется, синтаксически анализирует число LTRP (num_ltrp_entries) (S1420). Оборудование 200 декодирования инициализирует переменную i, numLtrps и numStrps равной 0 (S1425), определяет то, равна или меньше переменная i либо нет числа записей (num_ref_entires) (S1430), и когда i равна или меньше числа записей (num_ref_entires), выполняет операцию пометки опорных кадров (S1435) и обновляет i (S1440). [179] Referring to FIG. 14, the decoding equipment 200 starts constructing a reference list (S1405) and parses the number of STRP entries (num_strp_entries) (S1410). The decoding equipment identifies whether or not LTRP is used (S1415), and when LTRP is used, parses the LTRP number (num_ltrp_entries) (S1420). The decoding equipment 200 initializes the variable i, numLtrps and numStrps to 0 (S1425), determines whether the variable i is equal to or less than the number of entries (num_ref_entires) (S1430), and when i is equal to or less than the number of entries (num_ref_entires), performs a flag operation reference frames (S1435) and updates i (S1440).

[180] Фиг. 15 является блок-схемой последовательности операций способа, иллюстрирующей пример видеосигналов обработки согласно варианту осуществления раскрытия сущности. Операции по фиг. 15 могут выполняться посредством оборудования 200 декодирования.[180] FIG. 15 is a flowchart illustrating an example of processing video signals according to an embodiment of the disclosure. The operations of FIG. 15 may be performed by the decoding equipment 200.

[181] На этапе S1510, оборудование 200 декодирования конструирует список опорных кадров для текущего кадра в видеосигнале. Оборудование 200 декодирования получает POC-разность (например, abs_delta_poc_st) между кадром, связанным с первой записью, и предшествующим кадром, когда первая запись списка опорных кадров соответствует STRP-записи, и когда вторая запись списка опорных кадров соответствует LTRP-записи, получает значение по модулю POC (например, poc_lsb_lt) кадра, связанного со второй записью.[181] In step S1510, the decoding equipment 200 constructs a reference frame list for the current frame in the video signal. The decoding equipment 200 obtains the POC difference (eg, abs_delta_poc_st) between the frame associated with the first entry and the preceding frame when the first key frame list entry corresponds to the STRP entry, and when the second key frame list entry corresponds to the LTRP entry, obtains the value according to the POC module (eg poc_lsb_lt) of the frame associated with the second entry.

[182] Согласно варианту осуществления, в процессе конфигурирования списка опорных кадров, оборудование 200 декодирования может получать число записей (num_ref_entries) в списке опорных кадров и выполнять пометку опорных кадров с LTRP или STRP на каждой записи в списке опорных кадров столько раз, сколько составляет число записей.[182] According to an embodiment, in the process of configuring the reference frame list, the decoding equipment 200 may obtain the number of entries (num_ref_entries) in the reference frame list, and mark reference frames with LTRP or STRP on each entry in the reference frame list as many times as the number records.

[183] Согласно варианту осуществления, максимальное число записей может составлять максимальный требуемый размер буфера декодированных кадров плюс 14 (например, sps_max_dec_pic_buffering_minus1+14) либо максимальный требуемый размер буфера декодированных кадров (например, sps_max_dec_pic_buffering_minus1).[183] According to an embodiment, the maximum number of entries may be the maximum required decoded frame buffer size plus 14 (eg, sps_max_dec_pic_buffering_minus1+14) or the maximum required decoded frame buffer size (eg, sps_max_dec_pic_buffering_minus1).

[184] Согласно варианту осуществления, в процессе выполнения пометки опорных кадров, оборудование 200 декодирования может получать число STRP-записей (например, num_strp_entries) и число LTRP-записей (например, num_ltrp_entries), как показано в таблице 4, выполнять STRP-пометку столько раз, сколько составляет число STRP, и LTRP-пометку столько раз, сколько составляет число LTRP-записей.[184] According to an embodiment, in the process of tagging key frames, the decoding equipment 200 can obtain the number of STRP entries (eg, num_strp_entries) and the number of LTRP entries (eg, num_ltrp_entries) as shown in Table 4, perform STRP tagging as many times the number of STRPs, and the LTRP flag as many times as the number of LTRP entries.

[185] Согласно варианту осуществления, в процессе конфигурирования списка опорных кадров, оборудование 200 декодирования может получать первый флаг и определять то, представляет запись в списке опорных кадров собой STRP- или LTRP-запись, на основе первого флага. Например, оборудование 200 декодирования может определять то, представляет текущая запись собой STRP- или LTRP-запись, с использованием флага (например, st_ref_pic_flag), указывающего то, соответствует или нет кадр, связанный с текущей записью, STRP.[185] According to an embodiment, in the process of configuring the reference frame list, the decoding equipment 200 can obtain the first flag and determine whether the entry in the reference frame list is an STRP or LTRP entry based on the first flag. For example, the decoding equipment 200 can determine whether the current entry is an STRP or LTRP entry using a flag (eg, st_ref_pic_flag) indicating whether or not the frame associated with the current entry is STRP.

[186] Согласно варианту осуществления, POC-разность обозначает абсолютное значение POC предшествующего кадра минус POC кадра, связанного с первой записью. Когда абсолютное значение (абсолютная POC-разность) (например, abs_delta_poc_st) больше 0, оборудование 200 декодирования может получать второй флаг (например, strp_entry_sign_flag), указывающий знак POC-разности.[186] According to an embodiment, the POC difference denotes the absolute value of the POC of the previous frame minus the POC of the frame associated with the first entry. When the absolute value (absolute POC difference) (eg, abs_delta_poc_st) is greater than 0, the decoding equipment 200 may obtain a second flag (eg, strp_entry_sign_flag) indicating the sign of the POC difference.

[187] На этапе S1520, оборудование 200 декодирования выполняет прогнозирование относительно текущего кадра с использованием списка опорных кадров. Например, оборудование 200 декодирования может формировать прогнозные выборки с использованием выборочного значения, указываемого посредством вектора движения в опорном кадре, включенном в первый список опорных кадров (L0) или второй список опорных кадров (L1).[187] In step S1520, the decoding equipment 200 performs prediction on the current frame using the reference frame list. For example, the decoding equipment 200 may generate predictive samples using a sample value indicated by a motion vector in a reference frame included in the first reference frame list (L0) or the second reference frame list (L1).

[188] Варианты осуществления раскрытия сущности предоставляют способ и устройство для кодирования информации, необходимой для конструирования списка опорных кадров. Оборудование 100 кодирования может конструировать список опорных кадров и выполнять прогнозирование с использованием опорного кадра в списке опорных кадров.[188] Embodiments of the disclosure provide a method and apparatus for encoding information needed to construct a list of reference frames. The encoding equipment 100 may construct a key frame list and perform prediction using the key frame in the key frame list.

[189] Дополнительно, для каждой записи в списке опорных кадров, оборудование 100 кодирования может кодировать информацию для конфигурирования списка опорных кадров в расчете на запись. Например, информация для конфигурирования списка опорных кадров включает в себя разность (например, abs_delta_poc_st) в POC между кадром, соответствующим STRP, и предшествующим кадром, и включает в себя значение по модулю POC (например, poc_lsb_lt) кадра, соответствующего LTRP.[189] Additionally, for each entry in the key frame list, the encoding equipment 100 may encode information for configuring the key frame list per entry. For example, the reference frame list configuration information includes a difference (eg, abs_delta_poc_st) in POC between a frame corresponding to STRP and a previous frame, and includes a modulo POC value (eg, poc_lsb_lt) of a frame corresponding to LTRP.

[190] Оборудование 100 кодирования может включать первый флаг (например, st_ref_pic_flag) для указания того, представляет кадр записи в списке опорных кадров собой STRP или LTRP, в информацию для конфигурирования списка опорных кадров и выполнять кодирование. Дополнительно, когда POC-разность (0, abs_delta_poc_st) больше 0, второй флаг (например, strp_entry_sign_flag) может включаться для того, чтобы указывать знак POC-разности. Информация для конфигурирования списка опорных кадров может включаться в SPS, PPS или заголовок среза и передаваться в служебных сигналах.[190] The encoding equipment 100 may include a first flag (eg, st_ref_pic_flag) for indicating whether the frame of the entry in the reference frame list is STRP or LTRP, in information for configuring the reference frame list, and perform encoding. Additionally, when the POC difference (0, abs_delta_poc_st) is greater than 0, a second flag (eg, strp_entry_sign_flag) may be turned on to indicate the sign of the POC difference. The information for configuring the reference frame list may be included in the SPS, PPS, or slice header and signaled.

[191] Способы обработки, к которым применяются варианты осуществления раскрытия сущности, могут создаваться в форме программы, выполняемой на компьютерах, и могут сохраняться в компьютерно-читаемых носителях записи. Мультимедийные данные со структурой данных согласно раскрытию сущности также могут сохраняться на компьютерно-читаемых носителях записи. Компьютерно-читаемые носители записи включают в себя все виды устройств хранения данных и распределенных устройств хранения данных, которые могут сохранять компьютерно-читаемые данные. Компьютерно-читаемые носители записи могут включать в себя, например, Blu-Ray-диски (BD), накопители по стандарту универсальной последовательной шины (USB), ROM, PROM, EPROM, EEPROM, RAM, CD-ROM, магнитные ленты, гибкие диски и оптическое устройство хранения данных. Компьютерно-читаемые носители записи могут включать в себя среды, реализованные в форме несущих волн (например, как передачи по Интернету). Потоки битов, сформированные посредством способа кодирования, могут сохраняться на компьютерно-читаемых носителях записи либо передаваться через сеть проводной/беспроводной связи.[191] 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, ROMs, PROMs, EPROMs, EEPROMs, RAMs, CD-ROMs, magnetic tapes, floppy disks and an 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.

[192] Варианты осуществления раскрытия сущности могут реализовываться как компьютерные программы посредством программных кодов, которые могут выполняться на компьютерах согласно варианту осуществления раскрытия сущности. Машинные коды могут сохраняться на компьютерно-читаемом носителе.[192] Embodiments of the disclosure may be implemented as computer programs via 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.

[193] Устройства декодирования и оборудование кодирования, к которому применяются варианты осуществления раскрытия сущности, могут включать в себя цифровые устройства. Цифровые устройства охватывают все виды или типы цифровых устройств, допускающих выполнение, по меньшей мере, одной из передачи, приема, обработки и вывода, например, данных, контента или услуг. Обработка данных, контента или услуг посредством цифрового устройства включает в себя кодирование и/или декодирование данных, контента или услуг. Такое цифровое устройство может спариваться или соединяться с другим цифровым устройством или внешним сервером через проводную/беспроводную сеть, передачу или прием данных либо, при необходимости, преобразование данных.[193] Decoding devices and encoding equipment to which embodiments of the disclosure apply may include digital devices. 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.

[194] Цифровые устройства могут включать в себя, например, сетевые телевизоры, гибридные широковещательные широкополосные телевизоры, интеллектуальные телевизоры, телевизоры по Интернет-протоколу (IPTV), персональные компьютеры или другие стоящие устройства либо мобильные или карманные устройства, такие как персональные цифровые устройства (PDA), смартфоны, планшетные PC или переносные компьютеры. В раскрытии сущности, цифровой телевизор на фиг. 31 и мобильное устройство на фиг. 30 рассматриваются в качестве примерных цифровых устройств в качестве иллюстрации.[194] 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 (PDAs). PDA), smartphones, tablet PCs or laptops. In the disclosure, the digital television in FIG. 31 and the mobile device in FIG. 30 are taken as exemplary digital devices by way of illustration.

[195] При использовании в данном документе, "проводная/беспроводная сеть" совместно означает сети связи, поддерживающие различные стандарты или протоколы связи для обмена данными и/или взаимного соединения между цифровыми устройствами или между цифровым устройством и внешним сервером. Такие проводные/беспроводные сети могут включать в себя сети связи, в данный момент поддерживаемые или поддерживаться в будущем, и протоколы связи для таких сетей связи, и могут формироваться, например, посредством стандартов связи для проводного соединения, включающих в себя 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.[195] 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 blanking sync video), component connection, S-video connection (analogue), 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 Wireless Broadband Access Standard), HSDPA (High Speed Downlink Packet Access), LTE (Long Term Evolution) or Wi-Fi Direct.

[196] Вышеописанные варианты осуществления рассматривают предварительно определенные комбинации компонентов и признаков раскрытия сущности. Каждый компонент или признак должен считаться необязательным, если явно не указано иное. Каждый компонент или признак может осуществляться на практике таким образом, что он не комбинируется с другими компонентами или признаками. Дополнительно, некоторые компоненты и/или признаки могут комбинироваться между собой, чтобы конфигурировать вариант осуществления раскрытия сущности. Порядок операций, описанных в связи с вариантами осуществления раскрытия сущности, может варьироваться. Некоторые компоненты или признаки одного варианта осуществления могут быть включены в другой вариант осуществления либо могут заменяться соответствующими компонентами или признаками другого варианта осуществления. Очевидно, что формула изобретения может комбинироваться, чтобы составлять вариант осуществления, если в явной форме не указано иное, либо такие комбинации могут добавляться в новой формуле изобретения посредством изменения после подачи заявки.[196] The above embodiments consider predetermined combinations of components and features of the disclosure. 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, some components and/or features may be combined with each other to configure an embodiment of the entity disclosure. The order of operations described in connection with 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, the claims may be combined to constitute an embodiment, unless expressly stated otherwise, or such combinations may be added to new claims by post-filing amendment.

[197] При реализации в микропрограммном обеспечении или аппаратных средствах, вариант осуществления раскрытия сущности может реализовываться как модуль, процедура или функция, выполняющая вышеописанные функции или операции. Программный код может сохраняться в запоминающем устройстве и направляться посредством процессора. Запоминающее устройство может позиционироваться внутри или снаружи процессора, чтобы обмениваться данными с процессором посредством различных известных средств.[197] When implemented in firmware or hardware, an embodiment of the entity 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.

[198] Специалистам в данной области техники должно быть очевидным, что раскрытие сущности может осуществляться в других конкретных формах без отступления от существенных признаков раскрытия сущности. Таким образом, вышеприведенное описание должно интерпретироваться не в качестве ограничивающего во всех аспектах, а в качестве примерного. Объем раскрытия сущности должен определяться посредством обоснованных интерпретаций прилагаемой формулы изобретения, и все эквиваленты раскрытия сущности принадлежат объему раскрытия сущности.[198] Those skilled in the art will appreciate that the disclosure may take other specific forms without departing from the essential features 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 within the scope of the disclosure.

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

[199] Вышеописанные предпочтительные варианты осуществления раскрытия сущности предоставлены в качестве иллюстрации, и специалисты в данной области техники должны принимать во внимание, что различные изменения или изменения могут вноситься в них, либо они могут добавляться или заменяться другими вариантами осуществления, без отступления от технической сущности и объема раскрытия сущности, заданных в прилагаемой формуле изобретения.[199] The above-described preferred embodiments of the disclosure are provided by way of illustration, and those skilled in the art should appreciate that various changes or modifications may be made to them, or may be added to or replaced by other embodiments, without departing from the technical spirit. and the scope of the disclosure of the essence, given in the attached claims.

Claims (42)

1. Способ декодирования видеосигнала посредством оборудования декодирования, содержащий этапы, на которых:1. A method for decoding a video signal by means of decoding equipment, comprising the steps of: - получают число записей, включенных в список опорных кадров для текущего кадра;- get the number of entries included in the list of reference frames for the current frame; - помечают каждую из записей списка опорных кадров в качестве кратковременного опорного кадра (STRP) или долговременного опорного кадра (LTRP) посредством числа записей; marking each of the reference frame list entries as a short-term reference frame (STRP) or a long-term reference frame (LTRP) by the number of entries; - выводят прогнозные выборки для текущего кадра на основании списка опорных кадров; и- output predictive samples for the current frame based on the list of reference frames; And - декодируют кодированную информацию видеосигнала,- decoding the encoded information of the video signal, при этом число записей имеет максимальное значение в качестве максимального требуемого размера буфера декодированных кадров плюс 14.wherein the number of entries has a maximum value as the maximum required decoded frame buffer size plus 14. 2. Способ по п. 1, в котором выполнение пометки каждой из записей дополнительно содержит этапы, на которых:2. The method according to claim 1, wherein performing the marking of each of the entries further comprises the steps of: - получают разность порядковых номеров кадров (POC) между опорным кадром, связанным с записью, помеченной как STRP, и другим кадром в списке опорных кадров; иreceiving a frame sequence number difference (POC) between a key frame associated with an entry labeled STRP and another frame in the key frame list; And - получают значение по модулю POC для кадра, связанного с записью, помеченной как LTRP.- get the value modulo POC for the frame associated with the entry marked as LTRP. 3. Способ по п. 2, в котором POC-разность представляет собой абсолютное значение POC другого кадра минус POC опорного кадра, связанного с записью, помеченной как STRP.3. The method of claim 2, wherein the POC difference is the absolute value of the POC of another frame minus the POC of the reference frame associated with the entry labeled STRP. 4. Способ по п. 3, в котором выполнение пометки каждой из записей дополнительно содержит этап, на котором:4. The method of claim 3, wherein performing the tagging of each of the entries further comprises: - получают флаг, указывающий знак POC-разности, на основании того, что абсолютное значение больше 0.- get a flag indicating the sign of the POC difference based on the fact that the absolute value is greater than 0. 5. Способ по п. 2, в котором другой кадр является текущим кадром на основании того, что запись, помеченная как STRP, является первой STRP-записью при пометке каждой из записей опорного кадра, или другой кадр является предыдущим STRP в списке опорных кадров на основании того, что запись, помеченная как STRP, не является первой STRP при пометке каждой из записей опорного кадра.5. The method of claim 2, wherein the other frame is the current frame based on the fact that the entry marked STRP is the first STRP entry when each of the key frame entries are marked, or the other frame is the previous STRP in the key frame list on based on the fact that the entry marked as STRP is not the first STRP when each of the key frame entries is marked. 6. Способ по п. 1, в котором выполнение пометки каждой из записей содержит этапы, на которых:6. The method according to claim. 1, in which the marking of each of the records includes the steps of: - получают число STRP-записей и LTRP-записей; и- get the number of STRP records and LTRP records; And - выполняют пометку STRP посредством числа STRP-записей и выполняют пометку LTRP посредством числа LTRP-записей.performing STRP tagging by the number of STRP entries, and performing LTRP tagging by the number of LTRP entries. 7. Способ по п. 1, в котором выполнение пометки каждой из записей содержит этапы, на которых:7. The method according to claim. 1, in which the marking of each of the records includes the steps of: - получают флаг, включающий в себя информацию о том, соответствует ли запись списка опорных кадров STRP-записи или LTRP-записи; и receiving a flag including information on whether the reference frame list entry corresponds to an STRP entry or an LTRP entry; And - определяют, соответствует ли запись списка опорных кадров STRP-записи или LTRP-записи, на основании флага.it is determined whether the key frame list entry corresponds to an STRP entry or an LTRP entry, based on the flag. 8. Способ кодирования видеосигнала посредством оборудования кодирования, содержащий этапы, на которых:8. A method for encoding a video signal by means of encoding equipment, comprising the steps of: - конструируют список опорных кадров для текущего кадра; - constructing a list of reference frames for the current frame; - генерируют информацию кода для конструирования списка опорных кадров; и- generating code information for constructing a list of reference frames; And - кодируют видеосигнал для конструирования списка опорных кадров,- encode the video signal to construct a list of reference frames, причем информация кода содержит число записей списка опорных кадров, иwherein the code information contains the number of reference frame list entries, and причем число записей имеет максимальное значение в качестве максимального требуемого размера буфера декодированных кадров плюс 14.wherein the number of entries has a maximum value as the maximum required decoded frame buffer size plus 14. 9. Способ по п. 8, в котором информация кода дополнительно содержит:9. The method of claim 8, wherein the code information further comprises: - разность порядковых номеров кадров (POC) между опорным кадром, связанным с записью, помеченной как кратковременный опорный кадр (STRP), и другим кадром в списке опорных кадров; и- frame sequence number difference (POC) between a key frame associated with an entry marked as a short-term key frame (STRP) and another frame in the key frame list; And - значение по модулю POC для кадра, связанного с записью, помеченной как долговременный опорный кадр (LTRP) в списке опорных кадров.is the modulo POC value for the frame associated with the entry marked as a long-term key frame (LTRP) in the key frame list. 10. Способ по п. 9, в котором POC-разность представляет собой абсолютное значение POC другого кадра минус POC опорного кадра, связанного с записью, помеченной как STRP.10. The method of claim 9, wherein the POC difference is the absolute value of the POC of another frame minus the POC of the reference frame associated with the entry labeled STRP. 11. Способ по п. 10, в котором информация кода дополнительно содержит флаг, указывающий знак POC-разности для записи, для которой абсолютное значение разности РОС больше 0.11. The method of claim 10, wherein the code information further comprises a flag indicating the sign of the POC difference for the entry for which the absolute value of the POC difference is greater than 0. 12. Способ по п. 9, в котором другой кадр является текущим кадром на основании того, что запись, помеченная как STRP, является первой STRP-записью в информации кода, или другой кадр является предыдущим STRP в списке опорных кадров на основании того, что запись, помеченная как STRP, не является первой STRP в информации кода.12. The method of claim 9, wherein the other frame is the current frame based on the fact that the entry marked STRP is the first STRP entry in the code information, or the other frame is the previous STRP in the reference frame list based on that the entry marked STRP is not the first STRP in the code information. 13. Способ по п. 8, в котором информация кода дополнительно содержит флаг, включающий в себя информацию о том, соответствует ли запись списка опорных кадров STRP-записи или LTRP-записи.13. The method of claim 8, wherein the code information further comprises a flag including information on whether the reference frame list entry matches an STRP entry or an LTRP entry. 14. Способ по п. 8, дополнительно содержащий этап, на котором: 14. The method of claim 8, further comprising the step of: - загружают информацию кода в наборе параметров последовательности (SPS), наборе параметров кадра (PPS) или заголовке среза в потоке битов, связанном с видеосигналом.loading code information in a sequence parameter set (SPS), a frame parameter set (PPS), or a slice header in a bitstream associated with the video signal. 15. Способ передачи данных видеосигнала, содержащего поток битов для изображения, в приемник оборудования декодирования, содержащий этапы, на которых:15. A method for transmitting data of a video signal containing a bit stream for an image to a receiver of decoding equipment, comprising the steps of: - получают поток битов для изображения посредством передатчика; и- receive a bitstream for the image through the transmitter; And - передают данные потока битов в приемник,- transmit bitstream data to the receiver, причем поток битов генерируется посредством выполнения этапов, на которых:wherein the bitstream is generated by performing the steps in which: - конструируют список опорных кадров для текущего кадра; и- constructing a list of reference frames for the current frame; And - генерируют информацию кода для конструирования списка опорных кадров,- generating code information for constructing a list of reference frames, причем информация кода содержит число записей списка опорных кадров, иwherein the code information contains the number of reference frame list entries, and причем число записей имеет максимальное значение в качестве максимального требуемого размера буфера декодированных кадров плюс 14.wherein the number of entries has a maximum value as the maximum required decoded frame buffer size plus 14.
RU2022107813A 2019-01-02 2020-01-02 Method and device for video signal processing by using external prediction RU2793834C2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201962787384P 2019-01-02 2019-01-02
US62/787,384 2019-01-02

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
RU2021122470A Division RU2769347C1 (en) 2019-01-02 2020-01-02 Method and apparatus for processing a video signal using external prediction

Publications (2)

Publication Number Publication Date
RU2022107813A RU2022107813A (en) 2022-04-05
RU2793834C2 true RU2793834C2 (en) 2023-04-07

Family

ID=

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130114741A1 (en) * 2011-11-07 2013-05-09 Microsoft Corporation Signaling of state information for a decoded picture buffer and reference picture lists
WO2014078013A1 (en) * 2012-11-16 2014-05-22 Motorola Mobility Llc Devices and methods for processing of non-idr related syntax for high efficiency video coding (hevc)
US20140233647A1 (en) * 2011-09-22 2014-08-21 Lg Electronics Inc. Method and apparatus for signaling image information, and decoding method and apparatus using same
US20150103881A1 (en) * 2012-11-21 2015-04-16 Lg Electronics Inc. Image decoding method and apparatus using same
WO2015053120A1 (en) * 2013-10-08 2015-04-16 シャープ株式会社 Image decoding device, image decoding method, image coding device, and image coding method
RU2584510C2 (en) * 2011-09-23 2016-05-20 Квэлкомм Инкорпорейтед Video encoding/decoding using subsets of reference picture set

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140233647A1 (en) * 2011-09-22 2014-08-21 Lg Electronics Inc. Method and apparatus for signaling image information, and decoding method and apparatus using same
RU2584510C2 (en) * 2011-09-23 2016-05-20 Квэлкомм Инкорпорейтед Video encoding/decoding using subsets of reference picture set
US20130114741A1 (en) * 2011-11-07 2013-05-09 Microsoft Corporation Signaling of state information for a decoded picture buffer and reference picture lists
WO2014078013A1 (en) * 2012-11-16 2014-05-22 Motorola Mobility Llc Devices and methods for processing of non-idr related syntax for high efficiency video coding (hevc)
US20150103881A1 (en) * 2012-11-21 2015-04-16 Lg Electronics Inc. Image decoding method and apparatus using same
WO2015053120A1 (en) * 2013-10-08 2015-04-16 シャープ株式会社 Image decoding device, image decoding method, image coding device, and image coding method

Similar Documents

Publication Publication Date Title
RU2769347C1 (en) Method and apparatus for processing a video signal using external prediction
US11876957B2 (en) Method and apparatus for processing video data
US20220182614A1 (en) Method and apparatus for processing video signal
CN113273206B (en) Method and apparatus for processing video data
KR20230028586A (en) Image processing method based on inter prediction mode, and device therefor
KR20230025036A (en) Method and device for processing video signal for intra prediction
KR20230022267A (en) Inter-prediction mode-based image processing method and device therefor
RU2793834C2 (en) Method and device for video signal processing by using external prediction
US20220014751A1 (en) Method and device for processing video data
RU2789452C2 (en) Method and equipment for processing of video data