RU2784440C1 - Image decoding method, decoder and computer data carrier - Google Patents

Image decoding method, decoder and computer data carrier Download PDF

Info

Publication number
RU2784440C1
RU2784440C1 RU2021117816A RU2021117816A RU2784440C1 RU 2784440 C1 RU2784440 C1 RU 2784440C1 RU 2021117816 A RU2021117816 A RU 2021117816A RU 2021117816 A RU2021117816 A RU 2021117816A RU 2784440 C1 RU2784440 C1 RU 2784440C1
Authority
RU
Russia
Prior art keywords
decoding
flag
bitstream
decoder
parsing
Prior art date
Application number
RU2021117816A
Other languages
Russian (ru)
Inventor
Шуай ВАНЬ
Яньчжоу МА
Цзюньянь ХО
Original Assignee
Гуандун Оппо Мобайл Телекоммьюникейшнс Корп., Лтд.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Гуандун Оппо Мобайл Телекоммьюникейшнс Корп., Лтд. filed Critical Гуандун Оппо Мобайл Телекоммьюникейшнс Корп., Лтд.
Application granted granted Critical
Publication of RU2784440C1 publication Critical patent/RU2784440C1/en

Links

Images

Abstract

FIELD: video encoding/decoding.
SUBSTANCE: group of inventions relates to the field of a video encoding technology and, in particular, to a method for image decoding, a decoder, and a computer data carrier. A method for image decoding is proposed. The method contains a stage, at which a bit stream corresponding to the current image is obtained. Next, the bit stream is analyzed to obtain a flag corresponding to the current image. At the same time, a function of cross-decoding is turned off, when the decoding method specified with the flag is independent decoding of color components, while the function of cross-decoding allows for decoding based on a dependence between at least two of the first color component, the second color component, and the third color component.
EFFECT: reduction in complexity of video decoding and provision of flexible decoding process.
16 cl, 9 dwg

Description

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕFIELD OF TECHNOLOGY TO WHICH THE INVENTION RELATES

Настоящее изобретение относится к области техники кодирования видео и, в частности, к способу декодирования изображений, декодеру и компьютерному носителю данных.The present invention relates to the field of video coding and, in particular, to an image decoding method, a decoder and a computer storage medium.

ПРЕДПОСЫЛКИ ИЗОБРЕТЕНИЯBACKGROUND OF THE INVENTION

В стандарте кодирования видео нового поколения H.266 или универсального кодирования видео (VVC) разрешается межкомпонентная зависимость. Таким образом, предсказание от значения яркости до значения цветности или предсказание между значениями цветности может быть достигнуто посредством межкомпонентного предсказывания линейной модели (CCLM) и прямого режима (DM).In the new generation video coding standard H.266 or Universal Video Coding (VVC), cross-component dependency is allowed. Thus, prediction from luminance value to chrominance value or prediction between chrominance values can be achieved by inter-component linear model prediction (CCLM) and direct mode (DM).

Хотя CCLM и другие режимы кодирования (т. е. кодирования/декодирования) межкомпонентной зависимости могут повышать эффективность кодирования, для сцен, требующих быстрой обработки или обработки с высокой степенью параллелизма, режим кодирования межкомпонентной зависимости не может эффективно использоваться для параллельного кодирования и имеет недостаток, заключающийся в высокой сложности.Although CCLM and other intercomponent dependency encoding (i.e., encoding/decoding) modes can improve encoding efficiency, for scenes requiring fast processing or highly parallel processing, the intercomponent dependency encoding mode cannot be efficiently used for parallel coding and has the disadvantage that consisting of high complexity.

СУЩНОСТЬ ИЗОБРЕТЕНИЯSUMMARY OF THE INVENTION

В вариантах реализации настоящей заявки представлены способ декодирования изображений, декодер и компьютерный носитель данных для достижения параллельного кодирования и снижения сложности кодирования для сцен, требующих быстрой обработки или обработки с высокой степенью параллелизма.Embodiments of the present application provide an image decoding method, a decoder, and a computer storage medium to achieve parallel coding and reduce coding complexity for scenes requiring fast or highly parallel processing.

Технические решения вариантов реализации являются следующими.The technical solutions of the embodiments are as follows.

Представлен способ декодирования изображений. Способ включает следующее. A method for decoding images is presented. The method includes the following.

Получают битовый поток, соответствующий текущему изображению. Анализируют битовый поток с получением флага, соответствующего текущему изображению. Отключение функции перекрестного декодирования, когда метод декодирования, указанный флагом, представляет собой независимое декодирование компонентов цвета, где функция перекрестного декодирования разрешает декодирование, основанное на зависимости между компонентами цвета.Get the bitstream corresponding to the current image. The bit stream is analyzed to obtain a flag corresponding to the current image. Disables the cross decoding function when the decoding method specified by the flag is independent decoding of color components, where the cross decoding function enables decoding based on the dependency between color components.

Представлены способ декодирования изображений, декодер и компьютерный носитель данных. Декодер получает битовый поток, соответствующий текущему изображению. Декодер анализирует битовый поток с получением флага, соответствующего текущему изображению. Декодер отключает функцию перекрестного декодирования, когда метод декодирования, указанный флагом, представляет собой независимое декодирование компонентов цвета, где функция перекрестного декодирования разрешает декодирование, основанное на зависимости между компонентами цвета. Согласно вариантам реализации декодер может вначале анализировать битовый поток, соответствующий текущему изображению, с получением флага в битовом потоке для определения, разрешать ли зависимость между компонентами цвета. Если метод декодирования, указанный флагом, представляет собой независимое декодирование компонентов цвета (т. е. зависимость между компонентами цвета не разрешается), декодер должен отключить функцию перекрестного декодирования (т. е. декодер декодирует текущее изображение без учета зависимости между компонентами цвета). Таким образом, можно достичь параллельного кодирования и сложность кодирования может быть снижена для сцен, требующих быстрой обработки или обработки с высокой степенью параллелизма. В то же время, в этих сценах бит, указывающий, что декодирование не основано на зависимости между компонентами цвета, может быть пропущен на уровне элемента кодирования (CU) и эффективность кодирования может быть повышена.A method for decoding images, a decoder and a computer storage medium are presented. The decoder receives a bitstream corresponding to the current picture. The decoder parses the bitstream to obtain a flag corresponding to the current picture. The decoder disables the cross decoding function when the decoding method indicated by the flag is independent color component decoding, where the cross decoding function enables decoding based on the dependency between color components. According to embodiments, the decoder may first parse the bitstream corresponding to the current image to obtain a flag in the bitstream to determine whether to resolve the dependency between color components. If the decoding method indicated by the flag is independent decoding of color components (i.e., dependency between color components is not allowed), the decoder shall disable the cross decoding function (i.e., the decoder decodes the current picture without taking into account the dependency between color components). Thus, parallel coding can be achieved and coding complexity can be reduced for scenes requiring fast processing or processing with a high degree of parallelism. At the same time, in these scenes, a bit indicating that decoding is not based on a dependency between color components can be skipped at the coding unit (CU) level, and coding efficiency can be improved.

КРАТКОЕ ОПИСАНИЕ ГРАФИЧЕСКИХ МАТЕРИАЛОВBRIEF DESCRIPTION OF GRAPHICS

На фиг. 1 показана структурная схема системы кодирования видео.In FIG. 1 shows a block diagram of a video coding system.

На фиг. 2 показана структурная схема системы декодирования видео.In FIG. 2 is a block diagram of a video decoding system.

На фиг. 3 показана первая блок-схема способа декодирования изображений согласно вариантам реализации.In FIG. 3 shows a first flowchart of an image decoding method according to the embodiments.

На фиг. 4 показана вторая блок-схема способа декодирования изображений согласно вариантам реализации.In FIG. 4 shows a second flowchart of an image decoding method according to the embodiments.

На фиг. 5 показана третья блок-схема способа декодирования изображений согласно вариантам реализации.In FIG. 5 shows a third flowchart of an image decoding method according to the embodiments.

На фиг. 6 показана четвертая блок-схема способа декодирования изображений согласно вариантам реализации.In FIG. 6 shows a fourth flowchart of an image decoding method according to the embodiments.

На фиг. 7 показана пятая блок-схема способа декодирования изображений согласно вариантам реализации.In FIG. 7 shows a fifth flowchart of an image decoding method according to the embodiments.

На фиг. 8 показана первая структурная схема декодера согласно вариантам реализации.In FIG. 8 shows a first block diagram of a decoder according to embodiments.

На фиг. 9 показана вторая структурная схема декодера согласно вариантам реализации.In FIG. 9 shows a second block diagram of a decoder according to embodiments.

ПОДРОБНОЕ ОПИСАНИЕDETAILED DESCRIPTION

Технические решения в вариантах реализации настоящей заявки будут ясно и полностью описаны ниже в сочетании с графическими материалами в вариантах реализации настоящей заявки. Следует понимать, что варианты реализации, описанные в данном документе, используются только для объяснения соответствующего приложения, но не ограничивают это приложение. В дополнение, для простоты описания на графических материалах показаны только части, относящиеся к соответствующему приложению.The technical solutions in the embodiments of the present application will be clearly and fully described below in conjunction with the drawings in the embodiments of the present application. It should be understood that the embodiments described herein are used only to explain the respective application, but do not limit that application. In addition, for ease of description, the drawings show only the parts relevant to the respective application.

Кодирование видео представляет собой кодирование каждого изображения; подобным образом, декодирование битового потока видео, полученного посредством кодирования и сжатия видео, представляет собой декодирование битового потока каждого изображения. Практически во всех международных стандартах для кодирования изображения при кодировании одного изображения необходимо разбивание изображения на несколько фрагментов изображения блока M×M пикселей, которые называются элементами кодирования (CU), и кодирование фрагментов изображения блок за блоком с использованием CU в качестве базового элемента кодирования. M обычно имеет значение 4, 8, 16, 32 или 64. Следовательно, кодирование последовательности видеокадров представляет собой последовательное кодирование каждого CU каждого изображения. Декодирование битового потока последовательности видеокадров представляет собой последовательное декодирование CU каждого изображения и, наконец, восстановление всей последовательности видеокадров.Video encoding is the encoding of each image; similarly, the decoding of a video bitstream obtained by encoding and compressing the video is the decoding of the bitstream of each picture. In almost all international standards for encoding an image, when encoding a single image, it is necessary to split the image into several image fragments of an M×M pixel block, which are called coding units (CU), and encode the image fragments block by block using the CU as the basic coding unit. M is typically 4, 8, 16, 32, or 64. Therefore, the coding of a sequence of video frames is the sequential coding of each CU of each picture. Bitstream decoding of a sequence of video frames is a sequential decoding of the CU of each picture and, finally, the reconstruction of the entire sequence of video frames.

В изображении первый компонент цвета, второй компонент цвета и третий компонент цвета обычно используют для указания блока кодирования. Первый компонент цвета, второй компонент цвета и третий компонент цвета представляют собой соответственно компонент яркости, синий компонент цветности и красный компонент цветности. Например, компонент яркости обычно представлен символом Y, синий компонент цветности обычно представлен символом Cb и красный компонент цветности обычно представлен символом Cr.In an image, the first color component, the second color component, and the third color component are typically used to indicate a coding block. The first color component, the second color component, and the third color component are respectively a luminance component, a blue chrominance component, and a red chrominance component. For example, the luminance component is typically represented by the symbol Y, the blue chrominance component is typically represented by the symbol Cb, and the red chrominance component is typically represented by the symbol Cr.

В варианте реализации первый компонент цвета, второй компонент цвета и третий компонент цвета представляют собой компонент яркости Y, синий компонент цветности Cb и красный компонент цветности Cr соответственно. Например, первый компонент цвета представляет собой компонент яркости Y, второй компонент цвета представляет собой красный компонент цветности Cr и третий компонент цвета представляет собой синий компонент цветности Cb, что не ограничено в данном документе.In an embodiment, the first color component, the second color component, and the third color component are the Y luminance component, the Cb blue chrominance component, and the Cr red chrominance component, respectively. For example, the first color component is the Y luminance component, the second color component is the red Cr chrominance component, and the third color component is the blue Cb chrominance component, which is not limited here.

В H.266 для дальнейшего повышения производительности кодирования и эффективности кодирования расширено и улучшено межкомпонентное предсказывание (CCP). В H.266 CCLM может реализовывать предсказание от первого компонента цвета до второго компонента цвета, от первого компонента цвета до третьего компонента цвета и между вторым компонентом цвета и третьим компонентом цвета. Иными словами, режим предсказания CCLM включает предсказание компонента цветности с использованием компонента яркости (т. е. использование первого компонента цвета для предсказания второго компонента цвета или использование первого компонента цвета для предсказания третьего компонента цвета). Режим предсказания CCLM также включает предсказание между двумя компонентами цветности (т. е. предсказание между вторым компонентом цвета и третьим компонентом цвета). В варианте реализации настоящей заявки предсказание между вторым компонентом цвета и третьим компонентом цвета может включать предсказание от компонента Cb до компонента Cr или предсказание от компонента Cr до компонента Cb.In H.266, to further improve coding performance and coding efficiency, inter-component prediction (CCP) has been extended and improved. In H.266, CCLM can implement prediction from the first color component to the second color component, from the first color component to the third color component, and between the second color component and the third color component. In other words, the CCLM prediction mode includes chrominance component prediction using the luma component (ie, using the first color component to predict the second color component, or using the first color component to predict the third color component). The CCLM prediction mode also includes prediction between two chrominance components (ie, prediction between a second color component and a third color component). In an embodiment of the present application, the prediction between the second color component and the third color component may include prediction from the Cb component to the Cr component, or prediction from the Cr component to the Cb component.

Для технологий в стандарте кодирования видео, таком как CCLM и DM, в котором разрешена межкомпонентная зависимость, такие инструменты могут быть задействованы в будущем кодировании среды, такой как 3D-видео и облака точек. В этих технологиях, поскольку компонент яркости может быть использован для предсказания информации, такой как компонент цветности, режим кодирования и остаток, и при этом также возможно предсказание между компонентами цветности, эффективность кодирования может быть значительно увеличена. Однако межкомпонентная зависимость также усложняет параллельное кодирование. То есть в некоторых сценах зависимость между компонентом яркости и компонентом цветности и между разными компонентами цветности или между разными цветовыми компонентами могут не использовать для упрощения кодирования.For technologies in a video coding standard such as CCLM and DM that allow intercomponent dependency, such tools may be used in future media coding such as 3D video and point clouds. In these technologies, since the luminance component can be used to predict information such as the chrominance component, coding mode, and residual, and inter-chrominance component prediction is also possible, the coding efficiency can be greatly increased. However, intercomponent dependency also complicates parallel coding. That is, in some scenes, the relationship between the luminance component and the chrominance component and between different chrominance components or between different color components may not be used to simplify coding.

Согласно вариантам реализации настоящей заявки флаг, указывающий, разрешать ли перекрестное кодирование между разными компонентами цвета, добавляют в битовый поток для управления использованием технологий, таких как CCLM и DM. Таким образом, кодек может эффективно использоваться для параллельного кодирования и можно преодолеть недостаток, заключающийся в высокой сложности кодирования. На фиг. 1 показана структурная схема системы кодирования видео. Как показано на фиг. 1, система 200 кодирования видео содержит элемент 201 трансформации и квантования, элемент 202 внутренней оценки, элемент 203 внутреннего предсказывания, элемент 204 компенсации движения, элемент 205 оценки движения, элемент 206 обратной трансформации и обратного квантования, элемент 207 анализирования управления фильтром, элемент 208 фильтра, элемент 209 кодирования энтропии и элемент 210 буфера для текущего изображения, и т. п. Элемент 208 фильтра может реализовывать фильтрацию для удаления блочности и фильтрацию адаптивного смещения дискретного значения (SAO), а элемент 209 кодирования энтропии может реализовывать кодирование информации заголовка и контекстно-адаптивное двоичное арифметическое кодирование (CABAC).According to embodiments of the present application, a flag indicating whether to allow cross-coding between different color components is added to the bitstream to control the use of technologies such as CCLM and DM. Thus, the codec can be effectively used for parallel coding, and the disadvantage of high coding complexity can be overcome. In FIG. 1 shows a block diagram of a video coding system. As shown in FIG. 1, the video coding system 200 comprises a transform and quantize element 201, an intra estimation element 202, an intra prediction element 203, a motion compensation element 204, a motion estimation element 205, an inverse transform and inverse quantization element 206, a filter control analysis element 207, a filter element 208 , an entropy encoding element 209 and a buffer element 210 for the current picture, and the like. adaptive binary arithmetic coding (CABAC).

Для входного исходного видеосигнала элемент кодового дерева (CTU) может быть получен с помощью предварительного разбивания, и при этом посредством применения разбивания с учетом содержимого к одному CTU могут быть получены несколько CU. CU обычно содержит один или более блоков кодирования (CB). Тогда для остаточной информации о пикселе, полученной после внутреннего предсказывания или предсказывания, осуществляемого между изображениями, блок кодирования преобразуется посредством элемента 201 трансформации и квантования, включая преобразование остаточной информации из области пикселя в область преобразования, и полученный коэффициент преобразования квантуется для дальнейшего уменьшения битовой скорости. Элемент 202 внутренней оценки и элемент 203 внутреннего предсказывания используются для выполнения кодирования с внутренним предсказыванием блока кодирования. В примере, элемент 202 внутренней оценки и элемент 203 внутреннего предсказывания используются для определения режима внутреннего предсказывания, который будет использован для кодирования блока кодирования. Элемент 204 компенсации движения и элемент 205 оценки движения используются для выполнения предсказывания, осуществляемого между изображениями, принятого блока кодирования относительно одного или более блоков в одном или более опорных изображениях для предоставления информации временного предсказания. Оценка движения, выполняемая элементом 205 оценки движения, представляет собой процесс генерирования вектора движения, при этом вектор движения может оценивать движение блока кодирования. Элемент 204 компенсации движения используется для выполнения компенсация движения на основании вектора движения, определенного элементом 205 оценки движения. После определения режима внутреннего предсказывания элемент 203 внутреннего предсказывания используется для предоставления выбранных данных внутреннего предсказывания в элемент 209 кодирования энтропии и элемент 205 оценки движения используется для отправки вычисленных данных вектора движения в элемент 209 кодирования энтропии. В дополнение, элемент 206 обратной трансформации и обратного квантования используется для восстановления блока кодирования. Остаточный блок восстанавливается в области пикселя, и артефакты блочности восстановленного остаточного блока удаляются посредством элемента 207 анализирования управления фильтром и элемента 208 фильтра, и затем восстановленный остаточный блок добавляется к предсказыванию изображения в элементе 210 буфера для текущего изображения с генерированием восстановленного блока кодирования. Элемент 209 кодирования энтропии используется для кодирования различных параметров кодирования и квантованных коэффициентов преобразования. В алгоритме кодирования, основанном на CABAC, контекст может основываться на соседних блоках кодирования и элемент 209 кодирования энтропии может использоваться для кодирования информации, указывающей определенный режим внутреннего предсказывания, и вывода битового потока видеосигнала. Элемент 210 буфера для текущего изображения используется для хранения восстановленных блоков кодирования для ссылки при предсказании. По ходу кодирования изображений восстановленные блоки кодирования будут непрерывно генерироваться, и эти восстановленные блоки кодирования будут сохраняться в элемент 210 буфера для текущего изображения.For an input source video signal, a code tree element (CTU) can be obtained by pre-splitting, and multiple CUs can be obtained by applying content-based splitting to one CTU. A CU typically contains one or more coding blocks (CBs). Then, for the residual pixel information obtained after intra prediction or prediction performed between pictures, the coding block is transformed by the transformation and quantization element 201, including the transformation of the residual information from the pixel region to the transformation region, and the resulting transformation coefficient is quantized to further reduce the bit rate. The intra estimation element 202 and the intra prediction element 203 are used to perform coding with intra prediction of a coding block. In the example, the intra estimation element 202 and the intra prediction element 203 are used to determine the intra prediction mode to be used to encode a coding block. The motion compensation element 204 and the motion estimation element 205 are used to perform inter-picture prediction of the received coding block with respect to one or more blocks in one or more reference pictures to provide temporal prediction information. The motion estimation performed by the motion estimation element 205 is a process of generating a motion vector, wherein the motion vector can estimate the motion of a coding block. The motion compensation element 204 is used to perform motion compensation based on the motion vector determined by the motion estimation element 205 . After determining the intra prediction mode, the intra prediction element 203 is used to provide the selected intra prediction data to the entropy encoding element 209, and the motion estimation element 205 is used to send the calculated motion vector data to the entropy encoding element 209 . In addition, the inverse transform and inverse quantization element 206 is used to reconstruct the coding block. The residual block is reconstructed in the pixel region, and the blocking artifacts of the reconstructed residual block are removed by the filter control parsing element 207 and the filter element 208, and then the reconstructed residual block is added to the image prediction in the buffer element 210 for the current image to generate a reconstructed coding block. Entropy encoding element 209 is used to encode various encoding parameters and quantized transform coefficients. In a CABAC-based coding algorithm, context may be based on adjacent coding blocks, and entropy encoding element 209 may be used to encode information indicative of a specific intra prediction mode and output a video bitstream. The current picture buffer element 210 is used to store the reconstructed coding blocks for prediction reference. As images are encoded, reconstructed coding blocks will be continuously generated, and these restored coding blocks will be stored in buffer element 210 for the current picture.

На фиг. 2 показана структурная схема системы декодирования видео. Как показано на фиг. 2, система 300 декодирования видео содержит элемент 301 декодирования энтропии, элемент 302 обратной трансформации и обратного квантования, элемент 303 внутреннего предсказывания, элемент 304 компенсации движения, элемент 305 фильтра, элемент 306 буфера для текущего изображения и т. п. Элемент 301 декодирования энтропии может реализовывать декодирование информации заголовка и CABAC, а элемент 305 фильтра может реализовывать фильтрацию для удаления блочности и фильтрацию SAO. После кодирования входного видеосигнала (как показано на фиг. 2) выводят битовый поток видеосигнала. Битовый поток вводится в систему 300 декодирования видео. Сначала получают декодированные коэффициенты преобразования посредством элемента 301 декодирования энтропии. Декодированные коэффициенты преобразования обрабатываются элементом 302 обратной трансформации и обратного квантования для генерирования остаточного блока в области пикселя. Элемент 303 внутреннего предсказывания может использоваться для генерирования данных преобразования текущего блока кодирования на основании определенного режима внутреннего предсказывания и данных из предыдущего декодированного блока текущего кадра или изображения. Элемент 304 компенсации движения используется для определения информации предсказания для блока кодирования посредством анализирования векторов движения и других связанных элементов синтаксиса и применения информации предсказания для генерирования предсказания блока кодирования, который декодируется. Декодированный блок образуется посредством суммирования остаточного блока из элемента 302 обратной трансформации и обратного квантования и соответствующего предсказания, сгенерированного элементом 303 внутреннего предсказывания или элементом 304 компенсации движения. Артефакты блочности декодированного видеосигнала удаляются посредством элемента 305 фильтра, за счет чего может улучшаться качество видео. Затем декодированный блок хранится в элементе 306 буфера для текущего изображения. Элемент 306 буфера для текущего изображения используется для хранения опорных изображений, используемых для последующего внутреннего предсказывания или компенсации движения, а также используется для вывода видеосигнала, т. е. получают восстановленный исходный видеосигнал.In FIG. 2 is a block diagram of a video decoding system. As shown in FIG. 2, the video decoding system 300 includes an entropy decoding element 301, an inverse transform and inverse quantization element 302, an intra prediction element 303, a motion compensation element 304, a filter element 305, a current picture buffer element 306, and the like. The entropy decoding element 301 may implement header information decoding and CABAC, and filter element 305 may implement deblocking filtering and SAO filtering. After encoding the input video signal (as shown in Fig. 2), a video bitstream is output. The bit stream is input to the video decoding system 300 . First, the decoded transform coefficients are obtained by the entropy decoding element 301 . The decoded transform coefficients are processed by an inverse transform and inverse quantization element 302 to generate a residual block in the pixel region. The intra prediction element 303 may be used to generate transformation data of the current coding block based on the determined intra prediction mode and data from a previous decoded block of the current frame or picture. The motion compensation element 304 is used to determine prediction information for a coding block by parsing motion vectors and other related syntax elements and applying the prediction information to generate a prediction of the coding block that is being decoded. The decoded block is generated by summing the residual block from the inverse transform and inverse quantization element 302 and the corresponding prediction generated by the intra prediction element 303 or the motion compensation element 304 . Blocking artifacts of the decoded video signal are removed by the filter element 305, whereby the video quality can be improved. The decoded block is then stored in buffer element 306 for the current picture. The current picture buffer element 306 is used to store reference pictures used for subsequent intra prediction or motion compensation, and is also used to output a video signal, i.e., obtain a reconstructed original video signal.

Технические решения в вариантах реализации настоящей заявки будут описаны понятно и полностью далее со ссылкой на прилагаемые графические материалы.The technical solutions in the embodiments of the present application will be described clearly and completely below with reference to the accompanying drawings.

В по меньшей мере одном варианте реализации настоящей заявки представлен способ декодирования изображений. На фиг. 3 показана первая блок-схема способа декодирования изображений согласно вариантам реализации. Как показано на фиг. 3, в варианте реализации способ, выполняемый декодером, начинается на этапе 101.In at least one embodiment of the present application, a method for decoding images is provided. In FIG. 3 shows a first flowchart of an image decoding method according to the embodiments. As shown in FIG. 3, in the embodiment, the method performed by the decoder starts at step 101.

На этапе 101 получают битовый поток, соответствующий текущему изображению. In step 101, a bitstream corresponding to the current image is obtained.

В варианте реализации декодер получает битовый поток, соответствующий текущему изображению.In an embodiment, the decoder receives a bit stream corresponding to the current picture.

Кроме того, в варианте реализации битовая скорость относится к потоку данных, который видеофайл потребляет за единицу времени, и представляет собой важную часть контроля качества изображения при кодировании видео.In addition, in an embodiment, bit rate refers to the data stream that a video file consumes per unit of time, and is an important part of image quality control in video encoding.

В варианте реализации после кодирования текущего изображения кодер может генерировать соответствующий битовый поток для хранения или передачи. Соответственно при декодировании текущего изображения декодер может сначала принимать битовый поток, соответствующий текущему изображению.In an embodiment, after encoding the current picture, the encoder may generate an appropriate bitstream for storage or transmission. Accordingly, when decoding the current picture, the decoder may first receive a bit stream corresponding to the current picture.

На этапе 102 битовый поток анализируют с получением флага, соответствующего текущему изображению. At step 102, the bitstream is parsed to obtain a flag corresponding to the current image.

В варианте реализации после получения битового потока, соответствующего текущему изображению, декодер анализирует битовый поток с получением флага, соответствующего текущему изображению.In an embodiment, after receiving a bitstream corresponding to the current image, the decoder parses the bitstream to obtain a flag corresponding to the current image.

В варианте реализации флаг могут использоваться для указания отношений между разными компонентами цвета, соответствующими текущему изображению. В примере, в варианте реализации разные компоненты цвета, соответствующие текущему изображению, могут быть зависимыми друг от друга или независимыми друг от друга.In an embodiment, the flag may be used to indicate relationships between different color components corresponding to the current image. In an example, in an embodiment, the different color components corresponding to the current image may be dependent on each other or independent of each other.

Кроме того, при кодировании текущего изображения кодер может определять флаг на основании отношений между разными компонентами в текущем изображении. Например, если кодер не использует зависимость между разными компонентами цвета в процессе кодирования текущего изображения, т. е. не использует зависимость между компонентом яркости и компонентом цветности, а также между разными компонентами цветности, кодер определяет флаг в битовом потоке как 0. Если кодер использует зависимость между разными компонентами цвета в процессе кодирования текущего изображения, т. е. использует зависимость между компонентом яркости и компонентом цветности, а также между разными компонентами цветности, кодер определяет флаг в битовом потоке как 1.In addition, when encoding the current picture, the encoder may determine the flag based on relationships between different components in the current picture. For example, if the encoder does not use the dependency between different color components in the process of encoding the current image, i.e. does not use the dependency between the luminance component and the chrominance component, and also between the different chrominance components, the encoder defines a flag in the bitstream as 0. If the encoder uses the relationship between different color components in the process of encoding the current image, i.e. uses the relationship between the luminance component and the chrominance component, as well as between the different chrominance components, the encoder determines the flag in the bitstream as 1.

Соответственно, когда декодер анализирует битовый поток, соответствующий текущему изображению, если флаг в битовом потоке, полученный в результате анализирования, представляет собой 1, декодер определяет, что зависимость между разными компонентами цвета необходимо использовать в процессе декодирования текущего изображения, т. е. зависимость между компонентом яркости и компонентом цветности, а также между разными компонентами цветности, должна быть использована. Если флаг в битовом потоке, полученный в результате анализирования, представляет собой 0, декодер определяет, что зависимость между разными компонентами цвета не должна быть использована в процессе декодирования текущего изображения, т. е. зависимость между компонентом яркости и компонентом цветности, а также между разными компонентами цветности, не должна быть использована.Accordingly, when the decoder analyzes the bitstream corresponding to the current image, if the flag in the bitstream resulting from the analysis is 1, the decoder determines that the relationship between different color components should be used in the process of decoding the current image, i.e., the relationship between luma component and chrominance component, as well as between different chrominance components, must be used. If the flag in the bitstream resulting from the analysis is 0, the decoder determines that the relationship between different color components should not be used in the decoding process of the current picture, i.e., the relationship between the luma component and the chrominance component, as well as between different chrominance components should not be used.

В варианте реализации разные компоненты цвета, соответствующие текущему изображению, могут содержать первый компонент цвета, второй компонент цвета и третий компонент цвета, т. е. содержать три компонента цвета: Y, Cb и Cr. Следовательно, когда декодер использует флаг для указания отношений между разными компонентами цвета, соответствующими текущему изображению, флаг могут не только использовать для указания взаимной зависимости или взаимной независимости среди первого компонента цвета, второго компонента цвета и третьего компонента цвета, но и также использовать для указания взаимной зависимости или взаимной независимости между по меньшей мере двумя из первого компонента цвета, второго компонента цвета и третьего компонента цвета. Кроме того, в варианте реализации после анализирования декодером битового потока, соответствующего текущему изображению, флаг, полученный после анализирования, может быть расположен в одном или более из набора параметров последовательности (SPS), набора параметров изображения (PPS), информации для дополнительной оптимизации (SEI), элемента кодового дерева и элемента кодирования в битовом потоке.In an embodiment, the different color components corresponding to the current image may contain a first color component, a second color component, and a third color component, i.e., contain three color components: Y, Cb, and Cr. Therefore, when the decoder uses the flag to indicate relationships between different color components corresponding to the current image, the flag can not only be used to indicate mutual dependence or mutual independence among the first color component, the second color component, and the third color component, but also be used to indicate the mutual dependence or mutual independence between at least two of the first color component, the second color component and the third color component. Further, in an embodiment, after the decoder has parsed the bitstream corresponding to the current picture, the flag obtained after parsing may be located in one or more of sequence parameter set (SPS), picture parameter set (PPS), additional optimization information (SEI ), a code tree element, and an encoding element in the bitstream.

В стандарте кодирования видео H.264/AVC вся структура системы содержит два уровня, представляющие собой уровень абстракции сети (NAL) и уровень кодирования видео (VCL). VCL отвечает за эффективное предоставление содержимого видеоданных, а NAL отвечает за форматирование данных и предоставление информации заголовка для обеспечения того, что данные подходят для передачи на различных каналах и носителе данных.In the H.264/AVC video coding standard, the whole system structure contains two layers, which are the network abstraction layer (NAL) and the video coding layer (VCL). The VCL is responsible for effectively providing the content of the video data, and the NAL is responsible for formatting the data and providing header information to ensure that the data is suitable for transmission on various channels and media.

Кроме того, разные типы элементов NAL обозначены в стандарте H.264, и разные элементы NAL хранят разные данные. В H.264 первый элемент NAL в битовом потоке представляет собой SPS; второй элемент NAL в битовом потоке представляет собой PPS; третий элемент NAL в битовом потоке представляет собой мгновенное обновление декодирования (IDR).In addition, different types of NAL elements are designated in the H.264 standard, and different NAL elements store different data. In H.264, the first NAL element in a bitstream is an SPS; the second NAL element in the bitstream is a PPS; the third NAL element in the bitstream is an instantaneous decoding update (IDR).

В варианте реализации помимо SPS и PPS данные, соответствующие изображению, представляют собой элемент NAL.In an embodiment, in addition to the SPS and PPS, the data corresponding to the image is a NAL element.

Кроме того, в варианте реализации информация в SPS является очень важной. Если данные в SPS потеряны или возникает ошибка, вероятнее всего декодирование не будет выполнено. В примере, SPS также обычно используют в качестве информации инициализации в примерах декодера в схеме обработки видео таких платформ, как VideoToolBox от iOS.In addition, in an embodiment, the information in the SPS is very important. If the data in the SPS is lost or an error occurs, decoding will most likely fail. In the example, SPS is also commonly used as initialization information in decoder examples in the video processing scheme of platforms such as VideoToolBox from iOS.

В варианте реализации набор основных параметров последовательности кодированных видеокадров хранят в SPS. Последовательность кодированных видеокадров относится к последовательности, состоящей из кодированных данных пикселя каждого изображения исходного видео. Параметры, которые определяют кодированные данные каждого изображения, хранят в PPS.In an embodiment, a set of basic encoded video frame sequence parameters is stored in the SPS. The encoded video frame sequence refers to a sequence consisting of encoded pixel data of each image of the original video. The parameters that define the encoded data of each picture are stored in the PPS.

Кроме того, элементы NAL для SPS и PPS обычно располагают в начале всего битового потока. Однако в некоторых особых случаях эти две структуры также могут располагать в середине битового потока. Это осуществляют из-за того, что декодеру необходимо начинать декодирование в середине битового потока, или из-за того, что кодер изменяет параметры битового потока (такие как разрешение изображения и т. п.) во время кодирования.In addition, the NAL elements for SPS and PPS are usually located at the beginning of the entire bitstream. However, in some special cases, these two structures can also be located in the middle of the bitstream. This is done because the decoder needs to start decoding in the middle of the bitstream, or because the encoder changes bitstream parameters (such as image resolution, etc.) during encoding.

На этапе 103 функцию перекрестного декодирования отключают, когда метод декодирования, указанный флагом, представляет собой независимое декодирование компонентов цвета, где функция перекрестного декодирования разрешает декодирование, основанное на зависимости между компонентами цвета.In step 103, the cross decoding function is disabled when the decoding method indicated by the flag is independent color component decoding, where the cross decoding function enables decoding based on the dependency between color components.

В варианте реализации после анализирования декодером битового потока с получением флага, соответствующего текущему изображению, если метод декодирования, указанный флагом, представляет собой независимое декодирование компонентов цвета, декодер отключает функцию перекрестного декодирования.In an embodiment, after the decoder parses the bitstream to obtain a flag corresponding to the current picture, if the decoding method indicated by the flag is independent color component decoding, the decoder disables the cross decoding function.

В варианте реализации функция перекрестного декодирования разрешает декодирование, основанное на зависимости между компонентами цвета. То есть, когда декодер декодирует текущее изображение, функция перекрестного декодирования разрешает межкомпонентную зависимость, т. е. декодер может декодировать текущее изображение посредством CCLM или DM.In an embodiment, the cross decoding function enables decoding based on the dependency between color components. That is, when the decoder decodes the current picture, the cross decoding function resolves the intercomponent dependency, that is, the decoder can decode the current picture by CCLM or DM.

Кроме того, в варианте реализации после получения флага в битовом потоке после анализирования декодер может сначала определять метод декодирования, указанный флагом. В примере метод декодирования, указанный флагом, представляет собой независимое декодирование компонентов цвета или перекрестное декодирование компонентов цвета.In addition, in the implementation, after receiving the flag in the bitstream after parsing, the decoder may first determine the decoding method indicated by the flag. In the example, the decoding method indicated by the flag is independent color component decoding or cross color component decoding.

В варианте реализации, если метод декодирования, указанный флагом, представляет собой независимое декодирование компонентов цвета, декодер не может использовать зависимость между разными компонентами цвета для декодирования, т. е. декодер должен выполнять независимое декодирование согласно одному (типу) компоненту цвета. Например, если флаг в битовом потоке, полученный в результате анализирования декодером, представляет собой 0, считают, что кодер не использует зависимость между компонентом яркости и компонентом цветности, а также между разными компонентами цветности, в процессе кодирования текущего изображения. Таким образом, определяют, что метод декодирования, указанный флагом, представляет собой независимое декодирование компонентов цвета. Соответственно декодер не будет использовать зависимость между компонентом яркости и компонентом цветности, а также между разными компонентами цветности, и затем декодирует текущее изображение.In an implementation, if the decoding method indicated by the flag is independent color component decoding, the decoder cannot use the dependency between different color components for decoding, i.e., the decoder must perform independent decoding according to the same (type) color component. For example, if the flag in the bitstream as parsed by the decoder is 0, the encoder is considered not to use the dependency between the luminance component and the chrominance component, as well as between different chrominance components, in the process of encoding the current picture. Thus, it is determined that the decoding method indicated by the flag is independent decoding of color components. Accordingly, the decoder will not use the relationship between the luma component and the chrominance component, as well as between the different chrominance components, and then decodes the current picture.

В варианте реализации, когда декодер использует флаг для указания отношений между разными компонентами цвета, соответствующими текущему изображению, флаг могут не только использовать для указания взаимной зависимости или взаимной независимости среди первого компонента цвета, второго компонента цвета и третьего компонента цвета, но и также использовать для указания взаимной зависимости или взаимной независимости между по меньшей мере двумя из первого компонента цвета, второго компонента цвета и третьего компонента цвета. Следовательно, метод декодирования, указанный флагом, может включать независимое декодирование компонентов цвета среди трех компонентов цвета и перекрестное декодирование компонентов цвета среди трех компонентов цвета и также может включать независимое декодирование компонентов цвета между любыми двумя компонентами цвета и перекрестное декодирование компонентов цвета между любыми двумя компонентами цвета. Например, когда флаг указывает отношение между тремя компонентами цвета, такими как Y, Cb и Cr, если флаг в битовом потоке представляет собой 1, могут считать, что кодер использует зависимость между компонентом яркости и компонентом цветности, а также между разными компонентами цветности, при кодировании текущего изображения. Соответственно декодер будет использовать зависимость между тремя разными компонентами цвета: Y, Cb и Cr. Когда флаг указывает отношение между двумя компонентами цвета, такими как Cb и Cr, если флаг в битовом потоке представляет собой 0, могут считать, что кодер не использует зависимость между разными компонентами цветности при кодировании текущего изображения. Соответственно декодер не будет использовать зависимость между двумя компонентами цвета, такими как Cb и Cr, но зависимость между компонентами цвета, такими как Y и Cb, а также между компонентами цвета, такими как Y и Cr, будет использована.In an embodiment, when a decoder uses a flag to indicate relationships between different color components corresponding to the current image, the flag may not only be used to indicate mutual dependency or mutual independence among the first color component, the second color component, and the third color component, but also be used to indicating mutual dependence or mutual independence between at least two of the first color component, the second color component, and the third color component. Therefore, the decoding method indicated by the flag may include independent decoding of color components among the three color components and cross-decoding of color components among the three color components, and may also include independent decoding of color components between any two color components and cross-decoding of color components between any two color components . For example, when a flag indicates a relationship between three color components, such as Y, Cb, and Cr, if the flag in the bitstream is 1, the encoder may be considered to use the relationship between the luminance component and the chrominance component, as well as between different chrominance components, when encoding the current image. Accordingly, the decoder will use the relationship between three different color components: Y, Cb and Cr. When the flag indicates a relationship between two color components such as Cb and Cr, if the flag in the bitstream is 0, the encoder may not be considered to use the relationship between different color components when encoding the current picture. Accordingly, the decoder will not use a relationship between two color components such as Cb and Cr, but a relationship between color components such as Y and Cb, as well as between color components such as Y and Cr, will be used.

В по меньшей мере одном варианте реализации, кроме того, на фиг. 4 показана вторая блок-схема способа декодирования изображений согласно вариантам реализации. Как показано на фиг. 4, после того, как декодер анализирует битовый поток с получением флага, соответствующего текущему изображению (т. е. этап 102), декодер дополнительно выполняет следующее. In at least one embodiment, in addition, in FIG. 4 shows a second flowchart of an image decoding method according to the embodiments. As shown in FIG. 4, after the decoder parses the bitstream to obtain a flag corresponding to the current picture (i.e., step 102), the decoder further performs the following.

На этапе 104 функцию перекрестного декодирования включают, когда метод декодирования, указанный флагом, представляет собой перекрестное декодирование компонентов цвета.In step 104, the cross decoding function is turned on when the decoding method indicated by the flag is color component cross decoding.

В варианте реализации после анализирования декодером битового потока с получением флага, соответствующего текущему изображению, если метод декодирования, указанный флагом, представляет собой перекрестное декодирование компонентов цвета, декодер может включать функцию перекрестного декодирования.In an embodiment, after the decoder parses the bitstream to obtain a flag corresponding to the current picture, if the decoding method indicated by the flag is color component cross decoding, the decoder may turn on the cross decoding function.

В варианте реализации после анализирования декодером битового потока с получением флага, если метод декодирования, указанный флагом, представляет собой перекрестное декодирование компонентов цвета, декодер может использовать зависимость между разными компонентами цвета для декодирования, т. е. декодер может декодировать текущее изображение посредством CCLM или DM. Например, если флаг в битовом потоке, полученный в результате анализирования декодером, представляет собой 1, считают, что кодер использует зависимость между компонентом яркости и компонентом цветности, а также между разными компонентами цветности, в процессе кодирования текущего изображения. Таким образом, определяют, что метод декодирования, указанный флагом, представляет собой перекрестное декодирование компонентов цвета. Соответственно декодер будет использовать зависимость между компонентом яркости и компонентом цветности, а также между разными компонентами цветности, и затем декодирует текущее изображение.In an embodiment, after the decoder parses the bitstream to obtain the flag, if the decoding method indicated by the flag is cross color component decoding, the decoder may use the relationship between different color components for decoding, i.e., the decoder may decode the current picture by CCLM or DM . For example, if the flag in the bitstream as parsed by the decoder is 1, the encoder is considered to use the relationship between the luminance component and the chrominance component, as well as between different chrominance components, in the process of encoding the current picture. Thus, it is determined that the decoding method indicated by the flag is cross color component decoding. Accordingly, the decoder will use the relationship between the luma component and the chrominance component, as well as between different chrominance components, and then decodes the current picture.

В по меньшей мере одном варианте реализации, кроме того, на фиг. 5 показана третья блок-схема способа декодирования изображений согласно вариантам реализации. Как показано на фиг. 5, после того, как декодер анализирует битовый поток с получением флага, соответствующего текущему изображению (т. е. этап 102), декодер дополнительно выполняет следующее.In at least one embodiment, in addition, in FIG. 5 shows a third flowchart of an image decoding method according to the embodiments. As shown in FIG. 5, after the decoder analyzes the bitstream to obtain a flag corresponding to the current picture (ie, step 102), the decoder further performs the following.

На этапе 105, DM отключают, когда метод декодирования, указанный флагом, запрещен DM.In step 105, the DM is turned off when the decoding method indicated by the flag is prohibited by the DM.

В варианте реализации после анализирования декодером битового потока с получением флага, соответствующего текущему изображению, если метод декодирования, указанный флагом, запрещен DM, декодер может отключать DM.In an embodiment, after the decoder parses the bitstream to obtain a flag corresponding to the current picture, if the decoding method indicated by the flag is prohibited by the DM, the decoder may disable the DM.

В варианте реализации флаг в битовом потоке может указывать «использование» или «неиспользование» технологии DM. В примере, если метод декодирования, указанный флагом, запрещен DM, декодер должен отключить DM при декодировании текущего изображения. Если метод декодирования, указанный флагом, разрешен DM, декодер должен включить DM при декодировании текущего изображения.In an embodiment, a flag in the bitstream may indicate "use" or "non-use" of the DM technology. In the example, if the decoding method specified by the flag is disabled by the DM, the decoder must disable the DM when decoding the current picture. If the decoding method specified by the flag is allowed by the DM, the decoder shall enable the DM when decoding the current picture.

Кроме того, в варианте реализации флаг в битовом потоке может указывать «использование» или «неиспользование» любой технологии или образца выражения на основании зависимости между компонентами цвета. То есть в варианте реализации флаг в битовом потоке предусмотрен не только для управления использованием технологии DM, но и представляет собой инструмент для управления использованием других технологий на основании зависимости между компонентами цвета, что не ограничено в данном документе.In addition, in an implementation, a flag in the bitstream may indicate "use" or "non-use" of any technology or expression pattern based on a dependency between color components. That is, in an embodiment, a flag in the bitstream is not only provided to control the use of DM technology, but is also a tool to control the use of other technologies based on the dependency between color components, which is not limited here.

Согласно способу декодирования изображений декодер получает битовый поток, соответствующий текущему изображению; декодер анализирует битовый поток с получением флага, соответствующего текущему изображению; декодер отключает функцию перекрестного декодирования, когда метод декодирования, указанный флагом, представляет собой независимое декодирование компонентов цвета, при этом функция перекрестного декодирования разрешает декодирование, основанное на зависимости между компонентами цвета. То есть согласно варианту реализации декодер может вначале анализировать битовый поток, соответствующий текущему изображению, с получением флага в битовом потоке для определения, разрешать ли зависимость между компонентами цвета. Если метод декодирования, указанный флагом, представляет собой независимое декодирование компонентов цвета (т. е. зависимость между компонентами цвета не разрешается), декодер должен отключить функцию перекрестного декодирования (т. е. декодер декодирует текущее изображение без учета зависимости между компонентами цвета). Таким образом, можно достичь параллельного кодирования и сложность кодирования может быть снижена для сцен, требующих быстрой обработки или обработки с высокой степенью параллелизма. В то же время, в этих сценах бит, указывающий, что декодирование не основано на зависимости между компонентами цвета, может быть пропущен на уровне CU и эффективность кодирования может быть повышена.According to the image decoding method, the decoder obtains a bitstream corresponding to the current image; the decoder parses the bitstream to obtain a flag corresponding to the current image; the decoder disables the cross decoding function when the decoding method indicated by the flag is independent decoding of color components, while the cross decoding function enables decoding based on the dependency between color components. That is, according to an embodiment, the decoder may first parse the bitstream corresponding to the current image to obtain a flag in the bitstream to determine whether to resolve the dependency between color components. If the decoding method indicated by the flag is independent decoding of color components (i.e., dependency between color components is not allowed), the decoder shall disable the cross decoding function (i.e., the decoder decodes the current picture without taking into account the dependency between color components). Thus, parallel coding can be achieved and coding complexity can be reduced for scenes requiring fast processing or processing with a high degree of parallelism. At the same time, in these scenes, a bit indicating that decoding is not based on the dependency between color components can be skipped at the CU level, and coding efficiency can be improved.

На основе вышеприведенного варианта реализации в другом варианте реализации компоненты цвета на этапах 101–103 могут содержать первый компонент цвета, второй компонент цвета и третий компонент цвета. Первый компонент цвета, второй компонент цвета и третий компонент цвета представляют собой компонент яркости Y, синий компонент цветности Cb и красный компонент цветности Cr соответственно. Например, первый компонент цвета представляет собой компонент яркости Y, второй компонент цвета представляет собой красный компонент цветности Cr и третий компонент цвета представляет собой синий компонент цветности Cb, что не ограничено в данном документе.Based on the above implementation, in another implementation, the color components in steps 101-103 may comprise a first color component, a second color component, and a third color component. The first color component, the second color component, and the third color component are the Y luminance component, the Cb blue chrominance component, and the Cr red chrominance component, respectively. For example, the first color component is the Y luminance component, the second color component is the red Cr chrominance component, and the third color component is the blue Cb chrominance component, which is not limited here.

В по меньшей мере одном варианте реализации, кроме того, на фиг. 6 показана четвертая блок-схема способа декодирования изображений согласно вариантам реализации. Как показано на фиг. 6, для способа, описанного в этапах 101–105 выше, декодер анализирует битовый поток с получением флага, соответствующего текущему изображению, следующим образом.In at least one embodiment, in addition, in FIG. 6 shows a fourth flowchart of an image decoding method according to the embodiments. As shown in FIG. 6, for the method described in steps 101 to 105 above, the decoder parses the bitstream to obtain a flag corresponding to the current picture as follows.

На этапе 201, флаг получают от SPS в битовом потоке при анализировании битового потока.In step 201, a flag is received from the SPS in the bitstream while parsing the bitstream.

В варианте реализации после получения битового потока, соответствующего текущему изображению, декодер может анализировать битовый поток с получением флага, соответствующего текущему изображению, из SPS в битовом потоке.In an embodiment, after receiving a bitstream corresponding to the current picture, the decoder may parse the bitstream to obtain a flag corresponding to the current picture from the SPS in the bitstream.

В варианте реализации после анализирования декодером битового потока, соответствующего текущему изображению, флаг, полученный в результате анализирования, может быть расположен в SPS. В примере, поскольку SPS хранит набор основных параметров последовательности кодированных видеокадров, если декодер получает флаг из SPS в битовом потоке, флаг могут применять ко всем изображениям в последовательности кодированных видеокадров.In an embodiment, after the bitstream corresponding to the current picture has been parsed by the decoder, the flag resulting from the parsing may be located in the SPS. In the example, since the SPS stores a set of basic parameters of the encoded video frame sequence, if the decoder receives the flag from the SPS in the bitstream, the flag may be applied to all pictures in the encoded video frame sequence.

Кроме того, в варианте реализации, если декодер получает флаг из SPS, декодер может декодировать все изображения в последовательности кодированных видеокадров в соответствии с флагом. Например, если метод декодирования, указанный флагом, представляет собой перекрестное декодирование компонентов цвета, декодер может включать функцию перекрестного декодирования для декодирования всех изображений посредством использования зависимости между разными компонентами цвета, т. е. декодировать все изображения посредством CCLM или DM.Further, in an embodiment, if a decoder receives a flag from the SPS, the decoder may decode all pictures in the encoded video frame sequence according to the flag. For example, if the decoding method indicated by the flag is cross color component decoding, the decoder may include a cross decoding function to decode all images by using the dependency between different color components, i.e., decode all images by CCLM or DM.

На этапе 202, флаг получают из PPS в битовом потоке при анализировании битового потока.At step 202, a flag is obtained from the PPS in the bitstream when parsing the bitstream.

В варианте реализации после получения битового потока, соответствующего текущему изображению, декодер может анализировать битовый поток с получением флага, соответствующего текущему изображению, из PPS в битовом потоке.In an embodiment, after receiving a bitstream corresponding to the current picture, the decoder may parse the bitstream to obtain a flag corresponding to the current picture from the PPS in the bitstream.

В варианте реализации после анализирования декодером битового потока, соответствующего текущему изображению, флаг, полученный в результате анализирования, может быть расположен в PPS. В примере, поскольку PPS хранит параметры, которые определяют кодированные данные каждого изображения, если декодер получает флаг из PPS в битовом потоке, флаг могут применять к одному изображению в последовательности кодированных видеокадров, которая соответствует PPS.In an embodiment, after the decoder has parsed the bitstream corresponding to the current picture, the flag resulting from the parsing may be located in the PPS. In the example, since the PPS stores the parameters that define the encoded data of each picture, if the decoder receives the flag from the PPS in the bitstream, the flag may be applied to one picture in the encoded video frame sequence that corresponds to the PPS.

Кроме того, в варианте реализации, если декодер получает флаг из PPS, декодер может декодировать в соответствии с флагом изображение в последовательности кодированных видеокадров, которая соответствует PPS. Например, если метод декодирования, указанный флагом, представляет собой перекрестное декодирование компонентов цвета, декодер может включать функцию перекрестного декодирования для декодирования изображения в последовательности кодированных видеокадров, которая соответствует PPS, посредством использования зависимости между разными компонентами цвета, т. е. декодировать изображение в последовательности кодированных видеокадров, которая соответствует PPS, посредством CCLM или DM.Further, in an embodiment, if the decoder receives the flag from the PPS, the decoder may decode according to the flag a picture in a sequence of encoded video frames that corresponds to the PPS. For example, if the decoding method indicated by the flag is color component cross decoding, the decoder may include a cross decoding function to decode an image in a sequence of encoded video frames that conforms to PPS by using a relationship between different color components, i.e., decode an image in sequence encoded video frames that corresponds to PPS, by means of CCLM or DM.

На этапе 203, флаг получают из SEI в битовом потоке при анализировании битового потока.At step 203, a flag is obtained from the SEI in the bitstream when parsing the bitstream.

В варианте реализации после получения битового потока, соответствующего текущему изображению, декодер может анализировать битовый поток с получением флага, соответствующего текущему изображению, из SEI в битовом потоке.In an embodiment, after receiving a bitstream corresponding to the current picture, the decoder may parse the bitstream to obtain a flag corresponding to the current picture from the SEI in the bitstream.

В варианте реализации после анализирования декодером битового потока, соответствующего текущему изображению, флаг, полученный в результате анализирования, может быть расположен в SEI. В примере, поскольку SEI помогает в декодировании, что используется для добавления дополнительной информации о видео в битовый поток, если декодер получает флаг из SEI в битовом потоке, флаг могут применять к информации об изображении, соответствующей SEI, в последовательности кодированных видеокадров.In an embodiment, after the decoder has parsed the bitstream corresponding to the current picture, the flag resulting from the parsing may be located in the SEI. In the example, since the SEI assists in decoding, which is used to add additional video information to the bitstream, if the decoder receives a flag from the SEI in the bitstream, the flag may be applied to the image information corresponding to the SEI in the encoded video frame sequence.

Кроме того, в варианте реализации флаг, полученный в результате анализирования, может быть расположен в одном или более из SPS, PPS, SEI, элемента кодового дерева и элемента кодирования в битовом потоке. Соответственно при обработке текущего изображения декодер может выполнять адаптивное декодирование для соответствующей информации об изображении в соответствии с конкретным положением флага в битовом потоке.Further, in an embodiment, the parsed flag may be located in one or more of the SPS, PPS, SEI, code tree element, and coding element in the bitstream. Accordingly, when processing the current image, the decoder may perform adaptive decoding on the corresponding image information in accordance with a particular flag position in the bitstream.

Согласно способу декодирования изображений декодер получает битовый поток, соответствующий текущему изображению; декодер анализирует битовый поток с получением флага, соответствующего текущему изображению; декодер отключает функцию перекрестного декодирования, когда метод декодирования, указанный флагом, представляет собой независимое декодирование компонентов цвета, при этом функция перекрестного декодирования разрешает декодирование, основанное на зависимости между компонентами цвета. То есть согласно варианту реализации декодер может вначале анализировать битовый поток, соответствующий текущему изображению, с получением флага в битовом потоке для определения, разрешать ли зависимость между компонентами цвета. Если метод декодирования, указанный флагом, представляет собой независимое декодирование компонентов цвета (т. е. зависимость между компонентами цвета не разрешается), декодер должен отключить функцию перекрестного декодирования (т. е. декодер декодирует текущее изображение без учета зависимости между компонентами цвета). Таким образом, можно достичь параллельного кодирования и сложность кодирования может быть снижена для сцен, требующих быстрой обработки или обработки с высокой степенью параллелизма.According to the image decoding method, the decoder obtains a bitstream corresponding to the current image; the decoder parses the bitstream to obtain a flag corresponding to the current image; the decoder disables the cross decoding function when the decoding method indicated by the flag is independent decoding of color components, while the cross decoding function enables decoding based on the dependency between color components. That is, according to an embodiment, the decoder may first parse the bitstream corresponding to the current image to obtain a flag in the bitstream to determine whether to resolve the dependency between color components. If the decoding method indicated by the flag is independent decoding of color components (i.e., dependency between color components is not allowed), the decoder shall disable the cross decoding function (i.e., the decoder decodes the current picture without taking into account the dependency between color components). Thus, parallel coding can be achieved and coding complexity can be reduced for scenes requiring fast processing or processing with a high degree of parallelism.

На основе приведенного выше варианта реализации в еще одном варианте реализации, кроме того, на фиг. 7 показана пятая блок-схема способа декодирования изображений согласно вариантам реализации. Как показано на фиг. 7, после того, как декодер включает функцию перекрестного декодирования, когда метод декодирования, указанный флагом, представляет собой перекрестное декодирование компонентов цвета (т. е. этап 104), декодер дополнительно выполняет следующее. Based on the above embodiment, in another embodiment, in addition, in FIG. 7 shows a fifth flowchart of an image decoding method according to the embodiments. As shown in FIG. 7, after the decoder turns on the cross decoding function, when the decoding method indicated by the flag is color component cross decoding (ie, step 104), the decoder further performs the following.

На этапе 106, текущее изображение декодируют в DM.At step 106, the current picture is decoded in DM.

В варианте реализации, если метод декодирования, указанный флагом, представляет собой перекрестное декодирование компонентов цвета, после включения функции перекрестного декодирования декодер может декодировать текущее изображение в DM.In an embodiment, if the decoding method indicated by the flag is color component cross decoding, after enabling the cross decoding function, the decoder may decode the current picture in DM.

Кроме того, в варианте реализации при реализации предсказания от компонента яркости до компонента цветности посредством DM для уменьшения избыточности между компонентом яркости и компонентом цветности и между разными компонентами цветности в совместной исследовательской модели (JEM) или тестовой модели VVC (VTM) H.266/VVC используют межкомпонентное альтернативное представление режима предсказания.Further, in an embodiment, when implementing prediction from luminance component to chrominance component by DM to reduce redundancy between luminance component and chrominance component and between different chrominance components in a Joint Exploration Model (JEM) or VVC Test Model (VTM) H.266/VVC use an inter-component alternative representation of the prediction mode.

В варианте реализации, кроме того, после того, как декодер включает функцию перекрестного декодирования, когда метод декодирования, указанный флагом, представляет собой перекрестное декодирование компонентов цвета (т. е. этап 104), декодер может не только декодировать текущее изображение с использованием CCLM или DM, но и также декодировать текущее изображение с использованием любой технологии на основании зависимости между компонентами цвета, что не ограничено в данном документе.In the embodiment, furthermore, after the decoder turns on the cross decoding function, when the decoding method indicated by the flag is color component cross decoding (i.e., step 104), the decoder may not only decode the current picture using CCLM or DM, but also decode the current image using any technology based on the relationship between color components, which is not limited here.

Согласно способу декодирования изображений декодер получает битовый поток, соответствующий текущему изображению; декодер анализирует битовый поток с получением флага, соответствующего текущему изображению; декодер отключает функцию перекрестного декодирования, когда метод декодирования, указанный флагом, представляет собой независимое декодирование компонентов цвета, при этом функция перекрестного декодирования разрешает декодирование, основанное на зависимости между компонентами цвета. То есть согласно варианту реализации декодер может вначале анализировать битовый поток, соответствующий текущему изображению, с получением флага в битовом потоке для определения, разрешать ли зависимость между компонентами цвета. Если метод декодирования, указанный флагом, представляет собой независимое декодирование компонентов цвета (т. е. зависимость между компонентами цвета не разрешается), декодер должен отключить функцию перекрестного декодирования (т. е. декодер декодирует текущее изображение без учета зависимости между компонентами цвета). Таким образом, можно достичь параллельного кодирования и сложность кодирования может быть снижена для сцен, требующих быстрой обработки или обработки с высокой степенью параллелизма.According to the image decoding method, the decoder obtains a bitstream corresponding to the current image; the decoder parses the bitstream to obtain a flag corresponding to the current image; the decoder disables the cross decoding function when the decoding method indicated by the flag is independent decoding of color components, while the cross decoding function enables decoding based on the dependency between color components. That is, according to an embodiment, the decoder may first parse the bitstream corresponding to the current image to obtain a flag in the bitstream to determine whether to resolve the dependency between color components. If the decoding method indicated by the flag is independent decoding of color components (i.e., dependency between color components is not allowed), the decoder shall disable the cross decoding function (i.e., the decoder decodes the current picture without taking into account the dependency between color components). Thus, parallel coding can be achieved and coding complexity can be reduced for scenes requiring fast processing or processing with a high degree of parallelism.

На основе приведенного выше варианта реализации в еще одном варианте реализации на фиг. 8 показана первая структурная схема декодера согласно вариантам реализации. Как показано на фиг. 8, декодер 100 согласно варианту реализации содержит часть 101 для получения, часть 102 для анализирования, часть 103 для отключения, часть 104 для включения и часть 105 для декодирования.Based on the above embodiment, in yet another embodiment in FIG. 8 shows a first block diagram of a decoder according to embodiments. As shown in FIG. 8, the decoder 100 according to the embodiment comprises an acquisition part 101, an analysis part 102, a disable part 103, an enable part 104, and a decode part 105.

Часть 101 для получения выполнена с возможностью получения битового потока, соответствующего текущему изображению.The acquisition part 101 is configured to obtain a bitstream corresponding to the current image.

Часть 102 для анализирования выполнена с возможностью анализирования битового потока с получением флага, соответствующего текущему изображению.The parsing part 102 is configured to parse the bitstream to obtain a flag corresponding to the current image.

Часть 103 для отключения выполнена с возможностью отключения функции перекрестного декодирования, когда метод декодирования, указанный флагом, представляет собой независимое декодирование компонентов цвета, при этом функция перекрестного декодирования разрешает декодирование, основанное на зависимости между компонентами цвета.The disable part 103 is configured to disable the cross decoding function when the decoding method indicated by the flag is independent decoding of color components, with the cross decoding function allowing decoding based on the dependency between color components.

Кроме того, в по меньшей мере одном варианте реализации часть 104 для включения выполнена с возможностью включения функции перекрестного декодирования, когда метод декодирования, указанный флагом, представляет собой перекрестное декодирование компонентов цвета, после анализирования битового потока с получением флага, соответствующего текущему изображению.In addition, in at least one implementation, the enabling portion 104 is configured to enable the cross decoding function when the decoding method indicated by the flag is color component cross decoding, after parsing the bitstream to obtain a flag corresponding to the current image.

Кроме того, в по меньшей мере одном варианте реализации компоненты цвета содержат по меньшей мере два из первого компонента цвета, второго компонента цвета и третьего компонента цвета.Further, in at least one embodiment, the color components comprise at least two of a first color component, a second color component, and a third color component.

Кроме того, в по меньшей мере одном варианте реализации часть 105 для декодирования дополнительно выполнена с возможностью декодирования текущего изображения в соответствии с DM, после включения функции перекрестного декодирования, когда метод декодирования, указанный флагом, представляет собой перекрестное декодирование компонентов цвета.Further, in at least one embodiment, the decoding part 105 is further configured to decode the current picture according to the DM after the cross decoding function is turned on when the decoding method indicated by the flag is color component cross decoding.

Кроме того, в по меньшей мере одном варианте реализации часть 103 для отключения дополнительно выполнена с возможностью выключения DM, когда метод декодирования, указанный флагом, запрещен DM, после анализирования битового потока с получением флага, соответствующего текущему изображению.Further, in at least one embodiment, the disable portion 103 is further configured to disable the DM when the decoding method indicated by the flag is prohibited by the DM after parsing the bitstream to obtain a flag corresponding to the current picture.

Кроме того, в по меньшей мере одном варианте реализации часть 102 для анализирования выполнена с возможностью получения из SPS в битовом потоке флага при анализировании битового потока.Further, in at least one embodiment, the parsing portion 102 is configured to obtain a flag from the SPS in the bitstream when parsing the bitstream.

Кроме того, в по меньшей мере одном варианте реализации часть 102 для анализирования выполнена с возможностью получения из PPS в битовом потоке флага при анализировании битового потока.Further, in at least one embodiment, the parsing portion 102 is configured to derive a flag from the PPS in the bitstream when parsing the bitstream.

Кроме того, в по меньшей мере одном варианте реализации часть 102 для анализирования выполнена с возможностью получения из SEI в битовом потоке флага при анализировании битового потока.Further, in at least one embodiment, the parsing portion 102 is configured to obtain a flag from the SEI in the bitstream when parsing the bitstream.

На фиг. 9 показана вторая структурная схема декодера согласно вариантам реализации. Как показано на фиг. 9, декодер 100 согласно варианту реализации дополнительно содержит процессор 106, запоминающее устройство 107, хранящее команды, которые могут исполняться процессором 106, интерфейс 108 связи и шину 109 для подключения процессора 106, запоминающего устройства 107 и интерфейса 108 связи.In FIG. 9 shows a second block diagram of a decoder according to embodiments. As shown in FIG. 9, the decoder 100 according to the embodiment further comprises a processor 106, a memory 107 storing instructions that can be executed by the processor 106, a communication interface 108, and a bus 109 for connecting the processor 106, the memory 107, and the communication interface 108.

В варианте реализации процессор 106 может представлять собой по меньшей мере одно из следующего: специализированную интегральную схему (ASIC), процессор цифровой обработки сигналов (DSP), устройство цифровой обработки сигналов (DSPD), программируемое логическое устройство (PLD), программируемую пользователем вентильную матрицу (FPGA), центральный процессор (CPU), контроллер, микроконтроллер и микропроцессор. Следует понимать, что для разных устройств для реализации функций описанного выше процессора могут использоваться другие электронные устройства, что не ограничено в данном документе. Устройство 1 может дополнительно содержать запоминающее устройство 107, и запоминающее устройство 107 может быть соединено с процессором 106. Запоминающее устройство 107 используется для хранения исполняемого программного кода, и программный код содержит компьютерные действующие команды. Запоминающее устройство 107 может включать в себя быстродействующее оперативное запоминающее устройство (RAM) и может также включать в себя постоянное запоминающее устройство, например по меньшей мере два дисковых запоминающих устройства.In an embodiment, processor 106 may be at least one of the following: an application specific integrated circuit (ASIC), a digital signal processor (DSP), a digital signal processor (DSPD), a programmable logic device (PLD), a field programmable gate array ( FPGA), central processing unit (CPU), controller, microcontroller and microprocessor. It should be understood that for different devices to implement the functions of the processor described above, other electronic devices may be used, which is not limited in this document. The device 1 may further comprise a memory 107, and the memory 107 may be connected to the processor 106. The memory 107 is used to store executable program code, and the program code contains computer operating instructions. The storage device 107 may include high speed random access memory (RAM) and may also include read only memory, such as at least two disk storage devices.

В варианте реализации шина 109 выполнена с возможностью подключения интерфейса 108 связи, процессора 106 и запоминающего устройства 107 и выполнена с возможностью взаимной связи этих устройств.In an embodiment, the bus 109 is configured to connect the communication interface 108, the processor 106 and the storage device 107 and is configured to interconnect these devices.

В варианте реализации запоминающее устройство 107 выполнено с возможностью хранения команд и данных.In an embodiment, the storage device 107 is configured to store instructions and data.

Помимо этого, в варианте реализации процессор 106 выполнен с возможностью получения битового потока, соответствующего текущему изображению; анализирования битового потока с получением флага, соответствующего текущему изображению; отключения функции перекрестного декодирования, когда метод декодирования, указанный флагом, представляет собой независимое декодирование компонентов цвета, при этом функция перекрестного декодирования разрешает декодирование, основанное на зависимости между компонентами цвета.In addition, in an embodiment, the processor 106 is configured to obtain a bit stream corresponding to the current image; parsing the bitstream to obtain a flag corresponding to the current image; disabling the cross decoding function when the decoding method indicated by the flag is independent decoding of color components, while the cross decoding function enables decoding based on the dependency between color components.

На практике, запоминающее устройство 107 может представлять собой энергозависимое запоминающее устройство, такое как RAM, или может представлять собой энергонезависимое запоминающее устройство, такое как постоянное запоминающее устройство (ROM), флеш-память, жесткий диск (HDD) или твердотельный накопитель (SSD), или может представлять собой комбинацию вышеупомянутых запоминающих устройств, и выполнено с возможностью предоставления команд и данных на процессор 106.In practice, the storage device 107 may be a volatile storage device such as RAM, or may be a non-volatile storage device such as a read only memory (ROM), flash memory, a hard disk drive (HDD), or a solid state drive (SSD), or may be a combination of the above memories, and is configured to provide instructions and data to the processor 106.

В дополнение, функциональные элементы в варианте реализации могут быть интегрированы в один обрабатывающий элемент, или каждый элемент может физически присутствовать, или два или более элементов могут быть интегрированы в один элемент. Вышеупомянутый интегрированный элемент может быть реализован в форме аппаратных средств или программного функционального элемента.In addition, functional elements in an embodiment may be integrated into one processing element, or each element may be physically present, or two or more elements may be integrated into one element. The above integrated element may be implemented in the form of hardware or a software functional element.

Интегрированный элемент может храниться на машиночитаемом носителе данных, если он реализован в виде программного функционального элемента, и продаваться или использоваться в качестве отдельного продукта. На основании понимания этого технические решения настоящего изобретения по существу или та часть технических решений, которая вносит вклад в область техники изобретения, или все технические решения или их часть могут быть реализованы в виде программного продукта, который хранится на запоминающем устройстве и содержит команды для обеспечения выполнения компьютерным устройством (которое может представлять собой персональный компьютер, сервер или сетевое устройство и т. п.) всех или части этапов, описанных в различных вариантах реализации настоящего изобретения. Запоминающее устройство содержит различные носители, способные хранить программные коды, такие как флеш-накопитель USB (универсальная последовательная шина), ROM, RAM, съемный жесткий диск, диск, компакт-диск (CD) или т. п.An integrated element may be stored on a computer-readable storage medium, if implemented as a software functional element, and sold or used as a standalone product. Based on this understanding, the technical solutions of the present invention essentially or that part of the technical solutions that contributes to the technical field of the invention, or all or part of the technical solutions can be implemented in the form of a software product that is stored on a storage device and contains instructions to ensure execution a computing device (which may be a personal computer, a server or a network device, etc.) of all or part of the steps described in various embodiments of the present invention. The storage device contains various media capable of storing program codes, such as a USB (Universal Serial Bus) flash drive, ROM, RAM, removable hard disk, disk, compact disc (CD), or the like.

В соответствии с декодером согласно настоящему изобретению декодер получает битовый поток, соответствующий текущему изображению; декодер анализирует битовый поток с получением флага, соответствующего текущему изображению; декодер отключает функцию перекрестного декодирования, когда метод декодирования, указанный флагом, представляет собой независимое декодирование компонентов цвета, при этом функция перекрестного декодирования разрешает декодирование, основанное на зависимости между компонентами цвета. То есть согласно варианту реализации декодер может вначале анализировать битовый поток, соответствующий текущему изображению, с получением флага в битовом потоке для определения, разрешать ли зависимость между компонентами цвета. Если метод декодирования, указанный флагом, представляет собой независимое декодирование компонентов цвета (т. е. зависимость между компонентами цвета не разрешается), декодер должен отключить функцию перекрестного декодирования (т. е. декодер декодирует текущее изображение без учета зависимости между компонентами цвета). Таким образом, можно достичь параллельного кодирования и сложность кодирования может быть снижена для сцен, требующих быстрой обработки или обработки с высокой степенью параллелизма. В то же время, в этих сценах бит, указывающий, что декодирование не основано на зависимости между компонентами цвета, может быть пропущен на уровне CU и эффективность кодирования может быть повышена.According to the decoder according to the present invention, the decoder obtains a bit stream corresponding to the current picture; the decoder analyzes the bitstream to obtain a flag corresponding to the current image; the decoder disables the cross decoding function when the decoding method indicated by the flag is independent decoding of color components, while the cross decoding function enables decoding based on the dependency between color components. That is, according to an embodiment, the decoder may first analyze the bitstream corresponding to the current image to obtain a flag in the bitstream to determine whether to resolve the dependency between color components. If the decoding method indicated by the flag is independent decoding of color components (i.e., dependency between color components is not allowed), the decoder shall disable the cross decoding function (i.e., the decoder decodes the current picture without taking into account the dependency between color components). Thus, parallel coding can be achieved and coding complexity can be reduced for scenes requiring fast processing or processing with a high degree of parallelism. At the same time, in these scenes, a bit indicating that decoding is not based on the dependency between color components can be skipped at the CU level, and coding efficiency can be improved.

В вариантах реализации настоящей заявки предусмотрен машиночитаемый носитель данных. Машиночитаемый носитель данных хранит в себе программы. При исполнении процессором программы предназначены реализации способа декодирования изображений согласно приведенному выше.In embodiments of the present application, a computer-readable storage medium is provided. A computer-readable storage medium stores programs. When executed by the processor of the program, implementations of the image decoding method according to the above are intended.

В примере, программные команды, соответствующие способу декодирования изображений согласно варианту реализации, могут храниться на носителе данных, таком как оптический диск, жесткий диск и флеш-накопитель USB. Когда программные команды, соответствующие способу декодирования изображений, на носителе данных считываются или исполняются электронным устройством, они используются для реализации следующего.As an example, program instructions corresponding to the image decoding method according to the embodiment may be stored in a storage medium such as an optical disk, a hard disk, and a USB flash drive. When the program instructions corresponding to the image decoding method on the storage medium are read or executed by the electronic device, they are used to implement the following.

Получают битовый поток, соответствующий текущему изображению. Анализируют битовый поток с получением флага, соответствующего текущему изображению. Отключают функцию перекрестного декодирования, когда метод декодирования, соответствующий флагу, представляет собой независимое декодирование компонентов цвета, где функция перекрестного декодирования разрешает декодирование, основанное на зависимости между компонентами цвета.Get the bitstream corresponding to the current image. The bit stream is analyzed to obtain a flag corresponding to the current image. The cross decoding function is disabled when the decoding method corresponding to the flag is independent color component decoding, where the cross decoding function enables decoding based on the dependency between color components.

Специалистам в данной области техники должно быть понятно, что в вариантах реализации в данном документе могут быть представлены способ, система или компьютерный программный продукт. Следовательно, настоящее изобретение может иметь только аппаратные реализации, только программные реализации или программно-аппаратные реализации. В дополнение, настоящее изобретение может быть реализовано в форме компьютерного программного продукта, реализованного на одном или более используемых компьютером носителях данных (включая, но без ограничения, магнитное запоминающее устройство, оптическое запоминающее устройство и т. п.), содержащего используемые компьютером программные коды.Those skilled in the art will appreciate that the embodiments herein may represent a method, system, or computer program product. Therefore, the present invention may have only hardware implementations, only software implementations, or firmware implementations. In addition, the present invention may be embodied in the form of a computer program product embodied in one or more computer-usable storage media (including, but not limited to, magnetic storage, optical storage, and the like) containing computer-usable program codes.

Настоящее изобретение описано со ссылкой на блок-схемы и/или функциональные схемы способов, устройств (систем) и компьютерных программных продуктов согласно вариантам реализации настоящего изобретения. Следует понимать, что каждый поток и/или блок в блок-схемах и/или функциональных схемах и комбинации потоков и/или блоков в блок-схемах и/или функциональных схемах могут быть реализованы посредством команд компьютерной программы. Эти команды компьютерной программы могут быть предоставлены для компьютера общего назначения, специализированного компьютера, встроенного процессора или процессора других программируемых устройств обработки данных для создания машины, чтобы устройство для реализации функций, обозначенных в одном или более потоках в блок-схемах и/или одном или более блоках в функциональных схемах могли быть сгенерированы посредством исполнения команд процессором компьютера или других программируемых устройств обработки данных.The present invention has been described with reference to block diagrams and/or functional diagrams of methods, devices (systems), and computer program products according to embodiments of the present invention. It should be understood that each flow and/or block in the flowcharts and/or functional diagrams and combinations of flows and/or blocks in the flowcharts and/or functional diagrams may be implemented by computer program instructions. These computer program instructions may be provided to a general purpose computer, a special purpose computer, an embedded processor, or a processor of other programmable data processing devices to create a machine for the device to implement the functions indicated in one or more threads in the block diagrams and/or one or more blocks in functional diagrams could be generated by the execution of instructions by the processor of a computer or other programmable data processing devices.

Команды компьютерной программы также могут храниться в машиночитаемом запоминающем устройстве, которое может управлять компьютером или другим программируемым устройством обработки данных для работы определенным образом, чтобы команды, хранящиеся в машиночитаемом запоминающем устройстве, генерировали изготовленный продукт, включая устройство, исполняющее команды, и причем устройство, исполняющее команды, реализует функции, указанные в одном или более потоках в блок-схемах и/или одном или более блоках в функциональных схемах.Computer program instructions may also be stored in a computer readable storage device that can control a computer or other programmable data processing device to operate in a certain way such that the instructions stored in the computer readable storage device generate a manufactured product, including a device executing the instructions, and wherein the device executing commands, implements the functions specified in one or more flows in block diagrams and/or one or more blocks in functional diagrams.

Команды компьютерной программы могут также загружаться на компьютер или другие программируемые устройства обработки данных, таким образом, последовательность этапов процесса может исполняться на компьютере или других программируемых устройствах для обеспечения обработки, реализуемой компьютером, таким образом команды, исполняемые на компьютере или других программируемых устройствах, обеспечивают этапы реализации функций, указанных в одном или более потоках в блок-схемах и/или одном или более блоках в функциональных схемах.Computer program instructions may also be downloaded to a computer or other programmable data processing devices, thus a sequence of process steps may be executed on a computer or other programmable devices to provide processing implemented by the computer, thus instructions executed on a computer or other programmable devices provide steps implementation of functions indicated in one or more threads in block diagrams and/or one or more blocks in functional diagrams.

Приведенное выше является только некоторыми вариантами реализации настоящей заявки и не используется для ограничения объема правовой охраны настоящей заявки.The foregoing are only some embodiments of this application and are not used to limit the scope of the protection of this application.

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

Представлены способ декодирования изображений, декодер и компьютерный носитель данных. Декодер получает битовый поток, соответствующий текущему изображению. Декодер анализирует битовый поток с получением флага, соответствующего текущему изображению. Декодер отключает функцию перекрестного декодирования, когда метод декодирования, указанный флагом, представляет собой независимое декодирование компонентов цвета, при этом функция перекрестного декодирования разрешает декодирование, основанное на зависимости между компонентами цвета. Согласно вариантам реализации декодер может вначале анализировать битовый поток, соответствующий текущему изображению, с получением флага в битовом потоке для определения, разрешать ли зависимость между компонентами цвета. Если метод декодирования, указанный флагом, представляет собой независимое декодирование компонентов цвета (т. е. зависимость между компонентами цвета не разрешается), декодер должен отключить функцию перекрестного декодирования (т. е. декодер декодирует текущее изображение без учета зависимости между компонентами цвета). Таким образом, можно достичь параллельного кодирования и сложность кодирования может быть снижена для сцен, требующих быстрой обработки или обработки с высокой степенью параллелизма. В то же время, в этих сценах бит, указывающий, что декодирование не основано на зависимости между компонентами цвета, может быть пропущен на уровне CU и эффективность кодирования может быть повышена.A method for decoding images, a decoder and a computer storage medium are presented. The decoder receives a bitstream corresponding to the current picture. The decoder parses the bitstream to obtain a flag corresponding to the current picture. The decoder disables the cross decoding function when the decoding method indicated by the flag is independent decoding of color components, while the cross decoding function enables decoding based on the dependency between color components. According to embodiments, the decoder may first parse the bitstream corresponding to the current image to obtain a flag in the bitstream to determine whether to resolve the dependency between color components. If the decoding method indicated by the flag is independent decoding of color components (i.e., dependency between color components is not allowed), the decoder shall disable the cross decoding function (i.e., the decoder decodes the current picture without taking into account the dependency between color components). Thus, parallel coding can be achieved and coding complexity can be reduced for scenes requiring fast processing or processing with a high degree of parallelism. At the same time, in these scenes, a bit indicating that decoding is not based on the dependency between color components can be skipped at the CU level, and coding efficiency can be improved.

Claims (34)

1. Способ декодирования изображений, включающий:1. An image decoding method, including: получение битового потока, соответствующего текущему изображению;obtaining a bit stream corresponding to the current image; анализирование битового потока с получением флага, соответствующего текущему изображению; иparsing the bitstream to obtain a flag corresponding to the current image; and отключение функции перекрестного декодирования, когда метод декодирования, указанный флагом, представляет собой независимое декодирование компонентов цвета, при этом функция перекрестного декодирования разрешает декодирование, основанное на зависимости между по меньшей мере двумя из первого компонента цвета, второго компонента цвета и третьего компонента цвета.disabling the cross decoding function when the decoding method indicated by the flag is independent color component decoding, wherein the cross decoding function enables decoding based on a relationship between at least two of the first color component, the second color component, and the third color component. 2. Способ по п. 1, отличающийся тем, что дополнительно включает:2. The method according to p. 1, characterized in that it further includes: после анализирования битового потока с получением флага, соответствующего текущему изображению,after parsing the bitstream to obtain a flag corresponding to the current image, включение функции перекрестного декодирования, когда метод декодирования, указанный флагом, представляет собой перекрестное декодирование компонентов цвета.enable the cross decoding function when the decoding method specified by the flag is a cross decoding of color components. 3. Способ по п. 2, отличающийся тем, что дополнительно включает:3. The method according to p. 2, characterized in that it further includes: после включения функции перекрестного декодирования, когда метод декодирования, указанный флагом, представляет собой перекрестное декодирование компонентов цвета,after enabling the cross decoding function, when the decoding method indicated by the flag is the cross decoding of color components, декодирование текущего изображения в прямом режиме, DM.decoding the current picture in direct mode, DM. 4. Способ по п. 1, отличающийся тем, что дополнительно включает:4. The method according to p. 1, characterized in that it further includes: после анализирования битового потока с получением флага, соответствующего текущему изображению,after parsing the bitstream to obtain a flag corresponding to the current image, отключение DM, когда метод декодирования, указанный флагом, запрещен DM.disable DM when the decoding method specified by the flag is prohibited by the DM. 5. Способ по любому из пп. 1-4, отличающийся тем, что анализирование битового потока с получением флага, соответствующего текущему изображению, включает:5. The method according to any one of paragraphs. 1-4, characterized in that the analysis of the bit stream to obtain a flag corresponding to the current image includes: получение флага из набора параметров последовательности, SPS, в битовом потоке при анализировании битового потока.obtaining a flag from the sequence parameter set, SPS, in the bitstream while parsing the bitstream. 6. Способ по любому из пп. 1-4, отличающийся тем, что анализирование битового потока с получением флага, соответствующего текущему изображению, включает:6. The method according to any one of paragraphs. 1-4, characterized in that the analysis of the bit stream to obtain a flag corresponding to the current image includes: получение флага из набора параметров изображения, PPS, в битовом потоке при анализировании битового потока.deriving a flag from the picture parameter set, PPS, in the bitstream while parsing the bitstream. 7. Способ по любому из пп. 1-4, отличающийся тем, что анализирование битового потока с получением флага, соответствующего текущему изображению, включает:7. The method according to any one of paragraphs. 1-4, characterized in that the analysis of the bit stream to obtain a flag corresponding to the current image includes: получение флага из информации для дополнительной оптимизации, SEI, в битовом потоке при анализировании битового потока.deriving a flag from the additional optimization information, SEI, in the bitstream while parsing the bitstream. 8. Декодер для декодирования видео, содержащий:8. A decoder for video decoding, comprising: часть для получения, выполненную с возможностью получения битового потока, соответствующего текущему изображению;an acquisition part configured to obtain a bitstream corresponding to the current image; часть для анализирования, выполненную с возможностью анализирования битового потока с получением флага, соответствующего текущему изображению; иa parsing part, configured to parse the bitstream to obtain a flag corresponding to the current image; and часть для отключения, выполненную с возможностью отключения функции перекрестного декодирования, когда метод декодирования, указанный флагом, представляет собой независимое декодирование компонентов цвета, при этом функция перекрестного декодирования разрешает декодирование, основанное на зависимости между по меньшей мере двумя из первого компонента цвета, второго компонента цвета и третьего компонента цвета.a disable portion configured to disable the cross decoding function when the decoding method indicated by the flag is independent color component decoding, wherein the cross decoding function enables decoding based on a relationship between at least two of the first color component, the second color component and a third color component. 9. Декодер по п. 8, отличающийся тем, что дополнительно содержит часть для включения, выполненную с возможностью9. The decoder according to claim. 8, characterized in that it further comprises a part for inclusion, made with the possibility включения функции перекрестного декодирования, когда метод декодирования, указанный флагом, представляет собой перекрестное декодирование компонентов цвета, после анализирования битового потока с получением флага, соответствующего текущему изображению.enabling a cross decoding function when the decoding method indicated by the flag is color component cross decoding after parsing the bitstream to obtain a flag corresponding to the current image. 10. Декодер по п. 9, отличающийся тем, что дополнительно содержит часть для декодирования, выполненную с возможностью10. The decoder according to claim. 9, characterized in that it further comprises a part for decoding, configured to декодирования текущего изображения в прямом режиме, DM, после включения функции перекрестного декодирования, когда метод декодирования, указанный флагом, представляет собой перекрестное декодирование компонентов цвета.decoding the current picture in direct mode, DM, after enabling the cross decoding function, when the decoding method indicated by the flag is cross color component decoding. 11. Декодер по п. 8, отличающийся тем, что часть для отключения дополнительно выполнена с возможностью11. The decoder according to claim. 8, characterized in that the part to disable is additionally configured to отключения DM, когда метод декодирования, указанный флагом, запрещен DM, после анализирования битового потока с получением флага, соответствующего текущему изображению.turning off the DM when the decoding method indicated by the flag is prohibited by the DM after parsing the bitstream to obtain a flag corresponding to the current picture. 12. Декодер по любому из пп. 8-11, отличающийся тем, что часть для анализирования выполнена с возможностью получения флага из набора параметров последовательности, SPS, в битовом потоке при анализировании битового потока.12. Decoder according to any one of paragraphs. 8-11, characterized in that the parsing part is configured to obtain a flag from a sequence parameter set, SPS, in the bitstream when parsing the bitstream. 13. Декодер по любому из пп. 8-11, отличающийся тем, что часть для анализирования выполнена с возможностью получения флага из набора параметров изображения, PPS, в битовом потоке при анализировании битового потока.13. Decoder according to any one of paragraphs. 8-11, characterized in that the parsing part is configured to obtain a flag from a set of image parameters, PPS, in the bitstream when parsing the bitstream. 14. Декодер по любому из пп. 8-11, отличающийся тем, что часть для анализирования выполнена с возможностью получения флага из информации для дополнительной оптимизации, SEI, в битовом потоке при анализировании битового потока.14. Decoder according to any one of paragraphs. 8-11, characterized in that the parsing part is configured to obtain a flag from the additional optimization information, SEI, in the bitstream when parsing the bitstream. 15. Декодер, содержащий процессор, запоминающее устройство, хранящее команды, которые могут быть исполнены процессором, интерфейс связи и шину для подключения процессора, запоминающего устройства и интерфейса связи, при этом при исполнении процессором команды приспособлены для реализации способа по любому из пп. 1-7.15. A decoder containing a processor, a storage device that stores instructions that can be executed by the processor, a communication interface and a bus for connecting the processor, storage device and communication interface, while when executed by the processor, the instructions are adapted to implement the method according to any one of paragraphs. 1-7. 16. Машиночитаемый носитель данных, хранящий в себе программы и применяемый к декодеру, при этом при исполнении процессором программы приспособлены для реализации способа по любому из пп. 1-7.16. A computer-readable storage medium that stores programs and is applied to the decoder, while when executed by the processor, the programs are adapted to implement the method according to any one of paragraphs. 1-7.
RU2021117816A 2019-01-10 2019-03-14 Image decoding method, decoder and computer data carrier RU2784440C1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US62/790,795 2019-01-10

Publications (1)

Publication Number Publication Date
RU2784440C1 true RU2784440C1 (en) 2022-11-24

Family

ID=

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2324302C1 (en) * 2005-10-19 2008-05-10 Самсунг Электроникс Ко., Лтд. Method for encoding flags in layer using interlayer correlation, method and device for decoding encoded flags
US20080123972A1 (en) * 2005-09-20 2008-05-29 Mitsubishi Electric Corporation Image encoding method and image decoding method, image encoder and image decoder, and image encoded bit stream and recording medium
US20140233641A1 (en) * 2011-11-04 2014-08-21 Huawei Technologies Co., Ltd. Intra-frame decoding method and apparatus for signal component sampling point of image block
US20150382016A1 (en) * 2014-06-27 2015-12-31 Mitsubishi Electric Research Laboratories, Inc. Method for Processing Multi-Component Video and Images
US20170118466A1 (en) * 2014-06-20 2017-04-27 Sony Corporation Image encoding device and method, and image decoding device and method
US20180205949A1 (en) * 2017-01-13 2018-07-19 Mediatek Inc. Method and Apparatus of Transform Coding

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080123972A1 (en) * 2005-09-20 2008-05-29 Mitsubishi Electric Corporation Image encoding method and image decoding method, image encoder and image decoder, and image encoded bit stream and recording medium
RU2324302C1 (en) * 2005-10-19 2008-05-10 Самсунг Электроникс Ко., Лтд. Method for encoding flags in layer using interlayer correlation, method and device for decoding encoded flags
US20140233641A1 (en) * 2011-11-04 2014-08-21 Huawei Technologies Co., Ltd. Intra-frame decoding method and apparatus for signal component sampling point of image block
US20170118466A1 (en) * 2014-06-20 2017-04-27 Sony Corporation Image encoding device and method, and image decoding device and method
US20150382016A1 (en) * 2014-06-27 2015-12-31 Mitsubishi Electric Research Laboratories, Inc. Method for Processing Multi-Component Video and Images
US20180205949A1 (en) * 2017-01-13 2018-07-19 Mediatek Inc. Method and Apparatus of Transform Coding

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
статья Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, " Example restriction flags for VVC", 4л., опубл. 12th Meeting: Macao, CN, 3-12 Oct. 2018, [найдено 14.06.2022], найдено в Интернет по адресу: [https://jvet-experts.org/doc_end_user/current_document.php?id=4123]; раздел 1 Introduction, раздел 2 List of restriction flags. *

Similar Documents

Publication Publication Date Title
US11523136B2 (en) Methods and apparatuses for coding transform blocks
US10812806B2 (en) Method and apparatus of localized luma prediction mode inheritance for chroma prediction in video coding
US11758135B2 (en) Adaptive color space transform coding
JP6397901B2 (en) Adaptive color space conversion coding
US20130195350A1 (en) Image encoding device, image encoding method, image decoding device, image decoding method, and computer program product
US20230403400A1 (en) Method for picture decoding, method for picture encoding, decoder, and encoder
US9942550B2 (en) Image encoding device, image encoding method and program, image decoding device, and image decoding method and program
US20150334425A1 (en) Adaptive context initialization
JP2018110428A (en) Method and apparatus for DC intra prediction mode for video encoding and decoding
US10003793B2 (en) Processing of pulse code modulation (PCM) parameters
US20110249748A1 (en) Methods and devices for incorporating deblocking into encoded video
CN108141601B (en) Method, apparatus and readable medium for encoding and decoding a sequence of pictures
RU2784440C1 (en) Image decoding method, decoder and computer data carrier
US10757433B2 (en) Method and apparatus for inserting additional data into video stream without degrading picture quality
JP7532362B2 (en) Image processing device and method
JP2013219607A (en) Image encoder, image encoding method and program, image decoder, image decoding method and program
EP4412220A1 (en) Encoding method, decoding method, decoder, encoder and computer-readable storage medium