RU2807214C2 - Limitation of representation of differential pulse code modulation of coded video quantized residual - Google Patents

Limitation of representation of differential pulse code modulation of coded video quantized residual Download PDF

Info

Publication number
RU2807214C2
RU2807214C2 RU2021130468A RU2021130468A RU2807214C2 RU 2807214 C2 RU2807214 C2 RU 2807214C2 RU 2021130468 A RU2021130468 A RU 2021130468A RU 2021130468 A RU2021130468 A RU 2021130468A RU 2807214 C2 RU2807214 C2 RU 2807214C2
Authority
RU
Russia
Prior art keywords
block
video block
prediction
current video
intra
Prior art date
Application number
RU2021130468A
Other languages
Russian (ru)
Other versions
RU2021130468A (en
Inventor
Вэйцзя ЧЖУ
Ли ЧЖАН
Цзичжэн СЮЙ
Хсяо Чиан ЧУАН
Original Assignee
Байтдэнс Инк.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Байтдэнс Инк. filed Critical Байтдэнс Инк.
Publication of RU2021130468A publication Critical patent/RU2021130468A/en
Application granted granted Critical
Publication of RU2807214C2 publication Critical patent/RU2807214C2/en

Links

Abstract

FIELD: means for processing video data.
SUBSTANCE: for conversion between the current video block and the video bitstream, that the differential encoding mode used for the remainder samples is applied to the current video block. Based on the specified definition, the specified transformation is performed using the differential coding mode. In this case, in the differential coding mode, the differences between the quantized residuals obtained using intra-frame prediction and the quantized residual predictors are represented in a bit stream, and at least one of the reconstructed quantized residuals is obtained based on the sum of one difference and the other reconstructed quantized residual. The values of the reconstructed quantized residuals are limited to a certain range by applying a constraint operation to the reconstructed quantized residuals.
EFFECT: increase of video data processing efficiency.
15 cl, 22 dwg

Description

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

Данный патентный документ относится к технологиям, устройствам и системам кодирования видео.This patent document relates to video encoding technologies, devices and systems.

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

Несмотря на достижения в области сжатия видео, на цифровое видео по-прежнему приходится наибольшая полоса пропускания в Интернете и других сетях цифровой связи. По мере увеличения количества подключенных пользовательских устройств, способных принимать и отображать видео, ожидается, что потребность в полосе пропускания, используемой для цифрового видео, будет продолжать расти.Despite advances in video compression, digital video still accounts for the largest amount of bandwidth on the Internet and other digital communications networks. As the number of connected user devices capable of receiving and displaying video increases, the demand for bandwidth used for digital video is expected to continue to increase.

Раскрытие сущности изобретенияDisclosure of the invention

В данном документе описаны различные варианты осуществления и способы, в которых вторичное преобразование используется во время декодирования или кодирования видео или изображений.This document describes various embodiments and methods in which the secondary transform is used during decoding or encoding of video or images.

Первый примерный способ обработки видео включает в себя этапы, на которых определяют, на основе правила применимости, что режим дифференциального кодирования применим к преобразованию между видеоблоком цветности видео и представлением битового потока видеоблока цветности, и выполняют, на основе указанного определения, преобразование между видеоблоком цветности и представлением битового потока видеоблока цветности с использованием режима дифференциального кодирования, при этом в режиме дифференциального кодирования видеоблок цветности представлен в представлении битового потока с использованием разности между квантованным остатком внутрикадрового предсказания видеоблока цветности и предсказанием квантованного остатка, причем внутрикадровое предсказание выполняется в первом направлении, а предсказание квантованного остатка выполняется во втором направлении, и в дифференциальном режиме кодирования разность между квантованным остатком и предсказанием квантованного остатка представлена с использованием представления дифференциальной импульсно-кодовой модуляции (DPCM).A first exemplary video processing method includes determining, based on an applicability rule, that a differential encoding mode is applicable to a conversion between a chrominance video block of a video and a bitstream representation of a chrominance video block, and performing, based on said determination, a conversion between the chrominance video block and representation of a bitstream of a chrominance video block using a differential encoding mode, wherein in the differential encoding mode, a chrominance video block is represented in a bitstream representation using the difference between a quantized remainder of an intra-frame prediction of a chrominance video block and a prediction of the quantized remainder, wherein the intra-frame prediction is performed in the first direction, and the prediction is quantized The remainder is performed in the second direction, and in the differential encoding mode, the difference between the quantized remainder and the prediction of the quantized remainder is represented using a differential pulse code modulation (DPCM) representation.

Второй примерный способ обработки видео включает в себя этап, на котором выполняют преобразование между текущим видеоблоком видео и представлением битового потока текущего видеоблока с использованием режима дифференциального кодирования и режима внутрикадрового предсказания на основе правила сосуществования, причем в режиме внутрикадрового предсказания квантованный остаток внутрикадрового предсказания текущего видеоблока основан на предсказаниях отсчетов для текущего видеоблока, а в режиме дифференциального кодирования текущий видеоблок представлен в представлении битового потока с использованием разности между квантованным остатком и предсказанием квантованного остатка, при этом разность между квантованным остатком и предсказанием квантованного остатка представлена с использованием представления дифференциальной импульсно-кодовой модуляции (DPCM).A second exemplary video processing method includes performing a conversion between a current video block of video and a bitstream representation of the current video block using a differential encoding mode and an intra-frame prediction mode based on a coexistence rule, wherein in the intra-frame prediction mode, a quantized intra-frame prediction residual of the current video block is based on on sample predictions for the current video block, and in differential encoding mode, the current video block is represented in a bitstream representation using the difference between the quantized remainder and the predicted quantized remainder, wherein the difference between the quantized remainder and the predicted quantized remainder is represented using a differential pulse code modulation representation ( DPCM).

Третий примерный способ обработки видео включает в себя этап, на котором выполняют преобразование между текущим видеоблоком видео и представлением битового потока текущего видеоблока с использованием режима дифференциального кодирования, причем текущий видеоблок представлен в представлении битового потока с использованием разности между квантованным остатком внутрикадрового предсказания текущего видеоблока и предсказанием квантованного остатка, при этом направление предсказания квантованного остатка определяется из представления битового потока.A third exemplary video processing method includes converting between a current video block of video and a bitstream representation of the current video block using a differential encoding mode, wherein the current video block is represented in a bitstream representation using a difference between a quantized intra-frame prediction residual of the current video block and the prediction the quantized remainder, wherein the prediction direction of the quantized remainder is determined from the bitstream representation.

Четвертый примерный способ обработки видео включает в себя этапы, на которых определяют, что режим дифференциального кодирования применим к преобразованию между текущим видеоблоком видео и представлением битового потока текущего видеоблока, и выполняют, на основе указанного определения, преобразование между текущим видеоблоком и представлением битового потока текущего видеоблока с использованием режима дифференциального кодирования в соответствии с правилом реализации, причем в режиме дифференциального кодирования текущий видеоблок представлен в представлении битового потока с использованием разности между квантованным остатком внутрикадрового предсказания текущего видеоблока и предсказанием квантованного остатка, и в режиме дифференциального кодирования разность между квантованным остатком и предсказанием квантованного остатка представлена с использованием представления дифференциальной импульсно-кодовой модуляции (DPCM).A fourth exemplary video processing method includes determining that a differential encoding mode is applicable to a conversion between a current video block of video and a bitstream representation of the current video block, and, based on the determination, performing a conversion between the current video block and a bitstream representation of the current video block. using a differential encoding mode in accordance with an implementation rule, wherein in the differential encoding mode, the current video block is represented in a bitstream representation using the difference between the quantized intra-prediction remainder of the current video block and the prediction of the quantized remainder, and in the differential encoding mode, the difference between the quantized remainder and the prediction of the quantized the remainder is represented using a differential pulse code modulation (DPCM) representation.

Пятый примерный способ обработки видео включает в себя этапы, на которых определяют, на основе правила применимости, что режим дифференциального кодирования применим к преобразованию между текущим видеоблоком видео и представлением битового потока текущего видеоблока, причем текущий видеоблок ассоциирован с цветовым компонентом, при этом правило применимости определяет, включен или отключен режим дифференциального кодирования для текущего видеоблока, в зависимости от того, применяется ли режим дифференциального кодирования к другому видеоблоку видео, и выполняют, на основе указанного определения, преобразование между текущим видеоблоком и представлением битового потока текущего видеоблока с использованием режима дифференциального кодирования, причем в режиме дифференциального кодирования текущий видеоблок представлен в представлении битового потока с использованием разности между квантованным остатком внутрикадрового предсказания текущего видеоблока и предсказанием квантованного остатка, и в режиме дифференциального кодирования разность между квантованным остатком и предсказанием квантованного остатка представлена с использованием представления дифференциальной импульсно-кодовой модуляции (DPCM).A fifth exemplary video processing method includes determining, based on an applicability rule, that a differential encoding mode is applicable to a transformation between a current video block of video and a bitstream representation of the current video block, wherein the current video block is associated with a color component, wherein the applicability rule determines , enabling or disabling the differential encoding mode for the current video block, depending on whether the differential encoding mode is applied to another video video block, and performing, based on the specified definition, a conversion between the current video block and the bitstream representation of the current video block using the differential encoding mode, wherein in the differential encoding mode, the current video block is represented in a bitstream representation using the difference between the quantized intra-prediction remainder of the current video block and the prediction of the quantized remainder, and in the differential encoding mode, the difference between the quantized remainder and the prediction of the quantized remainder is represented using a differential pulse code modulation representation ( DPCM).

В одном примерном аспекте раскрыт способ обработки видео. Способ включает в себя этап, на котором выполняют преобразование между текущим видеоблоком и представлением битового потока текущего видеоблока с использованием режима дифференциального кодирования и выборочного использования режима внутрикадрового предсказания на основе правила сосуществования; причем режим внутрикадрового предсказания используется для выработки предсказаний для отсчетов текущего видеоблока; а режим дифференциального кодирования используется для представления блока квантованных остатков из предсказаний пикселей с использованием представления дифференциальной импульсно-кодовой модуляции.In one exemplary aspect, a method for processing video is disclosed. The method includes the step of performing a conversion between a current video block and a bitstream representation of the current video block using a differential encoding mode and selectively using an intra-frame prediction mode based on a coexistence rule; wherein the intra-frame prediction mode is used to generate predictions for samples of the current video block; and the differential encoding mode is used to represent a block of quantized residuals from the pixel predictions using a differential pulse code modulation representation.

В другом примерном аспекте раскрыт другой способ обработки видео. Способ включает в себя этап, на котором выполняют преобразование между текущим видеоблоком и представлением битового потока текущего видеоблока с использованием режима дифференциального кодирования, при этом блок квантованных остатков из предсказаний пикселей текущего видеоблока представлен с использованием представления дифференциальной импульсно-кодовой модуляции; причем из представления битового потока определяется первое направление предсказания или второе направление режима дифференциального кодирования.In another exemplary aspect, another method of processing video is disclosed. The method includes performing a conversion between a current video block and a bitstream representation of the current video block using a differential encoding mode, wherein a block of quantized residuals from pixel predictions of the current video block is represented using a differential pulse code modulation representation; wherein a first prediction direction or a second differential encoding mode direction is determined from the bitstream representation.

В еще одном примерном аспекте раскрыт другой способ обработки видео. Способ включает в себя этапы, на которых определяют, на основе правила применимости, что режим дифференциального кодирования применим к преобразованию между текущим видеоблоком и представлением битового потока текущего видеоблока; и выполняют преобразование между текущим видеоблоком и представлением битового потока с использованием режима дифференциального кодирования; причем в режиме дифференциального кодирования блок квантованных остатков из внутрикадрового предсказания пикселей текущего видеоблока представлен с использованием представления дифференциальной импульсно-кодовой модуляции, выполняемого в направлении предсказания остатка, которое отличается от горизонтального или вертикального направления.In yet another exemplary aspect, another method of processing video is disclosed. The method includes determining, based on an applicability rule, that a differential encoding mode is applicable to a conversion between a current video block and a bitstream representation of the current video block; and converting between the current video block and the bitstream representation using a differential encoding mode; wherein, in the differential encoding mode, a block of quantized residuals from the intra-frame pixel prediction of the current video block is represented using a differential pulse code modulation representation performed in a residual prediction direction that is different from the horizontal or vertical direction.

В еще одном примерном аспекте раскрыт другой способ обработки видео. Способ включает в себя этапы, на которых определяют, что режим дифференциального кодирования применим к преобразованию между текущим видеоблоком и представлением битового потока текущего видеоблока; и выполняют преобразование между текущим видеоблоком и представлением битового потока с использованием правила реализации режима дифференциального кодирования; причем в режиме дифференциального кодирования блок квантованных остатков из внутрикадрового предсказания пикселей текущего видеоблока представлен с использованием представления дифференциальной импульсно-кодовой модуляции, выполняемого в направлении предсказания остатка, которое отличается от горизонтального или вертикального направления.In yet another exemplary aspect, another method of processing video is disclosed. The method includes determining that a differential encoding mode is applicable to the conversion between the current video block and a bitstream representation of the current video block; and performing a conversion between the current video block and the bitstream representation using a differential encoding mode implementation rule; wherein, in the differential encoding mode, a block of quantized residuals from the intra-frame pixel prediction of the current video block is represented using a differential pulse code modulation representation performed in a residual prediction direction that is different from the horizontal or vertical direction.

В еще одном примерном аспекте раскрыто устройство обработки видео. Устройство включает в себя процессор, выполненный с возможностью выполнения описанного выше способа.In yet another exemplary aspect, a video processing apparatus is disclosed. The device includes a processor configured to perform the method described above.

В еще одном примерном аспекте раскрыт машиночитаемый носитель информации. На носителе информации хранится код для реализации с помощью процессора описанных выше способов.In yet another exemplary aspect, a computer-readable storage medium is disclosed. The storage medium stores code for implementing the methods described above by a processor.

Эти и другие аспекты описаны в данном документе.These and other aspects are described in this document.

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

Фиг. 1 – иллюстрация внутрикадрового блочного копирования.Fig. 1 – illustration of intra-frame block copying.

Фиг. 2 – пример блока, закодированного в режиме палитры.Fig. 2 is an example of a block encoded in palette mode.

Фиг. 3 – пример использования предиктора палитры для сигнализации записей палитры.Fig. 3 is an example of using a palette predictor to signal palette entries.

Фиг. 4 – примеры горизонтального и вертикального поперечного сканирования.Fig. 4 – examples of horizontal and vertical transverse scanning.

Фиг. 5 – пример кодирования индексов палитры.Fig. 5 – example of encoding palette indices.

Фиг. 6 – пример процесса аффинного линейно-взвешенного внутрикадрового предсказания (ALWIP).Fig. 6 is an example of an affine linearly weighted intra-prediction (ALWIP) process.

Фиг. 7 – пример процесса аффинного линейно-взвешенного внутрикадрового предсказания (ALWIP).Fig. 7 is an example of an affine linearly weighted intra-prediction (ALWIP) process.

Фиг. 8 – пример процесса аффинного линейно-взвешенного внутрикадрового предсказания (ALWIP).Fig. 8 is an example of an affine linearly weighted intra-prediction (ALWIP) process.

Фиг. 9 – пример процесса аффинного линейно-взвешенного внутрикадрового предсказания (ALWIP).Fig. 9 is an example of an affine linearly weighted intra-prediction (ALWIP) process.

Фиг. 10 – блок-схема примерной аппаратной платформы для реализации способов, описанных в данном документе.Fig. 10 is a block diagram of an exemplary hardware platform for implementing the methods described herein.

Фиг. 11 – блок-схема последовательности операций примерного способа обработки видео.Fig. 11 is a flowchart of an exemplary video processing method.

Фиг. 12 – пример четырех кандидатов слияния.Fig. 12 is an example of four merger candidates.

Фиг. 13 – примерные пары кандидатов слияния, используемых при кодировании видео.Fig. 13 – exemplary pairs of merge candidates used in video encoding.

Фиг. 14 – блок-схема, показывающая примерную систему обработки видео, в которой могут быть реализованы различные способы, раскрытые в данном документе.Fig. 14 is a block diagram showing an exemplary video processing system in which various methods disclosed herein may be implemented.

Фиг. 15 – блок-схема, которая иллюстрирует примерную систему кодирования видео, которая может использовать способы настоящего раскрытия.Fig. 15 is a block diagram that illustrates an example video encoding system that may use the methods of the present disclosure.

Фиг. 16 – блок-схема, иллюстрирующая примерный видеокодер.Fig. 16 is a block diagram illustrating an exemplary video encoder.

Фиг. 17 – блок-схема, иллюстрирующая примерный видеодекодер.Fig. 17 is a block diagram illustrating an exemplary video decoder.

Фиг. 18-22 – пять примерных блок-схем последовательностей операций примерных способов обработки видео.Fig. 18-22 are five example flowcharts of example video processing methods.

Осуществление изобретенияCarrying out the invention

Заголовки разделов используются в данном документе для облегчения понимания и не ограничивают варианты осуществления, раскрытые в разделе, только этим разделом. Кроме того, хотя некоторые варианты осуществления описаны со ссылкой на универсальное кодирование видео или другие конкретные видеокодеки, раскрытые способы также применимы к другим технологиям кодирования видео. Кроме того, хотя некоторые варианты осуществления подробно описывают этапы кодирования видео, следует понимать, что соответствующие этапы декодирования, которые отменяют кодирование, будут реализованы декодером. Кроме того, термин "обработка видео" охватывает кодирование или сжатие видео, декодирование или распаковку видео и транскодирование видео, при котором пиксели видео представляются из одного сжатого формата в другой сжатый формат или с другой сжатой скоростью передачи битов.Section headings are used herein to facilitate understanding and are not intended to limit the embodiments disclosed in a section to that section only. In addition, although some embodiments are described with reference to universal video encoding or other specific video codecs, the disclosed methods are also applicable to other video encoding technologies. In addition, although some embodiments detail video encoding steps, it should be understood that the corresponding decoding steps that override the encoding will be implemented by the decoder. In addition, the term "video processing" includes video encoding or compression, video decoding or decompression, and video transcoding, in which video pixels are represented from one compressed format to another compressed format or at another compressed bit rate.

1. Краткое изложение1. Summary

Данный патентный документ относится к технологиям кодирования видео. В частности, он относится к кодированию DPCM при кодировании видео. Он может быть применен к существующему стандарту кодирования видео, например HEVC, или к стандарту (универсальное кодирование видео), который будет доработан. Он может также применяться в будущих стандартах кодирования видео или видеокодекам.This patent document relates to video encoding technologies. In particular, it refers to DPCM encoding in video encoding. It can be applied to an existing video encoding standard, such as HEVC, or to a standard (Universal Video Coding) that will be further developed. It may also be used in future video coding standards or video codecs.

2. Первоначальное обсуждение2. Initial discussion

Стандарты кодирования видео эволюционировали в основном благодаря развитию хорошо известных стандартов ITU-T и ISO/IEC. ITU-T выпустил H.261 и H.263, ISO/IEC выпустил MPEG-1 и MPEG-4 Visual, и две организации совместно выпустили H.262/MPEG-2 Video и H.264/MPEG-4 Advanced. Стандарты кодирования видео (AVC) и H.265/HEVC [1]. Начиная с H.262, стандарты кодирования видео базируются на структуре гибридного кодирования видео, в которой используется временное предсказание плюс кодирование с преобразованием. Для того, чтобы исследовать будущие технологии кодирования видео за рамками HEVC, в 2015 году совместно с VCEG и MPEG была основана объединенная группа экспертов по видео (JVET). С тех пор JVET были приняты многие новые способы и помещены в эталонное программное обеспечение под названием "модель совместных исследований (JEM)" [3,4]. В апреле 2018 года была создана объединенная группа экспертов по видео (JVET) между VCEG (Q6/16) и ISO/IEC JTC1 SC29/WG11 (MPEG) для работы над стандартом VVC, нацеленным на снижение скорости передачи битов на 50% по сравнению с HEVC.Video encoding standards have evolved mainly due to the development of the well-known ITU-T and ISO/IEC standards. ITU-T released H.261 and H.263, ISO/IEC released MPEG-1 and MPEG-4 Visual, and the two organizations jointly released H.262/MPEG-2 Video and H.264/MPEG-4 Advanced. Video coding standards (AVC) and H.265/HEVC [1]. Starting with H.262, video coding standards are based on a hybrid video coding structure that uses temporal prediction plus transform coding. To explore future video encoding technologies beyond HEVC, the Joint Video Experts Team (JVET) was founded in 2015 with VCEG and MPEG. Since then, JVET has been adopted in many new ways and placed into reference software called the Collaborative Exploration Model (JEM) [3,4]. In April 2018, a Joint Video Experts Team (JVET) was established between VCEG (Q6/16) and ISO/IEC JTC1 SC29/WG11 (MPEG) to work on a VVC standard aimed at reducing bit rates by 50% compared to HEVC.

Последнюю версию проекта VVC, то есть универсальное кодирование видео (проекта 4), можно найти по ссылке:The latest version of the VVC project, i.e. Universal Video Coding (Project 4), can be found at:

phenix.it-sudparis.eu/jvet/doc_end_user/current_document.php?id=5755phenix.it-sudparis.eu/jvet/doc_end_user/current_document.php?id=5755

Последнюю версию эталонного программного обеспечения VVC под названием VTM можно найти по ссылке:The latest version of the VVC reference software, called VTM, can be found at:

vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM/tags/VTM-4.0 vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM/tags/VTM-4.0

2.1. Внутрикадровое блочное копирование2.1. Intra-frame block copying

Внутрикадровое блочное копирование (IBC), также известное как сопоставление с текущим изображением, был принято в расширениях кодирования содержания экрана HEVC (HEVC-SCC) [1] и текущей тестовой модели VVC (VTM-4.0). IBC расширяет концепцию компенсации движения от межкадрового кодирования до внутрикадрового кодирования. Как показано на фиг. 1, текущий блок предсказывается опорным блоком на одном и том же изображении тогда, когда применяется IBC. Отсчеты в опорном блоке должны быть уже восстановлены до того, как будет закодирован или декодирован текущий блок. Хотя IBC не так эффективно для большинства эпизодов, снятых камерой, оно показывает значительный выигрыш при кодировании для содержания экрана. Причина состоит в том, что на изображении содержания экрана присутствует множество повторяющихся шаблонов, таких как значки и текстовые символы. IBC позволяет эффективно устранить избыточность среди этих повторяющихся шаблонов. В HEVC-SCC единица межкадрового кодирования (CU) может применять IBC, если оно выбирает текущее изображение в качестве опорного изображения. В этом случае MV переименовывается в вектор блока (BV), и BV всегда имеет точность до целого числа пикселей. Чтобы быть совместимым с основным профилем HEVC, текущее изображение помечается в буфере декодированных изображений (DPB) как "долгосрочное" опорное изображение. Следует отметить, что аналогичным образом, в стандартах кодирования видео с несколькими видами/3D, межвидовое опорное изображение также помечается как "долгосрочное" опорное изображение.Intra-block copying (IBC), also known as current-picture matching, has been adopted in the HEVC Screen Content Coding (HEVC-SCC) extensions [1] and the current VVC test model (VTM-4.0). IBC extends the concept of motion compensation from inter-frame coding to intra-frame coding. As shown in FIG. 1, the current block is predicted by the reference block on the same image when IBC is applied. The samples in the reference block must already be reconstructed before the current block is encoded or decoded. Although IBC is not as effective for most camera sequences, it shows significant benefits when encoding to screen content. The reason is that there are many repeating patterns such as icons and text symbols in the screen content image. IBC can effectively eliminate redundancy among these repeating patterns. In HEVC-SCC, an interframe coding unit (CU) can apply IBC if it selects the current picture as a reference picture. In this case, the MV is renamed to a block vector (BV), and the BV is always accurate to an integer number of pixels. To be compatible with the HEVC core profile, the current picture is marked in the decoded picture buffer (DPB) as a "long-term" reference picture. It should be noted that similarly, in multi-view/3D video coding standards, an inter-view reference picture is also labeled as a "long-term" reference picture.

Следуя BV, чтобы найти его опорный блок, предсказание может быть выработано путем копирования опорного блока. Остаток может быть получен путем вычитания опорных пикселей из исходных сигналов. Затем можно применять преобразование и квантование, как и в других режимах кодирования.By following the BV to find its reference block, a prediction can be generated by copying the reference block. The remainder can be obtained by subtracting the reference pixels from the original signals. Transformation and quantization can then be applied as with other encoding modes.

Фиг. 1 является иллюстрацией внутрикадрового блочного копирования.Fig. 1 is an illustration of intra-frame block copying.

Однако, когда опорный блок находится за пределами изображения или перекрывается текущим блоком, или за пределами восстановленной зоны, или за пределами допустимой зоны, ограниченной некоторыми ограничениями, значения части или всех пикселей не определяются. Фактически имеется два решения этой задачи. Одно из них состоит в том, чтобы запретить такую ситуацию, например, при соответствии битового потока. Другой состоит в том, чтобы применить заполнение для этих неопределенных значений пикселей. В следующих подразделах подробно описаны решения.However, when the reference block is outside the image or overlapped by the current block, or outside the reconstructed area, or outside the valid area limited by some restrictions, the values of some or all of the pixels are not determined. There are actually two solutions to this problem. One of them is to prohibit such a situation, for example, when bitstream matching. Another is to apply padding to those undefined pixel values. The following subsections describe the solutions in detail.

2.2. IBC в расширениях кодирования содержания экрана HEVC 2.2. IBC in HEVC Screen Content Coding Extensions

В расширениях кодирования содержания экрана HEVC, когда блок использует текущее изображение в качестве опорного, он должен гарантировать, что весь опорный блок находится в пределах доступной восстановленной зоны, как указано в следующем тексте спецификации:In HEVC screen content encoding extensions, when a block uses the current image as a reference, it must ensure that the entire reference block is within the available reconstructed area, as specified in the following specification text:

Переменные offsetX и offsetY получаются следующим образом:The offsetX and offsetY variables are obtained as follows:

offsetX = ( ChromaArrayType = = 0 ) ? 0 : ( mvCLX[ 0 ] & 0x7 ? 2 : 0 ) (8-106)offsetX = ( ChromaArrayType = = 0 ) ? 0 : ( mvCLX[ 0 ] & 0x7 ? 2 : 0 ) (8-106)

offsetY = ( ChromaArrayType = = 0 ) ? 0 : ( mvCLX[ 1 ] & 0x7 ? 2 : 0 ) (8-107)offsetY = ( ChromaArrayType = = 0 ) ? 0 : ( mvCLX[ 1 ] & 0x7 ? 2 : 0 ) (8-107)

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

- Когда процесс получения для доступности блока порядка z-сканирования, как указано в пункте 6.4.1, вызван (xCurr, yCurr), установленным в (xCb, yCb), и соседним местоположением яркости (xNbY, yNbY), установленным в ( xPb + (mvLX[ 0 ] >> 2) − offsetX, yPb + ( mvLX[ 1 ] >> 2 ) − offsetY ) в качестве входных параметров, выходной параметр должен быть равен значению "истина".- When the acquisition process for z-scan order block availability, as specified in clause 6.4.1, is caused by (xCurr, yCurr) set to (xCb, yCb), and the adjacent luminance location (xNbY, yNbY) set to (xPb + (mvLX[ 0 ] >> 2) − offsetX, yPb + ( mvLX[ 1 ] >> 2 ) − offsetY ) as input parameters, the output parameter must be true.

- Когда процесс получения для доступности блока порядка z-сканирования, как указано в пункте 6.4.1, вызван (xCurr, yCurr), установленным в (xCb, yCb), и соседним местоположением яркости (xNbY, yNbY), установленным в (xPb + (mvLX [0] >> 2) + nPbW - 1 + offsetX, yPb + (mvLX [1] >> 2) + nPbH - 1 + offsetY) в качестве входных параметров, выходной параметр должен быть равен значению "истина".- When the acquisition process for z-scan order block availability, as specified in clause 6.4.1, is caused by (xCurr, yCurr) set to (xCb, yCb), and the adjacent luminance location (xNbY, yNbY) set to (xPb + (mvLX [0] >> 2) + nPbW - 1 + offsetX, yPb + (mvLX [1] >> 2) + nPbH - 1 + offsetY) as input parameters, the output parameter must be true.

- Должны выполняться одно или оба следующих условия: - One or both of the following conditions must be met:

- Значение ( mvLX[ 0 ] >> 2 ) + nPbW + xB1 + offsetX меньше или равно 0. - Value ( mvLX[ 0 ] >> 2 ) + nPbW + xB1 + offsetX is less than or equal to 0.

- Значение (mvLX [1] >> 2) + nPbH + yB1 + offsetY меньше или равно 0. - Value (mvLX[1] >> 2) + nPbH + yB1 + offsetY is less than or equal to 0.

- Должно выполняться следующее условие:- The following condition must be met:

( xPb + ( mvLX[ 0 ] >> 2 ) + nPbSw − 1 + offsetX) / CtbSizeY − xCurr / CtbSizeY <=( xPb + ( mvLX[ 0 ] >> 2 ) + nPbSw − 1 + offsetX) / CtbSizeY − xCurr / CtbSizeY <=

yCurr/CtbSizeY − ( yPb + ( mvLX[ 1 ] >> 2 ) + nPbSh − 1 + offsetY ) / CtbSizeY …(8-108)yCurr/CtbSizeY − ( yPb + ( mvLX[ 1 ] >> 2 ) + nPbSh − 1 + offsetY ) / CtbSizeY …(8-108)

Таким образом, не произойдет случай, когда опорный блок перекрывается текущим блоком, или опорный блок находится за пределами изображения. Нет необходимости заполнять опорный блок или блок предсказания.This way, it will not happen that the reference block is overlapped by the current block, or the reference block is outside the image. There is no need to populate a reference block or a prediction block.

2.3. IBC в тестовой модели VVC2.3. IBC in VVC test model

В текущей тестовой модели VVC, то есть в проекте VTM-4.0, весь опорный блок должен соответствовать текущей единице дерева кодирования (CTU) и не перекрываться текущим блоком. Таким образом, нет необходимости заполнять опорный блок или блок предсказания. Флаг IBC кодируется как режим предсказания текущей CU. Таким образом, для каждой CU существует всего три режима предсказания: MODE_INTRA, MODE_INTER и MODE_IBC. In the current VVC test model, that is, the VTM-4.0 design, the entire reference block must correspond to the current coding tree unit (CTU) and not overlap with the current block. Thus, there is no need to populate the reference block or prediction block. The IBC flag is encoded as the prediction mode of the current CU. Thus, for each CU there are only three prediction modes: MODE_INTRA, MODE_INTER and MODE_IBC.

2.3.1. Режим слияния IBC2.3.1. IBC merge mode

В режиме слияния IBC индекс, указывающий на запись в списке кандидатов слияния IBC, подвергается синтаксическому анализу из битового потока. Составление списка слияния IBC можно кратко изложить в соответствии со следующей последовательностью этапов:In IBC merge mode, the index pointing to an entry in the IBC merge candidate list is parsed from the bitstream. The compilation of an IBC merger list can be summarized according to the following sequence of steps:

• Этап 1: Получение пространственных кандидатов• Stage 1: Obtaining spatial candidates

• Этап 2: Вставка кандидатов HMVP• Step 2: Inserting HMVP Candidates

• Этап 3: Вставка попарно усредненных кандидатов• Step 3: Inserting pairwise averaged candidates

При получении кандидатов пространственного слияния выбирается максимум четыре кандидата слияния из кандидатов, расположенных в позициях, показанных на фиг. 12. Порядок получения представляет собой A1, B1, B0, A0 и B2. Позиция B2 учитывается только тогда, когда недоступна любая PU из позиции A1, B1, B0, A0 (например, в связи с тем, что она принадлежит другому слайсу или мозаичному элементу) или не закодирована в режиме IBC. После того, как добавлен кандидат в позиции A1, вставка оставшихся кандидатов подвергается проверке на избыточность, которая гарантирует, что кандидаты с одинаковой информацией движения исключены из списка, так что эффективность кодирования повышается. Чтобы уменьшить вычислительную сложность, в упомянутой проверке на избыточность не все возможные пары кандидатов рассматриваются. Вместо этого рассматриваются только пары, обозначенные стрелкой на фиг. 13, и кандидат добавляется в список только в том случае, если соответствующий кандидат, используемый для проверки на избыточность, не имеет такой же информации движения.When receiving spatial fusion candidates, a maximum of four fusion candidates are selected from the candidates located at the positions shown in FIG. 12. The order of receipt is A 1 , B 1 , B 0 , A 0 and B 2 . Position B 2 is only taken into account when any PU from position A 1 , B 1 , B 0 , A 0 is not available (for example, due to the fact that it belongs to another slice or tile) or is not encoded in IBC mode. After a candidate at position A 1 is added, the insertion of the remaining candidates is subjected to a redundancy check, which ensures that candidates with the same motion information are excluded from the list, so that coding efficiency is improved. To reduce computational complexity, not all possible candidate pairs are considered in the redundancy check mentioned. Instead, only the pairs indicated by the arrow in FIG. 13, and a candidate is added to the list only if the corresponding candidate used for redundancy checking does not have the same motion information.

После вставки пространственных кандидатов, если размер списка слияния IBC все еще меньше максимального размера списка слияния IBC, могут быть вставлены кандидаты IBC из таблицы HMVP. После вставки кандидатов HMVP выполняется проверка на избыточность.After inserting spatial candidates, if the IBC merge list size is still less than the maximum IBC merge list size, the IBC candidates from the HMVP table can be inserted. After inserting HMVP candidates, a redundancy check is performed.

Наконец, в список слияния IBC вставляются попарно усредненные кандидаты.Finally, the pairwise averaged candidates are inserted into the IBC merge list.

Когда опорный блок, идентифицированный кандидатом слияния, находится за пределами изображения, или перекрывается текущим блоком, или находится за пределами восстановленной зоны или за пределами допустимой зоны, ограниченной некоторыми ограничениями, кандидат слияния называется недействительным кандидатом слияния.When the reference block identified by the merge candidate is outside the image, or overlaps with the current block, or is outside the reconstructed area, or outside the valid area limited by some restrictions, the merge candidate is called an invalid merge candidate.

Следует отметить, что недействительные кандидаты слияния могут быть вставлены в список слияния IBC.It should be noted that invalid merge candidates may be inserted into the IBC merge list.

2.3.2. Режим AMVP IBC2.3.2. AMVP IBC mode

В режиме AMVP IBC точка индекса AMVP для записи в списке AMVP IBC подвергается синтаксическому анализу из битового потока. Составление списка AMVP IBC можно кратко изложить в соответствии со следующей последовательностью этапов:In AMVP IBC mode, the AMVP index point for an entry in the AMVP IBC list is parsed from the bitstream. The compilation of the AMVP IBC list can be summarized according to the following sequence of steps:

• Этап 1: Получение пространственных кандидатов• Stage 1: Obtaining spatial candidates

○ Проверять A0, A1 до тех пор, пока не будет найден доступный кандидат.○ Check A 0 , A 1 until an available candidate is found.

○ Проверять B0, B1, B2 до тех пор, пока не будет найден доступный кандидат.○ Check B 0 , B 1 , B 2 until an available candidate is found.

• Этап 2: Вставка кандидатов HMVP• Step 2: Inserting HMVP Candidates

• Этап 3: Вставка нулевых кандидатов• Step 3: Inserting Null Candidates

После вставки пространственных кандидатов, если размер списка AMVP IBC по-прежнему остается меньше максимального размера списка AMVP IBC, могут быть вставлены кандидаты IBC из таблицы HMVP.After inserting spatial candidates, if the AMVP IBC list size is still less than the maximum AMVP IBC list size, the IBC candidates from the HMVP table can be inserted.

Наконец, в список AMVP IBC вставляются нулевые кандидаты.Finally, zero candidates are inserted into the IBC AMVP list.

2.4. Режим палитры2.4. Palette mode

Основная идея режима палитры состоит в том, что отсчеты в CU представлены небольшим набором репрезентативных значений цвета. Этот набор называется палитрой. Кроме того, можно также указать отсчет, который находится за пределами палитры путем сигнализации символа выпадения, за которым следуют (возможно, квантованные) значения компонентов. Это показано на фиг. 2. The basic idea of palette mode is that the samples in the CU are represented by a small set of representative color values. This set is called a palette. In addition, it is also possible to indicate a sample that is outside the palette by signaling a dropout symbol followed by (possibly quantized) component values. This is shown in Fig. 2.

2.5. Режим палитры в расширениях кодирования содержания экрана HEVC (HEVC-SCC)2.5. Palette mode in HEVC Screen Content Coding Extensions (HEVC-SCC)

В режиме палитры в HEVC-SCC для кодирования палитры и карты индексов используется способ предсказания.In palette mode, HEVC-SCC uses a prediction method to encode the palette and index map.

2.5.1. Кодирование записей палитры2.5.1. Encoding palette entries

Для кодирования записей палитры поддерживается предиктор палитры. В SPS сигнализируется максимальный размер палитры, а также предиктор палитры. В HEVC-SCC palette_predictor_initializer_present_flag вводится в PPS. Когда этот флаг равен 1, записи для инициализации предиктора палитры передаются в битовом потоке. Предиктор палитры инициализируется в начале каждой строки CTU, каждого слайса и каждого мозаичного элемента. В зависимости от значения palette_predictor_initializer_present_flag, предиктор палитры сбрасывается в 0 или инициализируется с использованием записей инициализатора предиктора палитры, просигнализированных в PPS. В HEVC-SCC инициализатор предиктора палитры с размером 0 был включен для того, чтобы разрешить явное отключение инициализации предиктора палитры на уровне PPS.A palette predictor is supported for encoding palette entries. The SPS signals the maximum palette size as well as the palette predictor. In HEVC-SCC palette_predictor_initializer_present_flag is introduced into the PPS. When this flag is 1, entries to initialize the palette predictor are passed in the bitstream. The palette predictor is initialized at the beginning of each CTU row, each slice, and each tile. Depending on the value of palette_predictor_initializer_present_flag, the palette predictor is reset to 0 or initialized using the palette predictor initializer entries signaled in the PPS. In HEVC-SCC, a palette predictor initializer with size 0 was included to allow explicit disabling of palette predictor initialization at the PPS level.

Для каждой записи в предикторе палитры флаг повторного использования сигнализируется для того, чтобы указать то, является ли он частью текущей палитры. Это показано на фиг. 3. Флаги повторного использования отправляются с использованием кодирования длин перемещений нулей. После этого количество новых записей палитры сигнализируется с использованием экспоненциального кода Голомба порядка 0. Наконец, сигнализируются значения компонентов для новых записей палитры.For each entry in the palette predictor, a reuse flag is signaled to indicate whether it is part of the current palette. This is shown in Fig. 3. Reuse flags are sent using zero movement length encoding. The number of new palette entries is then signaled using an exponential Golomb code of order 0. Finally, the component values for the new palette entries are signaled.

2.5.2. Кодирование индексов палитры2.5.2. Encoding palette indices

Индексы палитры кодируются с использованием горизонтальных и вертикальных поперечных сканирований, как показано на фиг. 4. Порядок сканирования явно сигнализируется в битовом потоке с использованием palette_transpose_flag. В остальной части подраздела предполагается, что сканирование является горизонтальным.Palette indices are encoded using horizontal and vertical cross scans, as shown in FIG. 4. The scan order is explicitly signaled in the bitstream using palette_transpose_flag. The rest of this subsection assumes that the scan is horizontal.

Индексы палитры кодируются с использованием двух основных режимов отсчета палитры: "INDEX" и "COPY_ABOVE". Как объяснялось ранее, символ выпадения также сигнализируется как режим "INDEX", и ему назначается индекс, равный максимальному размеру палитры. Режим сигнализируется с использованием флага, за исключением верхней строки, или когда предыдущим режимом был "COPY_ABOVE". В режиме "COPY_ABOVE" копируется индекс палитры отсчета в строке выше. В режиме "INDEX" индекс палитры сигнализируется явным образом. Для обоих режимов "INDEX" и "COPY_ABOVE" передается значение прогона, которое указывает количество последующих отсчетов, которые также кодируются с использованием одного и того же режима. Когда символ выпадения является частью прогона в режиме "INDEX" или "COPY_ABOVE", значения компонента выпадения сигнализируются для каждого символа выпадения. Кодирование индексов палитры показано на фиг. 5.Palette indices are encoded using two basic palette reference modes: "INDEX" and "COPY_ABOVE". As explained earlier, the drop character is also signaled as "INDEX" mode and is assigned an index equal to the maximum palette size. The mode is signaled using a flag, except for the top line, or when the previous mode was "COPY_ABOVE". The "COPY_ABOVE" mode copies the index of the reference palette in the line above. In "INDEX" mode, the palette index is signaled explicitly. For both the "INDEX" and "COPY_ABOVE" modes, a run value is passed which indicates the number of subsequent samples that are also encoded using the same mode. When a drop symbol is part of a run in "INDEX" or "COPY_ABOVE" mode, the drop component values are signaled for each drop symbol. The encoding of palette indices is shown in FIG. 5.

Этот порядок синтаксиса выполняется следующим образом. Сначала сигнализируется количество значений индекса для CU. За этим следует сигнализация фактических значений индекса для всей CU с использованием усеченного двоичного кодирования. В режиме обхода кодируются как количество индексов, так и значения индексов. В результате этого группируются вместе связанные с индексом бины обхода. Затем сигнализируются чередующимся образом режим отсчетам палитры (при необходимости) и прогон. Наконец, значения компонентов выпадения, соответствующие отсчетам выпадения для всей CU, группируются вместе и кодируются в режиме обхода.This syntax order is as follows. First, the number of index values for the CU is signaled. This is followed by signaling the actual index values for the entire CU using truncated binary encoding. In traversal mode, both the number of indexes and the index values are encoded. This results in the crawl bins associated with the index being grouped together. Then the palette sample mode (if necessary) and run are signaled alternately. Finally, the dropout component values corresponding to the dropout samples for the entire CU are grouped together and encoded in a bypass mode.

Дополнительный синтаксический элемент last_run_type_flag сигнализируется после передачи значений индексов. Этот синтаксический элемент в сочетании с количеством индексов устраняет необходимость сигнализировать значение выполнения прогона, соответствующее последнему прогону в блоке.The optional last_run_type_flag syntax element is signaled after the index values are passed. This syntax element, combined with the number of indices, eliminates the need to signal the run execution value corresponding to the last run in the block.

В HEVC-SCC режим палитры также включен для 4:2:2, 4:2:0 и монохромных форматов цветности. Сигнализация записей палитры и индексов палитры практически идентична для всех форматов цветности. В случае немонохромных форматов каждая запись палитры состоит из 3 компонентов. Для монохромного формата каждая запись палитры состоит из одного компонента. Для субдискретизированных направлений цветности отсчеты цветности ассоциированы с индексами отсчетов яркости, которые делятся на 2. После восстановления индексов палитры для CU, если с отсчетом ассоциирован только один компонент, будет использоваться только первый компонент записи палитры. Единственным различием в сигнализации являются значения компонентов выпадения. Для каждого отсчета выпадения количество сигнализируемых значений компонентов выпадения может быть различным в зависимости от количества компонентов, ассоциированных с этим отсчетом.In HEVC-SCC, palette mode is also enabled for 4:2:2, 4:2:0 and monochrome chroma formats. The signaling of palette entries and palette indexes is virtually identical for all color formats. For non-monochrome formats, each palette entry consists of 3 components. For the monochrome format, each palette entry consists of one component. For subsampled chroma directions, chroma samples are associated with luminance sample indices that are divisible by 2. After reconstructing the palette indices for the CU, if only one component is associated with a sample, only the first component of the palette entry will be used. The only difference in signaling is the values of the dropout components. For each dropout sample, the number of signaled dropout component values may vary depending on the number of components associated with that count.

2.6. Кодирование коэффициентов в режиме пропуска преобразования 2.6. Coefficient coding in skip transformation mode

В JVET-M0464 и JVET-N0280 предложено несколько модификаций кодирования коэффициентов в режиме пропуска преобразования (TS) для того, чтобы адаптировать кодирование остатка к статистике и характеристикам сигналов уровней пропуска преобразования.JVET-M0464 and JVET-N0280 propose several modifications to skip-transform (TS) coefficient encoding in order to tailor the remainder encoding to the statistics and characteristics of transform-skip level signals.

Предложенные модификации перечислены ниже.Suggested modifications are listed below.

Нет последней значащей позиции сканирования: так как сигнал остатка отражает пространственный остаток после предсказания, и для TS не выполняется сжатие по энергии посредством преобразования, больше не задается более высокая вероятность для конечных нулей или незначащих уровней в правом нижнем углу блока преобразования. Таким образом, в этом случае исключается сигнализация последней значащей позиции сканирования. Вместо этого первым обрабатываемым подблоком является нижний крайний правый подблок в блоке преобразования.No Last Significant Scan Position: Since the residual signal reflects the spatial residual after prediction, and the TS is not energy compressed by transform, a higher probability is no longer set for trailing zeros or non-significant levels in the lower right corner of the transform block. Thus, in this case, signaling of the last significant scan position is eliminated. Instead, the first subblock processed is the bottom rightmost subblock in the transform block.

CBF подблока: Отсутствие сигнализации последней значащей позиции сканирования требует того, чтобы сигнализация CBF подблока с coded_sub_block_flag для TS была изменена следующим образом:Sub-block CBF: Failure to signal the last significant scan position requires that the CBF signaling of the sub-block with coded_sub_block_flag for the TS be changed as follows:

• Из-за квантования вышеупомянутая несущественная последовательность все еще может возникать локально внутри блока преобразования. Таким образом, последняя значащая позиция сканирования удаляется, как описано ранее, и coded_sub_block_flag кодируется для всех подблоков.• Due to quantization, the above unimportant sequence may still occur locally within the transform block. Thus, the last significant scan position is removed as described previously, and a coded_sub_block_flag is encoded for all subblocks.

• coded_sub_block_flag для подблока, покрывающего позицию частоты DC (верхний левый подблок), представляет собой особый случай. В VVC проекта 3 флаг coded_sub_block_flag для этого подблока никогда не сигнализируется и всегда предполагается равным 1. Когда последняя значащая позиция сканирования находится в другом подблоке, это означает, что существует по меньшей мере один значащий уровень за пределами подблока DC. Таким образом, подблок DC может содержать только нулевые/незначащие уровни, хотя coded_sub_block_flag для этого подблока предполагается равным 1. При отсутствии информации о последней позиции сканирования в TS coded_sub_block_flag сигнализируется для каждого подблока. Это также включает coded_sub_block_flag для подблока DC, за исключением случаев, когда все другие синтаксические элементы coded_sub_block_flag уже равны 0. В этом случае предполагается, что coded_sub_block_flag DC равен 1 (inferDcSbCbf = 1). Так как в этом подблоке DC должен быть хотя бы один значащий уровень, синтаксический элемент sig_coeff_flag для первой позиции в (0,0) не сигнализируется и получается равным 1 (inferSbDcSigCoeffFlag = 1), вместо того, чтобы все другие синтаксические элементы sig_coeff_flag в этом подблоке DC были равны 0.• coded_sub_block_flag for the subblock covering the DC frequency position (top left subblock) is a special case. In Design 3 VVC, the coded_sub_block_flag for this subblock is never signaled and is always assumed to be 1. When the last significant scan position is in another subblock, it means that there is at least one significant level outside the DC subblock. Thus, a DC sub-block can only contain zero/insignificant levels, although the coded_sub_block_flag for that sub-block is assumed to be 1. In the absence of last scan position information in the TS, a coded_sub_block_flag is signaled for each sub-block. This also includes the coded_sub_block_flag for the DC subblock, unless all other coded_sub_block_flag syntax elements are already 0. In this case, the DC's coded_sub_block_flag is assumed to be 1 (inferDcSbCbf = 1). Since there must be at least one significant level in this DC subblock, the sig_coeff_flag syntax element for the first position at (0,0) is not signaled and is set to 1 (inferSbDcSigCoeffFlag = 1), instead of all other sig_coeff_flag syntax elements in this subblock DC were equal to 0.

• Изменено контекстное моделирование для coded_sub_block_flag. Индекс контекстной модели вычисляется как сумма coded_sub_block_flag слева и coded_sub_block_flag выше текущего подблока, а не как логическое разделение обоих.• Changed context modeling for coded_sub_block_flag. The context model index is calculated as the sum of the coded_sub_block_flag on the left and the coded_sub_block_flag above the current subblock, rather than as a logical division of both.

Контекстное моделирование sig_coeff_flag: локальный шаблон в моделировании контекста sig_coeff_flag модифицируется, чтобы включать в себя только соседа слева (NB0) и соседа выше (NB1) от текущей позиции сканирования. Смещение контекстной модели представляет собой просто количество значащих соседних позиций sig_coeff_flag [NB0] + sig_coeff_flag [NB1]. Следовательно, выбор различных наборов контекстов удаляется в зависимости от диагонали d в текущем блоке преобразования. Это приводит к трем контекстным моделям и одной контекстной модели, установленной для кодирования флага sig_coeff_flag.Context modeling sig_coeff_flag: The local template in the context modeling sig_coeff_flag is modified to include only the neighbor to the left (NB0) and the neighbor above (NB1) of the current scan position. The context model bias is simply the number of significant neighboring positions sig_coeff_flag [NB0] + sig_coeff_flag [NB1]. Consequently, the selection of different context sets is removed depending on the diagonal d in the current transformation block. This results in three context models and one context model set to encode the sig_coeff_flag.

Контекстное моделирование abs_level_gt1_flag и par_level_flag: для abs_level_gt1_flag и par_level_flag используется единая контекстная модель.Context modeling of abs_level_gt1_flag and par_level_flag: abs_level_gt1_flag and par_level_flag use a single context model.

Кодирование abs_remainder: Хотя эмпирическое распределение абсолютных уровней остатка с пропуском преобразования обычно все еще соответствует лапласовскому или геометрическому распределению, существуют нестационарности больше, чем для абсолютных уровней коэффициентов преобразования. В частности, дисперсия в пределах окна последовательной реализации выше для абсолютных уровней остатка. Это мотивирует следующие модификации синтаксической бинаризации abs_remainder и контекстного моделирования:abs_remainder encoding: Although the empirical distribution of absolute levels of the skip-remainder residual generally still follows a Laplacian or geometric distribution, there are non-stationarities larger than for the absolute levels of transformation coefficients. In particular, the variance within the sequential implementation window is higher for absolute residual levels. This motivates the following modifications to abs_remainder's syntactic binarization and context modeling:

• Использование более высокого значения отсечки в бинаризации, то есть точки перехода от кодирования с sig_coeff_flag, abs_level_gt1_flag, par_level_flag и abs_level_gt3_flag к кодам Райса для abs_remainder, и специально предназначенные для этого контекстные модели для каждой позиции бина дают более высокую эффективность сжатия. Увеличение отсечки приведет к появлению большего количества флагов "больше X", например, к введению abs_level_gt5_flag, abs_level_gt7_flag и так далее, пока не будет достигнута отсечка. Само ограничение установлено на 5 (numGtFlags = 5).• Using a higher cutoff value in binarization, that is, the transition point from encoding with sig_coeff_flag, abs_level_gt1_flag, par_level_flag and abs_level_gt3_flag to Rice codes for abs_remainder, and dedicated context models for each bin position gives higher compression efficiency. Increasing the cutoff will result in more "greater than X" flags, such as introducing abs_level_gt5_flag, abs_level_gt7_flag, and so on until the cutoff is reached. The limit itself is set to 5 (numGtFlags = 5).

• Шаблон для получения параметра модифицируется, то есть только сосед слева и сосед выше текущей позиции сканирования рассматриваются как аналогичные локальному шаблону для контекстного моделирования sig_coeff_flag.• The template for obtaining the parameter is modified, that is, only the neighbor to the left and the neighbor above the current scan position are considered similar to the local template for contextual modeling sig_coeff_flag.

coeff_sign_flag контекстное моделирование: из-за нестабильности внутри последовательности знаков и того факта, что остаток предсказания часто смещен, знаки могут быть закодированы с использованием контекстных моделей даже в том случае, когда глобальное эмпирическое распределение распределено почти равномерно. Для кодирования знаков используется одна выделенная контекстная модель, и знак подвергается синтаксическому анализу после sig_coeff_flag для того, чтобы все контекстно кодированные бины были вместе.coeff_sign_flag context modeling: Due to instability within a sign sequence and the fact that the prediction remainder is often shifted, signs can be encoded using context models even when the global empirical distribution is nearly uniformly distributed. One dedicated context model is used to encode characters, and the character is parsed after sig_coeff_flag to ensure that all context-encoded bins are together.

2.7. Блочная дифференциальная импульсно-кодовая модуляция (QR-BDPCM) квантованного остатка2.7. Block Differential Pulse Code Modulation (QR-BDPCM) of Quantized Residue

В JVET-M0413 предложена блочная дифференциальная импульсно-кодовая модуляция (QR-BDPCM) квантованного остатка для эффективного кодирования содержания экрана.JVET-M0413 proposes quantized residual block differential pulse code modulation (QR-BDPCM) for efficient encoding of screen content.

Направления предсказания, используемые в QR-BDPCM, могут быть режимами вертикального и горизонтального предсказания. Внутрикадровое предсказание выполняется для всего блок путем копирования отсчета в направлении предсказания (горизонтальном или вертикальном предсказание), аналогичном внутрикадровому предсказанию. Остаток квантуется, и кодируется дельта (разность) между квантованным остатком и его квантованным значением предиктора (горизонтального или вертикального). Это можно описать следующим образом: для блока размером M (строк) × N (столбцов) допустим, что ri,j, 0 ≤ i ≤ M–1, 0 ≤ j ≤ N-1 будет остатком предсказания после выполнения внутрикадрового предсказания по горизонтали (построчное копирование значения левого соседнего пикселя поперек предсказанного блока) или по вертикали (построчное копирование верхней соседней строки в прогнозируемом блоке) с использованием нефильтрованных отсчетов из отсчетов на верхней или левой границе блока. Пусть Q(ri,j), 0 ≤ i ≤ M-1, 0 ≤ j ≤ N-1 обозначает версию квантованного остатка ri,j, где остаток представляет собой разность между исходным блоком и предсказанными значениями блока. Затем блок DPCM применяется к отсчетам квантованного остатка, в результате чего получается модифицированный массив размером M × N с элементами . При сигнализации вертикальной BDPCM The prediction directions used in QR-BDPCM can be vertical and horizontal prediction modes. Intra prediction is performed for the entire block by copying the sample in the prediction direction (horizontal or vertical prediction) similar to intra prediction. The remainder is quantized, and the delta (difference) between the quantized remainder and its quantized predictor value (horizontal or vertical) is encoded. This can be described as follows: for a block of size M (rows) × N (columns), let us assume that r i,j , 0 ≤ i ≤ M–1, 0 ≤ j ≤ N-1 will be the prediction remainder after performing horizontal intra-frame prediction (line-by-line copying the value of the left adjacent pixel across the predicted block) or vertically (line-by-line copying the top adjacent line in the predicted block) using unfiltered samples from the samples at the top or left border of the block. Let Q(r i,j ), 0 ≤ i ≤ M-1, 0 ≤ j ≤ N-1 denote the version of the quantized remainder r i,j , where the remainder is the difference between the original block and the predicted block values. The DPCM block is then applied to the quantized remainder samples, resulting in a modified array size M × N with elements . When signaling vertical BDPCM

(2-7-1) (2-7-1)

Для горизонтального предсказания применяются аналогичные правила, и отсчеты квантованного остатка получаются с помощьюFor horizontal prediction, similar rules apply and quantized residual samples are obtained using

(2-7-2) (2-7-2)

Отсчеты квантованного остатка отправляются в декодер.Quantized remainder samples sent to the decoder.

На стороне декодера вышеуказанные вычисления производятся в обратном порядке . Для случая вертикального предсказания On the decoder side, the above calculations are performed in reverse order . For the case of vertical prediction

(2-7-3) (2-7-3)

Для случая горизонтального предсказанияFor the case of horizontal prediction

(2-7-4) (2-7-4)

Обратно квантованные остатки Q-1(Q(ri,j)) добавляются к значениям предсказания внутрикадрового блока для получения восстановленных значений отсчета. The inversely quantized residuals Q -1 (Q(r i,j )) are added to the intra-frame block prediction values to obtain the reconstructed sample values.

Основное преимущество этой схемы состоит в том, что обратная DPCM может выполняться "на лету" во время синтаксического анализа коэффициентов путем простого добавления предиктора в виде коэффициентов, которые подвергаются синтаксическому анализу, или может выполняться после синтаксического анализа.The main advantage of this scheme is that inverse DPCM can be performed on the fly during coefficient parsing by simply adding a predictor in the form of coefficients that are parsed, or can be performed after parsing.

Изменения в тексте проекта QR-BDPCM показаны следующим образом.The changes to the QR-BDPCM draft text are shown as follows.

7.3.6.5 Синтаксис единицы кодирования7.3.6.5 Coding unit syntax

bdpcm_flag[ x0 ][ y0 ], равный 1, указывает то, что bdpcm_dir_flag присутствует в блоке кодирования, включая блок кодирования яркости в местоположении (x0, y0)bdpcm_flag[ x0 ][ y0 ] equal to 1 indicates that bdpcm_dir_flag is present in the coding block, including the luma coding block at location (x0, y0)

bdpcm_dir_flag[ x0 ][ y0 ], равный 0, указывает то, что направление предсказания, которое будет использоваться в блоке bdpcm, является горизонтальным, в противном случае – вертикальным.bdpcm_dir_flag[ x0 ][ y0 ] equal to 0 indicates that the prediction direction to be used in the bdpcm block is horizontal, otherwise vertical.

2.8. Матричное внутрикадровое предсказание (MIP)2.8. Matrix Intra Prediction (MIP)

Матричное внутрикадровое предсказание также называется аффинным линейно-взвешенным внутрикадровым предсказанием (ALWIP), в котором для получения сигнала внутрикадрового предсказания используется взвешенная матрица.Matrix intra prediction is also called affine linear weighted intra prediction (ALWIP), in which a weighted matrix is used to obtain the intra prediction signal.

2.8.1. Описание способа2.8.1. Description of the method

Для предсказания отсчетов прямоугольного блока с шириной W и высотой H аффинное линейно-взвешенное внутрикадровое предсказание (ALWIP) принимает в качестве входных данных одну линию H восстановленных соседних граничных отсчетов слева от блока и одну линию W восстановленных соседних граничных отсчетов выше блока. Если восстановленные отсчеты недоступны, они вырабатываются таким образом, как это делается в нормальном внутрикадровом предсказании. To predict samples of a rectangular block with width W and height H, affine linear-weighted intra-prediction (ALWIP) takes as input one line H of reconstructed neighboring boundary samples to the left of the block and one line W of reconstructed neighboring boundary samples above the block. If reconstructed samples are not available, they are generated in the same way as in normal intra-frame prediction.

Выработка сигнала предсказания основана на следующих трех шагах:Generation of the prediction signal is based on the following three steps:

1. Четыре отсчета, если W = H = 4, и восемь отсчетов во всех других случаях извлекаются из граничных отсчетов посредством усреднения.1. Four samples if W = H = 4, and eight samples in all other cases, are extracted from the boundary samples by averaging.

2. Матрично-векторное умножение с последующим добавлением смещения выполняется с использованием усредненных отсчетов в качестве входных данных. Результатом является уменьшенный сигнал предсказания для субдискретизированного набора отсчетов в исходном блоке.2. Matrix-vector multiplication followed by bias addition is performed using the averaged samples as input. The result is a reduced prediction signal for the subsampled set of samples in the original block.

3. Сигнал предсказания в оставшихся позициях вырабатывается из сигнала предсказания в субдискретизированном наборе с помощью линейной интерполяции, которая представляет собой одношаговую линейную интерполяцию в каждом направлении. 3. The prediction signal in the remaining positions is generated from the prediction signal in the subsampled set using linear interpolation, which is a one-step linear interpolation in each direction.

Матрица и векторы смещения, необходимые для выработки сигнала предсказания, взяты из трех наборов S0, S1, S2 матриц. Набор S0 состоит из 18 матриц , каждая из которых имеет 16 строк и 4 столбца и 18 векторов смещения, каждый из которых имеет размер 16. Матрицы и векторы смещения из этого набора используются для блоков размером 4×4. Набор S1 состоит из 10 матриц , каждая из которых имеет 16 строк и 8 столбцов и 10 векторов смещения, каждый из которых имеет размер 16. Матрицы и векторы смещения этого набора используются для блоков размером 4×8, 8×4 и 8×8. Наконец, набор S2 состоит из 6 матриц , каждая из которых имеет 64 строки и 8 столбцов и 6 векторов смещения размером 64. Матрицы и векторы смещения из этого набора или части этих матриц и векторов смещения используются для всех других форм блоков.The matrix and displacement vectors required to generate the prediction signal are taken from three sets of matrices S 0 , S 1 , S 2 . The set S 0 consists of 18 matrices , each of which has 16 rows and 4 columns and 18 vectors offsets, each of size 16. The matrices and offset vectors from this set are used for 4x4 blocks. Set S 1 consists of 10 matrices , each of which has 16 rows and 8 columns and 10 vectors offsets, each of size 16. The offset matrices and vectors of this set are used for blocks of size 4x8, 8x4, and 8x8. Finally, the set S 2 consists of 6 matrices , each of which has 64 rows and 8 columns and 6 vectors offsets of size 64. The matrices and offset vectors from this set, or portions of these matrices and offset vectors, are used for all other block shapes.

Общее количество умножений, необходимых для вычисления матрично-векторного умножения, всегда меньше или равно 4 · W · H. Другими словами, для режимов ALWIP требуется не более четырех умножений на отсчет. The total number of multiplications required to compute a matrix-vector multiplication is always less than or equal to 4 W H. In other words, ALWIP modes require no more than four multiplications per sample.

2.8.2. Усреднение границы2.8.2. Boundary averaging

На первом этапе входные границы и уменьшаются до меньших границ и . Здесь обе границы и состоят из 2 отсчетов в случае блока размером 4×4, и во всех остальных случаях обе границы состоят из 4 отсчетов.At the first stage, the input boundaries And decrease to smaller limits And . Here are both borders And consist of 2 samples in the case of a 4x4 block, and in all other cases both boundaries consist of 4 samples.

В случае блока размером 4×4 для , определяетсяIn the case of a 4x4 block for , is determined

и аналогичным образом определяется .and is similarly defined .

В противном случае, если ширина W блока задана как , для , определяетсяOtherwise, if the block width W is given as , For , is determined

и аналогичным образом определяется .and is similarly defined .

Две уменьшенных границы и связаны с уменьшенным граничным вектором , который имеет, таким образом, размер четыре для блоков формы 4×4 и размер восемь для блоков всех остальных форм. Если относится к режиму ALWIP, это объединение определяется следующим образом:Two reduced borders And associated with the reduced boundary vector , which is therefore size four for blocks of the 4x4 shape and size eight for blocks of all other shapes. If refers to ALWIP mode, this union is defined as follows:

Наконец, для интерполяции субдискретизированного сигнала предсказания на больших блоках требуется вторая версия усредненной границы. А именно, если и , записать W, и для определяетсяFinally, a second version of the averaged boundary is required to interpolate the subsampled prediction signal over large blocks. Namely, if And , write W , and for determined

Если и , определяется аналогичным образом.If And , is defined in a similar way.

2.8.3 Выработка уменьшенного сигнала предсказания с использованием матрично-векторного умножения2.8.3 Generating a reduced prediction signal using matrix-vector multiplication

Из уменьшенного входного вектора вырабатывается уменьшенный сигнал предсказания. Последний сигнал представляет собой сигнал субдискретизированного блока с шириной и высотой . Здесь и определяются как:From the reduced input vector a reduced signal is produced predictions. The last signal is a subsampled block signal with a width and height . Here And are defined as:

Уменьшенный сигнал предсказания вычисляется путем вычисления матрично-векторного умножения и добавления смещения: Reduced signal The prediction is calculated by calculating the matrix-vector multiplication and adding an offset:

Здесь A – матрица, которая имеет строк и 4 столбца, если и 8 столбцов во всех остальных случаях. представляет собой вектор размером . Here A is a matrix that has rows and 4 columns if and 8 columns in all other cases. is a vector of size .

Матрица и вектор выбираются из одного из наборов , , следующим образом. Индекс определяется следующим образом:Matrix and vector selected from one of the sets , , in the following way. Index is defined as follows:

Кроме того, полагаем, что определяется следующим образом:In addition, we believe that is defined as follows:

Затем, если или , и , полагаем, что и . В случае, когда и , допустим является матрицей, которая получается при исключении каждой строки из , которая в случае соответствует нечетной координате x в блоке с пониженной дискретизацией, или, в случае , соответствует нечетной координате y в блоке с пониженной дискретизацией.Then if or , And , we believe that And . In case And , let's say is the matrix that is obtained by eliminating each row from , which in case corresponds to the odd x coordinate in the downsampled block, or, in the case , corresponds to the odd y coordinate in the downsampled block.

Наконец, уменьшенный сигнал предсказания заменяется его транспонированием в следующих случаях: Finally, the reduced prediction signal is replaced by its transposition in the following cases:

и And

и And

и And

Количество операций умножения необходимых для вычисления, равно 4 в случае, так как в этом случае имеется 4 столбца и 16 строк. Во всех других случаях имеет 8 столбцов и строк, и сразу проверяется, что в этих случаях требуется операций умножения, то есть в этих случаях для вычисления требуется также не более 4 операций умножения на отсчет.The number of multiplication operations required for the calculation is 4 in the case, since in this case there are 4 columns and 16 rows. In all other cases has 8 columns and lines, and immediately checks what is required in these cases multiplication operations, that is, in these cases to calculate no more than 4 multiplication operations per count are also required.

2.8.4. Иллюстрация всего процесса ALWIP2.8.4. Illustration of the entire ALWIP process

Весь процесс усреднения, матрично-векторного умножения и линейной интерполяции проиллюстрирован для различных форм на фиг. 6, фиг. 7, фиг. 8 и фиг. 9. Следует отметить, что остальные формы рассматриваются как в одном из изображенных случаев.The entire process of averaging, matrix-vector multiplication, and linear interpolation is illustrated for various shapes in FIG. 6, fig. 7, fig. 8 and fig. 9. It should be noted that the remaining forms are considered as in one of the cases depicted.

1. При наличии блока размером 4×4 ALWIP имеет четыре средних значения по каждой оси границы. Результирующие четыре входных отсчета входят в матрично-векторное умножение. Матрицы берутся из набора . После добавления смещения получается 16 окончательных отсчетов предсказания. Линейная интерполяция не требуется для выработки сигнала предсказания. Таким образом, всего выполняется умножений на отсчет. 1. Given a 4x4 block, ALWIP has four average values along each boundary axis. The resulting four input samples enter into a matrix-vector multiplication. Matrices are taken from the set . After adding the offset, there are 16 final prediction samples. Linear interpolation is not required to generate a prediction signal. Thus, the total is fulfilled multiplications by count.

Фиг. 6 является иллюстрацией ALWIP для блоков размером 4×4.Fig. 6 is an illustration of ALWIP for 4x4 blocks.

2. При наличии блока размером 8×4 ALWIP имеет четыре средних значения по каждой оси границы. Результирующие восемь входных отсчетов попадают в матрично-векторное умножение. Матрицы берутся из набора . Это дает 16 отсчетов на нечетных позициях блока предсказания. Таким образом, всего выполняется умножений на отсчет. После добавления смещения эти отсчеты интерполируются по вертикали с использованием уменьшенной верхней границы. Горизонтальная интерполяция выполняется с использованием исходной левой границы. 2. Given an 8x4 block, ALWIP has four average values along each boundary axis. The resulting eight input samples go into matrix-vector multiplication. Matrices are taken from the set . This gives 16 samples at odd positions of the prediction block. Thus, the total is fulfilled multiplications by count. After adding offset, these samples are interpolated vertically using the reduced upper bound. Horizontal interpolation is performed using the original left boundary.

Фиг. 7 является иллюстрацией ALWIP для блоков размером 8×8.Fig. 7 is an illustration of ALWIP for 8x8 blocks.

3. При наличии блока размером 8×4 ALWIP имеет четыре средних значения по горизонтальной оси границы и четыре исходных граничных значения на левой границе. Результирующие восемь входных отсчетов попадают в матрично-векторное умножение. Матрицы берутся из набора . Это дает 16 отсчетов по нечетным горизонтальным и каждой вертикальной позициям блока предсказания. Таким образом, всего выполняется ( умножений на отсчет. После добавления смещения эти отсчеты интерполируются по горизонтали с использованием исходной левой границы. 3. Given an 8x4 block, ALWIP has four average values along the horizontal boundary axis and four original boundary values on the left boundary. The resulting eight input samples go into matrix-vector multiplication. Matrices are taken from the set . This gives 16 samples at the odd horizontal and each vertical position of the prediction block. Thus, in total ( multiplications by count. After adding an offset, these samples are interpolated horizontally using the original left boundary.

Фиг. 8 является иллюстрацией ALWIP для блоков размером 8×4.Fig. 8 is an illustration of ALWIP for 8x4 blocks.

Транспонированный случай обрабатывается соответствующим образом.The transposed case is handled accordingly.

4. При наличии блока размером 16×16 ALWIP имеет четыре средних значения по каждой оси границы. Результирующие восемь входных отсчетов попадают в матрично-векторное умножение. Матрицы берутся из набора . Это дает 64 отсчета на нечетных позициях блока предсказания. Таким образом, всего выполняется ( умножений на отсчет. После добавления смещения эти отсчеты интерполируются по вертикали с использованием восьми средних значений верхней границы. Горизонтальная интерполяция следует за использованием исходной левой границы. 4. Given a 16x16 block, ALWIP has four average values along each boundary axis. The resulting eight input samples go into matrix-vector multiplication. Matrices are taken from the set . This gives 64 samples at odd positions of the prediction block. Thus, in total ( multiplications by count. After adding offset, these samples are interpolated vertically using the eight upper bound averages. Horizontal interpolation follows the use of the original left border.

Фиг. 8 является иллюстрацией ALWIP для блоков размером 16×16.Fig. 8 is an illustration of ALWIP for 16x16 blocks.

Для больших форм процедура является по существу такой же, и легко проверить, что количество умножений на отсчет меньше четырех.For large forms the procedure is essentially the same, and it is easy to verify that the number of multiplications per count is less than four.

Для блоков W×8 при W>8 необходима только горизонтальная интерполяция, так как отсчеты даны в нечетных горизонтальных позициях и в каждой вертикальной позиции. В этом случае (умножения ( в расчете на один отсчет выполняются для того, чтобы вычислить уменьшенное предсказание.For W×8 blocks at W>8, only horizontal interpolation is necessary, since samples are given at odd horizontal positions and at each vertical position. In this case (multiplication ( per sample are performed in order to calculate the reduced prediction.

Наконец, для блоков W×4 с W>8, допустим, что Ak будет матрицей, которая получается при исключении каждой строки, которая соответствует нечетной записи по горизонтальной оси субдискретизированного блока. Таким образом, выходной размер равен 32, и снова остается выполнить только горизонтальную интерполяцию.Finally, for W×4 blocks with W>8, let us assume that A k will be the matrix that is obtained by eliminating each row that corresponds to an odd entry on the horizontal axis of the downsampled block. Thus, the output size is 32, and again only horizontal interpolation remains to be done.

Для вычисления уменьшенного предсказания выполняется умножения ( в расчете на один отсчет. Для W = 16 не требуется дополнительных умножений, тогда как для линейной интерполяции при W > 16 требуется менее 2 умножений в расчете на один отсчет. Таким образом, общее количество умножений меньше или равно четырем. To calculate the reduced prediction, multiplication is performed ( per one count. For W = 16 no additional multiplications are required, whereas linear interpolation for W > 16 requires less than 2 multiplications per sample. Thus, the total number of multiplications is less than or equal to four.

Транспонированные случаи обрабатываются соответствующим образом.Transposed cases are handled accordingly.

2.8.5. Одношаговая линейная интерполяция2.8.5. One-step linear interpolation

Для блока размером при сигнал предсказания получается из уменьшенного сигнала предсказания на с помощью линейной интерполяции. В зависимости от формы блока линейная интерполяция выполняется в вертикальном, горизонтальном или обоих направлениях. Если линейная интерполяция должна применяться в обоих направлениях, она сначала применяется в горизонтальном направлении, если , и сначала применяется в вертикальном направлении, иначе.For block size at the prediction signal is obtained from the reduced prediction signal on using linear interpolation. Depending on the block shape, linear interpolation is performed in vertical, horizontal, or both directions. If linear interpolation is to be applied in both directions, it is first applied in the horizontal direction if , and is applied in the vertical direction first, otherwise.

Без ограничения общности рассмотрим блок размером при и . Затем выполняется одномерная линейная интерполяция следующим образом. Без ограничения общности достаточно описать линейную интерполяцию в вертикальном направлении. Сначала уменьшенный сигнал предсказания расширяется до верхней части с помощью граничного сигнала. Определим коэффициент вертикальной повышающей дискретизации, и запишем . Затем определим расширенный уменьшенный сигнал предсказания с помощьюWithout loss of generality, consider a block of size at And . One-dimensional linear interpolation is then performed as follows. Without loss of generality, it is sufficient to describe linear interpolation in the vertical direction. First, the reduced prediction signal is expanded to the top using a boundary signal. Let's determine the coefficient vertical upsampling, and write . We then define the extended reduced prediction signal using

Затем из этого расширенного уменьшенного сигнала предсказания вырабатывается сигнал вертикально-линейного интерполированного предсказания следующим образомA vertical linear interpolated prediction signal is then generated from this extended reduced prediction signal as follows:

для , и .For , And .

Алгоритм линейной интерполяции только со сдвигом битов не требует какого-либо умножения.The bit-shift-only linear interpolation algorithm does not require any multiplication.

2.8.6. Сигнализация предложенных режимов внутрикадрового предсказания2.8.6. Signaling proposed intra-frame prediction modes

Для каждой единицы кодирования (CU) во внутрикадровом режиме в битовом потоке отправляется флаг, указывающий то, должен или нет применяться режим ALWIP к соответствующей единице предсказания (PU). Если должен применяться режим ALWIP, индекс режима ALWIP сигнализируется с использованием списка MPM с 3 MPMS.For each coding unit (CU) in intra-frame mode, a flag is sent in the bit stream indicating whether or not ALWIP mode should be applied to the corresponding prediction unit (PU). If ALWIP mode is to be used, the index ALWIP mode is signaled using an MPM list with 3 MPMS.

Здесь вывод MPM выполняется с использованием внутрикадрового режима верхней и левой PU следующим образом. Имеется три фиксированных таблицы , , которые назначают каждому традиционному режиму внутрикадрового предсказания режим ALWIP.Here, MPM inference is performed using the intra-frame mode of the top and left PUs as follows. There are three fixed tables , , which assign each conventional intra-frame prediction mode an ALWIP mode.

Для каждой PU с шириной и высотой определяется индексFor each PU with width and height index is determined

который указывает то, из какого из трех наборов следует выбирать параметры ALWIP, как в разделе 1.3, приведенном выше.which specifies from which of three sets the ALWIP parameters should be selected, as in section 1.3 above.

Если вышеуказанная единица предсказания является доступной, принадлежит к той же CTU, что и текущая PU, и находится во внутрикадровом режиме, если , и если ALWIP применяется к с ALWIP-режимом , полагаем, чтоIf the above unit prediction is available, belongs to the same CTU as the current PU, and is in intra-frame mode if , and if ALWIP applies to with ALWIP mode , we believe that

Если верхняя PU является доступной, принадлежит к той же CTU, что и текущая PU, и находится во внутрикадровом режиме, и если к верхней PU применяется традиционный режим внутрикадрового предсказания, то полагаем, чтоIf the top PU is reachable, belongs to the same CTU as the current PU and is in intra-frame mode, and if the top PU is in legacy mode intra-frame prediction, we assume that

Во всех остальных случаях полагаем, чтоIn all other cases we assume that

, ,

что означает, что этот режим недоступен. Таким же образом, но без ограничения того, что левая PU должна принадлежать к той же CTU, что и текущая PU, получается режим . which means this mode is not available. In the same way, but without the restriction that the left PU must belong to the same CTU as the current PU, the mode is obtained .

Наконец, предоставляются три фиксированных списка , по умолчанию, каждый из которых содержит три различных режима ALWIP. Из списка по умолчанию и режимов и создаются три отдельных MPM путем замены -1 на значения по умолчанию, а также исключения повторений. Finally, three fixed lists are provided , by default, each containing three different ALWIP modes. From the list default and modes And three separate MPMs are created by replacing -1 with default values and also eliminating duplicates.

2.8.7. Получение адаптивного MPM-списка для традиционных режимов внутрикадрового предсказания яркости и цветности2.8.7. Obtaining an adaptive MPM list for traditional intraframe luma and chrominance prediction modes

Предложенные режимы ALWIP гармонизируются с кодированием на основе MPM традиционных режимов внутрикадрового предсказания следующим образом. Процессы получения МРМ-списка яркости и цветности для традиционных режимов внутрикадрового предсказания используют фиксированные таблицы , , которые обеспечивают сопоставление ALWIP-режима с заданной PU в одном из традиционных режимов внутрикадрового предсказанияThe proposed ALWIP modes are harmonized with MPM-based coding of traditional intra-frame prediction modes as follows. The processes for obtaining the luma and chrominance MRM list for traditional intra-frame prediction modes use fixed tables , , which provide ALWIP mode mapping with a given PU in one of the traditional intra-frame prediction modes

Для получения MPM-списка яркости всякий раз, когда встречается соседний блок яркости, который использует ALWIP-режим , этот блок обрабатывается таким образом, как если бы он использовал традиционный режим внутрикадрового предсказания . Для получения MPM-списка цветности всякий раз, когда текущий блок яркости использует LWIP-режим, то же самое сопоставление используется для преобразования режима ALWIP в традиционный режим внутрикадрового предсказания.To obtain a luma MPM list whenever a neighboring luma block that uses ALWIP mode is encountered , this block is processed as if it were using traditional intra-prediction mode . To obtain the MPM chrominance list whenever the current luma block uses the LWIP mode, the same mapping is used to convert the ALWIP mode to the traditional intra-prediction mode.

2.9. Кодирование внутрикадрового режима цветности 2.9. Intra-frame chroma coding

В случае кодирования внутрикадрового режима цветности, всего разрешено 8 внутрикадровых режимов для внутрикадрового режима цветности. Эти режимы включают в себя пять традиционных внутрикадровых режимов и три режима, основанные на межкомпонентной линейной модели. В режиме Chroma DM используется соответствующий режим внутрикадрового предсказания яркости. Так как в I-слайсах разрешена отдельная структура разделения блоков для компонентов яркости и цветности, один блок цветности может соответствовать многочисленным блокам яркости. Таким образом, для режима Chroma DM напрямую наследуется режим внутрикадрового предсказания соответствующего блока яркости, покрывающего центральную позицию текущего блока цветности.In the case of intra-chroma mode encoding, a total of 8 intra-frame modes are allowed for the intra-chroma mode. These modes include five traditional intra-frame modes and three modes based on the inter-component linear model. Chroma DM mode uses the corresponding intra-frame luminance prediction mode. Since I-slices allow a separate block partitioning structure for luma and chrominance components, a single chrominance block can correspond to multiple luma blocks. Thus, the Chroma DM mode directly inherits the intra-frame prediction mode of the corresponding luma block covering the center position of the current chrominance block.

3. Примеры технических задач, решаемых раскрытыми вариантами осуществления3. Examples of technical problems solved by the disclosed embodiments

Хотя QR-BDPCM может обеспечить преимущества кодирования при кодировании содержания экрана, она все же может иметь некоторые недостатки.Although QR-BDPCM can provide encoding advantages when encoding screen content, it may still have some disadvantages.

1. Предсказание в режиме QR-BDPCM ограничивается только горизонтальным и вертикальным внутрикадровым предсказанием, что может ограничивать эффективность предсказания в режиме QR-BDPCM.1. QR-BDPCM prediction is limited to only horizontal and vertical intra-frame prediction, which may limit the performance of QR-BDPCM prediction.

2. Режим внутрикадрового предсказания сигнализируется для кодированных блоков QR-BDPCM, что может увеличить издержки режима QR-BDPCM.2. The intra-frame prediction mode is signaled for QR-BDPCM coded blocks, which may increase the overhead of the QR-BDPCM mode.

3. Соседняя информация не учитывается при сопоставлении сигнализируемого сообщения с режимами предсказания в режиме QR-BDPCM.3. Neighboring information is not taken into account when matching the signaled message with prediction modes in QR-BDPCM mode.

4. QR-BDPCM представляет остаток, поддерживая только горизонтальный DPCM и вертикальный DPCM, которые могут содержать характеристики кодирования в сложном остаточном блоке.4. QR-BDPCM represents the remainder, supporting only horizontal DPCM and vertical DPCM, which can contain encoding characteristics in a complex residual block.

5. Диапазон остатка в QR-BDPCM может превышать максимальный диапазон других режимов, отличных от QR-BDPCM.5. The residual range in QR-BDPCM may exceed the maximum range of other modes other than QR-BDPCM.

6. QR-BDPCM не учитывает форму блока.6. QR-BDPCM does not take into account the block shape.

7. Как обрабатывать цветность, когда блок яркости кодируется с помощью QR-BDPCM, неизвестно.7. How to handle chroma when the luma block is encoded using QR-BDPCM is unknown.

4. Примеры вариантов и способов4. Examples of options and methods

Перечень пунктов ниже следует рассматривать как примеры для объяснения общих понятий. Эти технические особенности не следует интерпретировать в узком смысле. Кроме того, эти технические особенности можно комбинировать любым образом.The list of points below should be considered as examples to explain general concepts. These technical features should not be interpreted in a narrow sense. In addition, these technical features can be combined in any way.

1. Предсказание отсчета в QR-BDPCM-кодированных блоках может быть выработано с помощью способа матричного внутрикадрового предсказания (MIP).1. Sample prediction in QR-BDPCM encoded blocks can be generated using a matrix intra-prediction (MIP) method.

а) В одном примере, когда и QR-BDPCM, и MIP включены для одного блока, ограничивается то, что в MIP поддерживается только часть разрешенных режимов.a) In one example, when both QR-BDPCM and MIP are enabled for the same block, the limitation is that MIP only supports a subset of the allowed modes.

1) В одном примере часть разрешенных режимов может включать в себя те режимы, ассоциированные со способом матричного внутрикадрового предсказания, которые могут быть сопоставлены с горизонтальным и/или вертикальным нормальным внутрикадровым режимом.1) In one example, a portion of the enabled modes may include those modes associated with a matrix intra-prediction method that may be associated with a horizontal and/or vertical normal intra-frame mode.

2) В одном примере часть разрешенных режимов может включать в себя только те режимы, ассоциированные со способом матричного внутрикадрового предсказания, которые могут быть сопоставлены с горизонтальным и/или вертикальным нормальным внутрикадровым режимом.2) In one example, the portion of enabled modes may include only those modes associated with a matrix intra-prediction method that can be associated with a horizontal and/or vertical normal intra-frame mode.

b) В одном примере, когда как QR-BDPCM, так и MIP включены для одного блока, поддерживаются все разрешенные режимы в MIP.b) In one example, when both QR-BDPCM and MIP are enabled for a single block, all enabled modes in the MIP are supported.

2. Предсказание отсчета в QR-BDPCM-кодированных блоках может быть выработано с помощью режимов внутрикадрового предсказания, которые отличаются от вертикальных/горизонтальных внутрикадровых предсказаний.2. Sample prediction in QR-BDPCM encoded blocks can be generated using intra-prediction modes that are different from vertical/horizontal intra-prediction.

a) В одном примере отсчета в QR-BDPCM-кодированных блоках могут быть предсказаны с помощью режима K внутрикадрового предсказания.a) In one example, samples in QR-BDPCM encoded blocks may be predicted using intra-prediction mode K.

1) В одном примере K может быть планарным режимом.1) In one example, K could be planar mode.

2) В одном примере K может быть режимом DC.2) In one example, K could be DC mode.

3) В одном примере K может быть горизонтальным режимом.3) In one example, K could be horizontal mode.

4) В одном примере K может быть вертикальным режимом.4) In one example, K could be vertical mode.

5) В одном примере K может быть одним кандидатом в списке наиболее вероятных режимов.5) In one example, K may be one candidate in the list of most likely modes.

6) В одном примере K может быть просигнализировано в битовом потоке.6) In one example, K may be signaled in the bit stream.

b) Разрешенные режимы внутрикадрового предсказания для QR-BDPCM могут быть основаны наb) Allowed intra-prediction modes for QR-BDPCM may be based on

1) сообщении, просигнализированном в SPS/VPS/PPS/заголовке изображения/заголовке слайса/заголовке группы мозаичных элементов/строке LCU/группе LCU;1) the message signaled in the SPS/VPS/PPS/picture header/slice header/tile group header/LCU line/LCU group;

2) размере блока текущего блока и/или его соседних блоков;2) the block size of the current block and/or its neighboring blocks;

3) форме текущего блока и/или соседних с ним блоков;3) the shape of the current block and/or its neighboring blocks;

4) режиме предсказания (внутрикадровый/межкадровый) соседних блоков текущего блока;4) prediction mode (intra-frame/inter-frame) of neighboring blocks of the current block;

5) режиме внутрикадрового предсказания соседних блоков текущего блока;5) mode of intra-frame prediction of neighboring blocks of the current block;

6) указании режимов QR-BDPCM соседнего блока текущего блока;6) indicating the QR-BDPCM modes of the adjacent block of the current block;

7) текущем параметре квантования текущего блока и/или его соседних блоков;7) the current quantization parameter of the current block and/or its neighboring blocks;

8) указании цветового формата (например, 4:2:0, 4:4:4)8) specifying the color format (for example, 4:2:0, 4:4:4)

9) древовидной структуры отдельного/двойного кодирования; и9) tree structure of single/double coding; And

10) типе группы слайсов/мозаичных элементов и/или типе изображения.10) type of group of slices/tiles and/or type of image.

3. Предсказание отсчета в QR-BDPCM-кодированных блоках может быть выработано несмежными отсчетами.3. Sample prediction in QR-BDPCM-coded blocks can be generated by non-contiguous samples.

а) В одном примере для режима слияния IBC также может быть включен QR-BDPCM.a) In one example, QR-BDPCM may also be enabled for IBC merge mode.

b) В одном примере для режима IBC AMVP также может быть включен QR-BDPCM.b) In one example, the IBC AMVP mode may also include QR-BDPCM.

c) Вектор блока, используемый в IBC и QR-BDPCM, может сигнализироваться, получаться или определяться заранее.c) The block vector used in IBC and QR-BDPCM may be signaled, received or determined in advance.

1) В одном примере режим IBC может быть указан вектором движения (вектором блока) и/или индексом слияния.1) In one example, the IBC mode may be indicated by a motion vector (block vector) and/or a merge index.

2) В одном примере режим IBC может указываться вектором движения по умолчанию.2) In one example, the IBC mode may be indicated by a default motion vector.

(1) В одном примере вектор движения по умолчанию может быть (-w, 0), где w – положительное целое число.(1) In one example, the default motion vector could be (-w, 0), where w is a positive integer.

(2) В одном примере вектор движения по умолчанию может быть (0, -h), где h – положительное целое число.(2) In one example, the default motion vector could be (0, -h), where h is a positive integer.

(3) В одном примере вектор движения по умолчанию может быть (-w, -h), где w и h – два положительных целых числа.(3) In one example, the default motion vector could be (-w, -h), where w and h are two positive integers.

3) В одном примере указание вектора движения, используемого в кодированных блоках IBC и QP-BPDCM, может быть основано на:3) In one example, the indication of the motion vector used in the IBC and QP-BPDCM coded blocks may be based on:

(1) сообщении, указанном в SPS/VPS/PPS/заголовке изображения/заголовке слайса/заголовке группы мозаичных элементов/строке LCU/группе LCU;(1) the message specified in the SPS/VPS/PPS/Image Header/Slice Header/Tile Group Header/LCU Row/LCU Group;

(2) размере блока текущего блока и/или его соседних блоков;(2) the block size of the current block and/or its neighboring blocks;

(3) форме текущего блока и/или соседних с ним блоков;(3) the shape of the current block and/or its neighboring blocks;

(4) режимах предсказания (внутрикадровый/межкадровый) соседних блоков текущего блока;(4) prediction modes (intra-frame/inter-frame) of neighboring blocks of the current block;

(5) векторах движения соседних блоков текущего блока;(5) motion vectors of neighboring blocks of the current block;

(6) указании режимов QR-BDPCM соседнего блока текущего блока;(6) indicating the QR-BDPCM modes of the adjacent block of the current block;

(7) текущем параметре квантования текущего блока и/или его соседних блоков;(7) the current quantization parameter of the current block and/or its neighboring blocks;

(8) указании цветового формата (например, 4:2:0, 4:4:4);(8) specifying the color format (for example, 4:2:0, 4:4:4);

(9) древовидной структуре отдельного/двойного кодирования; и(9) single/dual coding tree structure; And

(10) типе группы слайсов/мозаичных элементов и/или типе изображения.(10) slice/tile group type and/or image type.

d) В одном примере предсказание отсчета в режиме QR-BDPCM может быть выработано средствами межкадрового предсказания (например, аффинный режим, режим слияния и межкадровый режим).d) In one example, sample prediction in QR-BDPCM mode may be generated by inter-frame prediction means (eg, affine mode, merge mode, and inter-frame mode).

4. Указание направления предсказания квантованного остатка в QR-BDPCM может быть получено "на лету".4. The direction indication of the quantized residual prediction in QR-BDPCM can be obtained on the fly.

а) В одном примере указание направления предсказания квантованного остатка в QR-BDPCM может быть получено на основе указания текущего режима внутрикадрового предсказания.a) In one example, the indication of the prediction direction of the quantized remainder in the QR-BDPCM may be obtained based on the indication of the current intra-prediction mode.

1) В одном примере направление квантованного остатка предсказания в QR-BDPCM может быть получено как вертикальное, когда режим внутрикадрового предсказания является вертикальным.1) In one example, the direction of the quantized prediction residual in QR-BDPCM can be obtained as vertical when the intra-prediction mode is vertical.

2) В одном примере направление квантованного остатка предсказания в QR-BDPCM может быть получено как горизонтальное, когда режим внутрикадрового предсказания является горизонтальным.2) In one example, the direction of the quantized prediction residual in QR-BDPCM may be obtained as horizontal when the intra-prediction mode is horizontal.

3) В одном примере направление квантованного остатка предсказания в QR-BDPCM может быть получено как вертикальное, когда режим внутрикадрового предсказания является горизонтальным.3) In one example, the direction of the quantized prediction residual in QR-BDPCM may be obtained as vertical when the intra-prediction mode is horizontal.

4) В одном примере направление квантованного остатка предсказания в QR-BDPCM может быть получено как горизонтальное, когда режим внутрикадрового предсказания вертикальный.4) In one example, the direction of the quantized prediction residual in QR-BDPCM may be obtained as horizontal when the intra-prediction mode is vertical.

b) В одном примере указание направления предсказания квантованного остатка в QR-BDPCM может быть основано на: b) In one example, indicating the prediction direction of the quantized remainder in the QR-BDPCM may be based on:

1) сообщении, указанном в SPS/VPS/PPS/заголовке изображения/заголовке слайса/заголовке группы мозаичных элементов/строке LCU/группе LCU;1) the message specified in the SPS/VPS/PPS/Image Header/Slice Header/Tile Group Header/LCU Line/LCU Group;

2) размере блока текущего блока и/или его соседних блоков;2) the block size of the current block and/or its neighboring blocks;

3) форме текущего блока и/или соседних с ним блоков;3) the shape of the current block and/or its neighboring blocks;

4) наиболее вероятных режимах текущего блока и/или соседних с ним блоков;4) the most probable modes of the current block and/or its neighboring blocks;

5) режимах предсказания (внутрикадровый/межкадровый) соседних блоков текущего блока;5) prediction modes (intra-frame/inter-frame) of neighboring blocks of the current block;

6) режиме внутрикадрового предсказания соседних блоков текущего блока;6) mode of intra-frame prediction of neighboring blocks of the current block;

7) векторах движения соседних блоков текущего блока;7) motion vectors of neighboring blocks of the current block;

8) указании режимов QR-BDPCM соседнего блока текущего блока;8) indicating the QR-BDPCM modes of the adjacent block of the current block;

9) текущем параметре квантования текущего блока и/или его соседних блоков;9) the current quantization parameter of the current block and/or its neighboring blocks;

10) указании цветового формата (например, 4:2:0, 4:4:4);10) indicating the color format (for example, 4:2:0, 4:4:4);

11) древовидной структуре отдельного/двойного кодирования;11) tree structure of separate/double coding;

12) типе преобразования, применяемом к текущему блоку; и12) the type of transformation applied to the current block; And

13) типе группы слайсов/мозаичных элементов и/или типе изображения.13) type of group of slices/tiles and/or type of image.

5. Сопоставление из просигнализированного индекса в QR-BDPCM с режимом внутрикадрового предсказания в режиме QR-BDPCM может быть основано на5. The mapping from the signaled index in QR-BDPCM to the intra-frame prediction mode in QR-BDPCM can be based on

а) сообщении, указанном в SPS/VPS/PPS/заголовке изображения/заголовке слайса/заголовке группы мозаичных элементов/строке LCU/группе LCU;a) the message specified in the SPS/VPS/PPS/Image Header/Slice Header/Tile Group Header/LCU Line/LCU Group;

b) размере блока текущего блока и/или его соседних блоков;b) the block size of the current block and/or its neighboring blocks;

c) форме текущего блока и/или соседних с ним блоков;c) the shape of the current block and/or its neighboring blocks;

d) наиболее вероятных режимах текущего блока и/или соседних с ним блоков;d) the most probable modes of the current block and/or its neighboring blocks;

e) режимах предсказания (внутрикадровый/межкадровый) соседних блоков текущего блока;e) prediction modes (intra-frame/inter-frame) of neighboring blocks of the current block;

f) режиме внутрикадрового предсказания соседних блоков текущего блока;f) intra-frame prediction mode of neighboring blocks of the current block;

g) векторах движения соседних блоков текущего блока;g) motion vectors of neighboring blocks of the current block;

h) указании режимов QR-BDPCM соседнего блока текущего блока:h) indicating the QR-BDPCM modes of the adjacent block of the current block:

1) текущем параметре квантования текущего блока и/или его соседних блоков:1) the current quantization parameter of the current block and/or its neighboring blocks:

j) указании цветового формата (например, 4:2:0, 4:4:4);j) specifying the color format (eg 4:2:0, 4:4:4);

k) древовидной структуре отдельного/двойного кодирования;k) single/dual coding tree structure;

l) типе преобразования, примененный к текущему блоку; иl) the type of transformation applied to the current block; And

m) типе группы слайсов/мозаичных элементов и/или типе изображенияm) slice/tile group type and/or image type

6. В QR-BDPCM квантованный остаток предсказывается в горизонтальном и вертикальном направлениях. Предлагается предсказывать квантованный остаток по направлениям, отличным от вертикального и горизонтального направлений. Предположим, что означает, что квантованный остаток обозначает квантованный остаток после процесса предсказания остатка.6. In QR-BDPCM, the quantized residual is predicted in the horizontal and vertical directions. It is proposed to predict the quantized remainder in directions other than the vertical and horizontal directions. Let's pretend that means that the quantized remainder denotes the quantized remainder after the remainder prediction process.

а) В одном примере может поддерживаться 45-градусный QR-BDPCM.a) In one example, 45 degree QR-BDPCM may be supported.

1) В одном примере DPCM может выполняться в направлении под углом 45 градусов, где может быть получено, если доступно. 1) In one example, DPCM may be performed in a 45 degree direction, where can be obtained If available.

b) В одном примере может поддерживаться 135-градусный QR-BDPCM.b) In one example, 135 degree QR-BDPCM may be supported.

1) В одном примере DPCM может выполняться в направлении 135 градусов, где может быть получено, если доступно 1) In one example, DPCM may be performed in the 135 degree direction, where can be obtained If available

c) В одном примере в QR-BDPCM могут поддерживаться любые направления.c) In one example, any directions may be supported in QR-BDPCM.

1) В одном примере, может быть получен, если доступен .1) In one example, can be received if available .

(1) В одном примере m и/или n могут сигнализироваться в битовом потоке.(1) In one example, m and/or n may be signaled in the bitstream.

(2) В одном примере m и/или n могут быть целыми числами и могут быть основаны на:(2) In one example, m and/or n may be integers and may be based on:

(3) сообщении, указанном в SPS/VPS/PPS/заголовке изображения/заголовке слайса/заголовке группы мозаичных элементов/строке LCU/группе LCU.(3) the message specified in the SPS/VPS/PPS/Image Header/Slice Header/Tile Group Header/LCU Row/LCU Group.

(4) i и/или j;(4) i and/or j;

(5) размере блока текущего блока и/или его соседних блоков;(5) the block size of the current block and/or its neighboring blocks;

(6) форме текущего блока и/или соседних с ним блоков;(6) the shape of the current block and/or its neighboring blocks;

(7) наиболее вероятных режимах текущего блока и/или соседних с ним блоков;(7) the most probable modes of the current block and/or its neighboring blocks;

(8) режимах предсказания (вутрикадровый/межкадровый) соседних блоков текущего блока;(8) prediction modes (intra-frame/inter-frame) of neighboring blocks of the current block;

(9) режиме внутрикадрового предсказания соседних блоков текущего блока;(9) mode of intra-frame prediction of neighboring blocks of the current block;

(10) векторах движения соседних блоков текущего блока;(10) motion vectors of neighboring blocks of the current block;

(11) указании режимов QR-BDPCM соседнего блока текущего блока;(11) indicating the QR-BDPCM modes of the adjacent block of the current block;

(12) текущем параметре квантования текущего блока и/или его соседних блоков;(12) the current quantization parameter of the current block and/or its neighboring blocks;

(13) указании цветового формата (например, 4:2:0, 4:4:4);(13) specifying the color format (for example, 4:2:0, 4:4:4);

(14) древовидной структуре отдельного/двойного кодирования; и(14) single/dual coding tree structure; And

(15) типе группы слайсов/мозаичных элементов и/или типе изображения;(15) slice/tile group type and/or image type;

7. QR-BDPCM может применяться к блокам цветности (например, компонентам цвета Cb/Cr или B/R).7. QR-BDPCM can be applied to chrominance blocks (such as Cb/Cr or B/R color components).

а) В одном примере разрешенные направления внутрикадрового предсказания для QR-BDPCM-кодированных блоков яркости и цветности, могут быть одинаковыми, например, только по горизонтальное и вертикальное направления.a) In one example, the allowed intra-frame prediction directions for QR-BDPCM-coded luma and chrominance blocks may be the same, for example, only in the horizontal and vertical directions.

b) В одном примере разрешенные способы предсказания для QR-BDPCM-кодированных блоков яркости и цветности, могут быть одинаковыми, например, режимы IBC/межкадрового предсказания/горизонтального и вертикального внутрикадрового предсказания.b) In one example, the permitted prediction methods for QR-BDPCM-coded luma and chrominance blocks may be the same, eg, IBC/inter-prediction/horizontal and vertical intra-prediction modes.

c) В одном примере разрешенное направление предсказания остатка для QR-BDPCM-кодированных блоков яркости и цветности может быть одинаковым.c) In one example, the allowed residual prediction direction for QR-BDPCM-coded luma and chrominance blocks may be the same.

d) В одном примере направление предсказания остатка для QR-BDPCM цветности может быть получено из направления предсказания остатка для соответствующего блока яркости.d) In one example, the residual prediction direction for a chrominance QR-BDPCM may be derived from the residual prediction direction for a corresponding luminance block.

1) В одном примере соответствующий блок яркости может быть совмещенным блоком яркости.1) In one example, the corresponding luma block may be a combined luma block.

2) В одном примере соответствующий блок яркости может быть блоком яркости, содержащим совмещенный отсчет в левом верхнем углу блока цветности.2) In one example, the corresponding luma block may be a luma block containing a combined sample in the upper left corner of the chrominance block.

3) В одном примере соответствующий блок яркости может быть блоком яркости, содержащим совмещенный отсчет расположенного по центру отсчета блока цветности.3) In one example, the corresponding luma block may be a luma block containing a superimposed sample of a centrally located chrominance block sample.

e) В одном примере CCLM и QR-BDPCM нельзя было применить к одному и тому же блоку цветности.e) In one example, CCLM and QR-BDPCM could not be applied to the same chroma block.

1) В качестве альтернативы, CCLM можно также применять к QR-BDPCM-кодированным блокам.1) Alternatively, CCLM can also be applied to QR-BDPCM encoded blocks.

f) В одном примере способ совместного кодирования остатка цветности (например, совместного кодирования cb и cr) и QR-BDPCM не могут быть применены к одному и тому же блоку цветности.f) In one example, a chrominance residual co-coding method (eg, cb and cr co-coding) and QR-BDPCM cannot be applied to the same chroma block.

8. Восстановленный квантованный остаток в QR-BDPCM может быть ограничен определенным диапазоном.8. The recovered quantized remainder in QR-BDPCM can be limited to a certain range.

а) В одном примере может быть добавлено ограничение, согласно которому все разности квантованных остатков (например, в уравнениях 2-7-1 и 2-7-2) могут находиться в пределах определенного диапазона.a) One example might add the constraint that all differences of quantized residuals (e.g. in Equations 2-7-1 and 2-7-2) may be within a certain range.

b) В одном примере может быть добавлено ограничение, согласно которому весь восстановленный квантованный остаток (например, в уравнениях 2-7-3 и 2-7-4) может находиться в пределах определенного диапазона. b) In one example, a constraint could be added that the entire reconstructed quantized remainder (e.g. in Equations 2-7-3 and 2-7-4) may be within a certain range.

c) В одном примере операция ограничения может применяться к разностям квантованных остатков (например, в уравнениях 2-7-1 и 2-7-2), так что восстановленный квантованный остаток может находиться в пределах определенного диапазона.c) In one example, the constraint operation may be applied to differences of quantized residuals (e.g. in Equations 2-7-1 and 2-7-2), so that the recovered quantized residue can be within a certain range.

d) В одном примере операция ограничения может применяться к восстановленным разностям квантованных остатков (например, в уравнениях 2-7-3 и 2-7-4), так что восстановленный квантованный остаток может находиться в пределах определенного диапазона.d) In one example, the constraint operation may be applied to the recovered differences of the quantized residuals (e.g. in Equations 2-7-3 and 2-7-4), so that the recovered quantized residue may be within a certain range.

e) В одном примере операция ограничения может быть определена как (x < min? min: (x > max? max: x))).e) In one example, the constraint operation can be defined as (x < min? min: (x > max? max: x))).

f) В одном примере операция ограничения может быть определена как ((x <= min? min: (x >= max? max: x)).f) In one example, the constraint operation can be defined as ((x <= min? min: (x >= max? max: x)).

g) В одном примере операция ограничения может быть определена как (x < min? min: (x >= max? max: x)).g) In one example, the constraint operation can be defined as (x < min? min: (x >= max? max: x)).

h) В одном примере операция ограничения может быть определена как (x <= min? min: (x > max? max: x)).h) In one example, the constraint operation can be defined as (x <= min? min: (x > max? max: x)).

1) В одном примере min и/или max могут быть отрицательными или положительными.1) In one example, min and/or max can be negative or positive.

j) В одном примере min установлено на -32768, и max установлено на 32767.j) In one example, min is set to -32768 and max is set to 32767.

1) В качестве альтернативы, min и/или max могут зависеть от диапазона обратного квантования для блоков, кодированных не с помощью QR-BDPCM.1) Alternatively, min and/or max may depend on the inverse quantization range for non-QR-BDPCM encoded blocks.

2) В качестве альтернативы, min и/или max могут зависеть от битовой глубины входного отсчета/восстановленного отсчета.2) Alternatively, min and/or max may depend on the bit depth of the input sample/recovered sample.

3) В качестве альтернативы, min и/или max могут зависеть от того, используется ли кодирование без потерь.3) Alternatively, min and/or max may depend on whether lossless encoding is used.

(1) В одном примере min и/или max могут зависеть от transquant_bypass_enabled_flag.(1) In one example, min and/or max may depend on transquant_bypass_enabled_flag.

(2) В одном примере min и/или max могут зависеть от cu_transquant_bypass_flag.(2) In one example, min and/or max may depend on cu_transquant_bypass_flag.

k) В одном примере min и/или max могут быть основаны на:k) In one example, min and/or max may be based on:

1) сообщении, указанном в SPS/VPS/PPS/заголовке изображения/заголовке слайса/заголовке группы мозаичных элементов/строке LCU/группе LCU;1) the message specified in the SPS/VPS/PPS/Image Header/Slice Header/Tile Group Header/LCU Line/LCU Group;

2) размере блока текущего блока и/или его соседних блоков;2) the block size of the current block and/or its neighboring blocks;

3) форме текущего блока и/или соседних с ним блоков;3) the shape of the current block and/or its neighboring blocks;

4) наиболее вероятных режимах текущего блока и/или соседних с ним блоков;4) the most probable modes of the current block and/or its neighboring blocks;

5) режимах предсказания (внутрикадровый/межкадровый) соседних блоков текущего блока;5) prediction modes (intra-frame/inter-frame) of neighboring blocks of the current block;

6) режиме внутрикадрового предсказания соседних блоков текущего блока;6) mode of intra-frame prediction of neighboring blocks of the current block;

7) векторах движения соседних блоков текущего блока;7) motion vectors of neighboring blocks of the current block;

8) указании режимов QR-BDPCM соседнего блока текущего блока;8) indicating the QR-BDPCM modes of the adjacent block of the current block;

9) текущем параметре квантования текущего блока и/или его соседних блоков;9) the current quantization parameter of the current block and/or its neighboring blocks;

10) указании цветового формата (например, 4:2:0, 4:4:4);10) indicating the color format (for example, 4:2:0, 4:4:4);

11) древовидной структуре отдельного/двойного кодирования;11) tree structure of separate/double coding;

12) типе преобразования, применяемом к текущему блоку;12) the type of transformation applied to the current block;

13) типе группы слайсов/мозаичных элементов и/или типе изображения;13) type of group of slices/tiles and/or type of image;

9. Для блока QR-DPCM может применяться от последней строки/столбца к первой строке/столбцу.9. For a block, QR-DPCM can be applied from the last row/column to the first row/column.

а) В одном примере, когда направление предсказания остатка является горизонтальным, остаток (i+1)-го столбца может использоваться для предсказания остатка i-го столбца.a) In one example, when the remainder prediction direction is horizontal, the remainder of the (i+1)th column may be used to predict the remainder of the ith column.

b) В одном примере, когда направление предсказания остатка является вертикальным, остаток (i+1)-ой строки может использоваться для предсказания остатка i-ой строки.b) In one example, when the remainder prediction direction is vertical, the remainder of the (i+1)th row may be used to predict the remainder of the i-th row.

10. QR-DPCM может применяться к поднабору блока.10. QR-DPCM can be applied to a subset of a block.

а) В одном примере, когда направление предсказания остатка является горизонтальным, QR-DPCM не применяется к крайним левым столбцам остатков.a) In one example, when the direction of the residual prediction is horizontal, QR-DPCM is not applied to the leftmost columns of the residuals.

b) В одном примере, когда направление предсказания остатка является вертикальным, QR-DPCM не применяется к крайним верхним k строкам остатков.b) In one example, when the direction of the residual prediction is vertical, QR-DPCM is not applied to the topmost k rows of the residuals.

c) В одном примере, когда направление предсказания остатка является горизонтальным, QR-DPCM не применяется к крайним правым столбцам остатков k.c) In one example, when the direction of the residual prediction is horizontal, QR-DPCM is not applied to the rightmost columns of the k residuals.

d) В одном примере, когда направление предсказания остатка является вертикальным, QR-DPCM не применяется к крайним нижним k строкам остатков.d) In one example, when the direction of the residual prediction is vertical, QR-DPCM is not applied to the bottommost k rows of the residuals.

e) Описанное выше значение k может быть заданным значением, основанным на:e) The k value described above may be a target value based on:

1) сообщении, указанном в SPS/VPS/PPS/заголовке изображения/заголовке слайса/заголовке группы мозаичных элементов/строке LCU/группе LCU;1) the message specified in the SPS/VPS/PPS/Image Header/Slice Header/Tile Group Header/LCU Line/LCU Group;

2) размере блока текущего блока и/или его соседних блоков;2) the block size of the current block and/or its neighboring blocks;

3) форме текущего блока и/или соседних с ним блоков;3) the shape of the current block and/or its neighboring blocks;

4) наиболее вероятных режимах текущего блока и/или соседних с ним блоков;4) the most probable modes of the current block and/or its neighboring blocks;

5) режимах предсказания (внутрикадровый/межкадровый) соседних блоков текущего блока;5) prediction modes (intra-frame/inter-frame) of neighboring blocks of the current block;

6) режиме внутрикадрового предсказания текущего блока;6) intra-frame prediction mode of the current block;

7) режиме внутрикадрового предсказания соседних блоков текущего блока;7) mode of intra-frame prediction of neighboring blocks of the current block;

8) векторах движения соседних блоков текущего блока;8) motion vectors of neighboring blocks of the current block;

9) указании режимов QR-BDPCM соседнего блока текущего блока;9) indicating the QR-BDPCM modes of the adjacent block of the current block;

10) текущем параметре квантования текущего блока и/или его соседних блоков;10) the current quantization parameter of the current block and/or its neighboring blocks;

11) указании цветового формата (например, 4:2:0, 4:4:4);11) indicating the color format (for example, 4:2:0, 4:4:4);

12) древовидной структуре отдельного/двойного кодирования;12) tree structure of single/double coding;

13) типе преобразования, применяемом к текущему блоку;13) the type of transformation applied to the current block;

14) типе группы слайсов/мозаичных элементов и/или типе изображения;14) type of group of slices/tiles and/or type of image;

11. QR-DPCM может применяться посегментно для блока11. QR-DPCM can be applied segment by block

а) В одном примере, когда направление предсказания остатка вертикальное, и N=nK, предсказание остатка может выполняться какa) In one example, when the residual prediction direction is vertical, and N=nK, the residual prediction can be performed as

. .

b) В одном примере, когда направление предсказания остатка горизонтальное, и M=mK, предсказание остатка может выполняться как b) In one example, when the residual prediction direction is horizontal, and M=mK, the residual prediction may be performed as

. .

12. Включение/отключение QR-DPCM для одного цветового компонента может происходить из того, что она ассоциирована с другим цветовым компонентом.12. Enabling/disabling QR-DPCM for one color component may occur because it is associated with another color component.

а) В одном примере для блока цветности включение QR-DPCM может зависеть от использования QR-DPCM, ассоциированной с одним или несколькими репрезентативными блоками в пределах совмещенного блока яркости.a) In one example, for a chrominance block, the inclusion of QR-DPCM may depend on the use of a QR-DPCM associated with one or more representative blocks within the associated luminance block.

1) В одном примере репрезентативный блок может быть определен таким же образом, как и блок, который используется для получения DM.1) In one example, a representative block may be defined in the same way as a block that is used to obtain the DM.

2) В одном примере, если репрезентативный блок в совмещенном блоке яркости является QR-DPCM-кодированным, и текущий блок цветности закодирован в режиме DM, QR-DPCM также может быть включен для текущего блока цветности.2) In one example, if a representative block in a combined luma block is QR-DPCM encoded and the current chroma block is encoded in DM mode, QR-DPCM may also be enabled for the current chroma block.

b) В качестве альтернативы, для указания использования QR-DPCM может сигнализироваться для компонентов цветности.b) Alternatively, QR-DPCM may be signaled for chrominance components to indicate use.

1) В одном примере для указания использования двух компонентов цветности может сигнализироваться один флаг.1) In one example, a single flag may be signaled to indicate the use of two chrominance components.

2) В качестве альтернативы, для указания использования двух компонентов цветности могут сигнализироваться два флага, соответственно.2) Alternatively, two flags may be signaled, respectively, to indicate the use of two chroma components.

3) В одном примере, когда блок цветности закодирован с использованием определенных режимов (таких как CCLM), сигнализация указания использования QR-DPCM пропускается.3) In one example, when a chroma block is encoded using certain modes (such as CCLM), signaling indicating the use of QR-DPCM is skipped.

13. Вышеупомянутые способы также могут быть применимы к другим вариантам DPCM/QR-DPCM.13. The above methods may also be applicable to other DPCM/QR-DPCM variants.

5. Ссылки на литературу5. Literature references

[1] ITU-T and ISO/IEC, “High efficiency video coding”, Rec. ITU-T H.265 | ISO/IEC 23008-2 (02/2018).[1] ITU-T and ISO/IEC, “High efficiency video coding”, Rec. ITU-T H.265 | ISO/IEC 23008-2 (02/2018).

[2] B. Bross, J. Chen, S. Liu, Versatile Video Coding (Draft 4), JVET-M1001, Jan.2019 [2] B. Bross, J. Chen, S. Liu, Versatile Video Coding (Draft 4), JVET-M1001, Jan.2019

На фиг. 10 показана блок-схема устройства 1000 обработки видео. Устройство 1000 может использоваться для реализации одного или нескольких способов, описанных в данном документе. Устройство 1000 может быть воплощено в смартфоне, планшетном компьютере, компьютере, приемнике Интернета вещей (IoT) и т.д. Устройство 1000 может включать в себя один или несколько процессоров 1002, одно или несколько запоминающих устройств 1004 и аппаратные средства 1006 обработки видео. Один или несколько процессоров 1002 могут быть выполнены с возможностью реализации одного или нескольких способов, описанных в данном документе. Одно или несколько запоминающих устройств 1004 могут использоваться для хранения данных и кода, используемых для реализации способов и технологий, описанных в данном документе. Аппаратные средства 1006 обработки видео может использоваться для реализации, в аппаратных схемах, некоторых технологий, описанных в данном документе. In fig. 10 is a block diagram of a video processing apparatus 1000. Apparatus 1000 may be used to implement one or more of the methods described herein. The device 1000 may be embodied in a smartphone, tablet, computer, Internet of Things (IoT) receiver, etc. The device 1000 may include one or more processors 1002, one or more storage devices 1004, and video processing hardware 1006. One or more processors 1002 may be configured to implement one or more of the methods described herein. One or more storage devices 1004 may be used to store data and code used to implement the methods and technologies described herein. Video processing hardware 1006 may be used to implement, in hardware circuits, some of the technologies described herein.

На фиг. 11 показана блок-схема последовательности операций примерного способа 1100 обработки видео. Способ 1100 включает в себя выполнение (1102) преобразования между текущим видеоблоком и представлением битового потока текущего видеоблока с использованием режима дифференциального кодирования и выборочного использования режима внутрикадрового предсказания на основе правила сосуществования. Режим внутрикадрового предсказания используется для выработки предсказаний для отсчетов текущего видеоблока. Режим дифференциального кодирования используется для представления блока квантованных остатков из предсказаний пикселей с использованием представления дифференциальной импульсно-кодовой модуляции.In fig. 11 is a flowchart of an exemplary video processing method 1100. Method 1100 includes performing 1102 a transformation between the current video block and a bitstream representation of the current video block using a differential encoding mode and selectively using an intra-frame prediction mode based on a coexistence rule. The intra-frame prediction mode is used to generate predictions for samples of the current video block. The differential encoding mode is used to represent a block of quantized residuals from pixel predictions using a differential pulse code modulation representation.

На фиг. 14 показана блок-схема, иллюстрирующая пример системы 1400 обработки видео, в которой могут быть реализованы различные технологии, раскрытые в данном документе. Различные реализации могут включать в себя некоторые или все компоненты системы 1400. Система 1400 может включать в себя вход 1402 для приема видеосодержания. Видеосодержание может приниматься в необработанном или несжатом формате, например, с 8- или 10-разрядными многокомпонентными пиксельными значениями, или может быть представлено в сжатом или кодированном формате. Вход 1402 может представлять сетевой интерфейс, интерфейс периферийной шины или интерфейс запоминающего устройства. Примеры сетевого интерфейса включают в себя проводные интерфейсы, такие как Ethernet, пассивная оптическая сеть (PON) и т.д., и беспроводные интерфейсы, такие как Wi-Fi или сотовые интерфейсы.In fig. 14 is a block diagram illustrating an example of a video processing system 1400 in which various technologies disclosed herein may be implemented. Various implementations may include some or all of the components of the system 1400. The system 1400 may include an input 1402 for receiving video content. Video content may be received in a raw or uncompressed format, such as 8- or 10-bit multi-pixel values, or may be presented in a compressed or encoded format. Input 1402 may represent a network interface, a peripheral bus interface, or a storage device interface. Examples of a network interface include wired interfaces such as Ethernet, passive optical network (PON), etc., and wireless interfaces such as Wi-Fi or cellular interfaces.

Система 1400 может включать в себя компонент 1404 кодирования, который может реализовывать различные способы кодирования или шифрования, описанные в настоящем документе. Компонент 1404 кодирования позволяет уменьшить среднюю скорость передачи битов видео от входа 1402 до выхода компонента 1404 кодирования, чтобы создать кодированное представление видео. Поэтому технологии кодирования иногда называют технологиями сжатия видео или транскодирования видео. Выходной сигнал компонента 1404 кодирования может быть либо сохранен, либо передан через подключенную связь, как представлено компонентом 1406. Сохраненное или переданное битовое (или кодированное) представление видео, полученного на входе 1402, может использоваться компонентом 1408 для выработки пиксельных значений или отображаемого видео, которое отправляется в интерфейс 1410 дисплея. Процесс выработки доступного для просмотра пользователем видео из представления битового потока иногда называется распаковкой видео. Кроме того, хотя определенные операции обработки видео упоминаются как операции или средства "кодирования", следует понимать, что средства или операции кодирования используются в кодере, и соответствующие средства или операции декодирования, которые обращают результаты кодирования, будут выполняться посредством декодера.System 1400 may include an encoding component 1404 that may implement various encoding or encryption methods described herein. The encoding component 1404 allows the average video bit rate from the input 1402 to the output of the encoding component 1404 to be reduced to create an encoded representation of the video. Therefore, encoding technologies are sometimes called video compression technologies or video transcoding technologies. The output of encoding component 1404 may be either stored or transmitted via a connected link, as represented by component 1406. The stored or transmitted bitmap (or encoded) representation of the video received at input 1402 may be used by component 1408 to generate pixel values or display video that sent to display interface 1410. The process of producing user-viewable video from a bitstream representation is sometimes called video decompression. In addition, although certain video processing operations are referred to as "encoding" operations or means, it should be understood that the encoding means or operations are used in the encoder, and the corresponding decoding means or operations that reverse the encoding results will be performed by the decoder.

Примеры интерфейса периферийной шины или интерфейса дисплея могут включать в себя универсальную последовательную шину (USB), мультимедийный интерфейс высокой четкости (HDMI) или порт дисплея (Displayport) и т.д. Примеры интерфейсов запоминающих устройств включают в себя SATA (последовательное подключение с использованием передовых технологий), PCI, интерфейс IDE и т.п. Технологии, описанные в настоящем документе, могут быть воплощены в различных электронных устройствах, таких как мобильные телефоны, ноутбуки, смартфоны или другие устройства, которые способны выполнять обработку цифровых данных и/или отображение видео.Examples of the peripheral bus interface or display interface may include a universal serial bus (USB), a high-definition multimedia interface (HDMI), or a display port (Displayport), etc. Examples of storage device interfaces include SATA (Serial Advanced Technology), PCI, IDE interface, etc. The technologies described herein may be implemented in various electronic devices, such as mobile phones, laptops, smartphones, or other devices that are capable of digital data processing and/or video display.

Некоторые варианты осуществления раскрытой технологии включают в себя принятие решения или определение включения средства или режима обработки видео. В одном примере, когда средство или режим обработки видео включены, кодер будет использовать или реализовывать средство или режим при обработке видеоблока, но не обязательно может изменять результирующий битовый поток на основе использования средства или режима. То есть преобразование из видеоблока в представление битового потока видео будет использовать средство или режим обработки видео, когда он включен, на основе решения или определения. В другом примере, когда средство или режим обработки видео включены, декодер будет обрабатывать битовый поток, зная, что битовый поток был изменен, на основе средства или режима обработки видео. То есть преобразование из представления битового потока видео в видеоблок будет выполняться с использованием средства обработки видео или режима, который был включен на основе решения или определения. Some embodiments of the disclosed technology include deciding or determining whether to enable a video processing facility or mode. In one example, when a video processing tool or mode is enabled, the encoder will use or implement the tool or mode when processing a video block, but may not necessarily change the resulting bitstream based on the use of the tool or mode. That is, the conversion from a video block to a video bitstream representation will use the video processing facility or mode, when enabled, based on the decision or determination. In another example, when the video processing tool or mode is enabled, the decoder will process the bitstream knowing that the bitstream has been modified based on the video processing tool or mode. That is, the conversion from a video bitstream representation to a video block will be performed using the video processing engine or mode that has been enabled based on the decision or determination.

Некоторые варианты осуществления раскрытой технологии включают в себя принятие решения или определение относительно того, отключить средство или режим обработки видео. В одном примере, когда средство или режим обработки видео отключены, кодер не будет использовать средство или режим при преобразовании видеоблока в представление битового потока видео. В другом примере, когда средство или режим обработки видео отключены, декодер будет обрабатывать битовый поток, зная, что битовый поток не был изменен, с использованием средства или режима обработки видео, которые были отключены на основе решения или определения.Some embodiments of the disclosed technology include deciding or determining whether to disable a video processing facility or mode. In one example, when a video processing tool or mode is disabled, the encoder will not use the tool or mode when converting a video block to a video bitstream representation. In another example, when the video processing tool or mode is disabled, the decoder will process the bitstream knowing that the bitstream has not been modified using the video processing tool or mode that was disabled based on the decision or determination.

На фиг. 15 показана блок-схема, которая иллюстрирует примерную систему 100 кодирования видео, которая может использовать способы настоящего раскрытия. Как показано на фиг. 15, система 100 кодирования видео может включать в себя устройство-источник 110 и устройство-получатель 120. Устройство-источник 110, которое может называться устройством кодирования видео, вырабатывает кодированные видеоданные. Устройство-получатель 120, которое может называться устройством декодирования видео, может декодировать кодированные видеоданные, выработанные устройством-источником 110. Устройство-источник 110 может включать в себя источник 112 видео, видеокодер 114 и интерфейс 116 ввода/вывода (I/O). In fig. 15 is a block diagram that illustrates an example video encoding system 100 that may use the methods of the present disclosure. As shown in FIG. 15, the video encoding system 100 may include a source device 110 and a destination device 120. The source device 110, which may be referred to as a video encoder, produces encoded video data. A destination device 120, which may be referred to as a video decoder, may decode encoded video data produced by a source device 110. The source device 110 may include a video source 112, a video encoder 114, and an input/output (I/O) interface 116.

Источник 112 видео может включать в себя источник, такой как устройство захвата видео, интерфейс для приема видеоданных от поставщика содержания видео и/или систему компьютерной графики для выработки видеоданных или сочетание таких источников. Видеоданные могут содержать одно или несколько изображений. Видеокодер 114 кодирует видеоданные из источника 112 видео для выработки битового потока. Битовый поток может включать в себя последовательность битов, которые образуют кодированное представление видеоданных. Битовый поток может включать в себя кодированные изображения и ассоциированные данные. Кодированное изображение представляет собой кодированное представление изображения. Ассоциированные данные могут включать в себя наборы параметров последовательности, наборы параметров изображения и другие синтаксические структуры. Интерфейс 116 ввода/вывода может включать в себя модулятор/демодулятор (модем) и/или передатчик. Кодированные видеоданные могут быть переданы непосредственно в устройство-получатель 120 через интерфейс 116 ввода/вывода через сеть 130a. Кодированные видеоданные также могут быть сохранены на носителе информации/сервере 130b для доступа со стороны устройства-получателя 120.Video source 112 may include a source such as a video capture device, an interface for receiving video data from a video content provider, and/or a computer graphics system for generating video data, or a combination of such sources. Video data may contain one or more images. Video encoder 114 encodes video data from video source 112 to produce a bitstream. The bit stream may include a sequence of bits that form an encoded representation of video data. The bitstream may include encoded images and associated data. A coded image is a coded representation of an image. Associated data may include sequence parameter sets, image parameter sets, and other syntactic structures. I/O interface 116 may include a modulator/demodulator (modem) and/or a transmitter. The encoded video data may be transmitted directly to the recipient device 120 via I/O interface 116 via network 130a. The encoded video data may also be stored on storage medium/server 130b for access by recipient device 120.

Устройство-получатель 120 может включать в себя интерфейс 126 ввода/вывода, видеодекодер 124 и устройство 122 отображения.Destination device 120 may include an input/output interface 126, a video decoder 124, and a display device 122.

Интерфейс 126 ввода/вывода может включать в себя приемник и/или модем. Интерфейс 126 ввода/вывода может получать кодированные видеоданные из устройства-источника 110 или носителя информации/сервера 130b. Видеодекодер 124 может декодировать кодированные видеоданные. Устройство 122 отображения может отображать декодированные видеоданные для пользователя. Устройство 122 отображения может быть интегрировано с целевым устройством 120 или может быть внешним по отношению к целевому устройству 120, которое конфигурируется для взаимодействия с внешним устройством отображения. I/O interface 126 may include a receiver and/or a modem. I/O interface 126 may receive encoded video data from source device 110 or media/server 130b. Video decoder 124 may decode encoded video data. The display device 122 may display the decoded video data to the user. Display device 122 may be integrated with target device 120 or may be external to target device 120 that is configured to interface with the external display device.

Видеокодер 114 и видеодекодер 124 могут работать в соответствии со стандартом сжатия видео, например, стандартом высокоэффективного кодирования видео (HEVC), стандартом универсального кодирования видео (VVM) и другими существующими и/или дополнительными стандартами.Video encoder 114 and video decoder 124 may operate in accordance with a video compression standard, such as the High Efficiency Video Coding (HEVC) standard, the Versatile Video Coding (VVM) standard, and other existing and/or additional standards.

На фиг. 16 показана блок-схема, иллюстрирующая пример видеокодера 200, который может быть видеокодером 114 в системе 100, проиллюстрированной на фиг. 15.In fig. 16 is a block diagram illustrating an example of video encoder 200, which may be video encoder 114 in the system 100 illustrated in FIG. 15.

Видеокодер 200 может быть выполнен с возможностью выполнения любого или всех способов настоящего раскрытия. В примере, показанном на фиг. 16, видеокодер 200 включает в себя множество функциональных компонентов. Способы, описанные в настоящем раскрытии, могут совместно использоваться различными компонентами видеокодера 200. В некоторых примерах процессор может быть выполнен с возможностью выполнения любого или всех способов, описанных в настоящем раскрытии.Video encoder 200 may be configured to perform any or all of the methods of the present disclosure. In the example shown in FIG. 16, video encoder 200 includes a variety of functional components. The methods described in the present disclosure may be shared among various components of video encoder 200. In some examples, the processor may be configured to perform any or all of the methods described in the present disclosure.

Функциональные компоненты видеокодера 200 могут включать в себя блок 201 разделения, блок 202 предсказания, который может включать в себя блок 203 выбора режима, блок 204 оценки движения, блок 205 компенсации движения и блок 206 внутрикадрового предсказания, блок 207 выработки остатка, блок 208 преобразования, блок 209 квантования, блок 210 обратного квантования, блок 211 обратного преобразования, блок 212 восстановления, буфер 213 и блок 214 энтропийного кодирования.Functional components of the video encoder 200 may include a division block 201, a prediction block 202, which may include a mode selection block 203, a motion estimation block 204, a motion compensation block 205 and an intra-frame prediction block 206, a residual generation block 207, a transform block 208, a quantization unit 209, an inverse quantization unit 210, an inverse transform unit 211, a reconstruction unit 212, a buffer 213, and an entropy encoding unit 214.

В других примерах видеокодер 200 может включать в себя больше или меньше функциональных компонентов или различные функциональные компоненты. В примере блок 202 предсказания может включать в себя блок внутрикадрового блочного копирования (IBC). Блок IBC может выполнять предсказание в режиме IBC, в котором по меньшей мере одно опорное изображение является изображением, на котором расположен текущий видеоблок.In other examples, video encoder 200 may include more or fewer functional components, or different functional components. In an example, prediction block 202 may include an intra-block copy (IBC) block. The IBC block may perform prediction in an IBC mode in which at least one reference image is an image on which the current video block is located.

Кроме того, некоторые компоненты, такие как блок 204 оценки движения и блок 205 компенсации движения, могут быть выполнены с высокой степенью интеграции, но в примере, показанном на фиг. 16, они представлены отдельно для упрощения объяснения.In addition, some components, such as motion estimation block 204 and motion compensation block 205, can be implemented with a high degree of integration, but in the example shown in FIG. 16, they are presented separately for ease of explanation.

Блок 201 разделения может разбивать изображение на один или несколько видеоблоков. Видеокодер 200 и видеодекодер 300 могут поддерживать различные размеры видеоблоков.The division unit 201 may divide the image into one or more video blocks. Video encoder 200 and video decoder 300 may support different video block sizes.

Блок 203 выбора режима может выбрать один из режимов кодирования, внутрикадровый или межкадровый, например, на основе результатов ошибок, и предоставить результирующий внутрикадровый или межкадровый кодированный блок в блок 207 выработки остатка для выработки данных блока остатка и в блок 212 восстановления для восстановления кодированного блока с целью использования в качестве опорного изображения. В некотором примере блок 203 выбора режима может выбрать комбинацию режима внутрикадрового и межкадрового предсказания (CIIP), в котором предсказание основано на сигнале межкадрового предсказания и сигнале внутрикадрового предсказания. Блок 203 выбора режима также может выбирать разрешение для вектора движения (например, с точностью подпикселей или целочисленных пикселей) для блока в случае межкадрового предсказания.The mode selection unit 203 may select one of the encoding modes, intra-frame or inter-frame, for example, based on the error results, and provide the resulting intra-frame or inter-frame coded block to a residual generation unit 207 to generate the residual block data and to a recovery unit 212 to reconstruct the encoded block with for use as a reference image. In some example, the mode selector 203 may select a combination of an intra-frame and inter-frame prediction (CIIP) mode in which the prediction is based on an inter-frame prediction signal and an intra-frame prediction signal. The mode selector 203 may also select a motion vector resolution (eg, sub-pixel or integer pixel precision) for the block in the case of inter-frame prediction.

Чтобы выполнить межкадровое предсказание для текущего видеоблока, блок 204 оценки движения может выработать информацию движения для текущего видеоблока путем сравнения одного или нескольких опорных кадров из буфера 213 с текущим видеоблоком. Блок 205 компенсации движения может определять предсказанный видеоблок для текущего видеоблока на основе информации движения и декодированных отсчетов изображений из буфера 213, которые отличаются от изображения, ассоциированного с текущим видеоблоком.To perform inter-frame prediction for the current video block, motion estimator 204 may generate motion information for the current video block by comparing one or more reference frames from buffer 213 to the current video block. Motion compensation unit 205 may determine a predicted video block for the current video block based on motion information and decoded image samples from buffer 213 that are different from the image associated with the current video block.

Блок 204 оценки движения и блок 205 компенсации движения могут выполнять разные операции для текущего видеоблока, например, в зависимости от того, находится ли текущий видеоблок в I-слайсе, P-слайсе или B-слайсе.The motion estimation unit 204 and the motion compensation unit 205 may perform different operations for the current video block, for example, depending on whether the current video block is in an I-slice, a P-slice, or a B-slice.

В некоторых примерах блок 204 оценки движения может выполнять однонаправленное предсказание для текущего видеоблока, и блок 204 оценки движения может отыскивать опорные изображения из списка 0 или списка 1 для опорного видеоблока для текущего видеоблока. Затем блок 204 оценки движения может выработать опорный индекс, который указывает опорное изображение в списке 0 или списке 1, который содержит опорный видеоблок, и вектор движения, который указывает пространственное смещение между текущим видеоблоком и опорным видеоблоком. Блок 204 оценки движения может выводить опорный индекс, индикатор направления предсказания и вектор движения в качестве информации движения текущего видеоблока. Блок 205 компенсации движения может выработать предсказанный видеоблок текущего блока на основе опорного видеоблока, указанного в информации движения текущего видеоблока.In some examples, motion estimator 204 may perform unidirectional prediction for the current video block, and motion estimator 204 may retrieve reference images from list 0 or list 1 for the reference video block for the current video block. The motion estimator 204 may then generate a reference index that indicates a reference image in list 0 or list 1 that contains the reference video block, and a motion vector that indicates a spatial offset between the current video block and the reference video block. The motion estimation unit 204 may output the reference index, the prediction direction indicator, and the motion vector as motion information of the current video block. The motion compensation unit 205 may generate a predicted video block of the current block based on the reference video block specified in the motion information of the current video block.

В других примерах блок 204 оценки движения может выполнять двунаправленное предсказание для текущего видеоблока, блок 204 оценки движения может отыскивать опорные изображения в списке 0 для опорного видеоблока для текущего видеоблока и может отыскивать опорные изображения в списке 1 для другого опорного видеоблока для текущего видеоблока. Затем блок 204 оценки движения может выработать опорные индексы, которые указывают опорные изображения в списке 0 и списке 1, содержащем опорные видеоблоки и векторы движения, которые указывают пространственные смещения между опорными видеоблоками и текущим видеоблоком. Блок 204 оценки движения может выводить опорные индексы и векторы движения текущего видеоблока в качестве информации движения текущего видеоблока. Блок 205 компенсации движения может выработать предсказанный видеоблок текущего видеоблока на основе опорных видеоблоков, указанных в информации движения текущего видеоблока.In other examples, motion estimator 204 may perform bidirectional prediction for the current video block, motion estimator 204 may look up reference images in list 0 for a reference video block for the current video block, and can look up reference images in list 1 for another reference video block for the current video block. Motion estimator 204 may then generate reference indices that indicate reference pictures in list 0 and list 1 containing reference video blocks and motion vectors that indicate spatial offsets between the reference video blocks and the current video block. The motion estimation unit 204 may output reference indices and motion vectors of the current video block as motion information of the current video block. The motion compensation unit 205 may generate a predicted video block of the current video block based on the reference video blocks specified in the motion information of the current video block.

В некоторых примерах блок 204 оценки движения может выводить полный набор информации движения для процесса декодирования декодера.In some examples, motion estimator 204 may output a complete set of motion information for the decoder decoding process.

В некоторых примерах блок 204 оценки движения может не выводить полный набор информации движения для текущего видео. Скорее, блок 204 оценки движения может сигнализировать информацию движения текущего видеоблока со ссылкой на информацию движения другого видеоблока. Например, блок 204 оценки движения может определить, что информация движения текущего видеоблока достаточно похожа на информацию движения соседнего видеоблока.In some examples, motion estimator 204 may not output the full set of motion information for the current video. Rather, motion estimator 204 may signal motion information of the current video block with reference to motion information of another video block. For example, motion estimator 204 may determine that the motion information of the current video block is sufficiently similar to the motion information of an adjacent video block.

В одном примере блок 204 оценки движения может указывать в структуре синтаксиса, ассоциированной с текущим видеоблоком, значение, которое указывает видеодекодеру 300, что текущий видеоблок имеет ту же информацию движения, что и другой видеоблок.In one example, motion estimator 204 may indicate, in a syntax structure associated with the current video block, a value that indicates to video decoder 300 that the current video block has the same motion information as another video block.

В другом примере блок 204 оценки движения может идентифицировать в структуре синтаксиса, ассоциированной с текущим видеоблоком, другой видеоблок и разность векторов движения (MVD). Разность векторов движения указывает разность между вектором движения текущего видеоблока и вектором движения указанного видеоблока. Видеодекодер 300 может использовать вектор движения указанного видеоблока и разность векторов движения для определения вектора движения текущего видеоблока.In another example, motion estimator 204 may identify, in the syntax structure associated with the current video block, another video block and a motion vector difference (MVD). The motion vector difference indicates the difference between the motion vector of the current video block and the motion vector of the specified video block. Video decoder 300 may use the motion vector of the specified video block and the difference of the motion vectors to determine the motion vector of the current video block.

Как обсуждалось выше, видеокодер 200 может с предсказанием сигнализировать о векторе движения. Два примера способов сигнализации предсказания, которые могут быть реализованы видеокодером 200, включают в себя расширенное предсказание вектора движения (AMVP) и сигнализацию в режиме слияния.As discussed above, video encoder 200 may predictively signal a motion vector. Two examples of prediction signaling techniques that may be implemented by video encoder 200 include enhanced motion vector prediction (AMVP) and merge mode signaling.

Блок 206 внутрикадрового предсказания может выполнять внутрикадровое предсказание для текущего видеоблока. Когда внутрикадровый блок предсказания 206 выполняет внутрикадровое предсказание в текущем блоке видеосигнала, блок 206 внутрикадрового предсказания может выработать данные предсказания для текущего видеоблока на основе декодированных отсчетов других видеоблоков в одном том же кадре. Данные предсказания для текущего видеоблока могут включать в себя предсказанный видеоблок и различные синтаксические элементы.The intra-frame prediction unit 206 may perform intra-frame prediction for the current video block. When intra-frame prediction unit 206 performs intra-frame prediction on the current video block, intra-frame prediction unit 206 may generate prediction data for the current video block based on decoded samples of other video blocks in the same frame. The prediction data for the current video block may include the predicted video block and various syntax elements.

Блок 207 выработки остатка может выработать данные остатка для текущего видеоблока путем вычитания (например, обозначенного знаком минус) предсказанного видеоблока(ов) текущего видеоблока из текущего видеоблока. Данные остатка текущего видеоблока могут включать в себя видеоблоки остатка, которые соответствуют различным компонентам отсчетов в текущем видеоблоке.Residual generating unit 207 may generate residual data for the current video block by subtracting (eg, indicated by a minus sign) the predicted video block(s) of the current video block from the current video block. The current video block residual data may include residual video blocks that correspond to various sample components in the current video block.

В других примерах могут отсутствовать данные остатка для текущего видеоблока для текущего видеоблока, например, в режиме пропуска, и блок 207 выработки остатка может не выполнять операцию вычитания.In other examples, there may be no residual data for the current video block for the current video block, for example, in a skip mode, and the residual generating unit 207 may not perform the subtraction operation.

Блок 208 обработки преобразования может выработать один или несколько видеоблоков коэффициентов преобразования для текущего видеоблока путем применения одного или нескольких преобразований к видеоблоку остатка, ассоциированному с текущим видеоблоком.Transform processing unit 208 may generate one or more video blocks of transform coefficients for the current video block by applying one or more transforms to the remainder video block associated with the current video block.

После того, как блок 208 обработки преобразования выработает видеоблок коэффициента преобразования, ассоциированный с текущим видеоблоком, блок 209 квантования может квантовать видеоблок коэффициента преобразования, ассоциированный с текущим видеоблоком, на основе одного или нескольких значений параметра квантования (QP), ассоциированных с текущим видеоблоком.After transform processing unit 208 produces a transform coefficient video block associated with the current video block, quantization unit 209 may quantize the transform coefficient video block associated with the current video block based on one or more quantization parameter (QP) values associated with the current video block.

Блок 210 обратного квантования и блок 211 обратного преобразования могут применять обратное квантование и обратное преобразование к видеоблоку коэффициентов преобразования, соответственно, для восстановления видеоблока остатка из видеоблока коэффициентов преобразования. Блок 212 восстановления может добавить восстановленный видеоблок остатка к соответствующим отсчетам из одного или нескольких предсказанных видеоблоков, выработанных блоком 202 предсказания, чтобы получить восстановленный видеоблок, ассоциированный с текущим блоком, для хранения в буфере 213.The inverse quantization unit 210 and the inverse transform unit 211 may apply the inverse quantization and inverse transform to the transform coefficient video block, respectively, to recover the remainder video block from the transform coefficient video block. Reconstruction unit 212 may add the reconstructed residual video block to corresponding samples from one or more predicted video blocks generated by prediction unit 202 to obtain a reconstructed video block associated with the current block for storage in buffer 213.

После того, как блок 212 восстановления восстановит видеоблок, может выполняться операция контурной фильтрации для уменьшения артефактов видеоблока в видеоблоке.After the recovery unit 212 recovers the video block, a contour filtering operation may be performed to reduce video block artifacts in the video block.

Блок 214 энтропийного кодирования может принимать данные из других функциональных компонентов видеокодера 200. Когда блок 214 энтропийного кодирования принимает данные, блок 214 энтропийного кодирования может выполнять одну или несколько операций энтропийного кодирования для выработки энтропийно-кодированных данных и вывода битового потока, который включает в себя энтропийно-кодированные данные.Entropy encoding block 214 may receive data from other functional components of video encoder 200. When entropy encoding block 214 receives data, entropy encoding block 214 may perform one or more entropy encoding operations to generate entropy-encoded data and output a bitstream that includes entropy encoding -encoded data.

На фиг. 17 показана блок-схема, иллюстрирующая пример видеодекодера 300, который может быть видеодекодером 114 в системе 100, проиллюстрированной на фиг. 16. In fig. 17 is a block diagram illustrating an example of video decoder 300, which may be video decoder 114 in the system 100 illustrated in FIG. 16.

Видеодекодер 300 может быть выполнен с возможностью выполнения любого или всех способов настоящего раскрытия. В примере, показанном на фиг. 17, видеодекодер 300 включает в себя множество функциональных компонентов. Способы, описанные в настоящем раскрытии, могут совместно использоваться различными компонентами видеодекодера 300. В некоторых примерах процессор может быть выполнен с возможностью выполнения любых или всех способов, описанных в настоящем раскрытии.Video decoder 300 may be configured to perform any or all of the methods of the present disclosure. In the example shown in FIG. 17, video decoder 300 includes a variety of functional components. The methods described in the present disclosure may be shared among various components of the video decoder 300. In some examples, the processor may be configured to perform any or all of the methods described in the present disclosure.

В примере, показанном на фиг. 17, видеодекодер 300 включает в себя блок 301 энтропийного декодирования, блок 302 компенсации движения, блок 303 внутрикадрового предсказания, блок 304 обратного квантования, блок 305 обратного преобразования, блок 306 восстановления и буфер 307. В некоторых примерах видеодекодер 300 может выполнять этап декодирования, в целом обратный этапу кодирования, описанному в отношении видеокодера 200 (фиг. 16).In the example shown in FIG. 17, video decoder 300 includes an entropy decoding unit 301, a motion compensation unit 302, an intra-frame prediction unit 303, an inverse quantization unit 304, an inverse transform unit 305, a restoration unit 306, and a buffer 307. In some examples, the video decoder 300 may perform a decoding step, in generally the reverse of the encoding step described with respect to video encoder 200 (FIG. 16).

Блок 301 энтропийного декодирования может извлекать закодированный битовый поток. Кодированный битовый поток может включать в себя энтропийно-кодированные видеоданные (например, кодированные блоки видеоданных). Блок 301 энтропийного декодирования может декодировать энтропийно-кодированные видеоданные, и из энтропийно-декодированных видеоданных блок 302 компенсации движения может определять информацию движения, включая векторы движения, точность вектора движения, индексы списка опорных изображений и другую информацию движения. Блок 302 компенсации движения может, например, определять такую информацию, выполняя AMVP и режим слияния.The entropy decoding unit 301 may extract the encoded bit stream. The coded bitstream may include entropy-coded video data (eg, coded blocks of video data). The entropy decoding unit 301 can decode the entropy-coded video data, and from the entropy-decoded video data, the motion compensation unit 302 can determine motion information including motion vectors, motion vector precision, reference picture list indices, and other motion information. The motion compensation unit 302 may, for example, determine such information by performing AMVP and merging mode.

Блок 302 компенсации движения может создавать блоки с компенсацией движения, возможно, выполняя интерполяцию на основе фильтров интерполяции. Идентификаторы для фильтров интерполяции, которые должны использоваться с точностью до подпикселя, могут быть включены в синтаксические элементы.Motion compensation block 302 may create motion compensated blocks, possibly performing interpolation based on interpolation filters. Identifiers for interpolation filters that must be used with sub-pixel precision can be included in syntax elements.

Блок 302 компенсации движения может использовать фильтры интерполяции, которые используются видеокодером 20 во время кодирования видеоблока, для вычисления интерполированных значений для субцелочисленных пикселей опорного блока. Блок 302 компенсации движения может определять фильтры интерполяции, используемые видеокодером 200, в соответствии с принятой синтаксической информацией и использовать фильтры интерполяции для создания блоков предсказания.Motion compensation block 302 may use interpolation filters that are used by video encoder 20 during encoding of a video block to calculate interpolated values for sub-integer pixels of the reference block. The motion compensation block 302 may determine the interpolation filters used by the video encoder 200 in accordance with the received syntax information and use the interpolation filters to create prediction blocks.

Блок 302 компенсации движения может использовать некоторую информацию синтаксиса для определения размеров блоков, используемых для кодирования кадра(ов) и/или слайса(ов) кодированной видеопоследовательности, информации о разделах, которая описывает то, как каждый макроблок изображения закодированной видеопоследовательности разбивается на разделы, режимов, указывающих то, как кодируется каждый раздел, одного или более опорных кадров (и списков опорных кадров) для каждого межкадрового кодированного блока и другой информации для декодирования кодированной видеопоследовательности.Motion compensation block 302 may use some syntax information to determine the block sizes used to encode the frame(s) and/or slice(s) of the encoded video sequence, partition information that describes how each image macroblock of the encoded video sequence is divided into partitions, modes , indicating how each section is encoded, one or more reference frames (and lists of reference frames) for each inter-frame coded block, and other information for decoding the coded video sequence.

Внутрикадровый блок 303 предсказания может использовать режимы внутрикадрового предсказания, например, принятые в битовом потоке, для формирования блока предсказания из пространственно смежных блоков. Блок 303 обратного квантования выполняет обратное квантование, то есть выполняет операцию, обратную квантованию, квантованных коэффициентов видеоблока, предоставленных в битовом потоке и декодированных блоком 301 энтропийного декодирования. Блок 303 обратного преобразования применяет обратное преобразование.Intra-frame prediction block 303 may use intra-frame prediction modes, such as those received in a bitstream, to form a prediction block from spatially contiguous blocks. The inverse quantization unit 303 performs inverse quantization, that is, the inverse operation of quantization, on the quantized video block coefficients provided in the bit stream and decoded by the entropy decoding unit 301. The inverse transform block 303 applies the inverse transform.

Блок 306 восстановления может суммировать блоки остатка с соответствующими блоками предсказания, выработанными блоком 202 компенсации движения или блоком 303 внутрикадрового предсказания, чтобы сформировать декодированные блоки. При необходимости фильтр удаления блочности также может применяться для фильтрации декодированных блоков с целью удаления артефактов блочности. Затем декодированные видеоблоки сохраняются в буфере 307, который предоставляет опорные блоки для последующей компенсации движения/внутрикадрового предсказания, а также создает декодированное видео для представления на экране устройства отображения.The recovery unit 306 may add the remainder blocks with the corresponding prediction blocks generated by the motion compensation unit 202 or the intra-frame prediction unit 303 to generate decoded blocks. If necessary, the deblocking filter can also be used to filter the decoded blocks to remove blocking artifacts. The decoded video blocks are then stored in a buffer 307, which provides reference blocks for subsequent motion compensation/intra prediction and also produces decoded video for presentation on the display device screen.

В некоторых вариантах осуществления в режиме ALWIP или в режиме MIP блок предсказания для текущего видеоблока определяется путем усреднения по строкам и столбцам с последующим матричным умножением, за которым следует интерполяция для определения блока предсказания.In some embodiments, in ALWIP mode or MIP mode, the prediction block for the current video block is determined by row and column averaging followed by matrix multiplication, followed by interpolation to determine the prediction block.

На фиг. 18 показана блок-схема последовательности операций примерного способа 1800 обработки видео. Способ 1800 включает в себя определение 1802, на основе правила применимости, того, что режим дифференциального кодирования применим к преобразованию между видеоблоком цветности видео и представлением битового потока видеоблока цветности. Операция 1804 включает в себя выполнение, на основе определения, преобразования между видеоблоком цветности и представлением битового потока видеоблока цветности с использованием режима дифференциального кодирования, где, в режиме дифференциального кодирования, видеоблок цветности представлен в представлении битового потока с использованием разности между квантованным остатком внутрикадрового предсказания видеоблока цветности и предсказанием квантованного остатка, где внутрикадровое предсказание выполняется в первом направлении, и предсказание квантованного остатка выполняется во втором направлении, и где, в режиме дифференциального кодирования, разность между квантованным остатком и предсказанием квантованного остатка представлена с использованием представления дифференциальной импульсно-кодовой модуляции (DPCM). In fig. 18 is a flowchart of an exemplary video processing method 1800. Method 1800 includes determining 1802, based on an applicability rule, that a differential coding mode is applicable to the conversion between a video chrominance video block and a bitstream representation of the chrominance video block. Operation 1804 includes performing, based on the determination, a transformation between a chroma video block and a bitstream representation of the chroma video block using a differential encoding mode, where, in the differential encoding mode, the chroma video block is represented in a bitstream representation using the difference between the quantized intra-prediction residual of the video block chrominance and quantized residual prediction, wherein intra-frame prediction is performed in a first direction and quantized residual prediction is performed in a second direction, and where, in differential coding mode, the difference between the quantized residual and the quantized residual prediction is represented using a differential pulse code modulation (DPCM) representation ).

В некоторых вариантах осуществления способа 1800 первое направление или второе направление определяется из вертикального направления и горизонтального направления. В некоторых вариантах осуществления способа 1800 внутрикадровое предсказание выполняется в первом направлении, которое является таким же, как и во внутрикадровом предсказании, выполняемом для видеоблока яркости, соответствующего видеоблоку цветности. В некоторых вариантах осуществления способа 1800 разрешенным режимом внутрикадрового предсказания для видеоблока яркости является такой же режим, который используется для выполнения внутрикадрового предсказания для видеоблока цветности, соответствующего видеоблоку яркости. В некоторых вариантах осуществления способа 1800 второе направление, разрешенное для квантованного остатка видеоблока цветности, является таким же, как и направление, используемое для другого квантованного остатка видеоблока яркости, соответствующего видеоблоку цветности. В некоторых вариантах осуществления способа 1800 второе направление, используемое для предсказания квантованного остатка, основано на втором направлении, в котором дополнительные квантованные остатки предсказываются для видеоблока яркости, соответствующего видеоблоку цветности. В некоторых вариантах осуществления способа 1800 видеоблок яркости совмещен с видеоблоком цветности. В некоторых вариантах осуществления способа 1800 видеоблок яркости включает в себя первый отсчет, который совмещен со вторым отсчетом, расположенным в верхнем левом углу видеоблока цветности. В некоторых вариантах осуществления способа 1800 видеоблок яркости включает в себя первый отсчет, который совмещен со вторым отсчетом, расположенным в центре видеоблока цветности.In some embodiments of method 1800, a first direction or a second direction is determined from a vertical direction and a horizontal direction. In some embodiments of method 1800, intra-frame prediction is performed in a first direction, which is the same as the intra-frame prediction performed on a luma video block corresponding to a chrominance video block. In some embodiments of method 1800, the allowed intra-prediction mode for a luma video block is the same mode that is used to perform intra-prediction for a chrominance video block corresponding to the luma video block. In some embodiments of method 1800, the second direction allowed for a quantized remainder of a chrominance video block is the same as the direction used for another quantized remainder of a luminance video block corresponding to the chroma video block. In some embodiments of method 1800, the second direction used to predict the quantized residual is based on the second direction in which additional quantized residuals are predicted for a luma video block corresponding to a chrominance video block. In some embodiments of method 1800, a luma video block is combined with a chrominance video block. In some embodiments of method 1800, the luma video block includes a first sample that is aligned with a second sample located in the upper left corner of the chrominance video block. In some embodiments of method 1800, the luminance video block includes a first sample that is aligned with a second sample located in the center of the chrominance video block.

В некоторых вариантах осуществления способа 1800 правило применимости точно определяет то, что режим дифференциального кодирования не применяется к видеоблоку цветности, когда видеоблок цветности закодирован в режиме кодирования на основе межкомпонентной линейной модели (CCLM). В некоторых вариантах осуществления способа 1800 правило применимости точно определяет то, что режим дифференциального кодирования применяется к видеоблоку цветности, когда видеоблок цветности закодирован в режиме кодирования на основе межкомпонентной линейной модели (CCLM). В некоторых вариантах осуществления способа 1800 правило применимости точно определяет то, что режим дифференциального кодирования не применяется к видеоблоку цветности, когда видеоблок цветности закодирован с помощью способа совместного кодирования остатка цветности. В некоторых вариантах осуществления способа 1800 видеоблок цветности ассоциирован с компонентом синего цвета или компонентом красного цвета.In some embodiments of method 1800, the applicability rule specifies that the differential encoding mode does not apply to a chroma video block when the chrominance video block is encoded in a cross-component linear model (CCLM) coding mode. In some embodiments of method 1800, the applicability rule specifies that a differential coding mode applies to a chroma video block when the chroma video block is encoded in a intercomponent linear model (CCLM) coding mode. In some embodiments of method 1800, the applicability rule specifies that the differential encoding mode does not apply to a chrominance video block when the chroma video block is encoded using a chrominance residual co-coding method. In some embodiments of method 1800, a video chrominance block is associated with a blue component or a red component.

На фиг. 19 показана блок-схема последовательности операций примерного способа 1900 обработки видео. Способ 1900 включает в себя выполнение 1902 преобразования между текущим видеоблоком видео и представлением битового потока текущего видеоблока с использованием режима дифференциального кодирования и режима внутрикадрового предсказания на основе правила сосуществования, где, в режиме внутрикадрового предсказания, квантованный остаток внутрикадрового предсказания текущего видеоблока основан на предсказаниях отсчетов для текущего видеоблока, где, в режиме дифференциального кодирования, текущий видеоблок представлен в представлении битового потока с использованием разности между квантованным остатком и предсказанием квантованного остатка, и где разность между квантованным остатком и предсказанием квантованного остатка представлена с использованием представления дифференциальной импульсно-кодовой модуляции (DPCM).In fig. 19 is a flowchart of an exemplary video processing method 1900. Method 1900 includes performing 1902 a transformation between the current video block of video and a bitstream representation of the current video block using a differential encoding mode and a coexistence rule-based intra-prediction mode, where, in the intra-prediction mode, the quantized intra-prediction remainder of the current video block is based on sample predictions for of the current video block, where, in differential encoding mode, the current video block is represented in a bitstream representation using the difference between the quantized remainder and the predicted quantized remainder, and where the difference between the quantized remainder and the predicted quantized remainder is represented using a differential pulse code modulation (DPCM) representation .

В некоторых вариантах осуществления способа 1900 режим внутрикадрового предсказания представляет собой матричный режим внутрикадрового предсказания (MIP), в котором предсказания отсчетов для текущего видеоблока определяются путем выполнения, над ранее кодированными отсчетами видео, операции граничной понижающей дискретизации, за которой следует операция матрично-векторного умножения, и за которой выборочно следует операция повышающей дискретизации. В некоторых вариантах осуществления способа 1900 правило сосуществования ограничивает режим MIP частью множества разрешенных режимов для режима MIP. В некоторых вариантах осуществления способа 1900 часть множества разрешенных режимов включает в себя горизонтальный внутрикадровый режим и/или вертикальный внутрикадровый режим. В некоторых вариантах осуществления способа 1900 часть множества разрешенных режимов включает в себя только горизонтальный внутрикадровый режим и/или вертикальный внутрикадровый режим. В некоторых вариантах осуществления способа 1900 правило сосуществования указывает то, что режим MIP поддерживает все разрешенные режимы для режима MIP. В некоторых вариантах осуществления способа 1900, в режиме внутрикадрового предсказания, предсказания отсчетов для текущего видеоблока определяются путем выполнения предсказаний в негоризонтальном или невертикальном направлении. В некоторых вариантах осуществления способа 1900 режимом внутрикадрового предсказания является планарный режим или режим предсказания постоянного тока. В некоторых вариантах осуществления способа 1900 режимом внутрикадрового предсказания является режим вертикального предсказания или режимом горизонтального предсказания. В некоторых вариантах осуществления способа 1900 режим внутрикадрового предсказания выбирается из списка наиболее вероятных режимов (MPM). В некоторых вариантах осуществления способа 1900 режим внутрикадрового предсказания идентифицируется с помощью поля в представлении битового потока. В некоторых вариантах осуществления способа 1900 режим внутрикадрового предсказания выбирается из множества разрешенных режимов внутрикадрового предсказания. In some embodiments of method 1900, the intra-prediction mode is a matrix intra-prediction (MIP) mode in which sample predictions for the current video block are determined by performing, on the previously encoded video samples, a boundary downsampling operation followed by a matrix-vector multiplication operation. and which is selectively followed by an upsampling operation. In some embodiments of method 1900, the coexistence rule limits the MIP mode to a subset of allowed modes for the MIP mode. In some embodiments of method 1900, part of the set of enabled modes includes a horizontal intra-frame mode and/or a vertical intra-frame mode. In some embodiments of method 1900, a portion of the set of enabled modes includes only the horizontal intra-frame mode and/or the vertical intra-frame mode. In some embodiments of method 1900, the coexistence rule indicates that the MIP mode supports all allowed modes for the MIP mode. In some embodiments of method 1900, in intra-frame prediction mode, sample predictions for the current video block are determined by making predictions in a non-horizontal or non-vertical direction. In some embodiments of method 1900, the intra-frame prediction mode is a planar mode or a constant current prediction mode. In some embodiments of method 1900, the intra-prediction mode is a vertical prediction mode or a horizontal prediction mode. In some embodiments of method 1900, an intra-frame prediction mode is selected from a list of most probable modes (MPM). In some embodiments of method 1900, the intra-frame prediction mode is identified by a field in the bitstream representation. In some embodiments of method 1900, an intra-prediction mode is selected from a plurality of enabled intra-prediction modes.

В некоторых вариантах осуществления способа 1900 множество разрешенных режимов внутрикадрового предсказания указывается в сообщении, просигнализированном в: наборе параметров последовательности (SPS), наборе параметров видео (VPS), наборе параметров изображения (PPS), заголовке изображения, заголовке слайса, заголовке группы мозаичных элементов, строке с наибольшей единицей кодирования (LCU) или группе LCU. В некоторых вариантах осуществления способа 1900 множество разрешенных режимов внутрикадрового предсказания основано на размере блока либо текущего видеоблока, либо соседнего видеоблока текущего видеоблока. В некоторых вариантах осуществления способа 1900 множество разрешенных режимов внутрикадрового предсказания основано на форме либо текущего видеоблока, либо соседнего видеоблока текущего видеоблока. В некоторых вариантах осуществления способа 1900 множество разрешенных режимов внутрикадрового предсказания основано на режиме внутрикадрового предсказания соседнего видеоблока текущего видеоблока. В некоторых вариантах осуществления способа 1900 множество разрешенных режимов внутрикадрового предсказания основано на режиме межкадрового предсказания соседнего видеоблока текущего видеоблока. В некоторых вариантах осуществления способа 1900 множество разрешенных режимов внутрикадрового предсказания основано на указании того, закодирован ли соседний видеоблок текущего видеоблока с использованием режима дифференциального кодирования. В некоторых вариантах осуществления способа 1900 множество разрешенных режимов внутрикадрового предсказания основано на значении параметра квантования, используемого для текущего видеоблока или для соседнего видеоблока текущего видеоблока. В некоторых вариантах осуществления способа 1900 множество разрешенных режимов внутрикадрового предсказания основано на цветовом формате, используемом для кодирования текущего видеоблока. В некоторых вариантах осуществления способа 1900 множество разрешенных режимов внутрикадрового предсказания основано на том, используется ли отдельная или двойная древовидная структура кодирования для кодирования текущего видеоблока. В некоторых вариантах осуществления способа 1900 множество разрешенных режимов внутрикадрового предсказания основано на слайсе, или типе группы мозаичных элементов или типе изображения, ассоциированном с текущим видеоблоком. In some embodiments of method 1900, a plurality of enabled intra-frame prediction modes are indicated in a message signaled in: a sequence parameter set (SPS), a video parameter set (VPS), a picture parameter set (PPS), a picture header, a slice header, a tile group header, the line with the largest coding unit (LCU) or group of LCUs. In some embodiments of method 1900, the set of allowed intra-frame prediction modes is based on the block size of either the current video block or an adjacent video block of the current video block. In some embodiments of method 1900, the set of allowed intra-frame prediction modes is based on the shape of either the current video block or an adjacent video block of the current video block. In some embodiments of method 1900, the plurality of allowed intra-prediction modes is based on the intra-prediction mode of a neighboring video block of the current video block. In some embodiments of method 1900, the plurality of allowed intra-prediction modes is based on the inter-prediction mode of a neighboring video block of the current video block. In some embodiments of method 1900, the plurality of allowed intra-frame prediction modes is based on an indication of whether an adjacent video block of the current video block is encoded using a differential encoding mode. In some embodiments of method 1900, the set of allowed intra-frame prediction modes is based on the value of the quantization parameter used for the current video block or for an adjacent video block of the current video block. In some embodiments of method 1900, the set of allowed intra-frame prediction modes is based on the color format used to encode the current video block. In some embodiments of method 1900, the plurality of allowed intra-frame prediction modes is based on whether a single or dual tree coding structure is used to encode the current video block. In some embodiments of method 1900, the set of enabled intra-prediction modes is based on the slice, or tile group type, or image type associated with the current video block.

В некоторых вариантах осуществления способа 1900, в режиме внутрикадрового предсказания, предсказания отсчетов для текущего видеоблока определяются из несмежных отсчетов в соседнем видеоблоке текущего видеоблока. В некоторых вариантах осуществления способа 1900 режим внутрикадрового предсказания содержит режим слияния внутрикадрового блочного копирования, и где правило сосуществования указывает то, что режим дифференциального кодирования включен для режима слияния IBC. В некоторых вариантах осуществления способа 1900 режим внутрикадрового предсказания содержит улучшенный режим предсказания вектора движения внутрикадрового блочного копирования, и где правило сосуществования указывает то, что режим дифференциального кодирования включен для режима расширенного предсказания вектора движения внутрикадрового блочного копирования. В некоторых вариантах осуществления способа 1900 режим внутрикадрового предсказания содержит режим внутрикадрового блочного копирования, и вектор движения, используемый в режиме внутрикадрового блочного копирования и режиме дифференциального кодирования указывается с помощью поля в представлении битового потока, или получается или определяется заранее.In some embodiments of method 1900, in intra-frame prediction mode, sample predictions for the current video block are determined from non-adjacent samples in an adjacent video block of the current video block. In some embodiments of method 1900, the intra-frame prediction mode comprises an intra-frame block copy merging mode, and where the coexistence rule indicates that the differential coding mode is enabled for the IBC merging mode. In some embodiments of method 1900, the intra-frame prediction mode comprises an enhanced intra-block copy motion vector prediction mode, and wherein the coexistence rule indicates that the differential encoding mode is enabled for the enhanced intra-block copy motion vector prediction mode. In some embodiments of method 1900, the intra-frame prediction mode includes an intra-frame block copy mode, and the motion vector used in the intra-frame block copy mode and the differential encoding mode is indicated by a field in the bitstream representation, or is obtained or determined in advance.

В некоторых вариантах осуществления способа 1900 режим копирования внутрикадрового блока указывается вектором движения и/или индексом слияния. В некоторых вариантах осуществления способа 1900 режим копирования внутрикадрового блока указывается вектором движения по умолчанию. В некоторых вариантах осуществления способа 1900 вектор движения по умолчанию равен (-w, 0), где w – положительное целое число. В некоторых вариантах осуществления способа 1900 вектор движения по умолчанию равен (0, -h), где h – положительное целое число. В некоторых вариантах осуществления способа 1900 вектор движения по умолчанию равен (-w, -h), где w и h – положительные целые числа. В некоторых вариантах осуществления способа 1900 поле, которое указывает вектор движения, включено в сообщение, сообщении, просигнализированное в: наборе параметров последовательности (SPS), наборе параметров видео (VPS), наборе параметров изображения (PPS), заголовке изображения, заголовке слайса, заголовке группы мозаичных элементов, строке с наибольшей единицей кодирования (LCU) или группе LCU. В некоторых вариантах осуществления способа 1900 вектор движения, указанный в поле, основан на размере блока либо текущего видеоблока, либо соседнего видеоблока текущего видеоблока. В некоторых вариантах осуществления способа 1900 вектор движения, указанный в поле, основан на форме либо текущего видеоблока, либо соседнего видеоблока текущего видеоблока. В некоторых вариантах осуществления способа 1900 вектор движения, указанный в поле, основан на режиме межкадрового предсказания или режиме внутрикадрового предсказания соседнего видеоблока текущего видеоблока. В некоторых вариантах осуществления способа 1900 вектор движения, указанный в поле, основан на векторах движения соседнего видеоблока текущего видеоблока. В некоторых вариантах осуществления способа 1900 вектор движения, указанный в поле, основан на указании того, закодирован ли соседний видеоблок текущего видеоблока с использованием режима дифференциального кодирования. In some embodiments of method 1900, the intra-frame block copy mode is indicated by a motion vector and/or a merge index. In some embodiments of method 1900, the intra-frame block copy mode is indicated by a default motion vector. In some embodiments of method 1900, the default motion vector is (-w, 0), where w is a positive integer. In some embodiments of method 1900, the default motion vector is (0, -h), where h is a positive integer. In some embodiments of method 1900, the default motion vector is (-w, -h), where w and h are positive integers. In some embodiments of method 1900, a field that indicates a motion vector is included in the message, a message signaled in: a sequence parameter set (SPS), a video parameter set (VPS), a picture parameter set (PPS), a picture header, a slice header, a header tile group, Largest Coding Unit (LCU) string, or LCU group. In some embodiments of method 1900, the motion vector specified in the field is based on the block size of either the current video block or an adjacent video block of the current video block. In some embodiments of method 1900, the motion vector specified in the field is based on the shape of either the current video block or an adjacent video block of the current video block. In some embodiments of method 1900, the motion vector indicated in the field is based on the inter-frame prediction mode or intra-frame prediction mode of a neighboring video block of the current video block. In some embodiments of method 1900, the motion vector indicated in the field is based on the motion vectors of an adjacent video block of the current video block. In some embodiments of method 1900, the motion vector indicated in the field is based on an indication of whether an adjacent video block of the current video block is encoded using a differential encoding mode.

В некоторых вариантах осуществления способа 1900 вектор движения, указанный в поле, основан на значении параметра квантования текущего видеоблока или соседнего видеоблока текущего видеоблока. В некоторых вариантах осуществления способа 1900 вектор движения, указанный в поле, основан на цветовом формате, используемом для кодирования текущего видеоблока. В некоторых вариантах осуществления способа 1900 вектор движения, указанный в поле, основан на том, используется ли отдельная или двойная древовидная структура кодирования для кодирования текущего видеоблока. В некоторых вариантах осуществления способа 1900 вектор движения, указанный в поле, основан на слайсе, или типе группы мозаичных элементов или типе изображения, ассоциированном с текущим видеоблоком. В некоторых вариантах осуществления способа 1900, в режиме внутрикадрового предсказания, предсказания отсчетов для текущего видеоблока определяются из несмежных отсчетов в соседнем видеоблоке текущего видеоблока с использованием средства межкадрового предсказания.In some embodiments of method 1900, the motion vector specified in the field is based on the value of the quantization parameter of the current video block or an adjacent video block of the current video block. In some embodiments of method 1900, the motion vector specified in the field is based on the color format used to encode the current video block. In some embodiments of method 1900, the motion vector specified in the field is based on whether a single or dual tree encoding structure is used to encode the current video block. In some embodiments of method 1900, the motion vector specified in the field is based on a slice, or tile group type, or image type associated with the current video block. In some embodiments of method 1900, in intra-frame prediction mode, sample predictions for the current video block are determined from non-adjacent samples in an adjacent video block of the current video block using inter-frame prediction means.

В некоторых вариантах осуществления способа 1900 правило сосуществования определяет сопоставление сигнализированного индекса, ассоциированного с режимом дифференциального кодирования, с режимом внутрикадрового предсказания. В некоторых вариантах осуществления способа 1900 сопоставление указывается в сообщении, просигнализированном в: наборе параметров последовательности (SPS), наборе параметров видео (VPS), наборе параметров изображения (PPS), заголовке изображения, заголовке слайса, заголовке группы мозаичных элементов, строке с наибольшей единицей кодирования (LCU) или группе LCU. В некоторых вариантах осуществления способа 1900 сопоставление основано на размере блока либо текущего видеоблока, либо соседнего видеоблока текущего видеоблока. В некоторых вариантах осуществления способа 1900 сопоставление основано на форме либо текущего видеоблока, либо соседнего видеоблока текущего видеоблока. В некоторых вариантах осуществления способа 1900 сопоставление основано на наиболее вероятных режимах (MPM) текущего видеоблока или соседнего видеоблока текущего видеоблока. В некоторых вариантах осуществления способа 1900 сопоставление основано на режиме межкадрового предсказания или режиме внутрикадрового предсказания соседнего видеоблока текущего видеоблока. В некоторых вариантах осуществления способа 1900 сопоставление основано на векторах движения соседнего видеоблока текущего видеоблока. В некоторых вариантах осуществления способа 1900 сопоставление основано на указании того, закодирован ли соседний видеоблок текущего видеоблока с использованием режима дифференциального кодирования. В некоторых вариантах осуществления способа 1900 сопоставление основано на значении параметра квантования текущего видеоблока или соседнего видеоблока текущего видеоблока. В некоторых вариантах осуществления способа 1900 сопоставление основано на цветовом формате, используемом для кодирования текущего видеоблока. В некоторых вариантах осуществления способа 1900 сопоставление основано на том, используется ли древовидная структура отдельного или двойного кодирования для кодирования текущего видеоблока. В некоторых вариантах осуществления способа 1900 сопоставление основано на типе преобразования, применяемом к текущему видеоблоку. В некоторых вариантах осуществления способа 1900 сопоставление основано на типе слайса, или группы мозаичных элементов, или на типе изображения, ассоциированном с текущим видеоблоком.In some embodiments of method 1900, a coexistence rule specifies a mapping of a signaled index associated with a differential encoding mode to an intra-frame prediction mode. In some embodiments of method 1900, the mapping is indicated in a message signaled in: Sequence Parameter Set (SPS), Video Parameter Set (VPS), Picture Parameter Set (PPS), Picture Header, Slice Header, Tile Group Header, Largest One Row coding (LCU) or LCU group. In some embodiments of method 1900, the matching is based on the block size of either the current video block or a neighboring video block of the current video block. In some embodiments of method 1900, the matching is based on the shape of either the current video block or a neighboring video block of the current video block. In some embodiments of method 1900, the matching is based on the most probable modes (MPM) of the current video block or a neighboring video block of the current video block. In some embodiments of method 1900, the matching is based on the inter-prediction mode or intra-prediction mode of a neighboring video block of the current video block. In some embodiments of method 1900, the matching is based on motion vectors of an adjacent video block of the current video block. In some embodiments of method 1900, the matching is based on an indication of whether an adjacent video block of the current video block is encoded using a differential encoding mode. In some embodiments of method 1900, the matching is based on the value of a quantization parameter of the current video block or a neighboring video block of the current video block. In some embodiments of method 1900, the mapping is based on the color format used to encode the current video block. In some embodiments of method 1900, the matching is based on whether a single or dual coding tree structure is used to encode the current video block. In some embodiments of method 1900, the matching is based on the type of transform applied to the current video block. In some embodiments of method 1900, the matching is based on the type of slice, or group of tiles, or image type associated with the current video block.

В некоторых вариантах осуществления способа 1900 предсказание квантованного остатка выполняется в направлении предсказания остатка, которое отличается от горизонтального направления или вертикального направления. В некоторых вариантах осуществления способа 1900 направление предсказания остатка представляет собой направление под углом 45 градусов. В некоторых вариантах осуществления способа 1900, где указывает квантованный остаток, где указывает отсчеты квантованного остатка, и где может быть получен с помощью в ответ на доступность . В некоторых вариантах осуществления способа 1900 направление предсказания остатка составляет 135 градусов. В некоторых вариантах осуществления способа 1900, где указывает квантованный остаток, где указывает отсчеты квантованного остатка, и где может быть получен с помощью в ответ на доступность . In some embodiments of method 1900, the quantized residual prediction is performed in a residual prediction direction that is different from the horizontal direction or the vertical direction. In some embodiments of method 1900, the remainder prediction direction is a 45 degree direction. In some embodiments of method 1900, where indicates the quantized remainder, where indicates the counts of the quantized remainder, and where can be obtained using in response to availability . In some embodiments of method 1900, the direction of the residual prediction is 135 degrees. In some embodiments of method 1900, where indicates the quantized remainder, where indicates the counts of the quantized remainder, and where can be obtained using in response to availability .

В некоторых вариантах осуществления способа 1900 предсказание квантованного остатка выполняется в направлении предсказания остатка, которое основано на первом значении и втором значении. В некоторых вариантах осуществления способа 1900, где указывает квантованный остаток, где указывает отсчеты квантованного остатка, где может быть получено с помощью в ответ на доступность , где m – первое значение, и n – второе значение, где i – третье значение, указывающее первую позицию вдоль множества строк текущего видеоблока, и где j – четвертое значение, указывающее вторую позицию вдоль множества столбцов текущего видеоблока. В некоторых вариантах осуществления способа 1900 m и n сигнализируются в представлении битового потока. В некоторых вариантах осуществления способа 1900 m и n являются целыми числами.In some embodiments of method 1900, the quantized remainder prediction is performed in the direction of a remainder prediction that is based on the first value and the second value. In some embodiments of method 1900, where indicates the quantized remainder, where indicates the counts of the quantized remainder, where can be obtained using in response to availability , where m is the first value, and n is the second value, where i is the third value indicating the first position along the plurality of rows of the current video block, and where j is the fourth value indicating the second position along the plurality of columns of the current video block. In some embodiments of the method 1900, m and n are signaled in a bitstream representation. In some embodiments of the method 1900, m and n are integers.

В некоторых вариантах осуществления способа 1900 m и n указываются в сообщении, включенном в: набор параметров последовательности (SPS), набор параметров видео (VPS), набор параметров изображения (PPS), заголовок изображения, заголовок слайса, заголовок группы элементов мозаичного изображения, строку с наибольшей единицей кодирования (LCU) или группу LCU. В некоторых вариантах осуществления способа 1900 m основан на третьем значении для i, и n основан на четвертом значении для j. В некоторых вариантах осуществления способа 1900 первое значение для m и второе значение для n основаны на размере блока либо текущего видеоблока, либо соседнего видеоблока текущего видеоблока. В некоторых вариантах осуществления способа 1900 первое значение для m и второе значение для n основаны на форме либо текущего видеоблока, либо соседнего видеоблока текущего видеоблока. В некоторых вариантах осуществления способа 1900 первое значение для m и второе значение для n основаны на наиболее вероятных режимах (MPM) текущего видеоблока или соседнего видеоблока текущего видеоблока. В некоторых вариантах осуществления способа 1900 первое значение для m и второе значение для n основаны на режиме межкадрового предсказания или режиме внутрикадрового предсказания соседнего видеоблока текущего видеоблока. В некоторых вариантах осуществления способа 1900 первое значение для m и второе значение для n основаны на векторах движения соседнего видеоблока текущего видеоблока. В некоторых вариантах осуществления способа 1900 первое значение для m и второе значение для n основаны на указании того, закодирован ли соседний видеоблок текущего видеоблока с использованием режима дифференциального кодирования. В некоторых вариантах осуществления способа 1900 первое значение для m и второе значение для n основаны на значении параметра квантования текущего видеоблока или соседнего видеоблока текущего видеоблока. В некоторых вариантах осуществления способа 1900 первое значение для m и второе значение для n основаны на цветовом формате, используемом для кодирования текущего видеоблока. В некоторых вариантах осуществления способа 1900 первое значение для m и второе значение для n основаны на том, используется ли отдельная древовидная структура кодирования или двойная древовидная структура кодирования для кодирования текущего видеоблока. В некоторых вариантах осуществления способа 1900 первое значение для m и второе значение для n основаны на слайсе, типе группы мозаичных элементов или типе изображения, ассоциированном с текущим видеоблоком. In some embodiments of the method 1900, m and n are indicated in a message included in: a sequence parameter set (SPS), a video parameter set (VPS), a picture parameter set (PPS), a picture header, a slice header, a tile group header, a line largest coding unit (LCU) or LCU group. In some embodiments of method 1900, m is based on the third value for i, and n is based on the fourth value for j. In some embodiments of method 1900, the first value for m and the second value for n are based on the block size of either the current video block or an adjacent video block of the current video block. In some embodiments of method 1900, the first value for m and the second value for n are based on the shape of either the current video block or an adjacent video block of the current video block. In some embodiments of method 1900, the first value for m and the second value for n are based on the most probable modes (MPM) of the current video block or a neighboring video block of the current video block. In some embodiments of method 1900, the first value for m and the second value for n are based on the inter-prediction mode or intra-prediction mode of a neighboring video block of the current video block. In some embodiments of method 1900, the first value for m and the second value for n are based on the motion vectors of a neighboring video block of the current video block. In some embodiments of method 1900, the first value for m and the second value for n are based on an indication of whether an adjacent video block of the current video block is encoded using a differential encoding mode. In some embodiments of method 1900, the first value for m and the second value for n are based on the value of the quantization parameter of the current video block or an adjacent video block of the current video block. In some embodiments of method 1900, the first value for m and the second value for n are based on the color format used to encode the current video block. In some embodiments of method 1900, the first value for m and the second value for n are based on whether a single encoding tree or a dual encoding tree is used to encode the current video block. In some embodiments of method 1900, the first value for m and the second value for n are based on the slice, tile group type, or image type associated with the current video block.

На фиг. 20 показана блок-схема последовательности операций примерного способа 2000 обработки видео. Способ 2000 включает в себя выполнение 2002 преобразования между текущим видеоблоком видео и представлением битового потока текущего видеоблока с использованием режима дифференциального кодирования, в котором текущий видеоблок представлен в представлении битового потока с использованием разности между квантованным остатком внутрикадрового предсказания текущего видеоблока и предсказанием квантованного остатка, где направление предсказания квантованного остатка является выводится из представления битового потока.In fig. 20 is a flowchart of an exemplary video processing method 2000. Method 2000 includes performing 2002 a transformation between a current video block of video and a bitstream representation of the current video block using a differential encoding mode, in which the current video block is represented in a bitstream representation using the difference between the quantized intra-prediction residual of the current video block and the quantized residual prediction, where the direction The quantized remainder prediction is derived from the bitstream representation.

В некоторых вариантах осуществления способа 2000 направление предсказания квантованного остатка неявно получается из режима внутрикадрового предсказания, используемого для внутрикадрового предсказания. В некоторых вариантах осуществления способа 2000 направление предсказания квантованного остатка выводится как направление, которое совпадает с направлением, используемым для режима внутрикадрового предсказания. В некоторых вариантах осуществления способа 2000 направление является вертикальным или горизонтальным. В некоторых вариантах осуществления способа 2000 направление предсказания квантованного остатка может быть первым направлением, которое отличается от второго направления, используемого для режима внутрикадрового предсказания. В некоторых вариантах осуществления способа 2000 первое направление является вертикальным, а второе направление – горизонтальным. В некоторых вариантах осуществления способа 2000 первое направление является горизонтальным, а второе направление – вертикальным. In some embodiments of method 2000, the prediction direction of the quantized remainder is implicitly obtained from the intra prediction mode used for intra prediction. In some embodiments of method 2000, the prediction direction of the quantized remainder is output as a direction that is the same as the direction used for the intra prediction mode. In some embodiments of method 2000, the direction is vertical or horizontal. In some embodiments of method 2000, the quantized remainder prediction direction may be a first direction that is different from the second direction used for the intra-prediction mode. In some embodiments of method 2000, the first direction is vertical and the second direction is horizontal. In some embodiments of method 2000, the first direction is horizontal and the second direction is vertical.

В некоторых вариантах осуществления способа 2000 направление предсказания квантованного остатка получается на основе сообщения, просигнализированного в: наборе параметров последовательности (SPS), наборе параметров видео (VPS), наборе параметров изображения (PPS), заголовке изображения, заголовке слайса, заголовке группы мозаичных элементов, строке с наибольшей единицей кодирования (LCU) или группе LCU. В некоторых вариантах осуществления способа 2000 направление предсказания квантованного остатка можно получить на основании размера блока либо текущего видеоблока, либо соседнего видеоблока текущего видеоблока. В некоторых вариантах осуществления способа 2000 направление предсказания квантованного остатка выводится на основе формы либо текущего видеоблока, либо соседнего видеоблока текущего видеоблока. В некоторых вариантах осуществления способа 2000 направление предсказания квантованного остатка выводится на основе наиболее вероятных режимов (MPM) текущего видеоблока или соседнего видеоблока текущего видеоблока. В некоторых вариантах осуществления способа 2000 направление предсказания квантованного остатка выводится на основе режима межкадрового предсказания или режима внутрикадрового предсказания соседнего видеоблока текущего видеоблока. В некоторых вариантах осуществления способа 2000 направление предсказания квантованного остатка получается на основе векторов движения соседнего видеоблока текущего видеоблока. В некоторых вариантах осуществления способа 2000 направление предсказания квантованного остатка выводится на основе указания того, закодирован ли соседний видеоблок текущего видеоблока с использованием режима дифференциального кодирования. В некоторых вариантах осуществления способа 2000 направление предсказания квантованного остатка получается на основе значения параметра квантования текущего видеоблока или соседнего видеоблока текущего видеоблока. В некоторых вариантах осуществления способа 2000 направление предсказания квантованного остатка получается на основе цветового формата, используемого для кодирования текущего видеоблока. В некоторых вариантах осуществления способа 2000 направление предсказания квантованного остатка получается на основе того, используется ли отдельная или двойная древовидная структура кодирования для кодирования текущего видеоблока. В некоторых вариантах осуществления способа 2000 направление предсказания квантованного остатка выводится на основе типа преобразования, примененного к текущему видеоблоку. В некоторых вариантах осуществления способа 2000 направление предсказания квантованного остатка получается на основе слайса, или типа группы мозаичных элементов или типа изображения, ассоциированного с текущим видеоблоком. In some embodiments of method 2000, the quantized remainder prediction direction is obtained based on a message signaled in: a sequence parameter set (SPS), a video parameter set (VPS), a picture parameter set (PPS), a picture header, a slice header, a tile group header, the line with the largest coding unit (LCU) or group of LCUs. In some embodiments of method 2000, the prediction direction of the quantized remainder may be obtained based on the block size of either the current video block or a neighboring video block of the current video block. In some embodiments of method 2000, the quantized residual prediction direction is inferred based on the shape of either the current video block or a neighboring video block of the current video block. In some embodiments of method 2000, the quantized residual prediction direction is inferred based on the most probable modes (MPMs) of the current video block or a neighboring video block of the current video block. In some embodiments of method 2000, the prediction direction of the quantized remainder is derived based on the inter-prediction mode or intra-frame prediction mode of a neighboring video block of the current video block. In some embodiments of method 2000, the quantized residual prediction direction is obtained based on the motion vectors of an adjacent video block of the current video block. In some embodiments of method 2000, the quantized remainder prediction direction is inferred based on an indication of whether an adjacent video block of the current video block is encoded using a differential encoding mode. In some embodiments of method 2000, the quantized remainder prediction direction is obtained based on the value of the quantization parameter of the current video block or a neighboring video block of the current video block. In some embodiments of method 2000, the quantized remainder prediction direction is obtained based on the color format used to encode the current video block. In some embodiments of method 2000, the quantized remainder prediction direction is obtained based on whether a single or dual tree encoding structure is used to encode the current video block. In some embodiments of method 2000, the prediction direction of the quantized remainder is inferred based on the type of transform applied to the current video block. In some embodiments of method 2000, the quantized remainder prediction direction is obtained based on the slice, or tile group type, or image type associated with the current video block.

На фиг. 21 показана блок-схема последовательности операций примерного способа 2100 обработки видео. Способ 2100 включает в себя определение 2102 того, что режим дифференциального кодирования применим к преобразованию между текущим видеоблоком видео и представлением битового потока текущего видеоблока, и выполнение 2104, на основе определения, преобразования между текущим видеоблоком и представлением битового потока текущего видеоблока с использованием режима дифференциального кодирования в соответствии с правилом реализации, где, в режиме дифференциального кодирования, текущий видеоблок представлен в представлении битового потока с использованием разности между квантованным остатком внутрикадрового предсказания текущего видеоблока и предсказанием квантованного остатка, и где, в режиме дифференциального кодирования, разность между квантованным остатком и предсказанием квантованного остатка представлена с использованием представления дифференциальной импульсно-кодовой модуляции (DPCM).In fig. 21 is a flowchart of an exemplary video processing method 2100. Method 2100 includes determining 2102 that a differential encoding mode is applicable to a conversion between the current video block of video and a bitstream representation of the current video block, and performing 2104, based on the determination, a conversion between the current video block and the bitstream representation of the current video block using the differential encoding mode. according to an implementation rule where, in differential encoding mode, the current video block is represented in a bitstream representation using the difference between the quantized intra-prediction residual of the current video block and the prediction of the quantized remainder, and where, in differential encoding mode, the difference between the quantized remainder and the prediction of the quantized the remainder is represented using a differential pulse code modulation (DPCM) representation.

В некоторых вариантах осуществления способа 2100 правило реализации указывает то, что значения квантованного остатка ограничены в пределах диапазона значений. В некоторых вариантах осуществления способа 2100 правило реализации точно определяет то, что значения разности между квантованным остатком и предсказанием квантованного остатка ограничены в пределах диапазона значений. В некоторых вариантах осуществления способа 2100 правило реализации точно определяет то, что операция ограничения применяется к разности между квантованным остатком и предсказанием квантованного остатка, и операция ограничения ограничивает значения разности между квантованным остатком и предсказанием квантованного остатка в пределах диапазона значений. В некоторых вариантах осуществления способа 2100 правило реализации точно определяет то, что операция ограничения применяется к квантованному остатку, и операция ограничения ограничивает значения квантованного остатка в пределах диапазона значений. In some embodiments of method 2100, the implementation rule specifies that the quantized remainder values are limited within a range of values. In some embodiments of method 2100, the implementation rule specifies that the difference values between the quantized remainder and the predicted quantized remainder are limited within a range of values. In some embodiments of method 2100, the implementation rule specifies that a constraint operation is applied to the difference between the quantized remainder and the predicted quantized remainder, and the constraint operation constrains the values of the difference between the quantized remainder and the predicted quantized remainder within a range of values. In some embodiments of method 2100, the implementation rule specifies that a constraint operation is applied to the quantized remainder, and the constraint operation constrains the values of the quantized remainder within a range of values.

В некоторых вариантах осуществления способа 2100 разность между квантованным остатком и предсказанием квантованного остатка определяется в соответствии с любым из следующих уравнений:In some embodiments of method 2100, the difference between the quantized remainder and the predicted quantized remainder is determined in accordance with any of the following equations:

, ,

и And

, ,

где описывает разность между квантованным остатком и предсказанием квантованного остатка,Where describes the difference between the quantized remainder and the prediction of the quantized remainder,

где Q(ri,j) описывает значения квантованного остатка, где M и N, соответственно, описывают строки и столбцы текущего видеоблока, и где i и j, соответственно, описывают позиции вдоль строк и столбцов текущего видеоблока. where Q(r i,j ) describes the values of the quantized remainder, where M and N, respectively, describe the rows and columns of the current video block, and where i and j, respectively, describe the positions along the rows and columns of the current video block.

В некоторых вариантах осуществления способа 2100 квантованный остаток определяется в соответствии с любым из следующих уравнений:In some embodiments of method 2100, the quantized remainder is determined in accordance with any of the following equations:

, ,

и And

, ,

где и описывают разность между квантованным остатком и предсказанием квантованного остатка, где Q(ri,j) описывает квантованный остаток, где M и N, соответственно, описывают строки и столбцы текущего видеоблока, и где i и j, соответственно, описывают позиции вдоль строк и столбцов текущего видеоблока. Where And describe the difference between the quantized remainder and the predicted quantized remainder, where Q(r i,j ) describes the quantized remainder, where M and N, respectively, describe the rows and columns of the current video block, and where i and j, respectively, describe the positions along the rows and columns current video block.

В некоторых вариантах осуществления способа 2100 каждое значение из значений ограничено операцией ограничения согласно следующему правилу ограничения: значение является минимальным значением в ответ на значение, меньшее минимального значения, значение является максимальным значением в ответ на значение, превышающее максимальное значение. В некоторых вариантах осуществления способа 2100 каждое значение из значений ограничено операцией ограничения согласно следующему правилу ограничения: значение является минимальным значением в ответ на то, что значение меньше или равно минимальному значению, и является максимальным значением в ответ на то, что значение больше или равно максимальному значению. В некоторых вариантах осуществления способа 2100 каждое значение из значений ограничено операцией ограничения согласно следующему правилу ограничения: значение является минимальным значением в ответ на то, что значение меньше минимального значения, и значение является максимальным значением в ответ на то, что значение больше или равно максимальному значению. В некоторых вариантах осуществления способа 2100 каждое значение из значений ограничено операцией ограничения согласно следующему правилу ограничения: значение является минимальным значением в ответ на то, что значение меньше или равно минимальному значению, и является максимальным значением в ответ на то, что значение больше максимального значения.In some embodiments of method 2100, each value of the values is constrained by a constraint operation according to the following constraint rule: the value is a minimum value in response to a value less than the minimum value, the value is a maximum value in response to a value greater than the maximum value. In some embodiments of method 2100, each value of the values is constrained by a constraint operation according to the following constraint rule: the value is a minimum value in response to the value being less than or equal to the minimum value, and is a maximum value in response to the value being greater than or equal to the maximum meaning. In some embodiments of method 2100, each value of the values is constrained by a constraint operation according to the following constraint rule: the value is a minimum value in response to the value being less than the minimum value, and the value is a maximum value in response to the value being greater than or equal to the maximum value. . In some embodiments of method 2100, each value of the values is constrained by a constraint operation according to the following constraint rule: the value is a minimum value in response to the value being less than or equal to the minimum value, and is a maximum value in response to the value being greater than the maximum value.

В некоторых вариантах осуществления способа 2100 минимальное значение и/или максимальное значение является или являются положительным значением или отрицательным значением. В некоторых вариантах осуществления способа 2100 минимальное значение равно -32768, и максимальное значение равно 32767. В некоторых вариантах осуществления способа 2100 минимальное значение и/или максимальное значение основаны на другом диапазоне значений, который относится к обратному квантованию для видеоблока, который не закодирован в режиме дифференциального кодирования. В некоторых вариантах осуществления способа 2100 минимальное значение и/или максимальное значение основаны на битовой глубине входного отсчета блока квантованных остатков или восстановленного отсчета восстановленного блока квантованных остатков. В некоторых вариантах осуществления способа 2100 минимальное значение и/или максимальное значение основаны на том, закодирован или декодирован текущий видеоблок с помощью способа кодирования без потерь. В некоторых вариантах осуществления способа 2100 минимальное значение и/или максимальное значение основаны на указании того, включен ли флаг обхода транскванта, где то, используется ли способ кодирования без потерь, указывается флагом обхода транскванта. В некоторых вариантах осуществления способа 2100 минимальное значение и/или максимальное значение основаны на указании того, включен ли флаг обхода транскванта единицы кодирования (CU), где то, используется ли способ кодирования без потерь на уровне CU, указывается флагом обхода транскванта CU. В некоторых вариантах осуществления способа 2100 минимальное значение и/или максимальное значение основаны на сообщении, просигнализированном в: наборе параметров последовательности (SPS), наборе параметров видео (VPS), наборе параметров изображения (PPS), заголовке изображения, заголовке слайса, заголовке группы мозаичных элементов, строке с наибольшей единицей кодирования (LCU) или группе LCU.In some embodiments of method 2100, the minimum value and/or maximum value is or is a positive value or a negative value. In some embodiments of method 2100, the minimum value is -32768 and the maximum value is 32767. In some embodiments of method 2100, the minimum value and/or maximum value is based on a different range of values that relates to inverse quantization for a video block that is not encoded in the differential coding. In some embodiments of method 2100, the minimum value and/or maximum value are based on the bit depth of the input quantized residue block sample or the reconstructed sample of the reconstructed quantized residue block. In some embodiments of method 2100, the minimum value and/or maximum value are based on whether the current video block is encoded or decoded using a lossless encoding method. In some embodiments of method 2100, the minimum value and/or maximum value is based on an indication of whether a transquantum bypass flag is turned on, where whether a lossless encoding method is used is indicated by a transquantum bypass flag. In some embodiments of method 2100, the minimum value and/or maximum value is based on an indication of whether a coding unit (CU) transquantum bypass flag is turned on, where whether a lossless encoding method is used at the CU level is indicated by the CU transquantum bypass flag. In some embodiments of method 2100, the minimum value and/or maximum value is based on a message signaled in: sequence parameter set (SPS), video parameter set (VPS), picture parameter set (PPS), picture header, slice header, tile group header elements, Largest Coding Unit (LCU) string, or LCU group.

В некоторых вариантах осуществления способа 2100 минимальное значение и/или максимальное значение основаны на размере блока либо текущего видеоблока, либо соседнего видеоблока текущего видеоблока. В некоторых вариантах осуществления способа 2100 минимальное значение и/или максимальное значение основаны на форме либо текущего видеоблока, либо соседнего видеоблока текущего видеоблока. В некоторых вариантах осуществления способа 2100 минимальное значение и/или максимальное значение основаны на наиболее вероятных режимах (MPM) текущего видеоблока или соседнего видеоблока текущего видеоблока. В некоторых вариантах осуществления способа 2100 минимальное значение и/или максимальное значение основаны на режиме межкадрового предсказания или режиме внутрикадрового предсказания соседнего видеоблока текущего видеоблока. В некоторых вариантах осуществления способа 2100 минимальное значение и/или максимальное значение основаны на векторах движения соседнего видеоблока текущего видеоблока. В некоторых вариантах осуществления способа 2100 минимальное значение и/или максимальное значение основаны на указании того, закодирован ли соседний видеоблок текущего видеоблока с использованием режима дифференциального кодирования. В некоторых вариантах осуществления способа 2100 минимальное значение и/или максимальное значение основаны на значении параметра квантования текущего видеоблока или соседнего видеоблока текущего видеоблока. В некоторых вариантах осуществления способа 2100 минимальное значение и/или максимальное значение основаны на цветовом формате, используемом для кодирования текущего видеоблока. В некоторых вариантах осуществления способа 2100 минимальное значение и/или максимальное значение основаны на том, используется ли отдельная или двойная древовидная структура кодирования для кодирования текущего видеоблока.In some embodiments of method 2100, the minimum value and/or maximum value are based on the block size of either the current video block or an adjacent video block of the current video block. In some embodiments of method 2100, the minimum value and/or maximum value are based on the shape of either the current video block or an adjacent video block of the current video block. In some embodiments of method 2100, the minimum value and/or maximum value are based on the most probable modes (MPM) of the current video block or a neighboring video block of the current video block. In some embodiments of method 2100, the minimum value and/or maximum value are based on the inter-prediction mode or intra-frame prediction mode of a neighboring video block of the current video block. In some embodiments of method 2100, the minimum value and/or maximum value are based on the motion vectors of a neighboring video block of the current video block. In some embodiments of method 2100, the minimum value and/or maximum value are based on an indication of whether an adjacent video block of the current video block is encoded using a differential encoding mode. In some embodiments of method 2100, the minimum value and/or maximum value are based on the value of the quantization parameter of the current video block or an adjacent video block of the current video block. In some embodiments of method 2100, the minimum value and/or maximum value are based on the color format used to encode the current video block. In some embodiments of method 2100, the minimum value and/or maximum value are based on whether a single or dual tree encoding structure is used to encode the current video block.

В некоторых вариантах осуществления способа 2100 минимальное значение и/или максимальное значение основаны на типе преобразования, применяемом к текущему видеоблоку. В некоторых вариантах осуществления способа 2100 минимальное значение и/или максимальное значение основаны на слайсе, типе группы мозаичных элементов или типе изображения, ассоциированном с текущим видеоблоком. В некоторых вариантах осуществления способа 2100 правило применимости точно определяет то, что предсказание квантованного остатка выполняется в направлении от последней строки или последнего столбца текущего видеоблока к первой строке или первому столбцу текущего видеоблока. В некоторых вариантах осуществления способа 2100, в ответ на то, что направление является горизонтальным, предсказание значения квантованного остатка в i-ом столбце текущего видеоблока является значением квантованного остатка в (i+1)-ом столбце текущего видеоблока. В некоторых вариантах осуществления способа 2100, в ответ на то, что направление является вертикальным, предсказание значения квантованного остатка в i-ой строке текущего видеоблока является значением квантованного остатка в (i+1)-ой строке текущего видеоблока.In some embodiments of method 2100, the minimum value and/or maximum value are based on the type of transform applied to the current video block. In some embodiments of method 2100, the minimum value and/or maximum value are based on the slice, tile group type, or image type associated with the current video block. In some embodiments of method 2100, the applicability rule specifies that the quantized remainder prediction is performed in the direction from the last row or last column of the current video block to the first row or first column of the current video block. In some embodiments of method 2100, in response to the direction being horizontal, the prediction of the value of the quantized remainder in the i-th column of the current video block is the value of the quantized remainder in the (i+1)-th column of the current video block. In some embodiments of method 2100, in response to the direction being vertical, the prediction of the quantized remainder value in the i-th row of the current video block is the quantized remainder value in the (i+1)-th row of the current video block.

В некоторых вариантах осуществления способа 2100 правило применимости точно определяет то, что режим дифференциального кодирования применяется к поднабору или части текущего видеоблока. В некоторых вариантах осуществления способа 2100 правило применимости точно определяет то, что режим дифференциального кодирования не применяется к k крайним левым столбцам текущего видеоблока, когда предсказание квантованного остатка выполняется в горизонтальном направлении. В некоторых вариантах осуществления способа 2100 правило применимости точно определяет то, что режим дифференциального кодирования не применяется к самым верхним строкам текущего видеоблока, когда предсказание квантованного остатка выполняется в вертикальном направлении. В некоторых вариантах осуществления способа 2100 правило применимости точно определяет то, что режим дифференциального кодирования не применяется к крайним правым столбцам текущего видеоблока, когда предсказание квантованного остатка выполняется в горизонтальном направлении. В некоторых вариантах осуществления способа 2100 правило применимости точно определяет то, что режим дифференциального кодирования не применяется к самым нижним k строкам текущего видеоблока, когда предсказание квантованного остатка выполняется в вертикальном направлении. В некоторых вариантах осуществления способа 2100 значение k является заданным. In some embodiments of method 2100, the applicability rule specifies that the differential coding mode applies to a subset or portion of the current video block. In some embodiments of method 2100, the applicability rule specifies that the differential encoding mode does not apply to the k leftmost columns of the current video block when the quantized remainder prediction is performed in the horizontal direction. In some embodiments of method 2100, the applicability rule specifies that the differential encoding mode does not apply to the topmost lines of the current video block when quantized remainder prediction is performed in the vertical direction. In some embodiments of method 2100, the applicability rule specifies that the differential encoding mode does not apply to the rightmost columns of the current video block when quantized remainder prediction is performed in the horizontal direction. In some embodiments of method 2100, the applicability rule specifies that the differential encoding mode does not apply to the lowest k lines of the current video block when the quantized remainder prediction is performed in the vertical direction. In some embodiments of method 2100, the value of k is a given value.

В некоторых вариантах осуществления способа 2100 значение k указывается в сообщении, просигнализированном в: наборе параметров последовательности (SPS), наборе параметров видео (VPS), наборе параметров изображения (PPS), заголовке изображения, заголовке слайса, заголовке группы мозаичных элементов, строке с наибольшей единицей кодирования (LCU) или группе LCU. В некоторых вариантах осуществления способа 2100 значение k основано на размере блока либо текущего видеоблока, либо соседнего видеоблока текущего видеоблока. В некоторых вариантах осуществления способа 2100 значение k основано на форме либо текущего видеоблока, либо соседнего видеоблока текущего видеоблока. В некоторых вариантах осуществления способа 2100 значение k основано на наиболее вероятных режимах (MPM) текущего видеоблока или соседнего видеоблока текущего видеоблока. В некоторых вариантах осуществления способа 2100 значение k основано на режиме межкадрового предсказания или режиме внутрикадрового предсказания соседнего видеоблока текущего видеоблока. В некоторых вариантах осуществления способа 2100 значение k основано на режиме внутрикадрового предсказания текущего видеоблока. В некоторых вариантах осуществления способа 2100 значение k основано на векторах движения соседнего видеоблока текущего видеоблока. В некоторых вариантах осуществления способа 2100 значение k основано на указании того, закодирован ли соседний видеоблок текущего видеоблока с использованием режима дифференциального кодирования.In some embodiments of method 2100, the value of k is indicated in a message signaled in: Sequence Parameter Set (SPS), Video Parameter Set (VPS), Picture Parameter Set (PPS), Picture Header, Slice Header, Tile Group Header, Line with Largest coding unit (LCU) or LCU group. In some embodiments of method 2100, the value of k is based on the block size of either the current video block or an adjacent video block of the current video block. In some embodiments of method 2100, the value of k is based on the shape of either the current video block or a neighboring video block of the current video block. In some embodiments of method 2100, the value of k is based on the most probable modes (MPM) of the current video block or a neighboring video block of the current video block. In some embodiments of method 2100, the value of k is based on the inter-prediction mode or intra-prediction mode of a neighboring video block of the current video block. In some embodiments of method 2100, the value of k is based on the intra-prediction mode of the current video block. In some embodiments of method 2100, the value of k is based on motion vectors of an adjacent video block of the current video block. In some embodiments of method 2100, the value of k is based on an indication of whether an adjacent video block of the current video block is encoded using a differential encoding mode.

В некоторых вариантах осуществления способа 2100 значение k основано на значении параметра квантования текущего видеоблока или соседнего видеоблока текущего видеоблока. В некоторых вариантах осуществления способа 2100 значение k основано на цветовом формате, используемом для кодирования текущего видеоблока. В некоторых вариантах осуществления способа 2100 значение k основано на том, используется ли отдельная древовидная структура кодирования или двойная древовидная структура кодирования для кодирования текущего видеоблока. В некоторых вариантах осуществления способа 2100 значение k основано на типе преобразования, применяемом к текущему видеоблоку. В некоторых вариантах осуществления способа 2100 значение k основано на типе слайса, или группы мозаичных элементов или типе изображения, ассоциированном с текущим видеоблоком.In some embodiments of method 2100, the value of k is based on the value of the quantization parameter of the current video block or an adjacent video block of the current video block. In some embodiments of method 2100, the value of k is based on the color format used to encode the current video block. In some embodiments of method 2100, the value of k is based on whether a single encoding tree or a dual encoding tree is used to encode the current video block. In some embodiments of method 2100, the value of k is based on the type of transform applied to the current video block. In some embodiments of method 2100, the value of k is based on the type of slice or tile group or image type associated with the current video block.

В некоторых вариантах осуществления способа 2100 правило реализации точно определяет то, что режим дифференциального кодирования применяется на посегментной основе к текущему видеоблоку. В некоторых вариантах осуществления способа 2100 правило реализации точно определяет то, что отсчеты квантованного остатка определяются в соответствии со следующей формулой, когда предсказание квантованного остатка выполняется в вертикальном направлении, и когда N=nK: In some embodiments of method 2100, the implementation rule specifies that the differential coding mode is applied on a segment-by-segment basis to the current video block. In some embodiments of method 2100, the implementation rule specifies that the quantized residual samples are determined in accordance with the following formula when the quantized residual prediction is performed in the vertical direction, and when N=nK:

, ,

где описывает разность между квантованным остатком и предсказанием квантованного остатка, где Q(ri,j) описывает квантованный остаток, где M и N, соответственно, описывают строки и столбцы текущего видеоблока, где i и j, соответственно, описывают позиции вдоль строк и столбцов текущий видеоблок, где n и K – целые числа.Where describes the difference between the quantized remainder and the predicted quantized remainder, where Q(r i,j ) describes the quantized remainder, where M and N, respectively, describe the rows and columns of the current video block, where i and j, respectively, describe the positions along the rows and columns of the current video block, where n and K are integers.

В некоторых вариантах осуществления способа 2100 правило реализации точно определяет то, что отсчеты квантованного остатка определяются в соответствии со следующей формулой, когда предсказание квантованного остатка выполняется в горизонтальном направлении, и когда M = mK:In some embodiments of method 2100, the implementation rule specifies that the quantized residual samples are determined in accordance with the following formula when the quantized residual prediction is performed in the horizontal direction, and when M = mK:

, ,

где описывает отсчеты квантованного остатка, где Q(ri,j) описывает квантованный остаток, где M и N, соответственно, описывают строки и столбцы текущего видеоблока, где i и j, соответственно, описывают позиции вдоль строк и столбцов текущего видеоблока, и где m и K – целые числа.Where describes the samples of the quantized remainder, where Q(r i,j ) describes the quantized remainder, where M and N, respectively, describe the rows and columns of the current video block, where i and j, respectively, describe the positions along the rows and columns of the current video block, and where m and K are integers.

На фиг. 22 показана блок-схема последовательности операций примерного способа 2200 обработки видео. Способ 2200 включает в себя определение 2202, на основе правила применимости, того, что режим дифференциального кодирования применим к преобразованию между текущим видеоблоком видео и представлением битового потока текущего видеоблока, где текущий видеоблок ассоциирован с цветовой компонент, и где правило применимости точно определяет то, включен или отключен режим дифференциального кодирования для текущего видеоблока, в зависимости от того, применяется ли режим дифференциального кодирования к другому видеоблоку видео. Способ 2200 также включает в себя выполнение 2204, на основе определения, преобразования между текущим видеоблоком и представлением битового потока текущего видеоблока с использованием режима дифференциального кодирования, где, в режиме дифференциального кодирования, текущий видеоблок представлен в представлении битового потока с использованием разности между квантованным остатком внутрикадрового предсказания текущего видеоблока и предсказанием квантованного остатка, и где, в режиме дифференциального кодирования, разность между квантованным остатком и предсказанием квантованного остатка представлена с использованием представления дифференциальной импульсно-кодовой модуляции (DPCM). In fig. 22 is a flowchart of an exemplary video processing method 2200. Method 2200 includes determining 2202, based on an applicability rule, that a differential encoding mode is applicable to the transformation between the current video block of video and the bitstream representation of the current video block, where the current video block is associated with a color component, and where the applicability rule specifies that is included or differential encoding mode is disabled for the current video block, depending on whether differential encoding mode is applied to another video video block. Method 2200 also includes performing 2204, based on the determination, a transformation between the current video block and a bitstream representation of the current video block using a differential encoding mode, where, in the differential encoding mode, the current video block is represented in a bitstream representation using the difference between the quantized remainder of the intraframe prediction of the current video block and prediction of the quantized remainder, and where, in differential coding mode, the difference between the quantized remainder and the prediction of the quantized remainder is represented using a differential pulse code modulation (DPCM) representation.

В некоторых вариантах осуществления способа 2200 текущий видеоблок является видеоблоком цветности, правило применимости точно определяет то, включен ли режим дифференциального кодирования для видеоблока цветности, на основе того, применяется ли режим дифференциального кодирования к одному или более репрезентативным видеоблокам яркости, и один или более репрезентативных видеоблоков яркости совмещены с видеоблоком цветности. В некоторых вариантах осуществления способа 2200 один или более репрезентативных видеоблоков яркости определены таким же образом, как тот, что используется для получения полученного режима для внутрикадрового предсказания для видеоблока цветности. В некоторых вариантах осуществления способа 2200 текущий видеоблок является видеоблоком цветности, правило применимости точно определяет то, что режим дифференциального кодирования включен для видеоблока цветности, когда полученный режим используется для внутрикадрового предсказания видеоблока цветности, и дифференциальный режим кодирования включен для одного или более репрезентативных блоков яркости, и один или более репрезентативных видеоблоков яркости совмещены с видеоблоком цветности. В некоторых вариантах осуществления способа 2200 правило применимости точно определяет то, включен или выключен режим дифференциального кодирования для текущего видеоблока, в одном или более синтаксических элементах, включенных в представление битового потока.In some embodiments of method 2200, the current video block is a chroma video block, the applicability rule specifies whether the differential encoding mode is enabled for the chroma video block based on whether the differential encoding mode is applied to one or more representative luminance video blocks, and one or more representative video blocks brightness are combined with the color video block. In some embodiments of method 2200, one or more representative luma video blocks are defined in the same manner as that used to derive the resulting mode for intra-frame prediction for the chrominance video block. In some embodiments of method 2200, the current video block is a chroma video block, the applicability rule specifies that a differential encoding mode is enabled for a chroma video block when the resulting mode is used for intra-frame prediction of a chroma video block, and a differential encoding mode is enabled for one or more representative luminance blocks. and one or more representative luma video blocks are combined with the chrominance video block. In some embodiments of method 2200, the applicability rule specifies whether the differential encoding mode is on or off for the current video block in one or more syntax elements included in the bitstream representation.

В некоторых вариантах осуществления способа 2200 один синтаксический элемент указывает то, включен или отключен режим дифференциального кодирования для двух цветовых компонентов, и два цветового компонента включают в себя цветовой компонент, ассоциированный с текущим видеоблоком. В некоторых вариантах осуществления способа 2200 два синтаксических элемента указывают то, включен или отключен режим дифференциального кодирования для двух цветовых компонентов, соответственно, и два цветовых компонента включают в себя цветовой компонент, ассоциированный с текущим видеоблоком. В некоторых вариантах осуществления способа 2200 правило применимости точно определяет то, что представление битового потока исключает синтаксический элемент, который указывает то, включен или отключен режим дифференциального кодирования для текущего видеоблока, когда для внутрикадрового предсказания текущего видеоблока используется конкретный режим. В некоторых вариантах осуществления способа 2200 конкретный режим включает в себя межкомпонентную линейную модель (CCLM).In some embodiments of method 2200, one syntax element indicates whether the differential encoding mode is enabled or disabled for two color components, and the two color components include a color component associated with the current video block. In some embodiments of method 2200, two syntax elements indicate whether the differential encoding mode is enabled or disabled for two color components, respectively, and the two color components include a color component associated with the current video block. In some embodiments of method 2200, the applicability rule specifies that the bitstream representation excludes a syntax element that indicates whether the differential encoding mode is enabled or disabled for the current video block when a particular mode is used for intra-frame prediction of the current video block. In some embodiments of method 2200, the particular mode includes a cross-component linear model (CCLM).

Приведенный ниже перечень примеров представляет собой описание дополнительных вариантов осуществления.The following list of examples is a description of additional embodiments.

1. Способ обработки видео, содержащий: выполнение преобразования между текущим видеоблоком и представлением битового потока текущего видеоблока с использованием режима дифференциального кодирования и выборочного использования режима внутрикадрового предсказания на основе правила сосуществования; где режим внутрикадрового предсказания используется для выработки предсказаний для отсчетов текущего видеоблока; и где режим дифференциального кодирования используется для представления блока квантованных остатков из предсказаний пикселей с использованием представления дифференциальной импульсно-кодовой модуляции.1. A video processing method, comprising: performing a conversion between a current video block and a bitstream representation of the current video block using a differential encoding mode and selectively using an intra-frame prediction mode based on a coexistence rule; where the intra-frame prediction mode is used to generate predictions for samples of the current video block; and wherein a differential encoding mode is used to represent a block of quantized residuals from the pixel predictions using a differential pulse code modulation representation.

2. Способ согласно примеру 1, в котором режим внутрикадрового предсказания представляет собой матричный режим внутрикадрового предсказания (MIP), и в котором правило сосуществования ограничивает MIP частью разрешенных режимов MIP.2. The method according to Example 1, wherein the intra prediction mode is a matrix intra prediction (MIP) mode, and wherein the coexistence rule limits the MIP to a portion of the allowed MIP modes.

3. Способ согласно примеру 2, в котором часть разрешенных режимов включает в себя горизонтальный или вертикальный нормальный внутрикадровый режим.3. The method according to example 2, in which part of the allowed modes includes horizontal or vertical normal intra-frame mode.

Дополнительные варианты осуществления примеров 1-3 описаны в пункте 1 раздела 4. Например, режим дифференциального кодирования может представлять текущую версию режима QR-BDPCM-кодирования. Additional embodiments of Examples 1-3 are described in Section 4, Clause 1. For example, the differential encoding mode may represent the current version of the QR-BDPCM encoding mode.

4. Способ согласно примеру 1, в котором режим внутрикадрового предсказания включает в себя предсказание в негоризонтальном или невертикальном направлении.4. The method according to Example 1, wherein the intra-frame prediction mode includes prediction in a non-horizontal or non-vertical direction.

5. Способ согласно примеру 1 или 4, в котором режимом внутрикадрового предсказания является планарный режим или режим предсказания постоянного тока.5. The method according to Example 1 or 4, wherein the intra prediction mode is a planar mode or a constant current prediction mode.

6. Способ согласно примеру 1 или 4, в котором режимы внутрикадрового предсказания представляют собой режим вертикального или горизонтального предсказания.6. The method according to Example 1 or 4, wherein the intra prediction modes are a vertical prediction mode or a horizontal prediction mode.

7. Способ согласно примеру 1 или 4, в котором режим внутрикадрового предсказания идентифицируется полем в представлении битового потока.7. The method of Example 1 or 4, wherein the intra-frame prediction mode is identified by a field in the bitstream representation.

8. Способ согласно примеру 1 или 4, в котором режим внутрикадрового предсказания зависит от размера блока текущего видеоблока или соседнего блока.8. The method according to Example 1 or 4, in which the intra-frame prediction mode depends on the block size of the current video block or a neighboring block.

9. Способ согласно примеру 1 или 4, в котором режим внутрикадрового предсказания зависит от формы текущего блока или соседнего блока.9. The method according to Example 1 or 4, in which the intra-prediction mode depends on the shape of the current block or a neighboring block.

10. Способ согласно примеру 1 или 4, в котором режим внутрикадрового предсказания зависит от того, закодирован ли текущий видеоблок или соседний видеоблок с использованием межкадрового предсказания или внутрикадрового предсказания.10. The method according to Example 1 or 4, wherein the intra-prediction mode depends on whether the current video block or an adjacent video block is encoded using inter-frame prediction or intra-frame prediction.

11. Способ согласно примеру 1 или 4, в котором режим внутрикадрового предсказания зависит от того, закодирован ли соседний видеоблок с использованием режима дифференциального кодирования.11. The method according to Example 1 or 4, wherein the intra-frame prediction mode depends on whether the adjacent video block is encoded using a differential encoding mode.

12. Способ согласно примеру 1 или 4, в котором режим внутрикадрового предсказания зависит от значения параметра квантования, используемого для текущего видеоблока или соседнего видеоблока.12. The method according to Example 1 or 4, wherein the intra-frame prediction mode depends on the value of the quantization parameter used for the current video block or an adjacent video block.

13. Способ согласно примеру 1 или 4, в котором режим внутрикадрового предсказания зависит от цветового формата, используемого для кодирования текущего видеоблока.13. The method according to Example 1 or 4, wherein the intra-frame prediction mode depends on the color format used to encode the current video block.

14. Способ согласно примерам 1 или 4, в котором режим внутрикадрового предсказания зависит от того, используется ли отдельная древовидная структура кодирования или двойная древовидная структура кодирования для кодирования текущего видеоблока.14. The method according to Examples 1 or 4, wherein the intra-frame prediction mode depends on whether a single tree encoding structure or a dual tree encoding structure is used to encode the current video block.

Дополнительные варианты осуществления примеров 4-14 представлены в пункте 2 раздела 4.Additional embodiments of Examples 4-14 are presented in paragraph 2 of section 4.

15. Способ согласно примеру 1, в котором формирование предсказаний для отсчетов текущего видеоблока выполняется из несмежных отсчетов в соседней видеообласти.15. The method according to example 1, in which the formation of predictions for samples of the current video block is performed from non-adjacent samples in the adjacent video area.

16. Способ согласно примеру 1, в котором режим внутрикадрового предсказания содержит режим слияния внутрикадрового блочного копирования.16. The method according to Example 1, wherein the intra-frame prediction mode comprises an intra-frame block copy merging mode.

17. Способ согласно примеру 1, в котором режим внутрикадрового предсказания содержит улучшенный режим предсказания вектора движения внутрикадрового блока.17. The method according to Example 1, wherein the intra-frame prediction mode comprises an improved intra-frame block motion vector prediction mode.

18. Способ по любому из примеров 15-17, в котором режим внутрикадрового предсказания указывается вектором блока или индексом слияния.18. The method as in any one of Examples 15-17, wherein the intra-prediction mode is indicated by a block vector or a merge index.

Дополнительные варианты осуществления примеров 15-18 представлены в пункте 3 раздела 4.Additional embodiments of Examples 15-18 are presented in paragraph 3 of section 4.

19. Способ согласно примеру 1, в котором правило сосуществования точно определяет сопоставление из сигнализированного индекса в режиме дифференциального кодирования с режимом внутрикадрового предсказания на основе поля в представлении битового потока.19. The method of Example 1, wherein the coexistence rule specifies a mapping from a signaled index in a differential encoding mode to a field-based intra-frame prediction mode in the bitstream representation.

20. Способ согласно примеру 1, в котором правило сосуществования точно определяет сопоставление из сигнализированного индекса в режиме дифференциального кодирования с режимом внутрикадрового предсказания на основе размера текущего видеоблока или соседнего блока.20. The method of Example 1, wherein the coexistence rule specifies a mapping from the signaled index in the differential encoding mode to the intra-frame prediction mode based on the size of the current video block or a neighboring block.

21. Способ согласно примеру 1, в котором правило сосуществования точно определяет сопоставление из сигнализированного индекса в режиме дифференциального кодирования с режимом внутрикадрового предсказания на основе формы текущего видеоблока или соседнего блока.21. The method according to Example 1, wherein the coexistence rule specifies a mapping from the signaled index in the differential encoding mode to the intra-frame prediction mode based on the shape of the current video block or a neighboring block.

22. Способ согласно примеру 1, в котором правило сосуществования точно определяет сопоставление из сигнализированного индекса в режиме дифференциального кодирования с режимом внутрикадрового предсказания на основе режима предсказания текущего видеоблока или соседнего блока.22. The method according to Example 1, wherein the coexistence rule specifies a mapping from a signaled index in a differential encoding mode to an intra-frame prediction mode based on the prediction mode of the current video block or a neighboring block.

23. Способ согласно примеру 1, в котором правило сосуществования точно определяет сопоставление из сигнализированного индекса в режиме дифференциального кодирования с режимом внутрикадрового предсказания на основе наиболее вероятных режимов текущего видеоблока или соседнего блока.23. The method of Example 1, wherein the coexistence rule specifies a mapping from the signaled index in the differential encoding mode to the intra-frame prediction mode based on the most likely modes of the current video block or an adjacent block.

24. Способ согласно примеру 1, в котором правило сосуществования точно определяет сопоставление из сигнализированного индекса в режиме дифференциального кодирования с режимом внутрикадрового предсказания на основе векторов движения текущего видеоблока или соседнего блока.24. The method of Example 1, wherein the coexistence rule specifies a mapping from a signaled index in a differential encoding mode to an intra-frame prediction mode based on motion vectors of the current video block or an adjacent block.

25. Способ согласно примеру 1, в котором правило сосуществования точно определяет сопоставление из сигнализированного индекса в режиме дифференциального кодирования с режимом внутрикадрового предсказания на основе того, закодирован ли соседний блок с использованием режима дифференциального кодирования.25. The method of Example 1, wherein the coexistence rule specifies a mapping from the signaled index in the differential encoding mode to the intra-frame prediction mode based on whether an adjacent block is encoded using the differential encoding mode.

26. Способ согласно примеру 1, в котором правило сосуществования точно определяет сопоставление из сигнализированного индекса в режиме дифференциального кодирования с режимом внутрикадрового предсказания на основе параметра квантования, используемого текущим видеоблоком или соседним блоком.26. The method of Example 1, wherein the coexistence rule specifies a mapping from a signaled index in a differential encoding mode to an intra-frame prediction mode based on a quantization parameter used by the current video block or a neighboring block.

27. Способ согласно примеру 1, в котором правило сосуществования точно определяет сопоставление из сигнализированного индекса в режиме дифференциального кодирования с режимом внутрикадрового предсказания на основе цветового формата текущего видеоблока.27. The method of Example 1, wherein the coexistence rule specifies a mapping from the signaled index in the differential encoding mode to the intra-frame prediction mode based on the color format of the current video block.

28. Способ согласно примеру 1, в котором правило сосуществования точно определяет сопоставление из сигнализированного индекса в режиме дифференциального кодирования с режимом внутрикадрового предсказания на основе того, использует ли текущий видеоблок отдельное или двойное дерево кодирования.28. The method of Example 1, wherein the coexistence rule specifies a mapping from the signaled index in the differential encoding mode to the intra-frame prediction mode based on whether the current video block uses a single or dual encoding tree.

29. Способ согласно примеру 1, в котором правило сосуществования точно определяет сопоставление из сигнализированного индекса в режиме дифференциального кодирования с режимом внутрикадрового предсказания на основе преобразования, примененного к текущему видеоблоку.29. The method of Example 1, wherein the coexistence rule specifies a mapping from a signaled index in a differential encoding mode to an intra-frame prediction mode based on a transform applied to the current video block.

30. Способ согласно примеру 1, в котором правило сосуществования точно определяет сопоставление из сигнализированного индекса в режиме дифференциального кодирования с режимом внутрикадрового предсказания на основе типа слайса, типа группы мозаичных элементов или типа изображения текущего видеоблока.30. The method of Example 1, wherein the coexistence rule specifies a mapping from a signaled index in a differential encoding mode to an intra-frame prediction mode based on a slice type, a tile group type, or an image type of the current video block.

Дополнительные варианты осуществления примеров 19-30 представлены в пункте 2 раздела 4.Additional embodiments of examples 19-30 are presented in paragraph 2 of section 4.

31. Способ обработки видео, содержащий: выполнение преобразования между текущим видеоблоком и представлением битового потока текущего видеоблока с использованием режима дифференциального кодирования, в котором блок квантованных остатков из предсказаний пикселей текущего видеоблока представлен с использованием представления дифференциальной импульсно-кодовой модуляции; где первое направление предсказания или второе направление режима дифференциального кодирования выводится из представления битового потока.31. A video processing method, comprising: performing a conversion between a current video block and a bitstream representation of the current video block using a differential encoding mode, in which a block of quantized residuals from pixel predictions of the current video block is represented using a differential pulse code modulation representation; where the first prediction direction or the second differential encoding mode direction is derived from the bitstream representation.

32. Способ согласно примеру 31, в котором первое направление предсказания пикселей неявно получается из режима внутрикадрового предсказания, используемого для предсказания.32. The method according to Example 31, wherein the first pixel prediction direction is implicitly obtained from an intra-prediction mode used for prediction.

33. Способ согласно примеру 32, в котором второе направление режима дифференциального кодирования может быть таким же направлением, что и первое направление предсказания.33. The method according to Example 32, in which the second direction of the differential encoding mode may be the same direction as the first prediction direction.

34. Способ согласно примеру 31, в котором второе направление получается из режима внутрикадрового предсказания, используемого для предсказания.34. The method according to Example 31, wherein the second direction is obtained from an intra prediction mode used for prediction.

35. Способ согласно примеру 31, в котором второе направление получается из размера текущего видеоблока или соседнего блока или формы текущего видеоблока или соседнего блока.35. The method according to Example 31, wherein the second direction is obtained from the size of the current video block or neighboring block or the shape of the current video block or neighboring block.

36. Способ согласно примеру 31, в котором второе направление получается из векторов движения соседнего блока.36. The method according to example 31, in which the second direction is obtained from the motion vectors of the adjacent block.

37. Способ согласно примеру 31, в котором второе направление получается из наиболее вероятных режимов текущего видеоблока или соседнего блока.37. The method according to example 31, in which the second direction is obtained from the most probable modes of the current video block or an adjacent block.

38. Способ согласно примеру 31, в котором второе направление получается из режима предсказания соседнего блока.38. The method according to Example 31, wherein the second direction is obtained from the neighboring block prediction mode.

39. Способ согласно примеру 31, в котором второе направление получается из режима внутрикадрового предсказания соседнего блока.39. The method according to Example 31, wherein the second direction is obtained from an intra-adjacent block prediction mode.

40. Способ согласно примеру 31, в котором второе направление получается из того, использует ли соседний блок режим дифференциального кодирования.40. The method of Example 31, wherein the second direction is derived from whether the adjacent block uses a differential encoding mode.

Дополнительные варианты осуществления примеров 31-40 представлены в пункте 4 раздела 4.Additional embodiments of examples 31-40 are presented in paragraph 4 of section 4.

41. Способ обработки видео, содержащий: определение, на основе правила применимости, того, что режим дифференциального кодирования применим к преобразованию между текущим видеоблоком и представлением битового потока текущего видеоблока; и выполнение преобразования между текущим видеоблоком и представлением битового потока с использованием режима дифференциального кодирования;41. A video processing method, comprising: determining, based on an applicability rule, that a differential encoding mode is applicable to a conversion between a current video block and a bitstream representation of the current video block; and performing a conversion between the current video block and the bitstream representation using a differential encoding mode;

где, в режиме дифференциального кодирования, блок квантованных остатков из внутрикадрового предсказания пикселей текущего видеоблока представлен с использованием представления дифференциальной импульсно-кодовой модуляции, выполняемого в направлении предсказания остатка, которое отличается от горизонтального или вертикального направления.where, in differential encoding mode, a block of quantized residuals from the intra-frame pixel prediction of the current video block is represented using a differential pulse code modulation representation performed in a residual prediction direction that is different from the horizontal or vertical direction.

42. Способ согласно примеру 41, в котором направлением предсказания остатка является направление под углом 45 градусов.42. The method according to Example 41, wherein the remainder prediction direction is the direction at an angle of 45 degrees.

43. Способ согласно примеру 41, в котором направление предсказания остатка составляет 135 градусов.43. The method according to Example 41, wherein the remainder prediction direction is 135 degrees.

44. Способ согласно примеру 41, в котором направление предсказания остатка связано с полем в представлении битового потока или размером текущего видеоблока или соседнего блока или формой текущего видеоблока или соседнего блока.44. The method according to Example 41, wherein the direction of the residual prediction is related to a field in the bitstream representation or the size of the current video block or neighboring block or the shape of the current video block or neighboring block.

Дополнительные варианты осуществления примеров 41-44 представлены в пункте 6 раздела 4.Additional embodiments of examples 41-44 are presented in paragraph 6 of section 4.

45. Способ согласно примеру 41, в котором правило применимости точно определяет использование режима дифференциального кодирования из-за того, что текущим видеоблоком является блок цветности.45. The method of Example 41, wherein the applicability rule specifies the use of a differential encoding mode due to the fact that the current video block is a chrominance block.

46. Способ согласно примеру 45, в котором правило применимости дополнительно точно определяет то, что направление предсказания остатка для текущего видеоблока является тем же направлением, что и для блока яркости, соответствующего текущему видеоблоку.46. The method according to Example 45, wherein the applicability rule further specifies that the residual prediction direction for the current video block is the same direction as for the luminance block corresponding to the current video block.

47. Способ согласно примеру 41, в котором правило применимости точно определяет использование дифференциального кодирования из-за того, что текущий видеоблок не использует режим кодирования на основе межкомпонентной линейной модели (CCLM).47. The method of Example 41, wherein the applicability rule specifies the use of differential coding due to the fact that the current video block does not use a cross-component linear model (CCLM) coding mode.

Дополнительные варианты осуществления примеров 45-47 представлены в пункте 7 раздела 4.Additional embodiments of Examples 45-47 are presented in paragraph 7 of section 4.

48. Способ согласно примеру 41, в котором правило применимости точно определяет то, чтобы получить применимость режима дифференциального кодирования для одного цветового компонента из применимости режима дифференциального кодирования для другого цветового компонента.48. The method according to Example 41, wherein the applicability rule specifies to obtain the applicability of the differential encoding mode for one color component from the applicability of the differential encoding mode for another color component.

Дополнительные варианты осуществления примера 48 представлены в пункте 12 раздела 4.Additional embodiments of Example 48 are presented in section 4, paragraph 12.

49. Способ обработки видео, содержащий: определение того, что режим дифференциального кодирования применим к преобразованию между текущим видеоблоком и представлением битового потока текущего видеоблока; и выполнение преобразования между текущим видеоблоком и представлением битового потока с использованием правила реализации режима дифференциального кодирования; причем, в режиме дифференциального кодирования, блок квантованных остатков из внутрикадрового предсказания пикселей текущего видеоблока представлен с использованием представления дифференциальной импульсно-кодовой модуляции, выполняемого в направлении предсказания остатка, которое отличается от горизонтального или вертикального направления.49. A method of processing video, comprising: determining that a differential encoding mode is applicable to a conversion between a current video block and a bitstream representation of the current video block; and performing a conversion between the current video block and the bitstream representation using a differential encoding mode implementation rule; wherein, in the differential encoding mode, a block of quantized residuals from the intra-frame pixel prediction of the current video block is represented using a differential pulse code modulation representation performed in a residual prediction direction that is different from the horizontal or vertical direction.

50. Способ согласно примеру 49, в котором правило реализации точно определяет ограничение значений блока квантованных остатков в пределах диапазона.50. The method of Example 49, wherein the implementation rule specifies a limit on the values of a block of quantized residues within a range.

51. Способ согласно примеру 49, в котором правило реализации точно определяет использование ограничения для получения блока квантованных остатков.51. The method of Example 49, wherein the implementation rule specifies the use of the constraint to obtain a block of quantized residues.

Дополнительные варианты осуществления примеров 49-51 представлены в пункте 8 раздела 4.Additional embodiments of examples 49-51 are presented in paragraph 8 of section 4.

52. Способ согласно примеру 49, в котором правило реализации точно определяет выполнение предсказания от последней строки текущего видеоблока до первой строки текущего видеоблока.52. The method of Example 49, wherein the implementation rule specifies that the prediction is performed from the last line of the current video block to the first line of the current video block.

53. Способ согласно примеру 49, в котором правило реализации точно определяет выполнение предсказания от последнего столбца текущего видеоблока до первого столбца текущего видеоблока.53. The method of Example 49, wherein the implementation rule specifies that the prediction is made from the last column of the current video block to the first column of the current video block.

Дополнительные варианты осуществления примеров 52-53 представлены в пункте 9 раздела 4.Additional embodiments of examples 52-53 are presented in paragraph 9 of section 4.

54. Способ согласно примеру 49, в котором правило реализации точно определяет применение режима дифференциального кодирования только к поднабору текущего видеоблока.54. The method of Example 49, wherein the implementation rule specifies that the differential coding mode is applied to only a subset of the current video block.

55. Способ примера 54, в котором поднабор исключает k левых столбцов остатков, где k – целое число, которое меньше ширины блока в пикселях.55. The method of Example 54, in which the subset eliminates the k left columns of the remainders, where k is an integer that is less than the width of the block in pixels.

56. Способ примера 54, в котором поднабор исключает k верхних строк остатков, где k – целое число, которое меньше высоты блока в пикселях.56. The method of Example 54, in which the subset eliminates the top k rows of the remainders, where k is an integer that is less than the height of the block in pixels.

Дополнительные варианты осуществления примеров 54-56 представлены в пункте 10 раздела 4.Additional embodiments of examples 54-56 are presented in paragraph 10 of section 4.

57. Способ согласно примеру 49, в котором правило реализации точно определяет применение режима дифференциального кодирования на посегментной основе к преобразованию.57. The method of Example 49, wherein the implementation rule specifies the application of a differential coding mode on a segment-by-segment basis to the transform.

Дополнительные варианты осуществления примера 57 представлены в пункте 11 раздела 4.Additional embodiments of Example 57 are presented in paragraph 11 of section 4.

58. Устройство обработки видео, содержащее процессор, выполненный с возможностью реализации одного или нескольких примеров 1-57.58. A video processing device comprising a processor configured to implement one or more of Examples 1-57.

59. Машиночитаемый носитель информации, имеющий код, хранящийся на нем, причем код при его исполнении процессором предписывает процессору реализовывать способ, изложенный в любом одном или более примерах 1-57.59. A computer-readable storage medium having code stored thereon, wherein the code, when executed by a processor, causes the processor to implement the method set forth in any one or more examples 1-57.

В перечне примеров в данном документе термин "преобразование" может относиться к выработке представления битового потока для текущего видеоблока или к выработке текущего видеоблока из представления битового потока. Представление битового потока не обязательно должно представлять непрерывную группу битов и может быть разделено на биты, которые включаются в поля заголовка, или на кодовые слова, представляющие информацию о кодированных значениях пикселей.In the list of examples herein, the term "transformation" may refer to deriving a bitstream representation for the current video block or deriving the current video block from the bitstream representation. The bitstream representation need not represent a contiguous group of bits and may be divided into bits that are included in header fields, or into codewords that represent information about the encoded pixel values.

В приведенных выше примерах правило применимости может быть заранее определено и известно кодерам и декодерам.In the above examples, the applicability rule may be predefined and known to the encoders and decoders.

Следует понимать, что раскрытые способы могут быть воплощены в видеокодерах или декодерах для повышения эффективности сжатия с использованием способов, которые включают в себя использование различных правил реализации, касающихся использования режима дифференциального кодирования при внутрикадровом кодировании, как описано в данном документе.It should be understood that the disclosed methods may be implemented in video encoders or decoders to improve compression efficiency using methods that include the use of various implementation rules regarding the use of a differential encoding mode in intra-frame encoding, as described herein.

Раскрытые и другие решения, примеры, варианты осуществления, модули и функциональные операции, описанные в данном документе, могут быть реализованы в цифровых электронных схемах или в компьютерном программном обеспечении, программно-аппаратных средствах или аппаратных средствах, включая структуры, раскрытые в данном документе и их структурные эквиваленты, или в сочетании одного или нескольких из них. Раскрытые и другие варианты осуществления могут быть реализованы в виде одного или нескольких компьютерных программных продуктов, то есть одного или нескольких модулей инструкций компьютерной программы, закодированных на машиночитаемом носителе информации, для исполнения или для управления работой из устройства обработки данных. Машиночитаемый носитель информации может представлять собой машиночитаемое запоминающее устройство, машиночитаемый носитель информации, устройство памяти, состав вещества, обеспечивающий распространяемый сигнал, считываемый машиной, или комбинацию одного или нескольких из них. Термин "устройство обработки данных" охватывает все аппаратные устройства, устройства и машины для обработки данных, включая в качестве примера программируемый процессор, компьютер, или несколько процессоров или компьютеров. Устройство может включать в себя, в дополнение к аппаратным средствам, код, который создает среду исполнения для рассматриваемой компьютерной программы, например, код, который составляет микропрограмму процессора, стек протоколов, систему управления базами данных, операционную систему или комбинацию одного или нескольких из них. Распространяющийся сигнал представляет собой искусственно выработанный сигнал, например, электрический, оптический или электромагнитный сигнал, выработанный машиной, который вырабатывается для кодирования информации с целью передачи в подходящее приемное устройство.The disclosed and other solutions, examples, embodiments, modules and functional operations described herein may be implemented in digital electronic circuits or in computer software, firmware or hardware, including the structures disclosed herein and their structural equivalents, or a combination of one or more of them. The disclosed and other embodiments may be implemented as one or more computer program products, that is, one or more computer program instruction modules encoded on a computer-readable storage medium for execution or control of operation from a data processing device. A computer-readable storage medium may be a computer-readable storage device, a computer-readable storage medium, a memory device, a composition of matter providing a propagated machine-readable signal, or a combination of one or more of these. The term "data processing device" covers all hardware devices, devices and machines for processing data, including by way of example a programmable processor, a computer, or multiple processors or computers. The device may include, in addition to hardware, code that creates an execution environment for the computer program in question, such as code that constitutes processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of these. A propagation signal is an artificially generated signal, such as an electrical, optical, or electromagnetic machine-generated signal, that is generated to encode information for transmission to a suitable receiving device.

Компьютерная программа (также известная как программа, программное обеспечение, приложение, программа-скрипт или код) можно записать в любой форме языка программирования, включая скомпилированные или интерпретируемые языки, и она может быть развернута в любой форме, в том числе в виде автономной программы или модуля, компонента, подпрограммы или другого блока, пригодного для использования в вычислительной среде. Компьютерная программа не обязательно соответствует файлу в файловой системе. Программа может храниться в части файла, который содержит другие программы или данные (например, один или несколько сценариев, хранящихся на языке разметки документов), в одном файле, выделенном рассматриваемой программе, или в нескольких согласованных файлах (например, в файлах, которые хранят один или несколько модулей, вложенных программ или части кода). Компьютерная программа может быть развернута для исполнения на одном компьютере или на нескольких компьютерах, которые расположены в одном месте или распределены по нескольким сайтам и соединены между собой сетью связи.A computer program (also known as a program, software, application, script, or code) can be written in any form of a programming language, including compiled or interpreted languages, and can be deployed in any form, including as a stand-alone program or module, component, subroutine, or other unit suitable for use in a computing environment. A computer program does not necessarily correspond to a file on a file system. A program may be stored in part of a file that contains other programs or data (for example, one or more scripts stored in a document markup language), in a single file dedicated to the program in question, or in multiple coherent files (for example, files that store one or multiple modules, subprograms, or pieces of code). A computer program can be deployed for execution on a single computer or on multiple computers that are located in one location or distributed across multiple sites and interconnected by a communications network.

Процессы и логические потоки, описанные в данном документе, могут выполняться одним или несколькими программируемыми процессорами, выполняющими одну или несколько компьютерных программ для выполнения функций, оперируя входными данными и вырабатывая выходные данные. Кроме того, могут также выполняться процессы и логические потоки, и устройство может быть также реализовано в виде логической схемы специального назначения, например, FPGA (программируемая пользователем вентильная матрица) или ASIC (специализированная интегральная схема).The processes and logical flows described herein may be executed by one or more programmable processors executing one or more computer programs to perform functions by manipulating input data and producing output data. In addition, processes and logic flows may also be executed, and the device may also be implemented as a special purpose logic circuit, such as an FPGA (Field Programmable Gate Array) or ASIC (Application Application Integrated Circuit).

Процессоры, подходящие для исполнения компьютерной программы, включают в себя, в качестве примера, микропроцессоры как общего, так и специального назначения, и любой один или более процессоров любого типа цифрового компьютера. Как правило, процессор принимает инструкции и данные только для считывания памяти или оперативной памяти, или и той и другой. Основными элементами компьютера являются процессор для исполнения инструкций и одного или более устройств памяти для хранения инструкций и данных. В общем, компьютер будет также включать в себя или функционально соединен с возможностью приема данных из или передачи данных в или и то, и другое, одно или более запоминающих устройства большой емкости для хранения данных, например, магнитных дисков, магнитооптических или оптических дисков. Однако компьютер необязательно должен иметь такие устройства. Считываемые компьютером носители информации, пригодные для хранения инструкций и данных компьютерной программы включают в себя все виды энергонезависимой памяти, устройства для хранения данных и запоминающие устройства, включая в качестве примера полупроводниковые запоминающих устройств, например, например, EPROM, EEPROM и устройства флэш-памяти; магнитные диски, например, внутренние жесткие диски или съемные диски; магнитооптические диски; и диски CD ROM и DVD-ROM. Процессор и память могут быть дополнены специализированной логической схемой или включены в нее.Processors suitable for executing a computer program include, by way of example, both general purpose and special purpose microprocessors, and any one or more processors of any type of digital computer. Typically, the processor only accepts instructions and data to read memory or RAM, or both. The basic elements of a computer are a processor for executing instructions and one or more memory devices for storing instructions and data. In general, a computer will also include, or be operatively coupled to receive data from or transmit data to, or both, one or more mass storage devices for storing data, such as magnetic disks, magneto-optical disks, or optical disks. However, the computer does not necessarily have to have such devices. Computer-readable media suitable for storing computer program instructions and data include all types of non-volatile memory, data storage devices and storage devices, including, by way of example, semiconductor memory devices such as, for example, EPROMs, EEPROMs and flash memory devices; magnetic disks, such as internal hard drives or removable drives; magneto-optical disks; and CD ROMs and DVD-ROMs. The processor and memory may be complemented by or incorporated into specialized logic circuitry.

Хотя данный патентный документ содержит много специфичных подробностей, их не следует рассматривать как ограничение объема предмета изобретения или любого из того, что может быть заявлено, а скорее их следует рассматривать как описание функций, которые могут быть специфичными для конкретных вариантов осуществления конкретных способов. Некоторые признаки, описанные в настоящем патентном документе в контексте отдельных вариантов осуществления также могут быть реализованы в комбинации в одном варианте осуществления. И наоборот, различные признаки, которые описаны в контексте одного варианта осуществления также могут быть реализованы в нескольких вариантах по отдельности или в любой подходящей подкомбинации. Более того, хотя признаки были описаны выше как действующие в определенных комбинациях и даже изначально заявлены как таковые, один или несколько признаков из заявленной комбинации в некоторых случаях может быть исключен из комбинации, и заявленная комбинация может быть направлена на подкомбинацию или вариацию из подкомбинации.Although this patent document contains many specific details, they should not be considered as limiting the scope of the subject matter of the invention or anything that may be claimed, but rather they should be considered as a description of functions that may be specific to particular embodiments of particular methods. Certain features described herein in the context of individual embodiments may also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of one embodiment may also be implemented in multiple embodiments individually or in any suitable subcombination. Moreover, although features have been described above as operating in certain combinations and even initially claimed as such, one or more features from a claimed combination may in some cases be excluded from the combination, and the claimed combination may be directed to a subcombination or a variation of a subcombination.

Аналогичным образом, хотя операции изображены на чертежах в определенном порядке, это не следует понимать как требование того, чтобы такие операции выполнялись в конкретном указанном порядке или в последовательном порядке, или чтобы все проиллюстрированные операции выполнялись для достижения желаемых результатов. Более того, разделение различных компонентов системы в вариантах осуществления, описанных в данном патентном документе, не следует понимать как требующее такого разделения во всех вариантах осуществления.Likewise, although operations are depicted in the drawings in a particular order, this should not be understood to require that such operations be performed in a particular order stated or in a sequential order, or that all illustrated operations be performed to achieve the desired results. Moreover, the separation of various system components in the embodiments described in this patent document should not be understood to require such separation in all embodiments.

Выше было описано только несколько реализаций и примеров, и другие реализации, улучшения и изменения могут быть сделаны на основе того, что описано и проиллюстрировано в данном патентном документе.Only a few implementations and examples have been described above, and other implementations, improvements and changes may be made based on what is described and illustrated in this patent document.

Claims (34)

1. Способ обработки видеоданных, содержащий этапы, на которых:1. A method for processing video data, comprising the steps of: определяют, для преобразования между текущим видеоблоком видео и битовым потоком видео, что к текущему видеоблоку применяется режим дифференциального кодирования, используемый для отсчетов остатка; иdetermining, for conversion between the current video video block and the video bitstream, that a differential encoding mode used for the remainder samples is applied to the current video block; And выполняют, на основе указанного определения, указанное преобразование с использованием режима дифференциального кодирования,perform, based on said definition, said transformation using a differential encoding mode, при этом в режиме дифференциального кодирования разности между квантованными остатками, полученными с помощью внутрикадрового предсказания, и предикторами квантованных остатков представлены в битовом потоке, причем по меньшей мере один из восстановленных квантованных остатков получается на основе суммы одной разности и другого восстановленного квантованного остатка иwherein, in the differential encoding mode, the differences between the quantized residuals obtained by intra-frame prediction and the quantized residual predictors are represented in a bit stream, wherein at least one of the reconstructed quantized residuals is obtained based on the sum of one difference and the other reconstructed quantized residual, and значения восстановленных квантованных остатков ограничены определенным диапазоном посредством применения операции ограничения к восстановленным квантованным остаткам.the values of the reconstructed quantized residuals are limited to a certain range by applying a constraint operation to the reconstructed quantized residuals. 2. Способ по п. 1, в котором каждое из значений восстановленных квантованных остатков ограничивается операцией ограничения следующим образом:2. The method according to claim 1, in which each of the values of the reconstructed quantized residuals is limited by a restriction operation as follows: значение равно минимальному значению в ответ на то, что значение меньше минимального значения, иthe value is equal to the minimum value in response to the value being less than the minimum value, and значение равно максимальному значению в ответ на то, что значение больше максимального значения.value is equal to the maximum value in response to the value being greater than the maximum value. 3. Способ по п. 2, в котором минимальное значение является отрицательным значением, а максимальное значение является положительным значением.3. The method of claim 2, wherein the minimum value is a negative value and the maximum value is a positive value. 4. Способ по п. 3, в котором минимальное значение установлено равным -32768, а максимальное значение установлено равным 32767.4. The method of claim 3, wherein the minimum value is set to -32768 and the maximum value is set to 32767. 5. Способ по п. 1, в котором применение или неприменение режима дифференциального кодирования к текущему видеоблоку указывается с помощью одного или более синтаксических элементов, включенных в битовый поток.5. The method of claim 1, wherein the application or non-application of the differential encoding mode to the current video block is indicated by one or more syntax elements included in the bitstream. 6. Способ по п. 1, в котором единственный синтаксический элемент указывает, применяется ли режим дифференциального кодирования к двум компонентам цветности.6. The method of claim 1, wherein the single syntax element indicates whether the differential encoding mode is applied to the two chrominance components. 7. Способ по п. 6, в котором единственный синтаксический элемент исключается из битового потока в ответ на использование определенного режима для внутрикадрового предсказания двух компонентов цветности.7. The method of claim 6, wherein a single syntactic element is excluded from the bitstream in response to using a particular mode for intra-frame prediction of two chroma components. 8. Способ по п. 7, в котором определенный режим включает в себя межкомпонентную линейную модель.8. The method of claim 7, wherein the defined mode includes an intercomponent linear model. 9. Способ по п. 1, в котором предикторы квантованных остатков вырабатываются на уровне отсчетов.9. The method according to claim 1, in which predictors of quantized residuals are generated at the sample level. 10. Способ по п. 9, в котором режим дифференциального кодирования применяется в горизонтальном направлении или в вертикальном направлении.10. The method of claim 9, wherein the differential encoding mode is applied in the horizontal direction or in the vertical direction. 11. Способ по п. 1, в котором на этапе преобразования кодируют текущий видеоблок в битовый поток.11. The method according to claim 1, in which, at the conversion stage, the current video block is encoded into a bitstream. 12. Способ по п. 1, в котором на этапе преобразования декодируют текущий видеоблок из битового потока.12. The method according to claim 1, in which, at the conversion stage, the current video block is decoded from the bit stream. 13. Устройство обработки видеоданных, содержащее процессор и энергонезависимую память с хранящимися на ней инструкциями, причем инструкции при их исполнении процессором вызывают выполнение процессором:13. A video data processing device containing a processor and non-volatile memory with instructions stored thereon, wherein the instructions, when executed by the processor, cause the processor to execute: определения, для преобразования между текущим видеоблоком видео и битовым потоком видео, что к текущему видеоблоку применяется режим дифференциального кодирования, используемый для отсчетов остатка; иdetermining, for conversion between the current video video block and the video bitstream, that the differential encoding mode used for the remainder samples is applied to the current video block; And выполнения, на основе указанного определения, указанного преобразования с использованием режима дифференциального кодирования,performing, based on said definition, said transformation using a differential encoding mode, при этом в режиме дифференциального кодирования разности между квантованными остатками, полученными с помощью внутрикадрового предсказания, и предикторами квантованных остатков представлены в битовом потоке, причем по меньшей мере один из восстановленных квантованных остатков получается на основе суммы одной разности и другого восстановленного квантованного остатка иwherein, in the differential encoding mode, the differences between the quantized residuals obtained by intra-frame prediction and the quantized residual predictors are represented in a bit stream, wherein at least one of the reconstructed quantized residuals is obtained based on the sum of one difference and the other reconstructed quantized residual, and значения восстановленных квантованных остатков ограничены определенным диапазоном посредством применения операции ограничения к восстановленным квантованным остаткам.the values of the reconstructed quantized residuals are limited to a certain range by applying a constraint operation to the reconstructed quantized residuals. 14. Энергонезависимый машиночитаемый носитель информации, на котором хранятся инструкции, которые вызывают выполнение процессором:14. A non-volatile computer-readable storage medium on which instructions are stored that cause the processor to execute: определения, для преобразования между текущим видеоблоком видео и битовым потоком видео, что к текущему видеоблоку применяется режим дифференциального кодирования, используемый для отсчетов остатка; иdetermining, for conversion between the current video video block and the video bitstream, that the differential encoding mode used for the remainder samples is applied to the current video block; And выполнения, на основе указанного определения, указанного преобразования с использованием режима дифференциального кодирования,performing, based on said definition, said transformation using a differential encoding mode, при этом в режиме дифференциального кодирования разности между квантованными остатками, полученными с помощью внутрикадрового предсказания, и предикторами квантованных остатков представлены в битовом потоке, причем по меньшей мере один из восстановленных квантованных остатков получается на основе суммы одной разности и другого восстановленного квантованного остатка иwherein, in the differential encoding mode, the differences between the quantized residuals obtained by intra-frame prediction and the quantized residual predictors are represented in a bit stream, wherein at least one of the reconstructed quantized residuals is obtained based on the sum of one difference and the other reconstructed quantized residual, and значения восстановленных квантованных остатков ограничены определенным диапазоном посредством применения операции ограничения к восстановленным квантованным остаткам.the values of the reconstructed quantized residuals are limited to a certain range by applying a constraint operation to the reconstructed quantized residuals. 15. Способ сохранения битового потока видео, содержащий этапы, на которых:15. A method for storing a video bitstream, comprising the steps of: определяют, что режим дифференциального кодирования, используемый для отсчетов остатка, применяется к текущему видеоблоку видео;determining that the differential encoding mode used for the residual samples is applied to the current video video block; вырабатывают битовый поток видео на основе указанного определения с использованием режима дифференциального кодирования; иgenerating a video bitstream based on the specified definition using a differential encoding mode; And сохраняют битовый поток видео в энергонезависимом машиночитаемом носителе информации,store the video bitstream in a non-volatile computer-readable storage medium, при этом в режиме дифференциального кодирования разности между квантованными остатками, полученными с помощью внутрикадрового предсказания, и предикторами квантованных остатков представлены в битовом потоке, причем по меньшей мере один из восстановленных квантованных остатков получается на основе суммы одной разности и другого восстановленного квантованного остатка иwherein, in the differential encoding mode, the differences between the quantized residuals obtained by intra-frame prediction and the quantized residual predictors are represented in a bit stream, wherein at least one of the reconstructed quantized residuals is obtained based on the sum of one difference and the other reconstructed quantized residual, and значения восстановленных квантованных остатков ограничены определенным диапазоном посредством применения операции ограничения к восстановленным квантованным остаткам.the values of the reconstructed quantized residuals are limited to a certain range by applying a constraint operation to the reconstructed quantized residuals.
RU2021130468A 2019-04-24 2020-04-23 Limitation of representation of differential pulse code modulation of coded video quantized residual RU2807214C2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNPCT/CN2019/084008 2019-04-24

Publications (2)

Publication Number Publication Date
RU2021130468A RU2021130468A (en) 2023-04-20
RU2807214C2 true RU2807214C2 (en) 2023-11-13

Family

ID=

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8208545B2 (en) * 2006-06-01 2012-06-26 Electronics And Telecommunications Research Institute Method and apparatus for video coding on pixel-wise prediction
US20140362917A1 (en) * 2013-06-05 2014-12-11 Qualcomm Incorporated Residual differential pulse code modulation (dpcm) extensions and harmonization with transform skip, rotation, and scans
US9641844B2 (en) * 2009-04-14 2017-05-02 Sk Telecom Co., Ltd. Method and apparatus for selecting a prediction mode, and image encoding/decoding method and apparatus using same
US9716894B2 (en) * 2013-03-25 2017-07-25 Qualcomm Incorporated Intra prediction modes for lossy coding when transform is skipped
WO2017184970A1 (en) * 2016-04-22 2017-10-26 Vid Scale, Inc. Prediction systems and methods for video coding based on filtering nearest neighboring pixels
US20170366807A1 (en) * 2014-12-08 2017-12-21 Thomson Licensing Coding of intra modes
RU2641252C2 (en) * 2013-07-12 2018-01-16 Квэлкомм Инкорпорейтед Palettized prediction at encoding video based on palettes
US20180213227A1 (en) * 2009-08-07 2018-07-26 Electronics And Telecommunications Research Institute Motion picture encoding apparatus and method thereof
US10142654B2 (en) * 2013-12-27 2018-11-27 National Chiao Tung University Method for encoding/decoding video by oblong intra prediction

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8208545B2 (en) * 2006-06-01 2012-06-26 Electronics And Telecommunications Research Institute Method and apparatus for video coding on pixel-wise prediction
US9641844B2 (en) * 2009-04-14 2017-05-02 Sk Telecom Co., Ltd. Method and apparatus for selecting a prediction mode, and image encoding/decoding method and apparatus using same
US20180213227A1 (en) * 2009-08-07 2018-07-26 Electronics And Telecommunications Research Institute Motion picture encoding apparatus and method thereof
US9716894B2 (en) * 2013-03-25 2017-07-25 Qualcomm Incorporated Intra prediction modes for lossy coding when transform is skipped
US20140362917A1 (en) * 2013-06-05 2014-12-11 Qualcomm Incorporated Residual differential pulse code modulation (dpcm) extensions and harmonization with transform skip, rotation, and scans
RU2641252C2 (en) * 2013-07-12 2018-01-16 Квэлкомм Инкорпорейтед Palettized prediction at encoding video based on palettes
US10142654B2 (en) * 2013-12-27 2018-11-27 National Chiao Tung University Method for encoding/decoding video by oblong intra prediction
US20170366807A1 (en) * 2014-12-08 2017-12-21 Thomson Licensing Coding of intra modes
WO2017184970A1 (en) * 2016-04-22 2017-10-26 Vid Scale, Inc. Prediction systems and methods for video coding based on filtering nearest neighboring pixels

Similar Documents

Publication Publication Date Title
JP7414843B2 (en) Quantized residual difference pulse code modulation representation of encoded video
JP7448559B2 (en) Context encoding for transform skip mode
JP7288084B2 (en) Signaling in conversion skip mode
JP7288083B2 (en) Encoding mode based on encoding tree structure type
CN113796069B (en) Intra-frame codec video using quantized residual differential pulse codec modulation codec
US11490089B2 (en) Transform bypass coded residual blocks in digital video
RU2807214C2 (en) Limitation of representation of differential pulse code modulation of coded video quantized residual