RU2793777C1 - Method and device for internal prediction based on internal subsegments in image coding system - Google Patents
Method and device for internal prediction based on internal subsegments in image coding system Download PDFInfo
- Publication number
- RU2793777C1 RU2793777C1 RU2021130637A RU2021130637A RU2793777C1 RU 2793777 C1 RU2793777 C1 RU 2793777C1 RU 2021130637 A RU2021130637 A RU 2021130637A RU 2021130637 A RU2021130637 A RU 2021130637A RU 2793777 C1 RU2793777 C1 RU 2793777C1
- Authority
- RU
- Russia
- Prior art keywords
- current block
- isp
- information
- block
- sub
- Prior art date
Links
Images
Abstract
Description
Уровень техникиState of the art
Область техники, к которой относится изобретениеThe technical field to which the invention belongs
[1] Данное раскрытие сущности относится к технологии кодирования изображений, а более конкретно, к способу и оборудованию для внутреннего прогнозирования на основе внутренних субсегментов в системе кодирования изображений.[1] This disclosure relates to an image coding technology, and more specifically, to a method and equipment for intra prediction based on intra sub-segments in an image coding system.
Описание уровня техникиDescription of the prior art
[2] Потребности в высококачественных изображениях высокого разрешения, к примеру, в изображениях высокой четкости (HD) и изображениях сверхвысокой четкости (UHD), растут в различных областях техники. Поскольку данные изображений имеют высокое разрешение и высокое качество, объем информации или битов, которые должны передаваться, увеличивается относительно унаследованных данных изображений. Следовательно, когда данные изображений передаются с использованием такой среды, как традиционная проводная/беспроводная широкополосная линия, или данные изображений сохраняются с использованием существующего носителя хранения данных, затраты на передачу и затраты на хранение для них увеличиваются.[2] Demands for high quality, high resolution images, such as high definition (HD) images and ultra high definition (UHD) images, are growing in various fields of technology. Since the image data has high resolution and high quality, the amount of information or bits to be transmitted increases relative to the legacy image data. Therefore, when image data is transmitted using a medium such as a conventional wired/wireless broadband line or image data is stored using an existing storage medium, the transmission cost and the storage cost thereof increase.
[3] Соответственно, существует потребность в высокоэффективной технологии сжатия изображений для эффективной передачи, сохранения и воспроизведения информации высококачественных изображений высокого разрешения.[3] Accordingly, there is a need for a high-performance image compression technology for efficiently transmitting, storing, and reproducing high-quality, high-resolution image information.
Сущность изобретенияThe essence of the invention
[4] Этот документ должен предоставлять способ и оборудование для повышения эффективности кодирования изображений.[4] This document is to provide a method and equipment for improving image coding efficiency.
[5] Этот документ должен также предоставлять эффективный способ и оборудование внутреннего прогнозирования.[5] This document should also provide an efficient method and equipment for indoor prediction.
[6] Этот документ при этом также должен предоставлять способ и оборудование внутреннего прогнозирования для применения режима на основе внутренних субсегментов (ISP) к блоку, меньшему или равному размеру виртуальной конвейерной единицы данных (VPDU).[6] This document should also provide an intra prediction method and equipment for applying an intra-sub-segment (ISP) based mode to a block less than or equal to the virtual pipeline data unit (VPDU) size.
[7] Этот документ при этом также должен предоставлять способ и оборудование для применения ISP с учетом конвейера декодирования для аппаратной реализации.[7] This document, however, should also provide a method and equipment for using the ISP, taking into account the decoding pipeline for the hardware implementation.
[8] Согласно варианту осуществления этого документа, предоставляется способ декодирования изображений, осуществляемый посредством оборудования декодирования. Способ включает в себя прием информации режима прогнозирования для текущего блока, прием связанной с режимом на основе внутренних субсегментов (ISP) информации для текущего блока на основе размера текущего блока и максимального размера блока преобразования, извлечение режима внутреннего прогнозирования текущего блока на основе информации режима прогнозирования и формирование прогнозной выборки текущего блока на основе режима внутреннего прогнозирования и связанной с ISP информации.[8] According to an embodiment of this document, a method for decoding images by means of decoding equipment is provided. The method includes receiving prediction mode information for the current block, receiving intra-sub-segment (ISP) mode-related information for the current block based on the current block size and the maximum transform block size, retrieving the intra prediction mode of the current block based on the prediction mode information, and generating a prediction sample of the current block based on the intra prediction mode and the ISP related information.
[9] Согласно другому варианту осуществления этого раскрытия сущности, оборудование декодирования для выполнения декодирования изображений предоставляется. Оборудование декодирования включает в себя энтропийный декодер, выполненный с возможностью принимать информацию режима прогнозирования для текущего блока, принимать связанную с режимом на основе внутренних субсегментов (ISP) информацию для текущего блока на основе размера текущего блока и максимального размера блока преобразования, модуль прогнозирования, выполненный с возможностью извлекать режим внутреннего прогнозирования текущего блока на основе информации режима прогнозирования и формировать прогнозную выборку текущего блока на основе режима внутреннего прогнозирования и связанной с ISP информации.[9] According to another embodiment of this disclosure, decoding equipment for performing image decoding is provided. The decoding equipment includes an entropy decoder configured to receive prediction mode information for a current block, receive mode-related information based on internal sub-segments (ISP) for the current block based on a current block size and a maximum transform block size, a prediction module configured to being able to extract the intra prediction mode of the current block based on the prediction mode information, and generate a prediction sample of the current block based on the intra prediction mode and the ISP related information.
[10] Согласно еще одному другому варианту осуществления этого раскрытия сущности, предоставляется способ кодирования изображений, осуществляемый посредством оборудования кодирования. Способ включает в себя извлечение режима внутреннего прогнозирования текущего блока, извлечение связанной с режимом на основе внутренних субсегментов (ISP) информации для текущего блока на основе размера текущего блока и максимального размера блока преобразования, формирование прогнозной выборки текущего блока на основе режима внутреннего прогнозирования и связанной с ISP информации, формирование остаточной выборки на основе прогнозной выборки и кодирование информации изображений, включающей в себя информацию режима прогнозирования относительно режима внутреннего прогнозирования, связанную с ISP информацию и информацию относительно остаточной выборки.[10] According to yet another embodiment of this disclosure, an image encoding method is provided by encoding equipment. The method includes extracting the intra prediction mode of the current block, extracting mode-related information based on intra-segment (ISP) information for the current block based on the size of the current block and the maximum size of the transform block, generating a prediction sample of the current block based on the intra prediction mode and associated with ISP information, generating a residual sample based on the prediction sample, and encoding image information including prediction mode information about the intra prediction mode, ISP related information, and information about the residual sample.
[11] Согласно еще одному другому варианту осуществления этого раскрытия сущности, предоставляется оборудование кодирования для выполнения кодирования изображений. Оборудование кодирования включает в себя модуль прогнозирования, выполненный с возможностью извлекать режим внутреннего прогнозирования текущего блока, извлекать связанную с режимом на основе внутренних субсегментов (ISP) информацию для текущего блока на основе размера текущего блока и максимального размера блока преобразования, формировать прогнозную выборку текущего блока на основе режима внутреннего прогнозирования и связанной с ISP информации, вычитатель, выполненный с возможностью формировать остаточную выборку на основе прогнозной выборки, и энтропийный кодер, выполненный с возможностью кодировать информацию изображений, включающую в себя информацию режима прогнозирования относительно режима внутреннего прогнозирования, связанную с ISP информацию и информацию относительно остаточной выборки.[11] According to yet another embodiment of this disclosure, coding equipment is provided to perform image coding. The encoding equipment includes a prediction module configured to extract the intra prediction mode of the current block, extract mode-related information on the basis of internal sub-segments (ISP) for the current block based on the size of the current block and the maximum size of the transformation block, generate a prediction sample of the current block on based on the intra prediction mode and ISP related information, a subtractor configured to generate a residual sample based on the prediction sample, and an entropy encoder configured to encode image information including prediction mode information regarding the intra prediction mode, ISP related information, and information about the residual sample.
[12] Согласно еще одному другому варианту осуществления этого раскрытия сущности, предоставляется машиночитаемый носитель хранения данных. Машиночитаемый носитель хранения данных сохраняет поток битов, сформированный посредством способа кодирования.[12] According to yet another embodiment of this disclosure, a computer-readable storage medium is provided. The computer-readable storage medium stores the bit stream generated by the encoding method.
[13] Согласно этому документу, эффективность сжатия изображений может повышаться.[13] According to this document, the efficiency of image compression can be improved.
[14] Согласно этому документу, может предоставляться эффективное внутреннее прогнозирование.[14] According to this document, efficient internal prediction can be provided.
[15] Согласно этому документу, может разрешаться проблема, вызываемая посредством применения режима на основе внутренних субсегментов (ISP) к блоку, большему размера виртуальной конвейерной единицы данных (VPDU).[15] According to this document, a problem caused by applying an intra-sub-segment (ISP) based mode to a block larger than the size of a Virtual Pipeline Data Unit (VPDU) can be resolved.
[16] Согласно этому документу, можно предотвращать неправильно совмещенную VPDU-обработку, вызываемую посредством применения ISP к блоку, большему VPDU-размера.[16] According to this document, misaligned VPDU processing caused by applying an ISP to a block larger than the VPDU size can be prevented.
[17] Согласно этому документу, можно предоставлять ISP с учетом конвейера декодирования для аппаратной реализации.[17] According to this document, it is possible to provide an ISP considering a decoding pipeline for a hardware implementation.
Краткое описание чертежейBrief description of the drawings
[18] Фиг. 1 схематично иллюстрирует систему кодирования видео/изображений, к которой может применяться этот документ.[18] FIG. 1 schematically illustrates a video/image coding system to which this document may apply.
[19] Фиг. 2 является принципиальной схемой, иллюстрирующей конфигурацию оборудования кодирования видео/изображений, к которому может применяться настоящий документ.[19] FIG. 2 is a schematic diagram illustrating the configuration of video/image coding equipment to which this document may apply.
[20] Фиг. 3 является принципиальной схемой, иллюстрирующей конфигурацию оборудования декодирования видео/изображений, к которому может применяться настоящий документ.[20] FIG. 3 is a circuit diagram illustrating the configuration of video/image decoding equipment to which this document may be applied.
[21] Фиг. 4 иллюстрирует пример 67 режимов внутреннего прогнозирования.[21] FIG. 4 illustrates an example of 67 intra prediction modes.
[22] Фиг. 5 показывает пример сегментации на блоки согласно ISP при внутреннем прогнозировании.[22] FIG. 5 shows an example of block segmentation according to ISP in intra prediction.
[23] Фиг. 6 показывает другой пример сегментации на блоки согласно ISP при внутреннем прогнозировании.[23] FIG. 6 shows another example of block segmentation according to ISP in intra prediction.
[24] Фиг. 7 показывает пример TT- и BT-сегментации, которая не разрешается с учетом VPDU-размера.[24] FIG. 7 shows an example of TT and BT segmentation that is not allowed considering the VPDU size.
[25] Фиг. 8 показывает пример конвейера HW-обработки.[25] FIG. 8 shows an example of an HW processing pipeline.
[26] Фиг. 9 показывает пример конвейера, когда ISP применяется к блоку, большему VPDU-размера.[26] FIG. 9 shows an example of a pipeline when the ISP is applied to a block larger than the VPDU-size.
[27] Фиг. 10 схематично иллюстрирует способ кодирования изображений посредством оборудования кодирования согласно настоящему документу.[27] FIG. 10 schematically illustrates an image encoding method by encoding equipment according to the present document.
[28] Фиг. 11 схематично иллюстрирует способ декодирования изображений посредством оборудования декодирования согласно настоящему документу.[28] FIG. 11 schematically illustrates the image decoding method by the decoding equipment according to the present document.
[29] Фиг. 12 является схемой, иллюстрирующей структуру системы потоковой передачи контента.[29] FIG. 12 is a diagram illustrating the structure of a content streaming system.
Подробное описание вариантов осуществленияDetailed description of embodiments
[30] Этот документ может модифицироваться в различных формах, и его конкретные варианты осуществления описываются и показываются на чертежах. Тем не менее, варианты осуществления не предназначены для ограничения этого документа. Термины, используемые в нижеприведенном описании, используются для того, чтобы просто описывать конкретные варианты осуществления, но не имеют намерение ограничивать этот документ. Выражение единственного числа включает в себя выражение множественного числа до этих пор, до тех пор, пока они четко трактуются по-разному. Такие термины, как "включать в себя" и "иметь", предназначены для того, чтобы указывать то, что существуют признаки, числа, этапы, операции, элементы, компоненты либо комбинации вышеозначенного, используемые в нижеприведенном описании, и в силу этого следует понимать, что не исключается возможность наличия или добавления одного или более других признаков, чисел, этапов, операций, элементов, компонентов либо комбинаций вышеозначенного.[30] This document may be modified in various forms, and specific embodiments thereof are described and shown in the drawings. However, the embodiments are not intended to limit this document. The terms used in the description below are used to simply describe specific embodiments, but are not intended to limit this document. The expression of the singular includes the expression of the plural as long as they are clearly treated differently. Terms such as "include" and "have" are intended to indicate that there are features, numbers, steps, operations, elements, components, or combinations of the foregoing used in the description below, and as such should be understood , which does not exclude the possibility of the presence or addition of one or more other features, numbers, steps, operations, elements, components, or combinations of the above.
[31] Между тем, каждый из компонентов, на чертежах, описанных в этом документе, показывается независимо для удобства описания относительно различных характеристических функций и не означает то, что компоненты реализуются в отдельных аппаратных средствах или в отдельном программном обеспечении. Например, две или более из каждой конфигурации могут комбинироваться, чтобы формировать одну конфигурацию, или одна конфигурация может разделяться на множество конфигураций. Варианты осуществления, в которых каждая конфигурация интегрируется и/или отделяется, также включаются в объем этого документа без отступления от сущности этого документа.[31] Meanwhile, each of the components, in the drawings described in this document, is shown independently for convenience of description with respect to different characteristic functions, and does not mean that the components are implemented in separate hardware or in separate software. For example, two or more of each configuration may be combined to form one configuration, or one configuration may be split into multiple configurations. Embodiments in which each configuration is integrated and/or separated are also included within the scope of this document without departing from the spirit of this document.
[32] Далее подробно описываются примерные варианты осуществления этого документа со ссылками на прилагаемые чертежи. В дальнейшем в этом документе, идентичные ссылки с номерами используются для идентичных компонентов на чертежах, и избыточное описание идентичных компонентов может опускаться.[32] The following describes in detail exemplary embodiments of this document with reference to the accompanying drawings. Hereinafter in this document, identical numeral references are used for identical components in the drawings, and redundant description of identical components may be omitted.
[33] Фиг. 1 схематично иллюстрирует систему кодирования видео/изображений, к которой может применяться этот документ.[33] FIG. 1 schematically illustrates a video/image coding system to which this document may apply.
[34] Ссылаясь на фиг. 1, система кодирования видео/изображений может включать в себя первое оборудование (исходное устройство) и второе оборудование (приемное устройство). Исходное устройство может доставлять кодированную информацию или данные видео/изображений в форме файла или потоковой передачи в приемное устройство через цифровой носитель хранения данных или сеть.[34] Referring to FIG. 1, the video/image coding system may include first equipment (source device) and second equipment (receiver device). The source device may deliver the encoded information or video/image data in file or streaming form to the destination device via a digital storage medium or a network.
[35] Исходное устройство может включать в себя видеоисточник, оборудование кодирования и передатчик. Приемное устройство может включать в себя приемник, оборудование декодирования и модуль рендеринга. Оборудование кодирования может называться "оборудованием кодирования видео/изображений", и оборудование декодирования может называться "оборудованием декодирования видео/изображений". Передатчик может включаться в оборудование кодирования. Приемник может включаться в оборудование декодирования. Модуль рендеринга может включать в себя дисплей, и дисплей может быть сконфигурирован как отдельное устройство или внешний компонент.[35] The source device may include a video source, encoding equipment, and a transmitter. The receiver may include a receiver, decoding hardware, and a renderer. The encoding equipment may be referred to as "video/image coding equipment", and the decoding equipment may be referred to as "video/image decoding equipment". The transmitter may be included in the encoding equipment. The receiver may be included in the decoding equipment. The renderer may include a display, and the display may be configured as a separate device or an external component.
[36] Видеоисточник может получать видео/изображение посредством процесса захвата, синтезирования или формирования видео/изображения. Видеоисточник может включать в себя устройство захвата видео/изображений и/или устройство формирования видео/изображений. Устройство захвата видео/изображений может включать в себя, например, одну или более камер, архивы видео/изображений, включающие в себя ранее захваченные видео/изображения, и т.п. Устройство формирования видео/изображений может включать в себя, например, компьютеры, планшетные компьютеры и смартфоны и может (электронно) формировать видео/изображения. Например, виртуальное видео/изображение может формироваться через компьютер и т.п. В этом случае, процесс захвата видео/изображений может заменяться посредством процесса формирования связанных данных.[36] A video source may acquire a video/image through a process of capturing, synthesizing, or generating a video/image. The video source may include a video/image capture device and/or a video/image generation device. The video/image capture device may include, for example, one or more cameras, video/image archives including previously captured videos/images, and the like. The video/image generation apparatus may include, for example, computers, tablet computers, and smartphones, and may (electronically) generate video/images. For example, the virtual video/image may be generated via a computer or the like. In this case, the video/image capturing process may be replaced by a linked data generation process.
[37] Оборудование кодирования может кодировать входное видео/изображение. Оборудование кодирования может выполнять последовательность процедур, таких как прогнозирование, преобразование и квантование, для эффективности сжатия и кодирования. Кодированные данные (кодированная информация видео/изображений) могут выводиться в форме потока битов.[37] The encoding equipment may encode the input video/image. The encoding equipment may perform a series of procedures such as prediction, transformation, and quantization for compression and encoding efficiency. Encoded data (encoded video/picture information) may be output in the form of a bitstream.
[38] Передатчик может передавать информацию или данные кодированных изображений/изображений, выводимую в форме потока битов, в приемник приемного устройства через цифровой носитель хранения данных или сеть в форме файла или потоковой передачи. Цифровой носитель хранения данных может включать в себя различные носители хранения данных, такие как USB, SD, CD, DVD, Blu-Ray, HDD, SSD и т.п. Передатчик может включать в себя элемент для формирования мультимедийного файла через предварительно определенный формат файлов и может включать в себя элемент для передачи через широковещательную передачу/сеть связи. Приемник может принимать/извлекать поток битов и передавать принимаемый поток битов в оборудование декодирования.[38] The transmitter may transmit information or coded image/image data output in the form of a bit stream to the receiver of the receiving device via a digital storage medium or a network in the form of a file or streaming. The digital storage medium may include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, SSD, and the like. The transmitter may include an element for generating a media file via a predetermined file format and may include an element for transmission via a broadcast/communication network. The receiver may receive/retrieve the bitstream and transmit the received bitstream to the decoding equipment.
[39] Оборудование декодирования может декодировать видео/изображение посредством выполнения последовательности процедур, таких как деквантование, обратное преобразование и прогнозирование, соответствующих работе оборудования кодирования.[39] The decoding equipment can decode the video/image by performing a sequence of procedures such as dequantization, inverse transformation, and prediction corresponding to the operation of the encoding equipment.
[40] Модуль рендеринга может подготавливать посредством рендеринга декодированное видео/изображение. Подготовленное посредством рендеринга видео/изображение может отображаться через дисплей.[40] The rendering module may prepare a decoded video/image by rendering. The rendered video/image can be displayed through the display.
[41] Этот документ относится к кодированию видео/изображений. Например, способы/варианты осуществления, раскрытые в этом документе, могут применяться к способу, раскрытому в стандарте универсального кодирования видео (VVC), стандарте EVC (фундаментального кодирования видео), стандарте AOMedia Video 1 (AV1), стандарте второго поколения кодирования аудио/видео (AVS2) или стандарте кодирования видео/изображений следующего поколения (например, H.267 или H.268 и т.д.).[41] This document relates to video/image coding. For example, the methods/embodiments disclosed in this document may be applied to the method disclosed in the Universal Video Coding (VVC) standard, the EVC (Fundamental Video Coding) standard, the AOMedia Video 1 (AV1) standard, the second generation audio/video coding standard. (AVS2) or next generation video/image coding standard (eg H.267 or H.268 etc.).
[42] Этот документ представляет различные варианты осуществления кодирования видео/изображений, и варианты осуществления могут выполняться в комбинации между собой, если не указано иное.[42] This document presents various embodiments of video/image coding, and the embodiments may be performed in combination with each other unless otherwise noted.
[43] В этом документе, видео может означать последовательность изображений во времени. Кадр, в общем, означает единицу, представляющую одно изображение в конкретной временной зоне, и срез/плитка представляет собой единицу, составляющую часть кадра при кодировании. Срез/плитка может включать в себя одну или более единиц дерева кодирования (CTU). Один кадр может состоять из одного или более срезов/плиток. Один кадр может состоять из одной или более групп плиток. Одна группа плиток может включать в себя одну или более плиток. Кирпич может представлять прямоугольную область CTU-строк в плитке в кадре. Плитка может сегментироваться на несколько кирпичей, каждый из которых состоит из одной или более CTU-строк в плитке. Плитка, которая не сегментируется на несколько кирпичей, также может называться "кирпичом". Кирпичное сканирование представляет собой конкретное последовательное упорядочение CTU, сегментирующих кадр, при котором CTU упорядочиваются последовательно в растровом CTU-сканировании в кирпиче, кирпичи внутри плитки упорядочиваются последовательно в растровом сканировании кирпичей плитки, и плитки в кадре упорядочиваются последовательно в растровом сканировании плиток кадра. Плитка представляет собой прямоугольную область CTU в конкретном столбце плиток и конкретной строке плиток в кадре. Столбец плиток представляет собой прямоугольную область CTU, имеющих высоту, равную высоте кадра, и ширину, указываемую посредством синтаксических элементов в наборе параметров кадра. Строка плиток представляет собой прямоугольную область CTU, имеющих высоту, указываемую посредством синтаксических элементов в наборе параметров кадра, и ширину, равную ширине кадра. Сканирование плиток представляет собой конкретное последовательное упорядочение CTU, сегментирующих кадр, при котором CTU упорядочиваются последовательно при растровом сканировании CTU в плитке, тогда как плитки в кадре упорядочиваются последовательно при растровом сканировании плиток кадра. Срез включает в себя собой целое число кирпичей кадра, которые могут содержаться исключительно в одной NAL-единице. Срез может состоять либо из определенного числа полных плиток, либо только из жесткой последовательности полных кирпичей одной плитки. Группы плиток и срезы могут использоваться взаимозаменяемо в этом документе. Например, в этом документе, группа плиток/заголовок группы плиток может называться "срезом/заголовком среза".[43] In this document, video can mean a sequence of images over time. A frame generally means a unit representing one picture in a particular time zone, and a slice/tile is a unit that is part of a frame when encoded. A slice/tile may include one or more coding tree units (CTUs). One frame may consist of one or more slices/tiles. One frame may consist of one or more tile groups. One group of tiles may include one or more tiles. A brick may represent a rectangular area of CTU rows in a tile in a frame. A tile can be segmented into multiple bricks, each of which consists of one or more CTU rows in the tile. A tile that does not segment into multiple bricks may also be referred to as a "brick". Brickscan is a particular sequential ordering of CTUs segmenting a frame, where CTUs are ordered sequentially in a raster CTU scan in a brick, bricks within a tile are ordered sequentially in a raster scan of bricks of a tile, and tiles in a frame are ordered sequentially in a raster scan of the tiles of the frame. A tile is a rectangular area of a CTU in a particular column of tiles and a particular row of tiles in a frame. The tile column is a rectangular area of CTUs having a height equal to the height of the frame and a width specified by syntax elements in the frame parameter set. The row of tiles is a rectangular area of CTUs having a height indicated by syntax elements in the frame parameter set and a width equal to the frame width. Tile scanning is a particular sequential ordering of CTUs segmenting a frame, whereby CTUs are ordered sequentially in a raster scan of the CTUs in a tile, while tiles in a frame are ordered sequentially in a raster scan of the frame's tiles. A slice includes an integer number of frame bricks that can only be contained in one NAL unit. A slice can either consist of a certain number of full tiles, or only a rigid sequence of full bricks of a single tile. Tile groups and slices can be used interchangeably throughout this document. For example, in this document, a tile group/tile group header may be referred to as a "slice/slice header".
[44] Пиксел или пел может означать наименьшую единицу, составляющую один кадр (или изображение). Кроме того, "выборка" может использоваться в качестве термина, соответствующего пикселу. Выборка, в общем, может представлять пиксел или значение пиксела и может представлять только пиксел/пиксельное значение компонента сигнала яркости либо только пиксел/пиксельное значение компонента сигнала цветности.[44] A pixel or pel can mean the smallest unit that makes up one frame (or image). In addition, "sample" can be used as a term corresponding to a pixel. A sample can generally represent a pixel or a pixel value, and can represent only a pixel/pixel value of the luma component, or only a pixel/pixel value of the chroma component.
[45] Единица может представлять базовую единицу обработки изображений. Единица может включать в себя, по меньшей мере, одно из конкретной области кадра и информации, связанной с областью. Одна единица может включать в себя один блок сигналов яркости и два блока сигналов цветности (например, Cb, Cr). Единица может использоваться взаимозаменяемо с такими терминами, как блок или зона в некоторых случаях. В общем случае, блок MxN может включать в себя выборки (или массивы выборок) либо набор (или массив) коэффициентов преобразования из M столбцов и N строк.[45] The unit may represent a basic image processing unit. The unit may include at least one of a specific area of the frame and information associated with the area. One unit may include one luminance block and two chrominance blocks (eg, Cb, Cr). The unit can be used interchangeably with terms such as block or zone in some cases. In general, an MxN block may include samples (or arrays of samples) or a set (or array) of transform coefficients of M columns and N rows.
[46] В этом документе, термин "/" и "," должен интерпретироваться как указывающий "и/или". Например, выражение "A/B" может означать "A и/или B". Дополнительно, "A, B" может означать "A и/или B". Дополнительно, "A/B/C" может означать "по меньшей мере, одно из A, B и/или C". Кроме того, "A/B/C" может означать "по меньшей мере, одно из A, B и/или C".[46] In this document, the terms "/" and "," are to be interpreted as indicating "and/or". For example, the expression "A/B" can mean "A and/or B". Additionally, "A, B" may mean "A and/or B". Additionally, "A/B/C" may mean "at least one of A, B and/or C". In addition, "A/B/C" may mean "at least one of A, B and/or C".
[47] Дополнительно, в документе, термин "или" должен интерпретироваться как указывающий "и/или". Например, выражение "A или B" может содержать 1) только A, 2) только B и/или 3) как A, так и B. Другими словами, термин "или" в этом документе должен интерпретироваться как указывающий "дополнительно или альтернативно".[47] Additionally, in the document, the term "or" should be interpreted as indicating "and/or". For example, the expression "A or B" may contain 1) only A, 2) only B, and/or 3) both A and B. In other words, the term "or" in this document is to be interpreted as indicating "in addition or alternatively" .
[48] Фиг. 2 является принципиальной схемой, иллюстрирующей конфигурацию оборудования кодирования видео/изображений, к которому может применяться настоящий документ. В дальнейшем в этом документе, оборудование кодирования видео может включать в себя оборудование кодирования изображений.[48] FIG. 2 is a schematic diagram illustrating the configuration of video/image coding equipment to which this document may apply. Hereinafter, video encoding equipment may include image encoding equipment.
[49] Ссылаясь на фиг. 2, оборудование 200 кодирования включает в себя модуль 210 сегментации изображений, модуль 220 прогнозирования, остаточный процессор 230 и энтропийный кодер 240, сумматор 250, фильтр 260 и запоминающее устройство 270. Модуль 220 прогнозирования может включать в себя модуль 221 взаимного прогнозирования и модуль 222 внутреннего прогнозирования. Остаточный процессор 230 может включать в себя преобразователь 232, квантователь 233, деквантователь 234 и обратный преобразователь 235. Остаточный процессор 230 дополнительно может включать в себя вычитатель 231. Сумматор 250 может называться "модулем восстановления" или "формирователем восстановленных блоков". Модуль 210 сегментации изображений, модуль 220 прогнозирования, остаточный процессор 230, энтропийный кодер 240, сумматор 250 и фильтр 260 могут быть сконфигурированы, по меньшей мере, посредством одного аппаратного компонента (например, набора микросхем или процессора кодера) согласно варианту осуществления. Помимо этого, запоминающее устройство 270 может включать в себя буфер декодированных кадров (DPB) или может быть сконфигурировано посредством цифрового носителя хранения данных. Аппаратный компонент дополнительно может включать в себя запоминающее устройство 270 в качестве внутреннего/внешнего компонента.[49] Referring to FIG. 2, the
[50] Модуль 210 сегментации изображений может сегментировать входное изображение (либо кадр или кинокадр), вводимое в оборудование 200 кодирования, на один более блоков обработки. Например, блок обработки может называться "единицей кодирования (CU)". В этом случае, единица кодирования может рекурсивно сегментироваться согласно структуре в виде дерева квадрантов, двоичного дерева и троичного дерева (QTBTTT) из единицы дерева кодирования (CTU) или наибольшей единицы кодирования (LCU). Например, одна единица кодирования может сегментироваться на множество единиц кодирования большей глубины на основе структуры в виде дерева квадрантов, структуры в виде двоичного дерева и/или троичной структуры. В этом случае, например, сначала может применяться структура в виде дерева квадрантов, и впоследствии может применяться структура в виде двоичного дерева и троичная структура. Альтернативно, сначала может применяться структура в виде двоичного дерева. Процедура кодирования согласно вариантам осуществления может выполняться на основе конечной единицы кодирования, которая более не сегментируется. В этом случае, наибольшая единица кодирования может использоваться в качестве конечной единицы кодирования на основе эффективности кодирования согласно характеристикам изображений, или при необходимости, единица кодирования может рекурсивно сегментироваться на единицы кодирования большей глубины, и единица кодирования, имеющая оптимальный размер, может использоваться в качестве конечной единицы кодирования. Здесь, процедура кодирования может включать в себя процедуру прогнозирования, преобразования и восстановления, которая описывается ниже. В качестве другого примера, блок обработки дополнительно может включать в себя единицу прогнозирования (PU) или единицу преобразования (TU). В этом случае, единица прогнозирования и единица преобразования могут разбиваться или сегментироваться из вышеуказанной конечной единицы кодирования. Единица прогнозирования может представлять собой единицу выборочного прогнозирования, и единица преобразования может представлять собой единицу для извлечения коэффициента преобразования и/или единицу для извлечения остаточного сигнала из коэффициента преобразования.[50] The image segmentation module 210 may segment the input image (either a frame or a movie frame) input to the
[51] Единица может использоваться взаимозаменяемо с такими терминами, как блок или зона в некоторых случаях. В общем случае, блок MxN может представлять набор выборок или коэффициентов преобразования, состоящих из M столбцов и N строк. Выборка, в общем, может представлять пиксел или значение пиксела, может представлять только пиксел/пиксельное значение компонента сигнала яркости либо представлять только пиксел/пиксельное значение компонента сигнала цветности. Выборка может использоваться в качестве термина, соответствующего одному кадру (или изображению) для пиксела или пела.[51] The unit can be used interchangeably with terms such as block or zone in some cases. In general, an MxN block may represent a set of samples or transform coefficients consisting of M columns and N rows. The sample, in general, may represent a pixel or pixel value, may represent only a pixel/pixel value of the luminance signal component, or represent only a pixel/pixel value of the chrominance signal component. Sampling can be used as a term corresponding to one frame (or image) for a pixel or pel.
[52] В оборудовании 200 кодирования, прогнозный сигнал (прогнозированный блок, массив прогнозных выборок), выводимый из модуля 221 взаимного прогнозирования или модуля 222 внутреннего прогнозирования, вычитается из сигнала входного изображения (исходного блока, массива исходных выборок), чтобы формировать остаточный сигнал (остаточный блок, массив остаточных выборок), и сформированный остаточный сигнал передается в преобразователь 232. В этом случае, как показано, модуль для вычитания прогнозного сигнала (прогнозированного блока, массива прогнозных выборок) из сигнала входного изображения (исходного блока, массива исходных выборок) в кодере 200 может называться "вычитателем 231". Модуль прогнозирования может выполнять прогнозирование для блока, который должен обрабатываться (в дальнейшем в этом документе, называемого "текущим блоком"), и формировать прогнозированный блок, включающий в себя прогнозные выборки для текущего блока. Модуль прогнозирования может определять то, применяется внутреннее прогнозирование или взаимное прогнозирование, на основе текущего блока или CU. Как описано ниже в описании каждого режима прогнозирования, модуль прогнозирования может формировать различные виды информации, связанной с прогнозированием, к примеру, информацию режима прогнозирования, и передавать сформированную информацию в энтропийный кодер 240. Информация относительно прогнозирования может кодироваться в энтропийном кодере 240 и выводиться в форме потока битов.[52] In the
[53] Модуль 222 внутреннего прогнозирования может прогнозировать текущий блок посредством ссылки на выборки в текущем кадре. Выборки для ссылки могут быть расположены в окружении текущего блока или могут быть расположены с разнесением согласно режиму прогнозирования. При внутреннем прогнозировании, режимы прогнозирования могут включать в себя множество ненаправленных режимов и множество направленных режимов. Ненаправленный режим может включать в себя, например, DC-режим и планарный режим. Направленный режим может включать в себя, например, 33 режима направленного прогнозирования или 65 режимов направленного прогнозирования согласно степени детальности направления прогнозирования. Тем не менее, это представляет собой просто пример, большее или меньшее число режимов направленного прогнозирования может использоваться в зависимости от настройки. Модуль 222 внутреннего прогнозирования может определять режим прогнозирования, применяемый к текущему блоку, посредством использования режима прогнозирования, применяемого к соседнему блоку.[53] The intra prediction module 222 may predict the current block by referring to the samples in the current frame. The samples for the link may be located in the surroundings of the current block, or may be spaced apart according to the prediction mode. In intra prediction, the prediction modes may include a plurality of non-directional modes and a plurality of directional modes. The non-directional mode may include, for example, a DC mode and a planar mode. The directional mode may include, for example, 33 directional prediction modes or 65 directional prediction modes according to the granularity of the prediction direction. However, this is just an example, more or less directional prediction modes may be used depending on the setting. The intra prediction unit 222 may determine the prediction mode applied to the current block by using the prediction mode applied to the neighboring block.
[54] Модуль 221 взаимного прогнозирования может извлекать прогнозированный блок для текущего блока на основе опорного блока (массива опорных выборок), указываемого посредством вектора движения для опорного кадра. Здесь, чтобы уменьшать объем информации движения, передаваемой в режиме взаимного прогнозирования, информация движения может прогнозироваться в единицах блоков, субблоков или выборок на основе корреляции информации движения между соседним блоком и текущим блоком. Информация движения может включать в себя вектор движения и индекс опорного кадра. Информация движения дополнительно может включать в себя информацию направления взаимного прогнозирования (L0-прогнозирование, L1-прогнозирование, бипрогнозирование и т.д.). В случае взаимного прогнозирования, соседний блок может включать в себя пространственный соседний блок, присутствующий в текущем кадре, и временной соседний блок, присутствующий в опорном кадре. Опорный кадр, включающий в себя опорный блок, и опорный кадр, включающий в себя временной соседний блок, могут быть идентичными или отличающимися. Временной соседний блок может называться "совместно размещенным опорным блоком", "совместно размещенной CU (colCU)" и т.п., и опорный кадр, включающий в себя временной соседний блок, может называться "совместно размещенным кадром (colPic)". Например, модуль 221 взаимного прогнозирования может конфигурировать список возможных вариантов информации движения на основе соседних блоков и формировать информацию, указывающую то, какой возможный вариант используется для того, чтобы извлекать вектор движения и/или индекс опорного кадра текущего блока. Взаимное прогнозирование может выполняться на основе различных режимов прогнозирования. Например, в случае режима пропуска и режима объединения, модуль 221 взаимного прогнозирования может использовать информацию движения соседнего блока в качестве информации движения текущего блока. В режиме пропуска, в отличие от режима объединения, остаточный сигнал может не передаваться. В случае режима прогнозирования векторов движения (MVP), вектор движения соседнего блока может использоваться в качестве предиктора вектора движения, и вектор движения текущего блока может указываться посредством передачи в служебных сигналах разности векторов движения.[54] The inter-prediction unit 221 may derive a predicted block for the current block based on a reference block (reference sample array) indicated by a motion vector for the reference frame. Here, in order to reduce the amount of motion information transmitted in the inter-prediction mode, motion information may be predicted in units of blocks, sub-blocks, or samples based on the correlation of motion information between an adjacent block and a current block. The motion information may include a motion vector and a reference frame index. The motion information may further include inter-prediction direction information (L0 prediction, L1 prediction, bi-prediction, etc.). In the case of inter prediction, an adjacent block may include a spatial adjacent block present in the current frame and a temporal adjacent block present in the reference frame. The reference frame including the reference block and the reference frame including the temporal neighbor block may be the same or different. The temporal neighbor block may be referred to as a "collocated reference block", "collocated CU (colCU)" or the like, and a reference frame including the temporal neighbor block may be referred to as a "collocated frame (colPic)". For example, the inter prediction unit 221 may configure a motion information candidate list based on neighboring blocks, and generate information indicating which candidate is used to derive the motion vector and/or the reference frame index of the current block. Inter prediction may be performed based on various prediction modes. For example, in the case of the skip mode and the join mode, the inter prediction unit 221 may use the neighboring block motion information as the current block motion information. In the skip mode, unlike the combine mode, the residual signal may not be transmitted. In the case of a motion vector prediction (MVP) mode, the motion vector of an adjacent block may be used as a motion vector predictor, and the motion vector of the current block may be indicated by signaling a motion vector difference.
[55] Модуль 220 прогнозирования может формировать прогнозный сигнал на основе различных способов прогнозирования, описанных ниже. Например, модуль прогнозирования может не только применять внутреннее прогнозирование или взаимное прогнозирование для того, чтобы прогнозировать один блок, но также и одновременно применять как внутренние прогнозирование, так и взаимное прогнозирование. Это может называться "комбинированным взаимным и внутренним прогнозированием (CIIP)". Помимо этого, модуль прогнозирования может быть основан на режиме прогнозирования на основе внутриблочного копирования (IBC) либо на палитровом режиме для прогнозирования блока. Режим IBC-прогнозирования или палитровый режим может использоваться для кодирования изображений/видео контента игры и т.п., например, для кодирования экранного контента (SCC). IBC по существу выполняет прогнозирование в текущем кадре, но может выполняться аналогично взаимному прогнозированию, в котором опорный блок извлекается в текущем кадре. Таким образом, IBC может использовать, по меньшей мере, одну из технологий взаимного прогнозирования, описанных в этом документе. Палитровый режим может рассматриваться как пример внутреннего кодирования или внутреннего прогнозирования. Когда палитровый режим применяется, выборочное значение в кадре может передаваться в служебных сигналах на основе информации относительно таблицы палитр и индекса палитры.[55] The
[56] Прогнозный сигнал, сформированный посредством модуля прогнозирования (включающего в себя модуль 221 взаимного прогнозирования и/или модуль 222 внутреннего прогнозирования), может использоваться для того, чтобы формировать восстановленный сигнал или формировать остаточный сигнал. Преобразователь 232 может формировать коэффициенты преобразования посредством применения технологии преобразования к остаточному сигналу. Например, технология преобразования может включать в себя, по меньшей мере, одно из дискретного косинусного преобразования (DCT), дискретного синусного преобразования (DST), преобразования Карунена-Лоэва (KLT), преобразования на основе графа (GBT) или условно нелинейного преобразования (CNT). Здесь, GBT означает преобразование, полученное из графа, когда информация взаимосвязи между пикселами представляется посредством графа. CNT означает преобразование, сформированное на основе прогнозного сигнала, сформированного с использованием всех ранее восстановленных пикселов. Помимо этого, процесс преобразования может применяться к квадратным пиксельным блокам, имеющим идентичный размер, или может применяться к блокам, имеющим переменный размер, а не квадратный.[56] The prediction signal generated by the prediction module (including the inter prediction module 221 and/or the intra prediction module 222) may be used to generate a recovered signal or generate a residual signal.
[57] Квантователь 233 может квантовать коэффициенты преобразования и передавать их в энтропийный кодер 240, и энтропийный кодер 240 может кодировать квантованный сигнал (информацию относительно квантованных коэффициентов преобразования) и выводить поток битов. Информация относительно квантованных коэффициентов преобразования может называться "остаточной информацией". Квантователь 233 может перекомпоновывать блочные квантованные коэффициенты преобразования в одномерную векторную форму на основе порядка сканирования коэффициентов и формировать информацию относительно квантованных коэффициентов преобразования на основе квантованных коэффициентов преобразования в одномерной векторной форме. Информация относительно коэффициентов преобразования может формироваться. Энтропийный кодер 240 может осуществлять различные способы кодирования, такие как, например, кодирование экспоненциальным кодом Голомба, контекстно-адаптивное кодирование переменной длины (CAVLC), контекстно-адаптивное двоичное арифметическое кодирование (CABAC) и т.п. Энтропийный кодер 240 может кодировать информацию, необходимую для восстановления видео/изображений, отличную от квантованных коэффициентов преобразования (например, значений синтаксических элементов и т.д.), вместе или отдельно. Кодированная информация (например, кодированная информация видео/изображений) может передаваться или сохраняться в единицах NAL (слоя абстрагирования от сети) в форме потока битов. Информация видео/изображений дополнительно может включать в себя информацию относительно различных наборов параметров, таких как набор параметров адаптации (APS), набор параметров кадра (PPS), набор параметров последовательности (SPS) или набор параметров видео (VPS). Помимо этого, информация видео/изображений дополнительно может включать в себя общую информацию ограничений. В этом документе, информация и/или синтаксические элементы, передаваемые/передаваемые в служебных сигналах из оборудования кодирования в оборудование декодирования, могут включаться в информацию видео/кадров. Информация видео/изображений может кодироваться через вышеописанную процедуру кодирования и включаться в поток битов. Поток битов может передаваться по сети или может сохраняться на цифровом носителе хранения данных. Сеть может включать в себя широковещательную сеть и/или сеть связи, и цифровой носитель хранения данных может включать в себя различные носители хранения данных, такие как, USB, SD, CD, DVD, Blu-Ray, HDD, SSD и т.п. Передатчик (не показан), передающий сигнал, выводимый из энтропийного кодера 240, и/или модуль хранения (не показан), сохраняющий сигнал, могут включаться в качестве внутреннего/внешнего элемента оборудования 200 кодирования, и альтернативно, передатчик может включаться в энтропийный кодер 240.[57] The
[58] Квантованные коэффициенты преобразования, выводимые из квантователя 233, могут использоваться для того, чтобы формировать прогнозный сигнал. Например, остаточный сигнал (остаточный блок или остаточные выборки) может восстанавливаться посредством применения деквантования и обратного преобразования к квантованным коэффициентам преобразования через деквантователь 234 и обратный преобразователь 235. Сумматор 250 суммирует восстановленный остаточный сигнал с прогнозным сигналом, выводимым из модуля 221 взаимного прогнозирования или модуля 222 внутреннего прогнозирования, чтобы формировать восстановленный сигнал (восстановленный кадр, восстановленный блок, массив восстановленных выборок). Если отсутствует остаток для блока, который должен обрабатываться, к примеру, в случае, в котором режим пропуска применяется, прогнозированный блок может использоваться в качестве восстановленного блока. Сумматор 250 может называться "модулем восстановления" или "формирователем восстановленных блоков". Сформированный восстановленный сигнал может использоваться для внутреннего прогнозирования следующего блока, который должен обрабатываться в текущем кадре, и может использоваться для взаимного прогнозирования следующего кадра посредством фильтрации, как описано ниже.[58] The quantized transform coefficients output from
[59] Между тем, преобразование сигнала яркости с масштабированием сигнала цветности (LMCS) может применяться во время кодирования и/или восстановления кадров.[59] Meanwhile, luminance chrominance scaling (LMCS) transform may be applied during encoding and/or frame reconstruction.
[60] Фильтр 260 может повышать субъективное/объективное качество изображений посредством применения фильтрации к восстановленному сигналу. Например, фильтр 260 может формировать модифицированный восстановленный кадр посредством применения различных способов фильтрации к восстановленному кадру и сохранять модифицированный восстановленный кадр в запоминающем устройстве 270, а именно, в DPB запоминающего устройства 270. Различные способы фильтрации могут включать в себя, например, фильтрацию для удаления блочности, дискретизированное адаптивное смещение, адаптивный контурный фильтр, билатеральный фильтр и т.п. Фильтр 260 может формировать различные виды информации, связанной с фильтрацией, и передавать сформированную информацию в энтропийный кодер 240, как описано ниже в описании каждого способа фильтрации. Информация, связанная с фильтрацией, может кодироваться посредством энтропийного кодера 240 и выводиться в форме потока битов.[60] The
[61] Модифицированный восстановленный кадр, передаваемый в запоминающее устройство 270, может использоваться в качестве опорного кадра в модуле 221 взаимного прогнозирования. Когда взаимное прогнозирование применяется посредством оборудования кодирования, рассогласование прогнозирования между оборудованием 200 кодирования и оборудованием декодирования может исключаться, и эффективность кодирования может повышаться.[61] The modified reconstructed frame transmitted to the
[62] DPB запоминающего устройства 270 может сохранять модифицированный восстановленный кадр для использования в качестве опорного кадра в модуле 221 взаимного прогнозирования. Запоминающее устройство 270 может сохранять информацию движения блока, из которой информация движения в текущем кадре извлекается (или кодируется), и/или информацию движения блоков в кадре, которые уже восстановлены. Сохраненная информация движения может передаваться в модуль 221 взаимного прогнозирования и использоваться в качестве информации движения пространственного соседнего блока или информации движения временного соседнего блока. Запоминающее устройство 270 может сохранять восстановленные выборки восстановленных блоков в текущем кадре и может передавать восстановленные выборки в модуль 222 внутреннего прогнозирования.[62] The DPB of the
[63] Фиг. 3 является принципиальной схемой, иллюстрирующей конфигурацию оборудования декодирования видео/изображений, к которому может применяться настоящий документ.[63] FIG. 3 is a circuit diagram illustrating the configuration of video/image decoding equipment to which this document may be applied.
[64] Ссылаясь на фиг. 3, оборудование 300 декодирования может включать в себя энтропийный декодер 310, остаточный процессор 320, модуль 330 прогнозирования, сумматор 340, фильтр 350 и запоминающее устройство 360. Модуль 330 прогнозирования может включать в себя модуль 331 взаимного прогнозирования и модуль 332 внутреннего прогнозирования. Остаточный процессор 320 может включать в себя деквантователь 321 и обратный преобразователь 321. Энтропийный декодер 310, остаточный процессор 320, модуль 330 прогнозирования, сумматор 340 и фильтр 350 могут быть сконфигурированы посредством аппаратного компонента (например, набора микросхем или процессора декодера) согласно варианту осуществления. Помимо этого, запоминающее устройство 360 может включать в себя буфер декодированных кадров (DPB) или может быть сконфигурировано посредством цифрового носителя хранения данных. Аппаратный компонент дополнительно может включать в себя запоминающее устройство 360 в качестве внутреннего/внешнего компонента.[64] Referring to FIG. 3, the
[65] Когда поток битов, включающий в себя информацию видео/изображений, вводится, оборудование 300 декодирования может восстанавливать изображение, соответствующее процессу, в котором информация видео/изображений обрабатывается в оборудовании кодирования по фиг. 2. Например, оборудование 300 декодирования может извлекать единицы/блоки на основе связанной с сегментацией на блоки информации, полученной из потока битов. Оборудование 300 декодирования может выполнять декодирование с использованием блока обработки, применяемого в оборудовании кодирования. Таким образом, блок обработки декодирования, например, может представлять собой единицу кодирования, и единица кодирования может сегментироваться согласно структуре в виде дерева квадрантов, структуре в виде двоичного дерева и/или структуре в виде троичного дерева из единицы дерева кодирования или наибольшей единицы кодирования. Одна или более единиц преобразования могут извлекаться из единицы кодирования. Восстановленный сигнал изображения, декодированный и выводимый посредством оборудования 300 декодирования, может воспроизводиться посредством оборудования воспроизведения.[65] When a bitstream including video/image information is input, the
[66] Оборудование 300 декодирования может принимать сигнал, выводимый из оборудования кодирования по фиг. 2 в форме потока битов, и принимаемый сигнал может декодироваться через энтропийный декодер 310. Например, энтропийный декодер 310 может синтаксически анализировать поток битов, чтобы извлекать информацию (например, информацию видео/изображений), необходимую для восстановления изображений (или восстановления кадров). Информация видео/изображений дополнительно может включать в себя информацию относительно различных наборов параметров, таких как набор параметров адаптации (APS), набор параметров кадра (PPS), набор параметров последовательности (SPS) или набор параметров видео (VPS). Помимо этого, информация видео/изображений дополнительно может включать в себя общую информацию ограничений. Оборудование декодирования дополнительно может декодировать кадр на основе информации относительно набора параметров и/или общей информации ограничений. Передаваемая в служебных сигналах/принимаемая информация и/или синтаксические элементы, описанные далее в этом документе, могут декодироваться, может декодировать процедуру декодирования и получаться из потока битов. Например, энтропийный декодер 310 декодирует информацию в потоке битов на основе способа кодирования, такого как кодирование экспоненциальным кодом Голомба, CAVLC или CABAC, и выходных синтаксических элементов, требуемых для восстановления изображений, и квантованных значений коэффициентов преобразования для остатка. Более конкретно, способ энтропийного CABAC-декодирования может принимать элемент разрешения, соответствующий каждому синтаксическому элементу в потоке битов, определять контекстную модель с использованием информации целевого синтаксического элемента декодирования, информации декодирования целевого блока декодирования или информации символа/элемента разрешения, декодированного на предыдущей стадии, и выполнять арифметическое декодирование для элемента разрешения посредством прогнозирования вероятности появления элемента разрешения согласно определенной контекстной модели и формировать символ, соответствующий значению каждого синтаксического элемента. В этом случае, способ энтропийного CABAC-декодирования может обновлять контекстную модель посредством использования информации декодированного символа/элемента разрешения для контекстной модели следующего символа/элемента разрешения после определения контекстной модели. Информация, связанная с прогнозированием, из информации, декодированной посредством энтропийного декодера 310, может предоставляться в модуль прогнозирования (модуль 332 взаимного прогнозирования и модуль 331 внутреннего прогнозирования), и остаточное значение, для которого энтропийное декодирование выполнено в энтропийном декодере 310, т.е. квантованные коэффициенты преобразования и связанная информация параметров, может вводиться в остаточный процессор 320. Остаточный процессор 320 может извлекать остаточный сигнал (остаточный блок, остаточные выборки, массив остаточных выборок). Помимо этого, информация относительно фильтрации из информации, декодированной посредством энтропийного декодера 310, может предоставляться в фильтр 350. Между тем, приемник (не показан) для приема сигнала, выводимого из оборудования кодирования, может быть дополнительно сконфигурирован в качестве внутреннего/внешнего элемента оборудования 300 декодирования, либо приемник может представлять собой компонент энтропийного декодера 310. Между тем, оборудование декодирования согласно этому документу может называться "оборудованием декодирования видео/изображений/кадров", и оборудование декодирования может классифицироваться на информационный декодер (декодер информации видео/изображений/кадров) и выборочный декодер (декодер выборок видео/изображений/кадров). Информационный декодер может включать в себя энтропийный декодер 310, и выборочный декодер может включать в себя, по меньшей мере, одно из деквантователя 321, обратного преобразователя 322, сумматора 340, фильтра 350, запоминающего устройства 360, модуля 332 взаимного прогнозирования и модуля 331 внутреннего прогнозирования.[66] The
[67] Деквантователь 321 может деквантовать квантованные коэффициенты преобразования и выводить коэффициенты преобразования. Деквантователь 321 может перекомпоновывать квантованные коэффициенты преобразования в форме двумерной блочной формы. В этом случае, перекомпоновка может выполняться на основе порядка сканирования коэффициентов, выполняемого в оборудовании кодирования. Деквантователь 321 может выполнять деквантование для квантованных коэффициентов преобразования посредством использования параметра квантования (например, информации размера шага квантования) и получать коэффициенты преобразования.[67] The
[68] Обратный преобразователь 322 обратно преобразует коэффициенты преобразования, чтобы получать остаточный сигнал (остаточный блок, массив остаточных выборок).[68] The
[69] Модуль 230 прогнозирования может выполнять прогнозирование для текущего блока и может формировать прогнозированный блок, включающий в себя прогнозные выборки для текущего блока. Модуль прогнозирования может определять то, применяется внутреннее прогнозирование или взаимное прогнозирование к текущему блоку, на основе информации относительно прогнозирования, выводимой из энтропийного декодера 310, и может определять конкретный режим внутреннего/взаимного прогнозирования.[69]
[70] Модуль 320 прогнозирования может формировать прогнозный сигнал на основе различных способов прогнозирования, описанных ниже. Например, модуль прогнозирования может не только применять внутреннее прогнозирование или взаимное прогнозирование для того, чтобы прогнозировать один блок, но также и одновременно применять внутреннее прогнозирование и взаимное прогнозирование. Это может называться "комбинированным взаимным и внутренним прогнозированием (CIIP)". Помимо этого, модуль прогнозирования может быть основан на режиме прогнозирования на основе внутриблочного копирования (IBC) либо на палитровом режиме для прогнозирования блока. Режим IBC-прогнозирования или палитровый режим может использоваться для кодирования изображений/видео контента игры и т.п., например, для кодирования экранного контента (SCC). IBC по существу выполняет прогнозирование в текущем кадре, но может выполняться аналогично взаимному прогнозированию, в котором опорный блок извлекается в текущем кадре. Таким образом, IBC может использовать, по меньшей мере, одну из технологий взаимного прогнозирования, описанных в этом документе. Палитровый режим может рассматриваться как пример внутреннего кодирования или внутреннего прогнозирования. Когда палитровый режим применяется, выборочное значение в кадре может передаваться в служебных сигналах на основе информации относительно таблицы палитр и индекса палитры.[70]
[71] Модуль 331 внутреннего прогнозирования может прогнозировать текущий блок посредством ссылки на выборки в текущем кадре. Выборки для ссылки могут быть расположены в окружении текущего блока или могут быть расположены с разнесением согласно режиму прогнозирования. При внутреннем прогнозировании, режимы прогнозирования могут включать в себя множество ненаправленных режимов и множество направленных режимов. Модуль 331 внутреннего прогнозирования может определять режим прогнозирования, применяемый к текущему блоку, посредством использования режима прогнозирования, применяемого к соседнему блоку. Модуль 331 внутреннего прогнозирования может прогнозировать текущий блок посредством ссылки на выборки в текущем кадре. Выборки для ссылки могут быть расположены в окружении текущего блока или могут быть расположены с разнесением согласно режиму прогнозирования. При внутреннем прогнозировании, режимы прогнозирования могут включать в себя множество ненаправленных режимов и множество направленных режимов. Модуль 331 внутреннего прогнозирования может определять режим прогнозирования, применяемый к текущему блоку, посредством использования режима прогнозирования, применяемого к соседнему блоку.[71] The
[72] Модуль 332 взаимного прогнозирования может извлекать прогнозированный блок для текущего блока на основе опорного блока (массива опорных выборок), указываемого посредством вектора движения для опорного кадра. В этом случае, чтобы уменьшать объем информации движения, передаваемой в режиме взаимного прогнозирования, информация движения может прогнозироваться в единицах блоков, субблоков или выборок на основе корреляции информации движения между соседним блоком и текущим блоком. Информация движения может включать в себя вектор движения и индекс опорного кадра. Информация движения дополнительно может включать в себя информацию направления взаимного прогнозирования (L0-прогнозирование, L1-прогнозирование, бипрогнозирование и т.д.). В случае взаимного прогнозирования, соседний блок может включать в себя пространственный соседний блок, присутствующий в текущем кадре, и временной соседний блок, присутствующий в опорном кадре. Например, модуль 332 взаимного прогнозирования может конфигурировать список возможных вариантов информации движения на основе соседних блоков и извлекать вектор движения текущего блока и/или индекс опорного кадра на основе принимаемой информации выбора возможных вариантов. Взаимное прогнозирование может выполняться на основе различных режимов прогнозирования, и информация относительно прогнозирования может включать в себя информацию, указывающую режим взаимного прогнозирования для текущего блока.[72] The
[73] Сумматор 340 может формировать восстановленный сигнал (восстановленный кадр, восстановленный блок, массив восстановленных выборок) посредством суммирования полученного остаточного сигнала с прогнозным сигналом (прогнозированным блоком, массивом прогнозированных выборок), выводимым из модуля прогнозирования (включающего в себя модуль 332 взаимного прогнозирования и/или модуль 331 внутреннего прогнозирования). Если отсутствует остаток для блока, который должен обрабатываться, к примеру, когда режим пропуска применяется, прогнозированный блок может использоваться в качестве восстановленного блока.[73] The
[74] Сумматор 340 может называться "модулем восстановления" или "формирователем восстановленных блоков". Сформированный восстановленный сигнал может использоваться для внутреннего прогнозирования следующего блока, который должен обрабатываться в текущем кадре, может выводиться посредством фильтрации, как описано ниже, или может использоваться для взаимного прогнозирования следующего кадра.[74] The
[75] Между тем, преобразование сигнала яркости с масштабированием сигнала цветности (LMCS) может применяться в процессе декодирования кадров.[75] Meanwhile, luminance chrominance scaling (LMCS) transform may be applied in the frame decoding process.
[76] Фильтр 350 может повышать субъективное/объективное качество изображений посредством применения фильтрации к восстановленному сигналу. Например, фильтр 350 может формировать модифицированный восстановленный кадр посредством применения различных способов фильтрации к восстановленному кадру и сохранять модифицированный восстановленный кадр в запоминающем устройстве 360, а именно, в DPB запоминающего устройства 360. Различные способы фильтрации могут включать в себя, например, фильтрацию для удаления блочности, дискретизированное адаптивное смещение, адаптивный контурный фильтр, билатеральный фильтр и т.п.[76] The
[77] (Модифицированный) восстановленный кадр, сохраненный в DPB запоминающего устройства 360, может использоваться в качестве опорного кадра в модуле 332 взаимного прогнозирования. Запоминающее устройство 360 может сохранять информацию движения блока, из которой информация движения в текущем кадре извлекается (или декодируется), и/или информацию движения блоков в кадре, которые уже восстановлены. Сохраненная информация движения может передаваться в модуль 260 взаимного прогнозирования, так что она используется в качестве информации движения пространственного соседнего блока или информации движения временного соседнего блока. Запоминающее устройство 360 может сохранять восстановленные выборки восстановленных блоков в текущем кадре и передавать восстановленные выборки в модуль 331 внутреннего прогнозирования.[77] The (modified) reconstructed frame stored in the DPB of the
[78] В настоящем раскрытии сущности, варианты осуществления, описанные в фильтре 260, модуле 221 взаимного прогнозирования и модуле 222 внутреннего прогнозирования оборудования 200 кодирования, могут быть идентичными или надлежащим образом применяться, так что они соответствуют фильтру 350, модулю 332 взаимного прогнозирования и модулю 331 внутреннего прогнозирования оборудования 300 декодирования. То же также может применяться к модулю 332 и модулю 331 внутреннего прогнозирования.[78] In the present disclosure, the embodiments described in the
[79] Как описано выше, при выполнении кодирования видео, прогнозирование выполняется для того, чтобы повышать эффективность сжатия. Прогнозированный блок, включающий в себя прогнозные выборки для текущего блока, т.е. целевого блока кодирования, может формироваться через прогнозирование. В этом случае, прогнозированный блок включает в себя прогнозные выборки в пространственную область (или пиксельную область). Прогнозированный блок идентично извлекается в оборудовании кодирования и оборудовании декодирования. Оборудование кодирования может повышать эффективность кодирования изображений посредством передачи в служебных сигналах, в оборудование декодирования, информации относительно остатка (остаточной информации) между исходным блоком, а не непосредственно исходным выборочным значением исходного блока, и прогнозированным блоком. Оборудование декодирования может извлекать остаточный блок, включающий в себя остаточные выборки на основе остаточной информации, может формировать восстановленный блок, включающий в себя восстановленные выборки, посредством суммирования остаточного блока с прогнозированным блоком и может формировать восстановленный кадр, включающий в себя восстановленные блоки.[79] As described above, when video encoding is performed, prediction is performed in order to improve compression efficiency. A predicted block including the predictive samples for the current block, i. e. target coding block may be generated through prediction. In this case, the prediction block includes prediction samples in the spatial domain (or pixel domain). The predicted block is identically retrieved at the encoding equipment and the decoding equipment. The coding equipment can improve image coding efficiency by signaling, to the decoding equipment, information regarding the residual (residual information) between the original block, rather than directly the original sample value of the original block, and the predicted block. The decoding equipment may extract a residual block including residual samples based on the residual information, may generate a reconstructed block including reconstructed samples by summing the residual block with a predicted block, and may generate a reconstructed frame including reconstructed blocks.
[80] Остаточная информация может формироваться через процедуру преобразования и квантования. Например, оборудование кодирования может извлекать остаточный блок между исходным блоком и прогнозированным блоком, может извлекать коэффициенты преобразования посредством выполнения процедуры преобразования для остаточных выборок (массива остаточных выборок), включенных в остаточный блок, может извлекать квантованные коэффициенты преобразования посредством выполнения процедуры квантования для коэффициентов преобразования, и может передавать в служебных сигналах ассоциированную остаточную информацию в оборудование декодирования (через поток битов). В этом случае, остаточная информация может включать в себя такую информацию, как информация значений, информация местоположения, схема преобразования, ядро преобразования и параметр квантования для квантованных коэффициентов преобразования. Оборудование декодирования может выполнять процедуру деквантования/обратного преобразования на основе остаточной информации и может извлекать остаточные выборки (или остаточный блок). Оборудование декодирования может формировать восстановленный кадр на основе прогнозированного блока и остаточного блока. Кроме того, оборудование кодирования может извлекать остаточный блок посредством деквантования/обратного преобразования квантованных коэффициентов преобразования для ссылки на взаимное прогнозирование последующего кадра и может формировать восстановленный кадр.[80] The residual information may be generated through a transformation and quantization procedure. For example, the coding equipment can extract a residual block between an original block and a predicted block, can extract transform coefficients by performing a transform procedure on the residual samples (array of residual samples) included in the residual block, can extract quantized transform coefficients by performing a quantization procedure on the transform coefficients, and may signal the associated residual information to the decoding equipment (via the bit stream). In this case, the residual information may include information such as value information, location information, a transform scheme, a transform kernel, and a quantization parameter for the quantized transform coefficients. The decoding equipment may perform a dequantization/inverse transformation procedure based on the residual information, and may extract the residual samples (or residual block). The decoding equipment may generate a reconstructed frame based on the predicted block and the residual block. In addition, the encoding equipment may extract the residual block by dequantizing/inversely transforming the quantized transform coefficients to refer to inter-prediction of a subsequent frame, and may generate a reconstructed frame.
[81] Внутреннее прогнозирование может представлять прогнозирование, формирующее прогнозные выборки для текущего блока на основе опорных выборок в кадре (далее "текущий кадр"), которому принадлежит текущий блок. Когда внутреннее прогнозирование применяется к текущему блоку, соседние опорные выборки, которые должны использоваться для внутреннего прогнозирования текущего блока, могут извлекаться. Соседние опорные выборки текущего блока могут включать в себя выборку, смежную с левой границей текущего блока, имеющего размер nWxnH, и сумму 2xnH выборок, граничащих с левой нижней частью, выборки, смежной с верхней границей текущего блока, и сумму 2xnW выборок, граничащих с правой верхней частью, и одну выборку, граничащую с левой верхней частью относительно текущего блока. Дополнительно, соседние опорные выборки текущего блока также могут включать в себя верхние соседние выборки множества столбцов и левые соседние выборки множества строк. Дополнительно, соседние опорные выборки текущего блока также могут включать в себя сумму nH выборок, смежных с правой границей текущего блока, имеющего размер nWxnH, сумму nW выборок, смежных с нижней границей текущего блока, и одну выборку, граничащую с правой нижней частью относительно текущего блока.[81] Intra prediction may represent prediction generating predictive samples for the current block based on the reference samples in the frame (hereinafter referred to as "current frame") to which the current block belongs. When intra prediction is applied to the current block, adjacent reference samples to be used for intra prediction of the current block may be extracted. Adjacent reference samples of the current block may include the sample adjacent to the left boundary of the current block having size nWxnH and the sum of the 2xnH samples adjacent to the lower left, the samples adjacent to the upper boundary of the current block and the sum of the 2xnW samples adjacent to the right the top part, and one selection bordering the left top part relative to the current block. Additionally, the neighboring reference samples of the current block may also include the top neighbor samples of the column set and the left neighbor samples of the row set. Additionally, the adjacent reference samples of the current block may also include the sum of the nH samples adjacent to the right edge of the current block having size nWxnH, the sum of the nW samples adjacent to the bottom edge of the current block, and one sample bordering the bottom right of the current block. .
[82] Тем не менее, некоторые соседние опорные выборки текущего блока могут быть еще не декодированы или могут быть недоступными. В этом случае, декодер может конфигурировать соседние опорные выборки, которые должны использоваться для прогнозирования, посредством подстановки доступных выборок вместо недоступных выборок. Дополнительно, декодер может конфигурировать соседние опорные выборки, которые должны использоваться для прогнозирования, через интерполяцию доступных выборок.[82] However, some adjacent reference samples of the current block may not yet be decoded or may not be available. In this case, the decoder may configure adjacent reference samples to be used for prediction by substituting available samples for unavailable samples. Additionally, the decoder may configure adjacent reference samples to be used for prediction through interpolation of the available samples.
[83] Когда соседние опорные выборки извлекаются, (i) прогнозная выборка может логически выводиться на основе среднего или интерполяции соседних опорных выборок текущего блока, и (ii) прогнозная выборка может логически выводиться на основе опорной выборки, существующей в конкретном направлении (прогнозирования) относительно прогнозной выборки из соседних опорных выборок текущего блока. Случай (i) может называться "ненаправленным режимом" или "неугловым режимом", и случай (ii) может называться "направленным режимом" или "угловым режимом".[83] When adjacent reference samples are extracted, (i) a predictive sample may be inferred based on an average or interpolation of adjacent reference samples of the current block, and (ii) a predictive sample may be inferred based on a reference sample existing in a particular direction (prediction) relative to predictive sample from neighboring reference samples of the current block. Case (i) may be referred to as "non-directional mode" or "non-angular mode", and case (ii) may be referred to as "directional mode" or "angular mode".
[84] Дополнительно, прогнозная выборка может формироваться через интерполяцию между первой соседней выборкой, расположенной в направлении прогнозирования режима внутреннего прогнозирования текущего блока, и второй соседней выборкой, расположенной в противоположном направлении относительно направления прогнозирования, из соседних опорных выборок. Вышеописанный случай может называться "внутренним прогнозированием с линейной интерполяцией (LIP)". Дополнительно, выборки прогнозирования сигналов цветности могут формироваться на основе выборок сигнала яркости с использованием линейной модели. Этот случай может называться "LM-режимом".[84] Additionally, a prediction sample may be generated through interpolation between a first neighboring sample located in the prediction direction of the intra prediction mode of the current block and a second neighboring sample located in the opposite direction of the prediction direction from adjacent reference samples. The above case may be referred to as "linear interpolation intra prediction (LIP)". Additionally, chroma prediction samples may be generated based on the luma samples using a linear model. This case may be referred to as "LM mode".
[85] Дополнительно, временная прогнозная выборка текущего блока может извлекаться на основе фильтрованных соседних опорных выборок, и прогнозная выборка текущего блока может извлекаться посредством суммирования со взвешиванием, по меньшей мере, одной опорной выборки, извлекаемой согласно режиму внутреннего прогнозирования, из существующих соседних опорных выборок, т.е. нефильтрованных соседних опорных выборок, и временной прогнозной выборки. Вышеописанный случай может называться "позиционно-зависимым внутренним прогнозированием (PDPC)".[85] Additionally, the temporal prediction sample of the current block may be derived based on the filtered neighboring reference samples, and the prediction sample of the current block may be derived by weighting the at least one reference sample derived according to the intra prediction mode from the existing neighboring reference samples. , i.e. unfiltered adjacent reference samples, and a temporal predictive sample. The above case may be referred to as "position dependent intra prediction (PDPC)".
[86] Дополнительно, опорная выборочная линия, имеющая наибольшую точность прогнозирования из нескольких соседних опорных выборочных линий текущего блока, может выбираться, и прогнозная выборка может извлекаться из соответствующей линии с использованием опорной выборки, расположенной в направлении прогнозирования. В этом случае, внутреннее прогнозирующее кодирование может выполняться в качестве способа для указания (передачи в служебных сигналах) используемой опорной выборочной линии в оборудование декодирования. Вышеописанный случай может называться "внутренним прогнозированием на основе множественной опорной линии (MRL)" или "внутренним прогнозированием на основе MRL".[86] Further, a reference sample line having the highest prediction accuracy among several adjacent reference sample lines of the current block may be selected, and a prediction sample may be extracted from the corresponding line using the reference sample located in the prediction direction. In this case, intra predictive coding may be performed as a method for indicating (signaling) the reference sample line in use to the decoding equipment. The above case may be referred to as "multiple reference line (MRL) intra prediction" or "MRL intra prediction".
[87] Дополнительно, внутреннее прогнозирование может выполняться на основе идентичного режима внутреннего прогнозирования посредством разделения текущего блока на вертикальные или горизонтальные субсегменты, и соседние опорные выборки могут извлекаться и использоваться в единице субсегментов. Таким образом, в этом случае, режим внутреннего прогнозирования для текущего блока в равной степени применяется к субсегментам, и соседняя опорная выборка извлекается и используется в единице субсегмента, за счет этого повышая производительность внутреннего прогнозирования по мере необходимости. Такой способ прогнозирования может называться "внутренним прогнозированием на основе внутренних субсегментов (ISP) или на основе ISP".[87] Additionally, intra prediction may be performed based on the same intra prediction mode by dividing the current block into vertical or horizontal sub-segments, and adjacent reference samples may be extracted and used in a unit of sub-segments. Thus, in this case, the intra prediction mode for the current block is equally applied to the sub-segments, and the adjacent reference sample is extracted and used in the sub-segment unit, thereby improving the intra prediction performance as needed. Such a prediction method may be referred to as "intra-sub-segment prediction (ISP) or ISP-based".
[88] Вышеописанные способы внутреннего прогнозирования могут называться "типом внутреннего прогнозирования", чтобы отличаться от режима внутреннего прогнозирования. Тип внутреннего прогнозирования может называться с помощью различных терминов, таких как "технология внутреннего прогнозирования" или "дополнительный режим внутреннего прогнозирования". Например, тип внутреннего прогнозирования (или дополнительный режим внутреннего прогнозирования и т.д.) может включать в себя, по меньшей мере, одно из вышеуказанных LIP, PDPC, MRL и ISP. Общий способ внутреннего прогнозирования, за исключением конкретного типа внутреннего прогнозирования, такого как LIP, PDPC, MRL и ISP, может называться "типом нормального внутреннего прогнозирования". Тип нормального внутреннего прогнозирования, в общем, может применяться, когда вышеприведенный конкретный тип внутреннего прогнозирования не применяется, и прогнозирование может выполняться на основе вышеописанного режима внутреннего прогнозирования. Информация относительно типа внутреннего прогнозирования может кодироваться посредством оборудования кодирования и включаться в поток битов с возможностью передаваться в служебных сигналах в оборудование декодирования. Информация относительно типа внутреннего прогнозирования может реализовываться в различных формах, к примеру, как информация флага, указывающая то, применяется или нет каждый тип внутреннего прогнозирования, или информация индекса, указывающая один из нескольких типов внутреннего прогнозирования. Между тем, при необходимости, фильтрация при постобработке может выполняться для извлеченной прогнозной выборки.[88] The above-described intra prediction methods may be referred to as "intra prediction type" to be distinguished from the intra prediction mode. The type of intra prediction may be referred to by various terms such as "intra prediction technology" or "additional intra prediction mode". For example, the intra prediction type (or additional intra prediction mode, etc.) may include at least one of the above LIP, PDPC, MRL, and ISP. The general intra prediction method, except for a specific type of intra prediction such as LIP, PDPC, MRL, and ISP, may be referred to as "normal intra prediction type". The normal intra prediction type can generally be applied when the above specific intra prediction type is not applied, and prediction can be performed based on the above intra prediction mode. The information regarding the type of intra prediction may be encoded by the encoding equipment and included in the bit stream with the possibility of signaling to the decoding equipment. The information regarding the type of intra prediction may be implemented in various forms, for example, as flag information indicating whether or not each type of intra prediction is applied, or index information indicating one of several types of intra prediction. Meanwhile, if necessary, post-processing filtering can be performed on the extracted predictive sample.
[89] В частности, процедура внутреннего прогнозирования может включать в себя этап определения режима/типа внутреннего прогнозирования, этап извлечения соседних опорных выборок и этап извлечения прогнозных выборок на основе режима/типа внутреннего прогнозирования. Помимо этого, этап постфильтрации может выполняться для извлеченной прогнозной выборки по мере необходимости.[89] In particular, the intra prediction procedure may include an intra prediction mode/type determination step, an adjacent reference sample extraction step, and an intra prediction mode/type extraction step of extracting prediction samples. In addition, the post-filtering step can be performed on the extracted predictive sample as needed.
[90] Список наиболее вероятных режимов (MPM) для извлечения вышеописанного режима внутреннего прогнозирования может быть сконфигурирован по-разному согласно типу внутреннего прогнозирования. Альтернативно, MPM-список может быть сконфигурирован одинаково независимо от типа внутреннего прогнозирования.[90] The list of most likely modes (MPM) for extracting the above-described intra prediction mode may be configured differently according to the type of intra prediction. Alternatively, the MPM list may be configured the same regardless of the type of intra prediction.
[91] В случае если внутреннее прогнозирование применяется, режим внутреннего прогнозирования, который применяется к текущему блоку, может определяться с использованием режима внутреннего прогнозирования соседнего блока. Например, оборудование декодирования может выбирать один из возможных MPM-вариантов в MPM-списке, который извлекается на основе режима внутреннего прогнозирования соседних блоков (например, левого и/или верхнего соседних блоков) относительно текущего блока и дополнительных возможных вариантов режимов, на основе принимаемого MPM-индекса, либо может выбирать один из оставшихся режимов внутреннего прогнозирования, которые не включаются в возможные MPM-варианты (и в планарный режим), на основе информации оставшегося режима внутреннего прогнозирования. MPM-список может быть выполнен с возможностью включать в себя или не включать в себя планарный режим в качестве возможного варианта. Например, если MPM-список включает в себя планарный режим в качестве возможного варианта, MPM-список может иметь 6 возможных вариантов, тогда как, если MPM-список не включает в себя планарный режим в качестве возможного варианта, MPM-список может иметь 5 возможных вариантов. Если MPM-список не включает в себя планарный режим в качестве возможного варианта, непланарный флаг (например, intra_luma_not_planar_flag), указывающий то, не представляет собой либо представляет собой режим внутреннего прогнозирования текущего блока планарный режим, может передаваться в служебных сигналах. Например, MPM-флаг может сначала передаваться в служебных сигналах, и MPM-индекс и непланарный флаг могут передаваться в служебных сигналах в случае, если значение MPM-флага равно 1. Дополнительно, MPM-индекс может передаваться в служебных сигналах в случае, если значение непланарного флага равно 1. Здесь, причина, по которой MPM-список выполнен с возможностью не включать в себя планарный режим в качестве возможного варианта, состоит в том, чтобы сначала проверять планарный режим посредством передачи в служебных сигналах сначала флага (непланарного флага), поскольку планарный режим всегда считается MPM, а не в том, что планарный режим не представляет собой MPM.[91] In the case where intra prediction is applied, the intra prediction mode that is applied to the current block may be determined using the intra prediction mode of the neighboring block. For example, the decoding equipment may select one of the MPM candidates in the MPM list, which is derived based on the intra-prediction mode of neighboring blocks (e.g., left and/or top neighboring blocks) relative to the current block and additional mode candidates based on the received MPM. -index, or may select one of the remaining intra prediction modes that are not included in the MPM candidates (and in the planar mode), based on the information of the remaining intra prediction mode. The MPM list may be configured to include or not include a planar mode as an option. For example, if the MPM list includes planar as an option, the MPM list can have 6 options, whereas if the MPM list does not include planar as an option, the MPM list can have 5 options. options. If the MPM list does not include a planar mode as an option, a non-planar flag (eg, intra_luma_not_planar_flag) indicating whether or not the intra prediction mode of the current block is a planar mode may be signaled. For example, the MPM flag may be signaled first, and the MPM index and the non-planar flag may be signaled in case the value of the MPM flag is 1. Additionally, the MPM index may be signaled in case the value of the non-planar flag is 1. Here, the reason why the MPM list is configured not to include the planar mode as an option is to check the planar mode first by signaling the flag (non-planar flag) first, because planar mode is always considered an MPM, not that planar mode is not an MPM.
[92] Например, находится режим внутреннего прогнозирования, применяемый к текущему блоку, в возможных MPM-вариантах (и в планарном режиме) или в оставшемся режиме, может указываться на основе MPM-флага (например, intra_luma_mpm_flag). Значение MPM-флага в 1 может представлять то, что режим внутреннего прогнозирования для текущего блока находится в возможных MPM-вариантах (и в планарном режиме), и значение MPM-флага в 0 может представлять то, что режим внутреннего прогнозирования для текущего блока не находится в возможных MPM-вариантах (и в планарном режиме). Значение непланарного флага (например, intra_luma_not_planar_flag) в 0 может представлять то, что режим внутреннего прогнозирования для текущего блока представляет собой планарный режим, и значение в 1 непланарного флага может представлять то, что режим внутреннего прогнозирования для текущего блока не представляет собой планарный режим. MPM-индекс может передаваться в служебных сигналах в форме синтаксического элемента mpm_idx или intra_luma_mpm_idx, и информация оставшегося режима внутреннего прогнозирования может передаваться в служебных сигналах в форме синтаксического элемента rem_intra_luma_pred_mode или intra_luma_mpm_remainder. Например, информация оставшегося режима внутреннего прогнозирования может указывать один из оставшихся режимов внутреннего прогнозирования, которые не включаются в возможные MPM-варианты (и в планарный режим), из всех режимов внутреннего прогнозирования посредством индексации оставшихся режимов внутреннего прогнозирования в порядке номеров режимов прогнозирования. Режим внутреннего прогнозирования может представлять собой режим внутреннего прогнозирования для компонента (выборки) сигнала яркости. В дальнейшем в этом документе, информация режима внутреннего прогнозирования может включать в себя, по меньшей мере, одно из MPM-флага (например, intra_luma_mpm_flag), непланарного флага (например, intra_luma_not_planar_flag), MPM-индекса (например, mpm_idx или intra_luma_mpm_idx) или информации оставшегося режима внутреннего прогнозирования (rem_intra_luma_pred_mode или intra_luma_mpm_remainder). В документе, MPM-список может называться с помощью различных формулировок, таких как "список возможных MPM-вариантов", "candModeList" и т.п. Если MIP применяется к текущему блоку, отдельный MPM-флаг (например, intra_mip_mpm_flag), MPM-индекс (например, intra_mip_mpm_idx) и информация оставшегося режима внутреннего прогнозирования (например, intra_mip_mpm_remainder) могут передаваться в служебных сигналах для MIP, и непланарный флаг не передается в служебных сигналах.[92] For example, is the intra prediction mode applied to the current block in MPM candidates (and in planar mode) or remaining mode may be indicated based on the MPM flag (eg, intra_luma_mpm_flag). An MPM flag value of 1 may represent that the intra prediction mode for the current block is in MPM candidate cases (and in planar mode), and an MPM flag value of 0 may represent that the intra prediction mode for the current block is not in in possible MPM variants (and in planar mode). A non-planar flag value (eg, intra_luma_not_planar_flag) of 0 may represent that the intra prediction mode for the current block is a planar mode, and a value of 1 of the non-planar flag may represent that the intra prediction mode of the current block is not a planar mode. The MPM index may be signaled in the form of the mpm_idx or intra_luma_mpm_idx syntax element, and the intra-prediction remaining mode information may be signaled in the form of the rem_intra_luma_pred_mode or intra_luma_mpm_remainder syntax element. For example, the remaining intra prediction mode information may indicate one of the remaining intra prediction modes that are not included in the MPM candidates (and planar mode) out of all intra prediction modes by indexing the remaining intra prediction modes in order of prediction mode numbers. The intra prediction mode may be an intra prediction mode for a component (sample) of the luminance signal. Hereinafter, the intra prediction mode information may include at least one of an MPM flag (eg, intra_luma_mpm_flag), a non-planar flag (eg, intra_luma_not_planar_flag), an MPM index (eg, mpm_idx or intra_luma_mpm_idx), or information the remaining intra prediction mode (rem_intra_luma_pred_mode or intra_luma_mpm_remainder). In a document, an MPM list may be referred to with various phrases such as "list of possible MPM options", "candModeList", and the like. If MIP is applied to the current block, a separate MPM flag (eg, intra_mip_mpm_flag), MPM index (eg, intra_mip_mpm_idx), and intra prediction mode remaining information (eg, intra_mip_mpm_remainder) may be signaled for the MIP, and the non-planar flag is not transmitted in service signals.
[93] Другими словами, если сегментация на блоки для изображения, в общем, выполняется, текущий блок, который должен кодироваться, и соседний блок имеют аналогичные характеристики изображений. Соответственно, имеется высокая вероятность того, что текущий блок и соседний блок имеют идентичный или аналогичный режим внутреннего прогнозирования. Соответственно, кодер может использовать режим внутреннего прогнозирования соседнего блока для того, чтобы кодировать режим внутреннего прогнозирования текущего блока.[93] In other words, if segmentation into blocks for an image is generally performed, the current block to be encoded and the adjacent block have similar image characteristics. Accordingly, there is a high probability that the current block and the neighboring block have the same or similar intra prediction mode. Accordingly, the encoder may use the intra prediction mode of the adjacent block to encode the intra prediction mode of the current block.
[94] Например, кодер/декодер может конфигурировать список наиболее вероятных режимов (MPM) для текущего блока. MPM-список может представляться как список возможных MPM-вариантов. Здесь, термин "MPM" может означать режим, который используется для того, чтобы повышать эффективность кодирования с учетом подобия между текущим блоком и соседним блоком во время кодирования в режиме внутреннего прогнозирования. Как описано выше, MPM-список может быть выполнен с возможностью включать в себя планарный режим или может быть выполнен с возможностью исключать планарный режим. Например, если MPM-список включает в себя планарный режим, число возможных вариантов MPM-списка может быть равным 6. Дополнительно, если MPM-список не включает в себя планарный режим, число возможных вариантов MPM-списка может быть равным 5.[94] For example, the encoder/decoder may configure a list of most likely modes (MPM) for the current block. The MPM list may be thought of as a list of possible MPM options. Here, the term "MPM" may mean a mode that is used to improve the coding efficiency considering the similarity between a current block and a neighboring block during intra prediction mode coding. As described above, the MPM list may be configured to include a planar mode, or may be configured to exclude a planar mode. For example, if the MPM list includes a planar mode, the number of MPM list choices may be 6. Additionally, if the MPM list does not include a planar mode, the number of MPM list choices may be 5.
[95] Кодер/декодер может конфигурировать MPM-список, включающий в себя 6 MPM.[95] The encoder/decoder may configure an MPM list including 6 MPMs.
[96] Чтобы конфигурировать MPM-список, могут рассматриваться три вида режимов из внутренних режимов по умолчанию, соседних внутренних режимов и извлеченных внутренних режимов.[96] In order to configure the MPM list, three kinds of modes can be considered from default inner modes, neighboring inner modes, and extracted inner modes.
[97] Для соседних внутренних режимов, могут рассматриваться два соседних блока, т.е. левый соседний блок и верхний соседний блок.[97] For adjacent intra modes, two adjacent blocks may be considered, i. e. the left neighbor block and the top neighbor block.
[98] Как описано выше, если MPM-список выполнен с возможностью не включать в себя планарный режим, планарный режим исключается из списка, и число возможных вариантов MPM-списка может задаваться равным 5.[98] As described above, if the MPM list is configured not to include the planar mode, the planar mode is excluded from the list, and the number of possible MPM list choices may be set to 5.
[99] Фиг. 4 иллюстрирует пример 67 режимов внутреннего прогнозирования.[99] FIG. 4 illustrates an example of 67 intra prediction modes.
[100] Ссылаясь на фиг. 4, из режимов внутреннего прогнозирования, направленный режим или угловой режим может отличать режим внутреннего прогнозирования, имеющий горизонтальную направленность, и режим внутреннего прогнозирования, имеющий вертикальную направленность, друг от друга, относительно режима внутреннего прогнозирования номер 34, имеющего левое верхнее диагональное направление прогнозирования. На фиг. 4, H и V означают горизонтальную направленность и вертикальную направленность, соответственно, и номера от -32 до 32 представляют смещения в единицах 1/32 для позиции на сетке выборок. Режимы внутреннего прогнозирования номер 2-33 имеют горизонтальную направленность, и режимы внутреннего прогнозирования номер 34-66 имеют вертикальную направленность. Режим внутреннего прогнозирования номер 18 и режим внутреннего прогнозирования номер 50 представляют режим горизонтального внутреннего прогнозирования и режим вертикального внутреннего прогнозирования, соответственно. Режим внутреннего прогнозирования номер 2 может называться "режимом левого нижнего диагонального внутреннего прогнозирования", режим внутреннего прогнозирования номер 34 может называться "режимом левого верхнего диагонального внутреннего прогнозирования", и режим внутреннего прогнозирования номер 66 может называться "режимом правого верхнего диагонального внутреннего прогнозирования".[100] Referring to FIG. 4, among the intra prediction modes, the directional mode or the angular mode can distinguish the intra prediction mode having a horizontal directionality and the intra prediction mode having a vertical directionality from each other with respect to the intra
[101] Дополнительно, ненаправленный режим или неугловой режим из режимов внутреннего прогнозирования может включать в себя DC-режим на основе среднего соседних опорных выборок текущего блока или планарный режим на основе интерполяции.[101] Additionally, the non-directional mode or non-angular mode of the intra prediction modes may include a DC mode based on an average of neighboring reference samples of the current block, or a planar mode based on interpolation.
[102] При традиционном внутреннем прогнозировании, блок, который должен в данный момент кодироваться, рассматривается в качестве одной единицы кодирования, и кодирование выполняется без сегментации. Тем не менее, в режиме кодирования на основе внутренних субсегментов (ISP), внутреннее прогнозирующее кодирование может выполняться посредством сегментации блока, который должен в данный момент кодироваться, в горизонтальном направлении или в вертикальном направлении. В этом случае, восстановленный блок может формироваться посредством выполнения кодирования/декодирования в единицах сегментированных блоков, и восстановленный блок может использоваться в качестве опорного блока следующего сегментированного блока. Например, ISP может выполнять сегментацию на блоки так, как показано в таблице 1, согласно размеру блока.[102] In conventional intra prediction, a block currently to be encoded is considered as one coding unit, and encoding is performed without segmentation. However, in the intra-subsegment-based (ISP) coding mode, intra prediction coding may be performed by segmenting a block to be currently encoded in the horizontal direction or in the vertical direction. In this case, the reconstructed block may be generated by performing encoding/decoding in units of segmented blocks, and the reconstructed block may be used as a reference block of the next segmented block. For example, the ISP may perform block segmentation as shown in Table 1 according to the block size.
[103] Табл. 1[103] Tab. 1
[104] Ссылаясь на таблицу 1, сегментация на блоки согласно ISP может выполняться по-разному в зависимости от размера или формы блока, например, сегментация на блоки может выполняться так, как показано на фиг. 5 и 6. В таблице 1, число сегментов может означать число субсегментов, и субсегменты могут указывать блок, сформированный посредством сегментации, сегментированный блок или сегментированную зону.[104] Referring to Table 1, block segmentation according to ISP may be performed differently depending on the block size or shape, for example, block segmentation may be performed as shown in FIG. 5 and 6. In Table 1, the number of segments may indicate the number of sub-segments, and the sub-segments may indicate a block formed by segmentation, a segmented block, or a segmented area.
[105] Фиг. 5 показывает пример сегментации на блоки согласно ISP при внутреннем прогнозировании.[105] FIG. 5 shows an example of block segmentation according to ISP in intra prediction.
[106] Когда размер блока составляет 4×8 или 8×4, блок может сегментироваться на два блока в ISP. Здесь, сегментированный блок может называться "субсегментом" или "субблоком".[106] When the block size is 4×8 or 8×4, the block may be segmented into two blocks in the ISP. Here, a segmented block may be referred to as a "sub-segment" or "sub-block".
[107] Ссылаясь на фиг. 5, горизонтальная сегментация или вертикальная сегментация может выполняться для блока размера WxH. Например, при горизонтальной сегментации, блок размера WxH может сегментироваться на два субсегмента размера WxH/2. При вертикальной сегментации, блок размера WxH может сегментироваться на два субсегмента размера W/2xH. Здесь, W может представлять ширину блока, и H может представлять высоту блока. Кроме того, WxH может составлять 4×8 или 8×4.[107] Referring to FIG. 5, horizontal segmentation or vertical segmentation may be performed for a block of size WxH. For example, in horizontal segmentation, a block of size WxH may be segmented into two sub-segments of size WxH/2. With vertical segmentation, a block of size WxH can be segmented into two sub-segments of size W/2xH. Here, W may represent the width of the box, and H may represent the height of the box. In addition, WxH may be 4x8 or 8x4.
[108] Например, блок 8×4 может сегментироваться на два субсегмента, имеющие размер 8×2 при горизонтальной сегментации, либо на два субсегмента, имеющие размер 4×4 при вертикальной сегментации. Альтернативно, блок размера 4×8 может сегментироваться на два субсегмента размера 4×4 при горизонтальном разделении либо на два субсегмента размера 2×8 при вертикальной сегментации.[108] For example, an 8×4 block may be segmented into two sub-segments having a size of 8×2 in a horizontal segmentation, or two sub-segments having a size of 4×4 in a vertical segmentation. Alternatively, a 4×8 block may be segmented into two 4×4 sub-segments in a horizontal partition, or two 2×8 sub-segments in a vertical segmentation.
[109] Фиг. 6 показывает другой пример сегментации на блоки согласно ISP при внутреннем прогнозировании.[109] FIG. 6 shows another example of block segmentation according to ISP in intra prediction.
[110] Когда размер блока не составляет 4×4, 4×8 или 8×4, блок может сегментироваться на 4 блока в ISP. Таким образом, во всех случаях, в которых размер блока не составляет 4×4, 4×8 или 8×4, блок может сегментироваться на 4 блока в ISP. Здесь, сегментированный блок может называться "субсегментом" или "субблоком".[110] When the block size is not 4×4, 4×8, or 8×4, the block may be segmented into 4 blocks in the ISP. Thus, in all cases where the block size is not 4x4, 4x8, or 8x4, the block may be segmented into 4 blocks in the ISP. Here, a segmented block may be referred to as a "sub-segment" or "sub-block".
[111] Ссылаясь на фиг. 6, горизонтальная сегментация или вертикальная сегментация может выполняться для блока размера WxH. Например, при горизонтальной сегментации, блок размера WxH может сегментироваться на 4 субсегмента размера WxH/4, и при вертикальной сегментации, блок размера WxH может сегментироваться на 4 субсегмента размера W/4xH. Здесь, W может представлять ширину блока, и H может представлять высоту блока. Кроме того, WxH может не составлять 4×4, 4×8 или 8×4.[111] Referring to FIG. 6, horizontal segmentation or vertical segmentation may be performed for a block of size WxH. For example, in horizontal segmentation, a WxH size block can be segmented into 4 WxH/4 size sub-segments, and in vertical segmentation, a WxH size block can be segmented into 4 W/4xH size sub-segments. Here, W may represent the width of the box, and H may represent the height of the box. In addition, WxH may not be 4x4, 4x8 or 8x4.
[112] При внутреннем прогнозировании, для ISP, MPM-список может формироваться согласно каждому способу сегментации (горизонтальная сегментация и вертикальная сегментация), чтобы уменьшать сложность кодирования, и оптимальный режим может формироваться посредством сравнения подходящего режима прогнозирования из режимов прогнозирования в сформированном MPM-списке с точки зрения искажения в зависимости от скорости передачи (RDO). Таким образом, оптимальный возможный вариант или оптимальный режим внутреннего прогнозирования может извлекаться из числа возможных вариантов или режимов внутреннего прогнозирования, включенных в MPM-список, и внутреннее прогнозирование может выполняться на основе этого. Здесь, оптимальный возможный вариант или оптимальный режим внутреннего прогнозирования может извлекаться с использованием искажения в зависимости от скорости передачи битов. Альтернативно, оптимальный возможный вариант может извлекаться посредством сравнения искажения в зависимости от скорости передачи битов для каждого возможного варианта в MPM-списке.[112] In intra prediction, for an ISP, an MPM list may be generated according to each segmentation method (horizontal segmentation and vertical segmentation) to reduce coding complexity, and an optimal mode may be generated by comparing a suitable prediction mode from the prediction modes in the generated MPM list. in terms of rate distortion (RDO). Thus, the best candidate or best intra prediction mode can be derived from among the intra prediction candidates or modes included in the MPM list, and intra prediction can be performed based on this. Here, the best possible or best intra prediction mode can be derived using bit rate distortion. Alternatively, the best candidate may be derived by comparing the distortion versus bit rate for each candidate in the MPM list.
[113] Помимо этого, когда вышеописанная MRL используется при внутреннем прогнозировании, ISP может не использоваться. Таким образом, когда внутреннее прогнозирование выполняется с использованием нескольких опорных линий, ISP не может использоваться вместе с ним. Альтернативно, когда внутреннее прогнозирование выполняется с использованием нулевой опорной линии, ISP может использоваться. Здесь, случай, в котором внутреннее прогнозирование выполняется с использованием нулевой опорной линии, может указывать случай, в котором MRL не используется, или случай, в котором нулевая опорная линия используется, поскольку значение поля intra_luma_ref_idx равно 0, даже если MRL используется. Кроме того, когда ISP используется при внутреннем прогнозировании, PDPC может не использоваться.[113] In addition, when the above-described MRL is used in intra prediction, ISP may not be used. Thus, when intra prediction is performed using multiple reference lines, ISP cannot be used in conjunction with it. Alternatively, when intra prediction is performed using a zero reference line, ISP may be used. Here, a case in which intra prediction is performed using a null reference line may indicate a case in which MRL is not used or a case in which a null reference line is used because the intra_luma_ref_idx field value is 0 even if MRL is used. Also, when ISP is used in intra prediction, PDPC may not be used.
[114] В варианте осуществления, связанная с ISP информация для использования ISP может включать в себя информацию относительно того, применяется или нет ISP. Здесь, связанная с ISP информация может называться "информацией относительно внутреннего субсегмента" или "информацией внутренних субсегментов". Информация относительно того, применяется или нет ISP, может указывать информацию относительно того, следует или нет применять ISP к текущему блоку, и может включать в себя intra_subpartitions_mode_flag. Информация относительно того, применяется или нет ISP, может выражаться как ISP-флаг. Связанная с ISP информация дополнительно может включать в себя информацию относительно направления разбиения, когда ISP применяется к текущему блоку, посредством информации относительно того, применяется или нет ISP. Информация относительно направления разбиения может указывать информацию относительно того, является сегмент горизонтальным или вертикальным, и может включать в себя intra_subpartitions_split_flag. Вариант осуществления может кодировать/декодировать связанную с ISP информацию.[114] In an embodiment, the ISP-related information for using the ISP may include information regarding whether or not the ISP is applied. Here, the ISP-related information may be referred to as "internal sub-segment information" or "internal sub-segment information". The information on whether or not the ISP is applied may indicate information on whether or not the ISP should be applied to the current block, and may include an intra_subpartitions_mode_flag. Information regarding whether or not an ISP is applied may be expressed as an ISP flag. The ISP-related information may further include information on a split direction when the ISP is applied to the current block, by way of information on whether or not the ISP is applied. The split direction information may indicate information as to whether a segment is horizontal or vertical and may include an intra_subpartitions_split_flag. An embodiment may encode/decode ISP related information.
[115] Связанная с ISP информация может передаваться в служебных сигналах в единицах блоков. Альтернативно, она может передаваться в служебных сигналах через синтаксис единицы кодирования (CU). Альтернативно, синтаксис единицы кодирования может включать в себя информацию относительно того, применяется или нет ISP. Альтернативно, синтаксис единицы кодирования может включать в себя информацию относительно того, применяется или нет ISP, и информацию относительно направления разбиения. Альтернативно, синтаксис единицы кодирования может формироваться в оборудовании кодирования и передаваться в служебных сигналах в оборудование декодирования. Альтернативно, оборудование декодирования может выполнять внутреннее прогнозирование или декодирование на основе передаваемого в служебных сигналах синтаксиса единицы кодирования. Например, синтаксис единицы кодирования может включать в себя нижеприведенную таблицу 2. Альтернативно, синтаксис единицы кодирования может включать в себя связанную с ISP информацию, как показано в нижеприведенной таблице 2.[115] ISP related information may be signaled in units of blocks. Alternatively, it may be signaled via a coding unit (CU) syntax. Alternatively, the coding unit syntax may include information as to whether or not an ISP is applied. Alternatively, the syntax of a coding unit may include information regarding whether or not an ISP is applied and information regarding a split direction. Alternatively, the coding unit syntax may be generated in the encoding equipment and signaled to the decoding equipment. Alternatively, the decoding hardware may perform intra prediction or decoding based on the signaling syntax of the coding unit. For example, the coding unit syntax may include Table 2 below. Alternatively, the coding unit syntax may include ISP related information as shown in Table 2 below.
[116] Табл. 2[116] Tab. 2
[117] В таблице 2, информация относительно того, применяется или нет ISP, может включать в себя поле intra_subpartitions_mode_flag, и информация относительно направления разбиения может включать в себя поле intra_subpartitions_split_flag.[117] In Table 2, information regarding whether or not an ISP is applied may include an intra_subpartitions_mode_flag field, and information regarding a split direction may include an intra_subpartitions_split_flag field.
[118] Например, когда ISP применяется, режим внутреннего прогнозирования для текущего блока в равной степени применяется к субсегментам, и производительность внутреннего прогнозирования может повышаться посредством извлечения и использования соседней опорной выборки в единицах субсегментов. Таким образом, когда ISP применяется, процедура обработки остаточных выборок может выполняться в единицах субсегментов.[118] For example, when ISP is applied, the intra prediction mode for the current block is equally applied to sub-segments, and the performance of intra prediction can be improved by extracting and using an adjacent reference sample in sub-segment units. Thus, when the ISP is applied, the residual sample processing procedure can be performed in units of sub-segments.
[119] Другими словами, внутренние прогнозные выборки могут извлекаться для каждого субсегмента, и восстановленные выборки могут получаться посредством суммирования остаточных сигналов (остаточных выборок) для соответствующего субсегмента. Здесь, остаточный сигнал (остаточные выборки) может извлекаться через процедуру обратного преобразования/обратного квантования и т.п. на основе остаточной информации (информации квантованных коэффициентов преобразования или синтаксиса остаточного кодирования) в вышеописанном потоке битов.[119] In other words, internal predictive samples may be extracted for each sub-segment, and reconstructed samples may be obtained by summing the residual signals (residual samples) for the corresponding sub-segment. Here, the residual signal (residual samples) may be extracted through an inverse transform/inverse quantization procedure or the like. based on residual information (quantized transform coefficient information or residual coding syntax) in the above-described bitstream.
[120] Таким образом, прогнозные выборки для первого субсегмента могут извлекаться, остаточные выборки могут извлекаться, и на их основе, восстановленные выборки для первого субсегмента могут извлекаться. В этом случае, когда прогнозные выборки для второго субсегмента извлекаются, некоторые восстановленные выборки в первом субсегменте (например, левые или верхние соседние опорные выборки второго субсегмента) могут использоваться в качестве соседних опорных выборок для второго субсегмента. Аналогично, извлечение прогнозных выборок для второго субсегмента может выполняться, и извлечение остаточных выборок может выполняться, и на их основе, восстановленные выборки для второго субсегмента могут извлекаться. В этом случае, когда прогнозные выборки для третьего субсегмента извлекаются, некоторые восстановленные выборки во втором субсегменте (например, левые или верхние соседние опорные выборки третьего субсегмента) могут использоваться в качестве соседних опорных выборок для третьего субсегмента. Аналогично, восстановленные выборки могут извлекаться посредством выполнения идентичного или аналогичного процесса для других субсегментов.[120] Thus, predictive samples for the first sub-segment can be extracted, residual samples can be extracted, and based on these, reconstructed samples for the first sub-segment can be extracted. In this case, when the prediction samples for the second sub-segment are extracted, some of the reconstructed samples in the first sub-segment (eg, the left or top adjacent reference samples of the second sub-segment) may be used as adjacent reference samples for the second sub-segment. Likewise, extraction of predictive samples for the second sub-segment may be performed and extraction of residual samples may be performed, and based on these, reconstructed samples for the second sub-segment may be extracted. In this case, when the prediction samples for the third sub-segment are retrieved, some recovered samples in the second sub-segment (eg, the left or top adjacent reference samples of the third sub-segment) may be used as adjacent reference samples for the third sub-segment. Likewise, reconstructed samples may be retrieved by performing the same or similar process for other sub-segments.
[121] Фиг. 7 показывает пример TT- и BT-сегментации, которая не разрешается с учетом VPDU-размера.[121] FIG. 7 shows an example of TT and BT segmentation that is not allowed considering the VPDU size.
[122] Виртуальные конвейерные единицы данных (VPDU) могут задаваться для конвейерной обработки в кадре. VPDU могут задаваться как неперекрывающиеся единицы в одном кадре. В аппаратном декодере, последовательные VPDU могут обрабатываться одновременно посредством нескольких ступеней конвейера. VPDU-размер может быть примерно пропорциональным размеру буфера в большинстве ступеней конвейера. Следовательно, поддержание VPDU-размера небольшим может быть важным при рассмотрении размера буфера с аппаратной точки зрения. В большинстве аппаратных декодеров, VPDU-размер может задаваться равным максимальному размеру TB (блока преобразования). Например, VPDU-размер может составлять размер 64×64 (64×64 выборки сигнала яркости). Тем не менее, в качестве примера, VPDU-размер может изменяться (увеличиваться или уменьшаться) с учетом сегмента согласно троичному дереву (TT) и/или двоичному дереву (BT).[122] Virtual Pipeline Data Units (VPDUs) may be defined for pipelining within a frame. VPDUs may be defined as non-overlapping units in one frame. In a hardware decoder, consecutive VPDUs can be processed simultaneously through multiple pipeline stages. The VPDU size can be roughly proportional to the buffer size in most stages of the pipeline. Therefore, keeping the VPDU size small can be important when considering buffer size from a hardware point of view. In most hardware decoders, the VPDU size can be set to the maximum TB (transformation unit) size. For example, the VPDU size may be 64x64 (64x64 luminance samples). However, as an example, the VPDU size may change (increase or decrease) considering the segment according to the ternary tree (TT) and/or binary tree (BT).
[123] Между тем, ссылаясь на фиг. 7, чтобы поддерживать VPDU-размер в качестве размера 64×64 выборки сигнала яркости, по меньшей мере, одно из ограничений, показанных в таблице 3, может применяться.[123] Meanwhile, referring to FIG. 7, in order to support the VPDU size as the luminance sample size of 64×64, at least one of the restrictions shown in Table 3 may be applied.
[124] Табл. 3[124] Tab. 3
- TT-разбиение не разрешается для CU с шириной или с высотой либо как с шириной, так и с высотой, равными 128.- TT splitting is not allowed for a CU with a width or height, or both width and height, equal to 128.
- Для CU 128xN с N≤64 (т.е. с шириной, равной 128, и высотой, меньшей 128), горизонтальное BT не разрешается.- For CU 128xN with N≤64 (i.e. width equal to 128 and height less than 128), horizontal BT is not allowed.
- Для CU Nx128 с N≤64 (т.е. с высотой, равной 128, и шириной, меньшей 128), вертикальное BT не разрешается.- For Nx128 CUs with N≤64 (i.e. height equal to 128 and width less than 128), vertical BT is not allowed.
[125] Другими словами, при использовании ISP, блок внутреннего прогнозирования сигналов яркости может разделяться на два или четыре субсегмента вертикально или горизонтально согласно размеру блока. Например, минимальный размер блока для ISP может составлять 4×8 (или 8×4), и когда размер блока превышает 4×8 (или 8×4), соответствующий блок может разделяться на четыре субсегмента.[125] In other words, when using ISP, the intra luma prediction block may be divided into two or four sub-segments vertically or horizontally according to the block size. For example, the minimum block size for an ISP may be 4x8 (or 8x4), and when the block size exceeds 4x8 (or 8x4), the corresponding block may be divided into four sub-segments.
[126] Помимо этого, когда ISP используется для блока размера Mx128 (M является натуральным числом, меньшим или равным 64) или 128xN (N является натуральным числом, меньшим или равным 64), потенциальная проблема может возникать относительно виртуальной конвейерной единицы данных (VDPU) размера 64×64. Например, единица кодирования (CU) размера Mx128, имеющая одиночное дерево, может включать в себя блок преобразования (TB) сигналов яркости размера Mx128 и два TB сигналов цветности M/2×64. Здесь, одиночное дерево может представлять разбиение посредством идентичного дерева между CU сигналов яркости и соответствующей CU сигнала цветности. Здесь, когда CU использует ISP, TB сигналов яркости может сегментироваться на 4 TB размера Mx32 (только горизонтальный сегмент является возможным здесь), каждый из которых может быть меньше блока 64×64. Тем не менее, в текущем проектном ISP-решении, блоки сигналов цветности, т.е. TB могут не сегментироваться. Таким образом, все компоненты сигнала цветности могут быть больше блока 32×32. Аналогично, аналогичная ситуация может возникать, когда CU размера 128xN использует ISP, и вышеуказанные два случая может представлять собой проблему в конвейере декодера 64×64.[126] In addition, when the ISP is used for a block size of Mx128 (M is a natural number less than or equal to 64) or 128xN (N is a natural number less than or equal to 64), a potential problem may arise regarding the virtual pipeline data unit (VDPU)
[127] Соответственно, вариант осуществления может предоставлять способ с учетом размера VPDU в процессе применения ISP к CU. Таким образом, вариант осуществления может рассматривать виртуальную конвейерную единицу данных (VPDU) в процессе применения ISP. Альтернативно, вариант осуществления может предоставлять конвейер декодирования с учетом VPDU при выполнении ISP. Альтернативно, вариант осуществления может предоставлять ISP-способ с учетом конвейера декодирования для аппаратной (HW) реализации с учетом VPDU. Альтернативно, в одном варианте осуществления, может предоставляться ISP-способ с учетом аппаратных средств, т.е. способ передачи в служебных сигналах ISP с учетом VPDU.[127] Accordingly, an embodiment may provide a method considering the size of the VPDU in the process of applying the ISP to the CU. Thus, an embodiment may consider a virtual pipelined data unit (VPDU) in the process of applying the ISP. Alternatively, an embodiment may provide a VPDU-aware decoding pipeline when executing the ISP. Alternatively, an embodiment may provide an ISP method in view of a hardware (HW) implementation decoding pipeline in view of VPDU. Alternatively, in one embodiment, an ISP method may be provided in terms of hardware, i. e. transmission method in ISP signaling considering VPDU.
[128] Фиг. 8 показывает пример конвейера HW-обработки.[128] FIG. 8 shows an example of an HW processing pipeline.
[129] В обработке с учетом аппаратных средств (HW), конвейер может быть таким, как показано на фиг. 8. Альтернативно, декодирование может выполняться в единицах VPDU, как показано на фиг. 8. Альтернативно, согласно варианту осуществления, каждый блок может последовательно обрабатываться согласно стрелке. Альтернативно, согласно варианту осуществления, некоторые блоки могут обрабатываться параллельно согласно порядку стрелок.[129] In hardware-aware (HW) processing, the pipeline may be as shown in FIG. 8. Alternatively, decoding may be performed in VPDUs as shown in FIG. 8. Alternatively, according to an embodiment, each block may be sequentially processed according to the arrow. Alternatively, according to an embodiment, some blocks may be processed in parallel according to the order of the arrows.
[130] Например, предполагается, что размер CU сигналов яркости составляет 128×128, размер соответствующей CU сигнала цветности составляет 64×64, и она может разделяться на четыре блока согласно дереву квадрантов. В этом случае, CU сигналов яркости может разделяться на 4 блока размера 64×64, и CU сигнала цветности может разделяться на 4 блока размера 32×32. Здесь, четыре блока размера 64×64, разделенные из CU сигналов яркости, представляются как нулевой блок, первый блок, второй блок и третий блок в порядке верхнего левого, верхнего правого, нижнего левого и нижнего правого, и 4 блока размера 32×32, разделенные из CU сигнала цветности, блоки могут представляться как четвертый блок, пятый блок, шестой блок и седьмой блок в порядке верхнего левого, верхнего правого, нижнего левого и нижнего правого.[130] For example, it is assumed that the size of the luminance CU is 128×128, the size of the corresponding chrominance CU is 64×64, and it can be divided into four blocks according to the quadtree. In this case, the luminance CU may be divided into 4 blocks of 64×64 size, and the chrominance CU may be divided into 4 blocks of 32×32 size. Here, four 64x64 blocks divided from the luminance CUs are represented as a zero block, a first block, a second block, and a third block in the order of top left, top right, bottom left, and bottom right, and 4 blocks of size 32x32, separated from the chrominance CU, the blocks may be represented as a fourth block, a fifth block, a sixth block, and a seventh block in the order of top left, top right, bottom left, and bottom right.
[131] В этом случае, обработка каждого из блоков может иметь порядок в виде нулевого блока, т.е. в качестве компонента сигнала яркости, четвертого блока, т.е. в качестве компонента сигнала цветности, соответствующего нулевому блоку, первого блока, т.е. в качестве компонента сигнала яркости, пятого блока, т.е. в качестве компонента сигнала цветности, соответствующего первому блоку, второго блока, т.е. в качестве компонента сигнала яркости, шестого блока, т.е. в качестве компонента сигнала цветности, соответствующего второму блоку, третьего блока, т.е. в качестве компонента сигнала яркости, и седьмого блока, т.е. в качестве компонента сигнала цветности, соответствующего третьему блоку. Альтернативно, VPDU-обработка может выполняться согласно вышеописанному порядку. Здесь, размер VPDU может составлять 64×64. Альтернативно, VPDU-размер для компонента сигнала яркости может составлять 64×64, и VPDU-размер для компонента сигнала цветности может составлять 32×32. Альтернативно, VPDU может быть равной максимальному размеру блока преобразования (в расчете на компонент).[131] In this case, the processing of each of the blocks may be in the order of block zero, i. e. as a component of the luminance signal, the fourth block, i. e. as the chrominance signal component corresponding to block zero of the first block, i.e. as a component of the luminance signal, the fifth block, i. e. as a component of the chrominance signal corresponding to the first block of the second block, i. e. as a component of the luminance signal, the sixth block, i. e. as a component of the chrominance signal corresponding to the second block of the third block, i. e. as a component of the luminance signal, and the seventh block, i.e. as a component of the chrominance signal corresponding to the third block. Alternatively, VPDU processing may be performed in the order described above. Here, the VPDU size may be 64x64. Alternatively, the VPDU size for the luminance signal component may be 64x64, and the VPDU size for the chrominance signal component may be 32x32. Alternatively, the VPDU may be equal to the maximum transform unit size (per component).
[132] Тем не менее, как описано выше, когда ISP применяется к CU, может возникать проблема. Таким образом, когда ISP применяется к блоку, имеющему размер, больший VPDU-размера, проблема может появляться с точки зрения аппаратных средств, что подробно описывается со ссылкой на фиг. 9.[132] However, as described above, when an ISP is applied to a CU, a problem may occur. Thus, when the ISP is applied to a block having a size larger than the VPDU size, a problem may appear from a hardware point of view, as will be described in detail with reference to FIG. 9.
[133] Фиг. 9 показывает пример конвейера, когда ISP применяется к блоку, большему VPDU-размера.[133] FIG. 9 shows an example of a pipeline when the ISP is applied to a block larger than the VPDU-size.
[134] Например, предполагается, что размер CU сигналов яркости составляет 128×128, размер соответствующей CU сигнала цветности составляет 64×64, она имеет структуру в виде одиночного дерева и разделяется на два блока согласно горизонтальному двоичному дереву. В этом случае, CU сигналов яркости может разделяться на два блока размера 128×64, и CU сигнала цветности может разделяться на два блока размера 64×32. Здесь, при рассмотрении случая применения ISP к текущей CU, ISP может применяться к верхнему блоку из двух блоков, разделенных из CU сигналов яркости, и верхний блок может разделяться на четыре субсегмента размера 32×62 согласно применению ISP. Тем не менее, ISP может применяться только к компоненту сигнала яркости согласно проектному решению по ISP, и в этом случае, ISP может не применяться к CU сигнала цветности или к двум блокам, разделенным из CU сигнала цветности. Здесь, четыре субсегмента могут называться "первым субсегментом", "вторым субсегментом", "третьим субсегментом" и "четвертым субсегментом" слева направо.[134] For example, it is assumed that the size of the luminance CU is 128×128, the size of the corresponding chrominance CU is 64×64, it has a single tree structure, and is divided into two blocks according to the horizontal binary tree. In this case, the luminance CU may be divided into two 128x64 blocks, and the chrominance CU may be divided into two 64x32 blocks. Here, when considering the case of applying the ISP to the current CU, the ISP may be applied to an upper block of two blocks divided from the luminance CUs, and the upper block may be divided into four 32×62 sub-segments according to the application of the ISP. However, ISP may only be applied to the luma component according to the ISP design decision, in which case, ISP may not be applied to the chrominance CU or to two blocks separated from the chrominance CU. Here, the four sub-segments may be referred to as "first sub-segment", "second sub-segment", "third sub-segment", and "fourth sub-segment" from left to right.
[135] В этом случае, первый субсегмент и второй субсегмент, которые представляют собой компоненты сигнала яркости, могут обрабатываться сначала с учетом VPDU 64×64. Здесь, поскольку CU сигнала цветности не разделяется или указывается только на/как области или выборки, соответствующие первому и второму субсегментам, компоненты сигнала цветности, соответствующие первому и второму субсегментам, могут не обрабатываться сразу. Таким образом, после того, как третий субсегмент и четвертый субсегмент, которые представляют собой компоненты сигнала яркости, обрабатываются, компонент сигнала цветности, соответствующий первому-четвертому субсегментам (верхний блок из двух блоков, разделенных из CU сигнала цветности), может обрабатываться. Тем не менее, VPDU может иметь размер 32×32 для компонента сигнала цветности, в этом случае, поскольку размер верхнего блока из двух блоков, разделенных из CU сигнала цветности, составляет 64×32, это может не выполняться в единицах конвейеров VPDU. Альтернативно, эффективность кодирования может уменьшаться.[135] In this case, the first sub-segment and the second sub-segment, which are luminance signal components, may be processed first considering the 64x64 VPDU. Here, since the chrominance CU is not divided or indicated only into/as areas or samples corresponding to the first and second sub-segments, the chrominance signal components corresponding to the first and second sub-segments may not be processed at once. Thus, after the third sub-segment and the fourth sub-segment, which are luminance signal components, are processed, the chrominance signal component corresponding to the first to fourth sub-segments (upper block of two blocks separated from the chrominance CU) can be processed. However, the VPDU may have a size of 32x32 for the chrominance component, in this case, since the top block size of the two blocks separated from the chroma CU is 64x32, this may not be performed in VPDU pipeline units. Alternatively, the coding efficiency may decrease.
[136] Например, в вышеприведенном описании, поскольку размер VPDU может определяться в качестве максимального размера блока преобразования, ссылаясь на таблицу 4, максимальный размер блока преобразования может иметь предварительно установленный максимальный размер блока преобразования для компонента сигнала яркости и может иметь размер в половину от предварительно установленного максимального размера блока преобразования для компонента сигнала цветности. Здесь, предварительно установленный максимальный размер блока преобразования может составлять 64×64, но не ограничен этим.[136] For example, in the above description, since the VPDU size may be determined as the maximum transform unit size by referring to Table 4, the maximum transform unit size may have a preset maximum transform unit size for the luminance signal component, and may have a size of half of the previously the set maximum transform block size for the chroma component. Here, the preset maximum transform block size may be 64×64, but is not limited to this.
[137] Табл. 4[137] Tab. 4
8.4.4. Процесс декодирования для внутренних блоков8.4.4. Decoding process for indoor units
8.4.4.1. Общий процесс декодирования для внутренних блоков8.4.4.1. General decoding process for indoor units
Вводы в этот процесс представляют собой следующее:The inputs to this process are the following:
- выборочное местоположение (xTb0, yTb0), указывающее левую верхнюю выборку текущего блока преобразования относительно левой верхней выборки текущего кадра,- sample location (xTb0, yTb0) indicating the top left sample of the current transform block relative to the top left sample of the current frame,
- переменная nTbW, указывающая ширину текущего блока преобразования,- variable nTbW indicating the width of the current transformation block,
- переменная nTbH, указывающая высоту текущего блока преобразования,- variable nTbH indicating the height of the current transformation block,
- переменная predModeIntra, указывающая режим внутреннего прогнозирования,- variable predModeIntra indicating the mode of internal prediction,
- переменная cIdx, указывающая цветовой компонент текущего блока.- variable cIdx indicating the color component of the current block.
Вывод этого процесса представляет собой модифицированный восстановленный кадр перед внутриконтурной фильтрацией. Максимальный размер maxTbSize блока преобразования извлекается следующим образом:The output of this process is a modified reconstructed frame before in-loop filtering. The maximum size maxTbSize of the transform block is retrieved as follows:
- maxTbSize=(cIdx==0)? MaxTbSizeY:MaxTbSizeY/2- maxTbSize=(cIdx==0)? MaxTbSizeY:MaxTbSizeY/2
[138] В таблице 4, значение поля cIdx может включать в себя индекс цветового компонента, или информацию, указывающую цветовой компонент, может указывать компонент сигнала (Y) яркости, если значение поля cIdx равно 0, и может указывать компонент (Cb) сигнала цветности, если значение поля cIdx равно 1, и может указывать компонент (Cr) сигнала цветности, если значение поля cIdx равно 2.[138] In Table 4, the value of the cIdx field may include a color component index, or information indicating a color component, may indicate a component of the luminance signal (Y) if the value of the cIdx field is 0, and may indicate a component (Cb) of the chrominance signal if the value of the cIdx field is 1, and may indicate the chrominance (Cr) component if the value of the cIdx field is 2.
[139] Другими словами, максимальный размер (maxTbSize) блока преобразования может определяться в качестве предварительно установленного MaxTbSizeY в случае компонента сигнала яркости (cIdx==0) и может определяться в качестве предварительно установленного MaxTbSizeY/2, если он не представляет собой компонент сигнала яркости (cIdx!==0).[139] In other words, the maximum size (maxTbSize) of the transform block may be defined as a preset MaxTbSizeY in the case of a luma component (cIdx==0), and may be defined as a preset MaxTbSizeY/2 if it is not a luminance component (cIdx!==0).
[140] Вариант осуществления согласно этому документу может предлагать способ деактивации ISP-кодирования для блока, имеющего размер 128xN и/или Nx128, чтобы разрешать вышеуказанную сложность или проблему. Альтернативно, согласно варианту осуществления, размер блока, к которому не может применяться ISP, может задаваться. Альтернативно, согласно варианту осуществления, условие, при котором ISP не может применяться на основе размера блока (компонентов сигнала яркости), может задаваться.[140] An embodiment according to this document may propose a method for deactivating ISP encoding for a block having a size of 128xN and/or Nx128 in order to solve the above complexity or problem. Alternatively, according to an embodiment, the block size to which the ISP cannot be applied may be set. Alternatively, according to an embodiment, a condition under which ISP cannot be applied based on the block size (luminance signal components) may be set.
[141] Например, ISP-флаг (например, intra_subpartitions_mode_flag), указывающий то, применяется или нет ISP к текущему блоку (например, CU/CB), может передаваться в служебных сигналах и/или синтаксически анализироваться, когда оба условия i) ширина текущего блока меньше или равна MaxTbSizeY (т.е. ширина/высота максимального блока преобразования для компонента сигнала яркости), и ii) высота текущего блока меньше или равна MaxTbSizeY. Тем не менее, если вышеуказанное условие не удовлетворяется, ISP-флаг может не передаваться в служебных сигналах и/или синтаксически анализироваться, и его значение может оцениваться как 0.[141] For example, an ISP flag (eg, intra_subpartitions_mode_flag) indicating whether or not the ISP applies to the current block (eg, CU/CB) may be signaled and/or parsed when both conditions i) the width of the current block is less than or equal to MaxTbSizeY (ie, the width/height of the maximum transform block for the luma component), and ii) the height of the current block is less than or equal to MaxTbSizeY. However, if the above condition is not met, the ISP flag may not be signaled and/or parsed, and its value may evaluate to 0.
[142] Таким образом, если оба условия удовлетворяются: i) ширина ширины текущего блока меньше или равна MaxTbSizeY, и ii) высота текущего блока меньше или равна MaxTbSizeY, ISP активируется. В противном случае, ISP может не быть доступным (деактивироваться). Здесь, описано, что ширина и высота максимального блока преобразования (TB) задаются идентичными, но настоящее раскрытие сущности не ограничено этим, и максимальная ширина и высота TB могут задаваться различными.[142] Thus, if both conditions are met: i) the current block's width is less than or equal to MaxTbSizeY, and ii) the current block's height is less than or equal to MaxTbSizeY, the ISP is activated. Otherwise, the ISP may not be available (deactivated). Here, it is described that the width and height of the maximum transform unit (TB) are set to be identical, but the present disclosure is not limited to this, and the maximum width and height of the TB may be set to be different.
[143] Другими словами, только когда ширина и высота текущего блока меньше или равны максимальному размеру блока преобразования, ISP может применяться к текущему блоку. Альтернативно, связанная с ISP информация для текущего блока может передаваться в служебных сигналах. Альтернативно, ISP может применяться к блоку текущего компонента сигнала яркости только тогда, когда ширина и высота блока текущего компонента сигнала яркости меньше или равны максимальному размеру блока преобразования. Альтернативно, связанная с ISP информация для блока текущего компонента сигнала яркости может передаваться в служебных сигналах.[143] In other words, only when the width and height of the current block is less than or equal to the maximum transform block size, ISP can be applied to the current block. Alternatively, ISP related information for the current block may be signaled. Alternatively, the ISP may be applied to the current luma component block only when the width and height of the current luma component block is less than or equal to the maximum transform block size. Alternatively, the ISP related information for the current luma component block may be signaled.
[144] Например, связанная с ISP информация может передаваться в служебных сигналах в единицах блоков на основе вышеописанных условий. Альтернативно, когда вышеописанные условия удовлетворяются, информация может передаваться в служебных сигналах через синтаксис единицы кодирования (CU). Альтернативно, синтаксис единицы кодирования может включать в себя информацию относительно того, применяется или нет ISP, когда вышеописанные условия удовлетворяются. Альтернативно, когда вышеописанные условия удовлетворяются, синтаксис единицы кодирования может включать в себя информацию относительно того, применяется или нет ISP, и информацию относительно направления разбиения. Альтернативно, синтаксис единицы кодирования может формироваться в оборудовании кодирования и передаваться в служебных сигналах в оборудование декодирования. Альтернативно, оборудование декодирования может выполнять внутреннее прогнозирование или декодирование на основе передаваемого в служебных сигналах синтаксиса единицы кодирования.[144] For example, ISP related information may be signaled in units of blocks based on the conditions described above. Alternatively, when the conditions described above are satisfied, the information may be signaled via a coding unit (CU) syntax. Alternatively, the coding unit syntax may include information as to whether or not an ISP is applied when the conditions described above are satisfied. Alternatively, when the conditions described above are satisfied, the coding unit syntax may include information regarding whether or not an ISP is applied and information regarding a split direction. Alternatively, the coding unit syntax may be generated in the encoding equipment and signaled to the decoding equipment. Alternatively, the decoding hardware may perform intra-prediction or decoding based on the coding unit syntax signaled.
[145] Например, синтаксис единицы кодирования с учетом вышеописанных условий может представляться так, как показано в нижеприведенной таблице 5. Кроме того, он может включать в себя таблицу 5. Альтернативно, синтаксис единицы кодирования может включать в себя связанную с ISP информацию, как показано в нижеприведенной таблице 5.[145] For example, the syntax of a coding unit subject to the above conditions may be represented as shown in Table 5 below. In addition, it may include Table 5. Alternatively, the syntax of a coding unit may include ISP related information as shown in table 5 below.
[146] Табл. 5[146] Tab. 5
[147] Ссылаясь на таблицу 5, в варианте осуществления, когда (intra_luma_ref_idx[x0][y0]==0 andand (cbWidth<=MaxTbSizeY andand cbHeight<=MaxTbSizeY) andand (cbWidth*cbHeight>MinTbSizeY*MinTbSizeY))) удовлетворяется, он может включать в себя информацию относительно того, применяется или нет ISP, включающую в себя поле intra_subpartitions_mode_flag. Альтернативно, if(cbWidth<=MaxTbSizeY andand cbHeight<=MaxTbSizeY), удовлетворяется, информация относительно того, применяется или нет ISP, включающая в себя поле intra_subpartitions_mode_flag, может включаться. Здесь, cbWidth может указывать ширину текущего блока (сигналов яркости), chHeight может указывать высоту текущего блока (сигналов яркости), и MaxTbSizeY может указывать максимальный размер блока преобразования.[147] Referring to Table 5, in the embodiment, when (intra_luma_ref_idx[x0][y0]==0 and and (cbWidth<=MaxTbSizeY andand cbHeight<=MaxTbSizeY) andand (cbWidth*cbHeight>MinTbSizeY*MinTbSizeY))) is satisfied, it may include information regarding whether or not an ISP is applied, including an intra_subpartitions_mode_flag field. Alternatively, if(cbWidth<=MaxTbSizeY andand cbHeight<=MaxTbSizeY) is satisfied, information regarding whether or not an ISP is applied, including an intra_subpartitions_mode_flag field, may be included. Here, cbWidth may indicate the width of the current box (luminances), chHeight may indicate the height of the current box (luminances), and MaxTbSizeY may indicate the maximum size of the transform box.
[148] Помимо этого, вариант осуществления, включает в себя поле, когда поле intra_subpartitions_mode_flag имеет значение 1, либо когда (intra_subpartitions_mode_flag[x0][y0]==1 andand cbWidth<=MaxTbSizeY andand cbHeight<=MaxTbSizeY) удовлетворяется, информация относительно направления разбиения, включающая в себя поле intra_subpartitions_split_flag, может включаться.[148] In addition, the embodiment includes a field when the intra_subpartitions_mode_flag field has a value of 1, or when (intra_subpartitions_mode_flag[x0][y0]==1 andand cbWidth<=MaxTbSizeY andand cbHeight<=MaxTbSizeY) is satisfied, direction information a partition including an intra_subpartitions_split_flag field may be included.
[149] Например, семантика intra_subpartitions_mode_flag и intra_subpartitions_split_flag может представляться так, как показано в таблице 6.[149] For example, the semantics of intra_subpartitions_mode_flag and intra_subpartitions_split_flag may be represented as shown in Table 6.
[150] Табл. 6[150] Tab. 6
- intra_subpartitions_mode_flag[x0][y0], равный 1, указывает то, что текущая единица внутреннего кодирования сегментируется на субсегменты блока прямоугольного преобразования NumIntraSubPartitions[x0][y0]; intra_subpartitions_mode_flag[x0][y0], равный 0, указывает то, что текущая единица внутреннего кодирования не сегментируется на субсегменты блока прямоугольного преобразования.- intra_subpartitions_mode_flag[x0][y0] equal to 1 indicates that the current intra coding unit is segmented into NumIntraSubPartitions[x0][y0] rectangular transform block sub-segments; intra_subpartitions_mode_flag[x0][y0] equal to 0 indicates that the current intra coding unit is not segmented into rectangular transform block sub-segments.
- intra_subpartitions_split_flag[x0][y0] указывает то, является тип разбиения внутренних субсегментов горизонтальным или вертикальным. Когда intra_subpartitions_split_flag[x0][y0] не присутствует, он может логически выводиться как равный 0.- intra_subpartitions_split_flag[x0][y0] indicates whether the splitting type of internal sub-segments is horizontal or vertical. When intra_subpartitions_split_flag[x0][y0] is not present, it may be logically inferred to be 0.
Переменная IntraSubPartitionsSplitType указывает тип разбиения, используемого для текущего блока кодирования сигналов яркости, как проиллюстрировано в следующей таблице. IntraSubPartitionsSplitType извлекается следующим образом:The variable IntraSubPartitionsSplitType indicates the type of partitioning used for the current luminance coding block, as illustrated in the following table. IntraSubPartitionsSplitType is retrieved like this:
- Если intra_subpartitions_mode_flag[x0][y0] равен 0, IntraSubPartitionsSplitType задается равным 0.- If intra_subpartitions_mode_flag[x0][y0] is 0, IntraSubPartitionsSplitType is set to 0.
- В противном случае, IntraSubPartitionsSplitType задается равным 1+intra_subpartitions_split_flag[x0][y0].- Otherwise, IntraSubPartitionsSplitType is set to 1+intra_subpartitions_split_flag[x0][y0].
[151] Фиг. 10 схематично иллюстрирует способ кодирования изображений посредством оборудования кодирования согласно настоящему документу.[151] FIG. 10 schematically illustrates an image encoding method by encoding equipment according to the present document.
[152] Способ, раскрытый на фиг. 10, может осуществляться посредством оборудования кодирования, раскрытого на фиг. 2. В частности, например, этапы S1000-S1020 по фиг. 10 могут выполняться посредством модуля прогнозирования оборудования кодирования, этап S1030 может выполняться посредством вычитателя оборудования кодирования, и этап S1040 может выполняться посредством энтропийного кодера оборудования кодирования. Кроме того, хотя не показано, процесс формирования информации относительно остатка для текущего блока на основе остаточной выборки может выполняться посредством преобразователя оборудования кодирования.[152] The method disclosed in FIG. 10 may be performed by the encoding equipment disclosed in FIG. 2. Specifically, for example, steps S1000-S1020 of FIG. 10 may be performed by the coding equipment predictor, step S1030 may be performed by the coding equipment subtractor, and step S1040 may be performed by the coding equipment entropy encoder. Also, although not shown, a process of generating residual information for the current block based on the residual sample may be performed by an encoding equipment converter.
[153] Оборудование кодирования извлекает режим внутреннего прогнозирования текущего блока (S1000). Например, оборудование кодирования может извлекать режим внутреннего прогнозирования текущего блока на основе соседних выборок текущего блока. Альтернативно, оборудование кодирования может извлекать опорные выборки текущего блока на основе соседних выборок текущего блока и может определять режим внутреннего прогнозирования, соответственно. Альтернативно, оборудование кодирования может извлекать MPM-список для определения режима внутреннего прогнозирования текущего блока и может формировать связанную с MPM-списками информацию для определения режима внутреннего прогнозирования из MPM-списка. Например, связанная с MPM-списками информация может включать в себя информацию MPM-индекса, и режим внутреннего прогнозирования может определяться из MPM-списка на основе информации MPM-индекса.[153] The encoding equipment retrieves the intra prediction mode of the current block (S1000). For example, the encoding equipment may derive the intra prediction mode of the current block based on adjacent samples of the current block. Alternatively, the encoding equipment may derive the reference samples of the current block based on neighboring samples of the current block, and may determine the intra prediction mode, respectively. Alternatively, the encoding equipment may retrieve the MPM list to determine the intra prediction mode of the current block, and may generate MPM list-related information for determining the intra prediction mode from the MPM list. For example, the MPM list related information may include MPM index information, and the intra prediction mode may be determined from the MPM list based on the MPM index information.
[154] Оборудование кодирования извлекает связанную с ISP информацию для текущего блока на основе размера текущего блока и максимального размера блока преобразования (S1010). Например, оборудование кодирования может извлекать связанную с ISP информацию посредством сравнения ширины и/или высоты текущего блока с максимальным размером блока преобразования. Альтернативно, когда ширина текущего блока меньше или равна максимальному размеру блока преобразования, и высота текущего блока меньше или равна максимальному размеру блока преобразования, оборудование кодирования может извлекать связанную с ISP информацию для текущего блока. Альтернативно, оборудование кодирования может извлекать связанную с ISP информацию относительно текущего блока, имеющего ширину, меньшую или равную максимальному размеру блока преобразования, и высоту, меньшую или равную максимальному размеру блока преобразования. Здесь, максимальный размер блока преобразования может выражаться как maxTbsizeY, и ширина и высота могут быть идентичными. Альтернативно, максимальный размер блока преобразования может иметь различную ширину и высоту. Например, когда ширина текущего блока меньше или равна ширине максимального блока преобразования, и высота текущего блока меньше или равна высоте максимального блока преобразования, оборудование кодирования может извлекать связанную с ISP информацию для текущего блока.[154] The encoding equipment extracts ISP related information for the current block based on the current block size and the maximum transform block size (S1010). For example, the encoding equipment may extract ISP related information by comparing the width and/or height of the current block with the maximum transform block size. Alternatively, when the width of the current block is less than or equal to the maximum transform block size and the height of the current block is less than or equal to the maximum transform block size, the encoding equipment can extract ISP related information for the current block. Alternatively, the encoding equipment may extract ISP related information regarding a current block having a width less than or equal to the maximum transform block size and a height less than or equal to the maximum transform block size. Here, the maximum transform box size can be expressed as maxTbsizeY, and the width and height can be identical. Alternatively, the maximum transform block size may have a different width and height. For example, when the width of the current block is less than or equal to the width of the maximum transformation block, and the height of the current block is less than or equal to the height of the maximum transformation block, the encoding equipment can extract ISP related information for the current block.
[155] Например, связанная с ISP информация может включать в себя информацию относительно того, применяется или нет ISP к текущему блоку. Таким образом, оборудование кодирования может извлекать информацию относительно того, применяется или нет ISP к текущему блоку, посредством сравнения ширины и/или высоты текущего блока с максимальным размером блока преобразования. Альтернативно, когда ширина текущего блока меньше или равна максимальному размеру блока преобразования, и высота текущего блока меньше или равна максимальному размеру блока преобразования, устройство кодирования может извлекать информацию относительно того, применяется или нет ISP к текущему блоку. Альтернативно, устройство кодирования может извлекать связанную с ISP информацию для текущего блока, имеющего ширину, меньшую или равную максимальному размеру блока преобразования, и высоту, меньшую или равную максимальному размеру блока преобразования, при этом связанная с ISP информация включает в себя информацию относительно того, применяется или нет ISP к текущему блоку. Здесь, информация относительно того, применяется или нет ISP к текущему блоку, может включать в себя поле intra_subpartitions_mode_flag. Здесь, поле intra_subpartitions_mode_flag может представляться как ISP-флаг. Например, поле intra_subpartitions_mode_flag может иметь значение 0 или 1. Кроме того, информация относительно того, применяется или нет ISP к текущему блоку, может включаться в синтаксис единицы кодирования.[155] For example, the ISP related information may include information regarding whether or not the ISP is applied to the current block. Thus, the encoding equipment can extract information regarding whether or not ISP is applied to the current block by comparing the width and/or height of the current block with the maximum transform block size. Alternatively, when the width of the current block is less than or equal to the maximum transform block size and the height of the current block is less than or equal to the maximum transform block size, the encoder can extract information regarding whether or not ISP is applied to the current block. Alternatively, the encoder may extract ISP-related information for a current block having a width less than or equal to the maximum transformation block size and a height less than or equal to the maximum transformation block size, wherein the ISP-related information includes information as to whether or no ISP to the current block. Here, information regarding whether or not the ISP is applied to the current block may include an intra_subpartitions_mode_flag field. Here, the intra_subpartitions_mode_flag field may be represented as an ISP flag. For example, the intra_subpartitions_mode_flag field may have a value of 0 or 1. In addition, information regarding whether or not an ISP applies to the current block may be included in the coding unit syntax.
[156] Например, информация относительно того, применяется или нет ISP, может включать в себя информацию относительно применения ISP к текущему блоку или информацию относительно неприменения ISP к текущему блоку. Например, когда информация относительно того, применяется или нет ISP, включает в себя поле intra_subpartitions_mode_flag, информация относительно применения ISP к текущему блоку может указывать случай, в котором значение поля intra_subpartitions_mode_flag равно 1, и информация относительно неприменения ISP к текущему блоку может указывать случай, в котором значение поля intra_subpartitions_mode_flag равно 0. Альтернативно, информация для применения ISP в текущему блоку может указывать случай, в котором значение поля intra_subpartitions_mode_flag равно 0, и информация относительно неприменения ISP к текущему блоку может указывать случай, в котором значение поля intra_subpartitions_mode_flag равно 1. Другими словами, информация относительно применения ISP к текущему блоку или информация относительно неприменения ISP к текущему блоку может указываться посредством значения поля intra_subpartitions_mode_flag.[156] For example, information regarding whether or not ISP is applied may include information regarding applying ISP to the current block or information regarding not applying ISP to the current block. For example, when information regarding whether or not ISP is applied includes an intra_subpartitions_mode_flag field, information regarding applying ISP to the current block may indicate a case in which the value of the intra_subpartitions_mode_flag field is 1, and information regarding not applying ISP to the current block may indicate a case in in which the value of the intra_subpartitions_mode_flag field is 0. Alternatively, the information for applying ISP in the current block may indicate a case in which the value of the intra_subpartitions_mode_flag field is 0, and information regarding not applying ISP to the current block may indicate a case in which the value of the intra_subpartitions_mode_flag field is 1. In other words, , information regarding applying ISP to the current block, or information regarding not applying ISP to the current block may be indicated by the value of the intra_subpartitions_mode_flag field.
[157] Например, связанная с ISP информация может включать в себя информацию относительно того, применяется или нет ISP к текущему блоку, и информацию относительно направления разбиения. Альтернативно, когда информация относительно того, применяется или нет ISP, включает в себя информацию для применения ISP в текущему блоку, связанная с ISP информация может включать в себя информацию относительно направления разбиения. Альтернативно, когда связанная с ISP информация включает в себя информацию для применения ISP в текущему блоку, информация относительно направления разбиения также может включаться. Альтернативно, связанная с ISP информация дополнительно может включать в себя информацию относительно направления разбиения на основе информации относительно того, применяется или нет ISP, указывающей то, что ISP применяется к текущему блоку. Например, информация относительно направления разбиения может включать в себя поле intra_subpartitions_split_flag. Здесь, поле intra_subpartitions_split_flag может представляться как флаг направления разбиения. Например, поле intra_subpartitions_split_flag может иметь значение 0 или 1. Например, когда информация относительно направления разбиения включает в себя поле intra_subpartitions_split_flag, информация, в которой направление разбиения является горизонтальным, может указывать случай, в котором значение поля intra_subpartitions_split_flag равно 0, и информация, в которой направление разбиения является вертикальным, может указывать, когда значение поля intra_subpartitions_split_flag равно 1. Альтернативно, информация, в которой направление разбиения является горизонтальным, может указывать случай, в котором значение поля intra_subpartitions_split_flag равно 1, и информация, в которой направление разбиения является вертикальным, может указывать случай, в котором значение поля intra_subpartitions_split_flag равно 0.[157] For example, the ISP-related information may include information regarding whether or not an ISP is applied to the current block, and information regarding a split direction. Alternatively, when the information regarding whether or not the ISP is applied includes information for applying the ISP in the current block, the ISP-related information may include information regarding the split direction. Alternatively, when the ISP-related information includes information for applying the ISP in the current block, information regarding the split direction may also be included. Alternatively, the ISP-related information may further include information regarding a split direction based on information regarding whether or not an ISP is applied indicating that the ISP is applied to the current block. For example, information regarding the split direction may include an intra_subpartitions_split_flag field. Here, the intra_subpartitions_split_flag field may be represented as a split direction flag. For example, the intra_subpartitions_split_flag field may have a value of 0 or 1. For example, when the information regarding the split direction includes the intra_subpartitions_split_flag field, the information in which the split direction is horizontal may indicate a case in which the value of the intra_subpartitions_split_flag field is 0 and information in which the split direction is vertical may indicate when the value of the intra_subpartitions_split_flag field is 1. Alternatively, the information in which the split direction is horizontal may indicate the case in which the value of the intra_subpartitions_split_flag field is 1, and the information in which the split direction is vertical may indicate the case in which the value of the intra_subpartitions_split_flag field is 0.
[158] Альтернативно, когда ширина или высота текущего блока превышает максимальный размер блока преобразования, связанная с ISP информация может включать в себя информацию относительно того, чтобы не применять ISP к текущему блоку. Например, когда ширина или высота текущего блока превышает максимальный размер блока преобразования, информация относительно того, применяется или нет ISP к текущему блоку, может не включаться. Альтернативно, она может не извлекаться. Здесь, когда информация относительно того, применяется или нет ISP, не извлекается, может подразумеваться то, что информация относительно неприменения ISP к текущему блоку извлекается.[158] Alternatively, when the width or height of the current block exceeds the maximum transform block size, the ISP-related information may include information regarding not to apply ISP to the current block. For example, when the width or height of the current block exceeds the maximum transform block size, information regarding whether or not an ISP is applied to the current block may not be included. Alternatively, it may not be retrieved. Here, when information regarding whether or not ISP is applied is not retrieved, it may be understood that information regarding not applying ISP to the current block is retrieved.
[159] Оборудование кодирования формирует прогнозную выборку текущего блока на основе режима внутреннего прогнозирования и связанной с ISP информации (S1020). Например, при применении ISP к текущему блоку на основе связанной с ISP информации, оборудование кодирования может определять режим внутреннего прогнозирования одинаково для разделенных субсегментов. Альтернативно, режим внутреннего прогнозирования может в равной степени применяться к субсегментам. Например, когда ISP применяется к текущему блоку, оборудование кодирования может извлекать MPM-список согласно направлению разбиения. Альтернативно, устройство кодирования дополнительно может получать связанную с MPM-списками информацию и может извлекать другой MPM-список согласно направлению разбиения. Например, различные MPM-списки могут извлекаться при разделении в горизонтальном направлении и при разделении в вертикальном направлении. Оборудование кодирования может извлекать MPM-список по-разному согласно направлению разбиения, определять режим внутреннего прогнозирования на основе извлеченного MPM-списка и применять определенный режим внутреннего прогнозирования к субсегментам одинаково.[159] The encoding equipment generates a prediction sample of the current block based on the intra prediction mode and ISP related information (S1020). For example, when applying the ISP to the current block based on the information associated with the ISP, the encoding equipment can determine the intra prediction mode in the same way for the divided sub-segments. Alternatively, the intra prediction mode may be equally applied to sub-segments. For example, when the ISP is applied to the current block, the encoding equipment may extract the MPM list according to the split direction. Alternatively, the encoder may further obtain information related to the MPM lists and may extract another MPM list according to the split direction. For example, different MPM lists may be extracted by splitting in the horizontal direction and splitting in the vertical direction. The encoding equipment may extract the MPM list differently according to the split direction, determine the intra prediction mode based on the extracted MPM list, and apply the determined intra prediction mode to the sub-segments in the same way.
[160] Например, прогнозная выборка может формироваться на основе режима внутреннего прогнозирования и субсегментов текущего блока. Кроме того, субсегменты текущего блока могут извлекаться на основе информации относительно направления разбиения. Таким образом, субсегменты текущего блока могут извлекаться посредством разделения в вертикальном направлении или могут извлекаться посредством разделения в горизонтальном направлении. Например, MPM-список может извлекаться по-разному согласно направлению разбиения, как описано выше.[160] For example, the predictive sample may be generated based on the intra prediction mode and sub-segments of the current block. In addition, sub-segments of the current block may be extracted based on information regarding the split direction. Thus, sub-segments of the current block may be extracted by splitting in the vertical direction, or may be extracted by splitting in the horizontal direction. For example, the MPM list may be retrieved differently according to the split direction, as described above.
[161] Например, субсегменты текущего блока могут включать в себя первый субсегмент и второй субсегмент. Альтернативно, субсегменты текущего блока могут включать в себя первый субсегмент, второй субсегмент, третий субсегмент и четвертый субсегмент. Здесь, число субсегментов может определяться на основе размера текущего блока.[161] For example, the sub-segments of the current block may include a first sub-segment and a second sub-segment. Alternatively, the sub-segments of the current block may include a first sub-segment, a second sub-segment, a third sub-segment, and a fourth sub-segment. Here, the number of sub-segments may be determined based on the size of the current block.
[162] Например, когда текущий блок разделяется на первый субсегмент и второй субсегмент, прогнозная выборка первого субсегмента может формироваться на основе режима внутреннего прогнозирования и соседних выборок первого субсегмента, прогнозная выборка второго субсегмента может формироваться на основе режима внутреннего прогнозирования и прогнозной выборки первого субсегмента. Таким образом, прогнозная выборка первого субсегмента может формироваться на основе левой соседней выборки и/или верхней соседней выборки первого субсегмента согласно режиму внутреннего прогнозирования. Альтернативно, опорная выборка первого субсегмента может извлекаться на основе левой соседней выборки и/или верхней соседней выборки первого субсегмента согласно режиму внутреннего прогнозирования, и прогнозная выборка первого субсегмента может формироваться на основе извлеченной опорной выборки. Опорная выборка второго субсегмента может извлекаться на основе левой соседней выборки и/или верхней соседней выборки второго субсегмента согласно режиму внутреннего прогнозирования, и прогнозная выборка второго субсегмента может формироваться на основе извлеченной опорной выборки. Здесь, прогнозная выборка первого субсегмента может использоваться в качестве соседней выборки второго субсегмента. Альтернативно, она может извлекаться в качестве опорной выборки второго субсегмента. Здесь, режим внутреннего прогнозирования второго субсегмента может быть идентичным режиму внутреннего прогнозирования первого субсегмента.[162] For example, when the current block is divided into a first sub-segment and a second sub-segment, a prediction sample of the first sub-segment may be generated based on the intra prediction mode and neighboring samples of the first sub-segment, a prediction sample of the second sub-segment may be generated based on the intra prediction mode and the prediction sample of the first sub-segment. Thus, the first sub-segment prediction sample may be generated based on the left neighbor sample and/or the top neighbor sample of the first sub-segment according to the intra prediction mode. Alternatively, the first sub-segment reference sample may be derived based on the left adjacent sample and/or the top adjacent sample of the first sub-segment according to the intra prediction mode, and the first sub-segment prediction sample may be generated based on the extracted reference sample. The second sub-segment reference sample may be derived based on the left adjacent sample and/or the top adjacent sample of the second sub-segment according to the intra prediction mode, and the second sub-segment prediction sample may be generated based on the extracted reference sample. Here, the prediction sample of the first sub-segment may be used as an adjacent sample of the second sub-segment. Alternatively, it may be extracted as a reference sample of the second subsegment. Here, the intra prediction mode of the second sub-segment may be the same as the intra prediction mode of the first sub-segment.
[163] Альтернативно, оборудование кодирования может непосредственно использовать прогнозную выборку в качестве восстановленной выборки согласно режиму прогнозирования. Кроме того, оборудование кодирования может формировать прогнозированный блок текущего блока на основе прогнозной выборки. Кроме того, оборудование кодирования может формировать остаточную выборку на основе исходной выборки и сформированной прогнозной выборки. Оборудование кодирования может формировать информацию относительно остатка на основе остаточной выборки. Информация относительно остатка может включать в себя коэффициенты преобразования для остаточной выборки. Оборудование кодирования может извлекать восстановленную выборку на основе прогнозной выборки и остаточной выборки. Таким образом, оборудование кодирования может извлекать восстановленную выборку посредством суммирования прогнозной выборки и остаточной выборки. Здесь, оборудование кодирования может формировать остаточный блок на основе исходного блока и прогнозированного блока и также может формировать информацию относительно остатка на основе остаточного блока.[163] Alternatively, the encoding equipment may directly use the predictive sample as the reconstructed sample according to the prediction mode. In addition, the encoding equipment may generate a prediction block of the current block based on the prediction sample. In addition, the encoding equipment may generate a residual sample based on the original sample and the generated predictive sample. The encoding equipment may generate information regarding the residual based on the residual sample. The residual information may include transform coefficients for the residual sample. The encoding equipment may derive a reconstructed sample based on the predictive sample and the residual sample. Thus, the encoding equipment can extract the reconstructed sample by summing the predictive sample and the residual sample. Here, the encoding equipment may generate a residual block based on the original block and the predicted block, and may also generate information on the residual based on the residual block.
[164] Оборудование кодирования извлекает остаточную выборку на основе прогнозной выборки (S1030). Например, оборудование кодирования может извлекать остаточную выборку для текущего блока на основе исходной выборки и прогнозной выборки для текущего блока. Тем не менее, оборудование кодирования может использовать прогнозную выборку в качестве восстановленной выборки, и в этом случае, оборудование кодирования может опускать процесс извлечения остаточной выборки на основе прогнозной выборки. Альтернативно, хотя не показано, оборудование кодирования может формировать восстановленную выборку посредством суммирования остаточной выборки с прогнозной выборкой.[164] The encoding equipment extracts the residual sample based on the predictive sample (S1030). For example, the encoding equipment may derive a residual sample for the current block based on the original sample and the predictive sample for the current block. However, the encoding equipment may use the predictive sample as the reconstructed sample, in which case, the encoding equipment may omit the process of extracting the residual sample based on the predictive sample. Alternatively, although not shown, the encoding equipment may generate a reconstructed sample by summing the residual sample with the predictive sample.
[165] Оборудование кодирования кодирует информацию изображений, включающую в себя информацию режима прогнозирования относительно режима внутреннего прогнозирования, связанную с ISP информацию и информацию относительно остаточной выборки (S1040). Например, оборудование кодирования может определять режим прогнозирования текущего блока и может формировать информацию, указывающую режим прогнозирования. Альтернативно, оборудование кодирования может определять режим внутреннего прогнозирования текущего блока и может формировать информацию режима прогнозирования текущего блока, включающую в себя информацию относительно режима внутреннего прогнозирования. Информация режима прогнозирования может включать в себя информацию относительно прогнозирования текущего блока или различную информацию для прогнозирования. Информация режима прогнозирования может включать в себя связанную с MPM-списками информацию. Альтернативно, связанная с MPM-списками информация может включать информацию MPM-индекса для режима внутреннего прогнозирования, используемого для внутреннего прогнозирования текущего блока, в MPM-список.[165] The encoding equipment encodes image information including prediction mode information regarding the intra prediction mode, ISP-related information, and information regarding the residual sample (S1040). For example, the encoding equipment may determine the prediction mode of the current block and may generate information indicating the prediction mode. Alternatively, the encoding equipment may determine the intra prediction mode of the current block, and may generate prediction mode information of the current block including information regarding the intra prediction mode. The prediction mode information may include information regarding prediction of the current block or various prediction information. The prediction mode information may include MPM list related information. Alternatively, the information associated with the MPM lists may include MPM index information for the intra prediction mode used for intra prediction of the current block in the MPM list.
[166] Кроме того, устройство кодирования может формировать связанную с ISP информацию. Связанная с ISP информация может включать в себя информацию относительно того, применяется или нет ISP к текущему блоку. Альтернативно, связанная с ISP информация может включать в себя информацию относительно того, применяется или нет ISP к текущему блоку, и информацию относительно направления разбиения. Альтернативно, связанная с ISP информация может включать в себя информацию, указывающую то, что ISP не применяется к текущему блоку. Кроме того, оборудование кодирования может формировать информацию относительно остатка. Информация относительно остатка может включать в себя информацию относительно остаточной выборки (или массива остаточных выборок). Альтернативно, информация относительно остатка может включать в себя коэффициенты преобразования для остаточной выборки.[166] In addition, the encoder may generate ISP related information. The ISP related information may include information regarding whether or not the ISP is applied to the current block. Alternatively, the ISP related information may include information regarding whether or not an ISP is applied to the current block and information regarding a split direction. Alternatively, the ISP related information may include information indicating that the ISP is not applied to the current block. In addition, the encoding equipment may generate information regarding the remainder. Information regarding the residual may include information regarding the residual sample (or array of residual samples). Alternatively, the residual information may include transform coefficients for the residual sample.
[167] Оборудование кодирования может формировать поток битов посредством кодирования информации изображений, включающей в себя всю или часть вышеописанной информации. Альтернативно, она может выводиться в форме потока битов. Кроме того, поток битов может передаваться в оборудование декодирования через сеть или носитель хранения данных. Альтернативно, поток битов может сохраняться на машиночитаемом носителе хранения данных.[167] The encoding equipment may generate a bit stream by encoding image information including all or part of the above-described information. Alternatively, it may be output in the form of a bit stream. In addition, the bitstream may be transmitted to the decoding equipment via a network or a storage medium. Alternatively, the bit stream may be stored on a computer-readable storage medium.
[168] Фиг. 11 схематично иллюстрирует способ декодирования изображений посредством оборудования декодирования согласно настоящему документу.[168] FIG. 11 schematically illustrates the image decoding method by the decoding equipment according to the present document.
[169] Способ, раскрытый на фиг. 11, может осуществляться посредством оборудования декодирования, проиллюстрированного на фиг. 3. В частности, например, S1100 по фиг. 11 может выполняться посредством энтропийного декодера оборудования декодирования, и S1110-S1130 могут выполняться посредством модуля прогнозирования оборудования декодирования. Помимо этого, хотя не показано, процесс получения информации изображений, включающей в себя информацию относительно прогнозирования текущего блока и информацию относительно остатка через поток битов, может выполняться посредством энтропийного декодера оборудования декодирования, и процесс извлечения остаточной выборки для текущего блока на основе информации относительно остатка может выполняться посредством обратного преобразователя оборудования декодирования, и процесса формирования восстановленного кадра на основе прогнозной выборки и остаточной выборки может выполняться посредством сумматора оборудования декодирования.[169] The method disclosed in FIG. 11 may be performed by the decoding equipment illustrated in FIG. 3. In particular, for example, the S1100 of FIG. 11 may be performed by the entropy decoder of the decoding equipment, and S1110 to S1130 may be performed by the prediction unit of the decoding equipment. In addition, although not shown, a process for obtaining image information including current block prediction information and residual information via a bitstream may be performed by the entropy decoder of the decoding equipment, and a residual sample extraction process for the current block based on the residual information may be performed by the inverse converter of the decoding equipment, and the process of generating a reconstructed frame based on the predictive sample and the residual sample may be performed by the adder of the decoding equipment.
[170] Оборудование декодирования принимает информацию режима прогнозирования текущего блока (S1100). Например, информация режима прогнозирования может включать в себя информацию относительно режима внутреннего прогнозирования текущего блока. Альтернативно, информация относительно прогнозирования текущего блока или различная информация для прогнозирования может включаться. Например, оборудование декодирования может получать информацию режима прогнозирования из потока битов. Альтернативно, оборудование декодирования может энтропийно декодировать поток битов, чтобы получать информацию режима прогнозирования. Альтернативно, оборудование декодирования может получать информацию режима прогнозирования посредством синтаксического анализа потока битов.[170] The decoding equipment receives prediction mode information of the current block (S1100). For example, the prediction mode information may include information regarding the intra prediction mode of the current block. Alternatively, information regarding prediction of the current block or various prediction information may be included. For example, the decoding equipment may obtain prediction mode information from the bit stream. Alternatively, the decoding equipment may entropy decode the bit stream to obtain prediction mode information. Alternatively, the decoding equipment may obtain the prediction mode information by parsing the bit stream.
[171] Оборудование декодирования принимает связанную ISP с информацию относительно текущего блока на основе размера текущего блока и максимального размера блока преобразования (S1110). Например, оборудование декодирования может принимать или извлекать связанную с ISP информацию посредством сравнения ширины и/или высоты текущего блока с максимальным размером блока преобразования. Альтернативно, когда ширина текущего блока меньше или равна максимальному размеру блока преобразования, и высота текущего блока меньше или равна максимальному размеру блока преобразования, оборудование декодирования может принимать связанную с ISP информацию относительно текущего блока. Альтернативно, оборудование декодирования может принимать связанную с ISP информацию относительно текущего блока, имеющего ширину, меньшую или равную максимальному размеру блока преобразования, и высоту, меньшую или равную максимальному размеру блока преобразования. Здесь, максимальный размер блока преобразования может выражаться как maxTbsizeY, и ширина и высота могут быть идентичными. Альтернативно, максимальный размер блока преобразования может иметь различную ширину и высоту. Например, когда ширина текущего блока меньше или равна ширине максимального блока преобразования, и высота текущего блока меньше или равна высоте максимального блока преобразования, оборудование декодирования может извлекать связанную с ISP информацию для текущего блока.[171] The decoding equipment receives ISP-related information regarding the current block based on the current block size and the maximum transform block size (S1110). For example, the decoding hardware may receive or retrieve ISP related information by comparing the width and/or height of the current block with the maximum transform block size. Alternatively, when the width of the current block is less than or equal to the maximum transform block size and the height of the current block is less than or equal to the maximum transform block size, the decoding equipment can receive ISP related information regarding the current block. Alternatively, the decoding equipment may receive ISP related information regarding a current block having a width less than or equal to the maximum transform block size and a height less than or equal to the maximum transform block size. Here, the maximum transform box size can be expressed as maxTbsizeY, and the width and height can be identical. Alternatively, the maximum transform block size may have a different width and height. For example, when the width of the current block is less than or equal to the width of the maximum transformation block, and the height of the current block is less than or equal to the height of the maximum transformation block, the decoding equipment can extract ISP related information for the current block.
[172] Например, связанная с ISP информация может включать в себя информацию относительно того, применяется или нет ISP к текущему блоку. Таким образом, оборудование декодирования может сравнивать ширину и/или высоту текущего блока с максимальным размером блока преобразования, чтобы принимать информацию относительно того, применяется или нет ISP к текущему блоку. Альтернативно, когда ширина текущего блока меньше или равна максимальному размеру блока преобразования, и высота текущего блока меньше или равна максимальному размеру блока преобразования, оборудование декодирования может принимать информацию относительно того, применяется или нет ISP к текущему блоку. Альтернативно, оборудование декодирования может принимать связанную с ISP информацию для текущего блока, имеющего ширину, меньшую или равную максимальному размеру блока преобразования, и высоту, меньшую или равную максимальному размеру блока преобразования, и связанная с ISP информация может включать в себя информацию относительно того, применяется или нет ISP к текущему блоку. Здесь, информация относительно того, применяется или нет ISP к текущему блоку, может включать в себя поле intra_subpartitions_mode_flag. Здесь, поле intra_subpartitions_mode_flag может представляться как ISP-флаг. Например, поле intra_subpartitions_mode_flag может иметь значение 0 или 1. Кроме того, информация относительно того, применяется или нет ISP к текущему блоку, может включаться в синтаксис единицы кодирования.[172] For example, the ISP-related information may include information regarding whether or not the ISP is applied to the current block. Thus, the decoding equipment can compare the width and/or height of the current block with the maximum transform block size to receive information as to whether or not ISP is applied to the current block. Alternatively, when the width of the current block is less than or equal to the maximum transform block size and the height of the current block is less than or equal to the maximum transform block size, the decoding equipment can receive information as to whether or not ISP is applied to the current block. Alternatively, the decoding equipment may receive ISP-related information for a current block having a width less than or equal to the maximum transform block size and a height less than or equal to the maximum transformation block size, and the ISP-related information may include information as to whether or no ISP to the current block. Here, information regarding whether or not the ISP is applied to the current block may include an intra_subpartitions_mode_flag field. Here, the intra_subpartitions_mode_flag field may be represented as an ISP flag. For example, the intra_subpartitions_mode_flag field may have a value of 0 or 1. In addition, information regarding whether or not an ISP applies to the current block may be included in the coding unit syntax.
[173] Например, информация относительно того, применяется или нет ISP, может включать в себя информацию относительно применения ISP к текущему блоку или информацию относительно неприменения ISP к текущему блоку. Например, когда информация относительно того, применяется или нет ISP, включает в себя поле intra_subpartitions_mode_flag, информация относительно применения ISP к текущему блоку может указывать случай, в котором значение поля intra_subpartitions_mode_flag равно 1, и информация относительно неприменения ISP к текущему блоку может указывать случай, в котором значение поля intra_subpartitions_mode_flag равно 0. Альтернативно, информация относительно применения ISP к текущему блоку может указывать случай, в котором значение поля intra_subpartitions_mode_flag равно 0, и информация относительно неприменения ISP к текущему блоку может указывать случай, в котором значение поля intra_subpartitions_mode_flag равно 1. Другими словами, информация относительно применения ISP к текущему блоку или информация относительно неприменения ISP к текущему блоку может указываться посредством значения поля intra_subpartitions_mode_flag.[173] For example, information regarding whether or not ISP is applied may include information regarding applying ISP to the current block or information regarding not applying ISP to the current block. For example, when information regarding whether or not ISP is applied includes an intra_subpartitions_mode_flag field, information regarding applying ISP to the current block may indicate a case in which the value of the intra_subpartitions_mode_flag field is 1, and information regarding not applying ISP to the current block may indicate a case in in which the value of the intra_subpartitions_mode_flag field is 0. Alternatively, the information regarding applying ISP to the current block may indicate a case in which the value of the intra_subpartitions_mode_flag field is 0, and information regarding not applying ISP to the current block may indicate a case in which the value of the intra_subpartitions_mode_flag field is 1. In other words, , information regarding applying ISP to the current block, or information regarding not applying ISP to the current block may be indicated by the value of the intra_subpartitions_mode_flag field.
[174] Например, связанная с ISP информация может включать в себя информацию относительно того, применяется или нет ISP к текущему блоку, и информацию относительно направления разбиения. Альтернативно, когда информация относительно того, применяется или нет ISP, включает в себя информацию для применения ISP в текущему блоку, связанная с ISP информация может включать в себя информацию относительно направления разбиения. Альтернативно, когда связанная с ISP информация включает в себя информацию для применения ISP в текущему блоку, информация относительно направления разбиения также может включаться. Альтернативно, связанная с ISP информация дополнительно может включать в себя информацию относительно направления разбиения на основе информации относительно того, применяется или нет ISP, указывающей то, что ISP применяется к текущему блоку. Например, информация относительно направления разбиения может включать в себя поле intra_subpartitions_split_flag. Здесь, поле intra_subpartitions_split_flag может представляться как флаг направления разбиения. Например, поле intra_subpartitions_split_flag может иметь значение 0 или 1. Например, когда информация относительно направления разбиения включает в себя поле intra_subpartitions_split_flag, информация, в которой направление разбиения является горизонтальным, может указывать случай, в котором значение поля intra_subpartitions_split_flag равно 0, и информация, в которой направление разбиения является вертикальным, может указывать, когда значение поля intra_subpartitions_split_flag равно 1. Альтернативно, информация, в которой направление разбиения является горизонтальным, может указывать случай, в котором значение поля intra_subpartitions_split_flag равно 1, и информация, в которой направление разбиения является вертикальным, может указывать случай, в котором значение поля intra_subpartitions_split_flag равно 0.[174] For example, the ISP-related information may include information regarding whether or not an ISP is applied to the current block, and information regarding a split direction. Alternatively, when the information regarding whether or not the ISP is applied includes information for applying the ISP in the current block, the ISP-related information may include information regarding the split direction. Alternatively, when the ISP-related information includes information for applying the ISP in the current block, information regarding the split direction may also be included. Alternatively, the ISP-related information may further include information regarding a split direction based on information regarding whether or not an ISP is applied indicating that the ISP is applied to the current block. For example, information regarding the split direction may include an intra_subpartitions_split_flag field. Here, the intra_subpartitions_split_flag field may be represented as a split direction flag. For example, the intra_subpartitions_split_flag field may have a value of 0 or 1. For example, when the information regarding the split direction includes the intra_subpartitions_split_flag field, the information in which the split direction is horizontal may indicate a case in which the value of the intra_subpartitions_split_flag field is 0 and information in which the split direction is vertical may indicate when the value of the intra_subpartitions_split_flag field is 1. Alternatively, the information in which the split direction is horizontal may indicate the case in which the value of the intra_subpartitions_split_flag field is 1, and the information in which the split direction is vertical may indicate the case in which the value of the intra_subpartitions_split_flag field is 0.
[175] Альтернативно, когда ширина или высота текущего блока превышает максимальный размер блока преобразования, связанная с ISP информация может включать в себя информацию относительно того, чтобы не применять ISP к текущему блоку. Например, когда ширина или высота текущего блока превышает максимальный размер блока преобразования, информация относительно того, применяется или нет ISP к текущему блоку, может не включаться. Альтернативно, она может не извлекаться. Здесь, когда информация относительно того, применяется или нет ISP, не извлекается, может подразумеваться то, что информация относительно неприменения ISP к текущему блоку извлекается.[175] Alternatively, when the width or height of the current block exceeds the maximum transform block size, the ISP-related information may include information regarding not to apply ISP to the current block. For example, when the width or height of the current block exceeds the maximum transform block size, information regarding whether or not an ISP is applied to the current block may not be included. Alternatively, it may not be retrieved. Here, when information regarding whether or not ISP is applied is not retrieved, it may be understood that information regarding not applying ISP to the current block is retrieved.
[176] Оборудование декодирования извлекает режим внутреннего прогнозирования текущего блока на основе информации режима прогнозирования (S1120). Например, информация режима прогнозирования может включать в себя информацию относительно режима внутреннего прогнозирования текущего блока, и оборудование декодирования может определять режим внутреннего прогнозирования текущего блока на основе информации относительно режима внутреннего прогнозирования текущего блока. Альтернативно, оборудование декодирования дополнительно может получать связанную с MPM-списками информацию и может определять режим внутреннего прогнозирования на основе связанной с MPM-списками информации. Альтернативно, связанная с MPM-списками информация может включать в себя информацию MPM-индекса, и оборудование декодирования может определять режим внутреннего прогнозирования текущего блока в MPM-списке на основе информации MPM-индекса.[176] The decoding equipment extracts the intra prediction mode of the current block based on the prediction mode information (S1120). For example, the prediction mode information may include information on the intra prediction mode of the current block, and the decoding equipment may determine the intra prediction mode of the current block based on the information on the intra prediction mode of the current block. Alternatively, the decoding equipment may further obtain the MPM list related information and may determine the intra prediction mode based on the MPM list related information. Alternatively, the MPM-list related information may include MPM index information, and the decoding equipment may determine the intra prediction mode of the current block in the MPM list based on the MPM index information.
[177] Оборудование декодирования формирует прогнозную выборку текущего блока на основе режима внутреннего прогнозирования и связанной с ISP информации (S1130). Например, при применении ISP к текущему блоку на основе связанной с ISP информации, оборудование декодирования может определять режим внутреннего прогнозирования одинаково для разделенных субсегментов. Альтернативно, режим внутреннего прогнозирования может в равной степени применяться к субсегментам. Например, при применении ISP к текущему блоку, оборудование декодирования может извлекать MPM-список согласно направлению разбиения. Альтернативно, оборудование декодирования дополнительно может получать связанную с MPM-списками информацию и может извлекать другой MPM-список согласно направлению разбиения. Например, различные MPM-списки могут извлекаться, когда он разделяется в горизонтальном направлении, и когда он разделяется в вертикальном направлении. Оборудование декодирования может извлекать MPM-список по-разному согласно направлению разбиения, определять режим внутреннего прогнозирования на основе извлеченного MPM-списка и применять определенный режим внутреннего прогнозирования к субсегментам одинаково.[177] The decoding equipment generates a prediction sample of the current block based on the intra prediction mode and ISP related information (S1130). For example, when applying the ISP to the current block based on the information associated with the ISP, the decoding equipment can determine the intra prediction mode in the same way for the divided sub-segments. Alternatively, the intra prediction mode may be equally applied to sub-segments. For example, when applying the ISP to the current block, the decoding equipment can extract the MPM list according to the split direction. Alternatively, the decoding equipment may further obtain information related to the MPM lists and may extract another MPM list according to the split direction. For example, different MPM lists may be retrieved when it is split in the horizontal direction and when it is split in the vertical direction. The decoding equipment can extract the MPM list differently according to the split direction, determine the intra prediction mode based on the extracted MPM list, and apply the determined intra prediction mode to the sub-segments in the same way.
[178] Например, прогнозная выборка может формироваться на основе режима внутреннего прогнозирования и субсегментов текущего блока. Кроме того, субсегменты текущего блока могут извлекаться на основе информации относительно направления разбиения. Таким образом, субсегменты текущего блока могут извлекаться посредством разделения в вертикальном направлении или могут извлекаться посредством разделения в горизонтальном направлении. Например, MPM-список может извлекаться по-разному согласно направлению разбиения, как описано выше.[178] For example, the predictive sample may be generated based on the intra prediction mode and sub-segments of the current block. In addition, sub-segments of the current block may be extracted based on information regarding the split direction. Thus, sub-segments of the current block may be extracted by splitting in the vertical direction, or may be extracted by splitting in the horizontal direction. For example, the MPM list may be retrieved differently according to the split direction, as described above.
[179] Например, субсегменты текущего блока могут включать в себя первый субсегмент и второй субсегмент. Альтернативно, субсегменты текущего блока могут включать в себя первый субсегмент, второй субсегмент, третий субсегмент и четвертый субсегмент. Здесь, число субсегментов может определяться на основе размера текущего блока.[179] For example, the sub-segments of the current block may include a first sub-segment and a second sub-segment. Alternatively, the sub-segments of the current block may include a first sub-segment, a second sub-segment, a third sub-segment, and a fourth sub-segment. Here, the number of sub-segments may be determined based on the size of the current block.
[180] Например, когда текущий блок разделяется на первый субсегмент и второй субсегмент, прогнозная выборка первого субсегмента может формироваться на основе режима внутреннего прогнозирования и соседних выборок первого субсегмента, прогнозная выборка второго субсегмента может формироваться на основе режима внутреннего прогнозирования и прогнозной выборки первого субсегмента. Таким образом, прогнозная выборка первого субсегмента может формироваться на основе левой соседней выборки и/или верхней соседней выборки первого субсегмента согласно режиму внутреннего прогнозирования. Альтернативно, опорная выборка первого субсегмента может извлекаться на основе левой соседней выборки и/или верхней соседней выборки первого субсегмента согласно режиму внутреннего прогнозирования, и прогнозная выборка первого субсегмента может формироваться на основе извлеченной опорной выборки. Опорная выборка второго субсегмента может извлекаться на основе левой соседней выборки и/или верхней соседней выборки второго субсегмента согласно режиму внутреннего прогнозирования, и прогнозная выборка второго субсегмента может формироваться на основе извлеченной опорной выборки. Здесь, прогнозная выборка первого субсегмента может использоваться в качестве соседней выборки второго субсегмента. Альтернативно, она может извлекаться в качестве опорной выборки второго субсегмента. Здесь, режим внутреннего прогнозирования второго субсегмента может быть идентичным режиму внутреннего прогнозирования первого субсегмента.[180] For example, when the current block is divided into a first sub-segment and a second sub-segment, a prediction sample of the first sub-segment may be generated based on the intra prediction mode and adjacent samples of the first sub-segment, a prediction sample of the second sub-segment may be generated based on the intra prediction mode and the prediction sample of the first sub-segment. Thus, the first sub-segment prediction sample may be generated based on the left neighbor sample and/or the top neighbor sample of the first sub-segment according to the intra prediction mode. Alternatively, the first sub-segment reference sample may be derived based on the left adjacent sample and/or the top adjacent sample of the first sub-segment according to the intra prediction mode, and the first sub-segment prediction sample may be generated based on the extracted reference sample. The second sub-segment reference sample may be derived based on the left adjacent sample and/or the top adjacent sample of the second sub-segment according to the intra prediction mode, and the second sub-segment prediction sample may be generated based on the extracted reference sample. Here, the prediction sample of the first sub-segment may be used as an adjacent sample of the second sub-segment. Alternatively, it may be extracted as a reference sample of the second subsegment. Here, the intra prediction mode of the second sub-segment may be the same as the intra prediction mode of the first sub-segment.
[181] Альтернативно, оборудование декодирования может непосредственно использовать прогнозную выборку в качестве восстановленной выборки согласно режиму прогнозирования. Кроме того, оборудование декодирования может формировать прогнозированный блок текущего блока на основе прогнозной выборки. Кроме того, оборудование декодирования может формировать восстановленную выборку посредством суммирования остаточной выборки с прогнозной выборкой. Когда имеется остаточная выборка для текущего блока, оборудование декодирования может получать информацию относительно остатка для текущего блока из потока битов. Информация относительно остатка может включать в себя коэффициенты преобразования для остаточной выборки. Оборудование декодирования может извлекать остаточную выборку (или массив остаточных выборок) для текущего блока на основе остаточной информации. Оборудование декодирования может формировать восстановленную выборку на основе прогнозной выборки и остаточной выборки и может извлекать восстановленный блок или восстановленный кадр на основе восстановленной выборки. После этого, как описано выше, оборудование декодирования может применять процедуру внутриконтурной фильтрации, к примеру, процедуру фильтрации для удаления блочности и/или SAO, к восстановленному кадру, чтобы повышать субъективное/объективное качество кадров, при необходимости.[181] Alternatively, the decoding equipment may directly use the predictive sample as the reconstructed sample according to the prediction mode. In addition, the decoding equipment may generate a prediction block of the current block based on the prediction sample. In addition, the decoding equipment may generate a reconstructed sample by summing the residual sample with the predictive sample. When there is a residual sample for the current block, the decoding equipment can obtain information regarding the residual for the current block from the bitstream. The residual information may include transform coefficients for the residual sample. The decoding hardware may derive a residual sample (or an array of residual samples) for the current block based on the residual information. The decoding equipment may generate a reconstructed sample based on the predictive sample and the residual sample, and may extract a reconstructed block or a reconstructed frame based on the reconstructed sample. Thereafter, as described above, the decoding equipment may apply an in-loop filtering procedure, eg, a deblocking and/or SAO filtering procedure, to the reconstructed frame to improve the subjective/objective quality of the frames, if necessary.
[182] В вышеприведенном варианте осуществления, способы описываются на основе блок-схемы последовательности операций способа в качестве последовательности этапов или блоков, но этот документ не ограничен порядком этапов, и некоторые этапы могут возникать в другом порядке или одновременно с другими этапами, как описано выше. Помимо этого, специалисты в данной области техники должны понимать, что этапы, показанные на блок-схеме последовательности операций способа, не являются единственно возможными, и что другие этапы могут включаться, либо что один или более этапов блок-схемы последовательности операций способа могут удаляться без влияния на объем этого документа.[182] In the above embodiment, the methods are described based on the flowchart as a sequence of steps or blocks, but this document is not limited to the order of steps, and some steps may occur in a different order or simultaneously with other steps as described above. . In addition, those skilled in the art will understand that the steps shown in the flowchart are not the only ones possible, and that other steps may be included, or that one or more steps of the flowchart may be removed without impact on the scope of this document.
[183] Способ согласно этому документу, описанному выше, может реализовываться в форме программного обеспечения и оборудования кодирования, и/или оборудование декодирования согласно этому документу может включаться, например, в телевизор, компьютер, смартфон, абонентскую приставку, устройство отображения, которое выполняет обработку изображений.[183] The method according to this document described above may be implemented in the form of software and encoding equipment, and/or decoding equipment according to this document may be included, for example, in a TV, computer, smartphone, set-top box, display device that performs processing images.
[184] Когда варианты осуществления настоящего документа реализуются в программном обеспечении, вышеописанный способ может реализовываться посредством модулей (процессов, функций и т.д.), которые выполняют функции, описанные выше. Такие модули могут сохраняться в запоминающем устройстве и выполняться посредством процессора. Запоминающее устройство может находиться внутри или снаружи процессора, и запоминающее устройство может соединяться с процессором с использованием различных известных средств. Процессор может включать в себя специализированную интегральную схему (ASIC), другие наборы микросхем, логическую схему и/или устройство обработки данных. Запоминающее устройство может включать в себя постоянное запоминающее устройство (ROM), оперативное запоминающее устройство (RAM), флэш-память, карту памяти, носитель хранения данных и/или другие устройства хранения данных.[184] When the embodiments of this document are implemented in software, the method described above may be implemented by modules (processes, functions, etc.) that perform the functions described above. Such modules may be stored in a storage device and executed by a processor. The storage device may be inside or outside the processor, and the storage device may be coupled to the processor using various known means. The processor may include an application specific integrated circuit (ASIC), other chipsets, logic circuitry, and/or a data processing device. The storage device may include Read Only Memory (ROM), Random Access Memory (RAM), flash memory, memory card, storage media, and/or other data storage devices.
[185] Фиг. 12 является схемой, иллюстрирующей структуру системы потоковой передачи контента.[185] FIG. 12 is a diagram illustrating the structure of a content streaming system.
[186] Таким образом, примерные варианты осуществления, описанные в настоящем документе, могут выполняться посредством реализации на процессоре, микропроцессоре, контроллере или микросхеме. Например, функциональные модули, проиллюстрированные на каждом чертеже, могут выполняться посредством реализации на компьютере, процессоре, микропроцессоре, контроллере или микросхеме.[186] Thus, the exemplary embodiments described herein may be performed by implementation on a processor, microprocessor, controller, or chip. For example, the functional modules illustrated in each figure may be implemented by implementation on a computer, processor, microprocessor, controller, or chip.
[187] Дополнительно, оборудование декодирования и оборудование кодирования, к которым применяется настоящий документ, могут включаться в широковещательное мультимедийное приемо-передающее устройство, терминал мобильной связи, видеоустройство системы домашнего кинотеатра, видеоустройство системы цифрового кинотеатра, камеру наблюдения, устройство проведения видеочатов, устройство связи в реальном времени, к примеру, видеосвязи, мобильное устройство потоковой передачи, носитель хранения данных, записывающую видеокамеру, поставщик услуг на основе технологии "видео по запросу (VoD)", видеоустройство поверх сетей (OTT), поставщик услуг потоковой передачи по Интернету, трехмерное видеоустройство, видеоустройство системы видеовызовов, медицинское видеоустройство и т.п. и использоваться для обработки видеосигналов или сигналов данных. Например, видеоустройство поверх сетей (OTT) может включать в себя игровую приставку, Blu-Ray-проигрыватель, телевизор с доступом в Интернет, систему домашнего кинотеатра, смартфон, планшетный PC, цифровое записывающее видеоустройство (DVR) и т.п.[187] Additionally, the decoding equipment and encoding equipment to which this document applies may be included in a broadcast multimedia transceiver, a mobile communication terminal, a home theater system video device, a digital cinema system video device, a surveillance camera, a video chatting device, a communication device real-time, such as video communication, mobile streaming device, storage media, video camera recording, video-on-demand (VoD) service provider, video device over networks (OTT), Internet streaming service provider, 3D a video device, a video call system video device, a medical video device, and the like. and be used to process video signals or data signals. For example, a video over network (OTT) device may include a game console, a Blu-ray player, an Internet access TV, a home theater system, a smartphone, a tablet PC, a digital video recorder (DVR), and the like.
[188] Дополнительно, способ обработки, к которому применяется настоящий документ, может формироваться в форме программы, выполняемой посредством компьютера, и сохраняться на машиночитаемом носителе записи. Мультимедийные данные, имеющие структуру данных согласно настоящему документу, также могут сохраняться на машиночитаемом носителе записи. Машиночитаемый носитель записи включает в себя все виды устройств хранения данных и устройств распределенного хранения данных, на которых сохраняются машиночитаемые данные. Машиночитаемый носитель записи может включать в себя, например, Blu-Ray-диск (BD), универсальную последовательную шину (USB), ROM, PROM, EPROM, EEPROM, RAM, CD-ROM, магнитную ленту, гибкий диск и оптическое устройство хранения данных. Дополнительно, машиночитаемый носитель записи включает в себя среды, реализованные в форме несущей (например, при передачи через Интернет). Дополнительно, поток битов, сформированный посредством способа кодирования, может сохраняться на машиночитаемом носителе записи или передаваться через сеть проводной/беспроводной связи. Дополнительно, примерный вариант осуществления настоящего документа может реализовываться посредством компьютерного программного продукта посредством программных кодов, и программные коды могут выполняться посредством компьютера согласно примерному варианту осуществления настоящего документа. Программные коды могут сохраняться на машиночитаемом носителе.[188] Additionally, the processing method to which the present document applies may be formed in the form of a program executable by a computer and stored in a computer-readable recording medium. Multimedia data having a data structure according to the present document may also be stored in a computer-readable recording medium. The computer-readable recording medium includes all kinds of storage devices and distributed storage devices that store computer-readable data. The computer-readable recording medium may include, for example, a Blu-ray Disc (BD), Universal Serial Bus (USB), ROM, PROM, EPROM, EEPROM, RAM, CD-ROM, magnetic tape, floppy disk, and optical storage. . Additionally, the computer-readable recording medium includes media implemented in the form of a carrier (eg, in transmission over the Internet). Additionally, the bitstream generated by the encoding method may be stored in a computer-readable recording medium or transmitted via a wired/wireless communication network. Additionally, an exemplary embodiment of the present document may be implemented by a computer program product by means of program codes, and the program codes may be executed by a computer according to an exemplary embodiment of the present document. The program codes may be stored on a computer-readable medium.
[189] Дополнительно, система потоковой передачи контента, к которой применяется настоящий документ, может включать в себя главным образом сервер кодирования, потоковый сервер, веб-сервер, хранилище мультимедиа, пользовательское устройство и устройство ввода мультимедиа.[189] Additionally, the content streaming system to which the present document applies may mainly include an encoding server, a streaming server, a web server, a media storage, a user device, and a media input device.
[190] Сервер кодирования служит для того, чтобы сжимать контент, вводимый из устройств ввода мультимедиа, таких как смартфон, камера и записывающая видеокамера, в цифровые данные для того, чтобы формировать поток битов и передавать поток битов в потоковый сервер. В качестве другого примера, если устройства ввода мультимедиа, такие как смартфон, камера и записывающая видеокамера, непосредственно формируют поток битов, сервер кодирования может опускаться. Поток битов может формироваться посредством способа кодирования, к которому применяется настоящий документ, или способа формирования потоков битов, и потоковый сервер может временно сохранять поток битов в процессе передачи или приема потока битов.[190] The encoding server serves to compress content input from media input devices such as a smartphone, a camera, and a camcorder into digital data so as to generate a bit stream and transmit the bit stream to the stream server. As another example, if media input devices such as a smartphone, a camera, and a camcorder directly generate a bitstream, the encoding server may be omitted. The bitstream may be generated by the encoding method to which the present document is applied or the bitstream generation method, and the stream server may temporarily store the bitstream in the process of transmitting or receiving the bitstream.
[191] Потоковый сервер служит для того, чтобы передавать мультимедийные данные в пользовательское устройство на основе пользовательского запроса через веб-сервер, и веб-сервер служит в качестве среды, которая информирует пользователя в отношении того, какие услуги доступны. Когда пользователь запрашивает требуемую услугу на веб-сервере, веб-сервер доставляет запрос пользователя на потоковый сервер, и потоковый сервер передает мультимедийные данные пользователю. В это время, система потоковой передачи контента может включать в себя отдельный сервер управления, и в этом случае сервер управления служит для того, чтобы управлять командами/ответами между устройствами в системе потоковой передачи контента.[191] The streaming server serves to transmit media data to the user device based on the user's request via the web server, and the web server serves as a medium that informs the user as to which services are available. When a user requests a desired service on a web server, the web server delivers the user's request to the streaming server, and the streaming server transmits media data to the user. At this time, the content streaming system may include a separate control server, in which case the control server serves to manage commands/responses between devices in the content streaming system.
[192] Потоковый сервер может принимать контент из хранилища мультимедиа и/или сервера кодирования. Например, при приеме контента из сервера кодирования, потоковый сервер может принимать контент в реальном времени. В этом случае, с тем чтобы предоставлять плавную услугу потоковой передачи, потоковый сервер может сохранять поток битов в течение предварительно определенного времени.[192] The streaming server may receive content from a media store and/or an encoding server. For example, when receiving content from an encoding server, the streaming server may receive the content in real time. In this case, in order to provide a smooth streaming service, the streaming server may store the bit stream for a predetermined time.
[193] В качестве примера пользовательского устройства, могут быть предусмотрены портативный телефон, смартфон, переносной компьютер, цифровой широковещательный терминал, персональные цифровые устройства (PDA), портативный мультимедийный проигрыватель (PMP), навигационное устройство, грифельный планшетный PC, планшетный PC, ультрабук, носимое устройство (например, интеллектуальные часы, интеллектуальные очки, наголовный дисплей (HMD)), цифровой телевизор, настольный компьютер, система цифровых информационных табло и т.п. Соответствующие серверы в системе потоковой передачи контента могут работать за счет сервера распространения, и в этом случае, данные, принимаемые посредством каждого сервера, могут распределяться и обрабатываться.[193] As an example of a user device, a portable telephone, a smartphone, a laptop computer, a digital broadcast terminal, a personal digital assistant (PDA), a portable media player (PMP), a navigation device, a stylus tablet PC, a tablet PC, an ultrabook, wearable device (e.g., smart watch, smart glasses, head-mounted display (HMD)), digital TV, desktop computer, digital signage system, etc. The respective servers in the content streaming system may be operated by the distribution server, in which case, the data received by each server may be distributed and processed.
Claims (56)
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US62/822,077 | 2019-03-22 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2023108014A Division RU2808004C2 (en) | 2019-03-22 | 2019-12-03 | Method and device for internal prediction based on internal subsegments in image coding system |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2793777C1 true RU2793777C1 (en) | 2023-04-06 |
Family
ID=
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170118467A1 (en) * | 2012-01-20 | 2017-04-27 | Pantech Inc. | Intra prediction mode mapping method and device using the method |
RU2665311C1 (en) * | 2014-12-10 | 2018-08-28 | Медиатек Сингапур Пте. Лтд, | Method for video coding with use of block division onto binary tree |
US20180249156A1 (en) * | 2015-09-10 | 2018-08-30 | Lg Electronics Inc. | Method for processing image based on joint inter-intra prediction mode and apparatus therefor |
US20180309983A1 (en) * | 2015-10-22 | 2018-10-25 | Lg Electronics Inc. | Modeling-based image decoding method and device in image coding system |
US20190052875A1 (en) * | 2015-09-10 | 2019-02-14 | Lg Electronics Inc. | Intra prediction method and device in video coding system |
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170118467A1 (en) * | 2012-01-20 | 2017-04-27 | Pantech Inc. | Intra prediction mode mapping method and device using the method |
RU2665311C1 (en) * | 2014-12-10 | 2018-08-28 | Медиатек Сингапур Пте. Лтд, | Method for video coding with use of block division onto binary tree |
US20180249156A1 (en) * | 2015-09-10 | 2018-08-30 | Lg Electronics Inc. | Method for processing image based on joint inter-intra prediction mode and apparatus therefor |
US20190052875A1 (en) * | 2015-09-10 | 2019-02-14 | Lg Electronics Inc. | Intra prediction method and device in video coding system |
US20180309983A1 (en) * | 2015-10-22 | 2018-10-25 | Lg Electronics Inc. | Modeling-based image decoding method and device in image coding system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11445209B2 (en) | History-based image coding method and apparatus | |
US10911754B2 (en) | Image coding method using history-based motion information and apparatus for the same | |
US20220078433A1 (en) | Bdpcm-based image decoding method and device for same | |
JP7375151B2 (en) | Transformation for matrix-based intra prediction in video coding | |
US11575891B2 (en) | Intra prediction method and device based on intra sub-partitions in image coding system | |
JP7375152B2 (en) | Video coding using conversion index | |
US11902572B2 (en) | Intra prediction-based image coding method and apparatus using unified MPM list | |
US11871009B2 (en) | Image decoding method using BDPCM and device therefor | |
US20240107056A1 (en) | Apparatus for performing image coding on basis of atmvp candidate | |
US20220150527A1 (en) | Method and device for decoding image by using bdpcm in image coding system | |
RU2793777C1 (en) | Method and device for internal prediction based on internal subsegments in image coding system | |
RU2808004C2 (en) | Method and device for internal prediction based on internal subsegments in image coding system | |
RU2792223C1 (en) | Information coding regarding a set of transformation kernels | |
RU2781079C1 (en) | Transformation when encoding images based on internal prediction | |
RU2800595C1 (en) | Image/video coding method and equipment | |
RU2795696C2 (en) | Image encoding transformation based on internal prediction | |
RU2777721C1 (en) | Method for encoding an image based on internal prediction using an mpm list and equipment therefor | |
RU2820843C1 (en) | Bdpcm-based image encoding method and device for this | |
RU2803187C1 (en) | Method and device for image coding based on sub-image | |
RU2781175C1 (en) | Conversion for matrix internal prediction when encoding images | |
RU2820304C1 (en) | Method and apparatus for encoding image based on sub-picture | |
RU2783336C1 (en) | Bdpcm-based method for encoding images and apparatus therefor | |
RU2795799C2 (en) | Transformation for matrix intra prediction in image coding | |
CN113273210B (en) | Method and apparatus for compiling information about consolidated data | |
RU2810200C2 (en) | Method and device for image coding based on sub-image |