RU2619199C1 - Video decoding method - Google Patents

Video decoding method Download PDF

Info

Publication number
RU2619199C1
RU2619199C1 RU2016114732A RU2016114732A RU2619199C1 RU 2619199 C1 RU2619199 C1 RU 2619199C1 RU 2016114732 A RU2016114732 A RU 2016114732A RU 2016114732 A RU2016114732 A RU 2016114732A RU 2619199 C1 RU2619199 C1 RU 2619199C1
Authority
RU
Russia
Prior art keywords
block
candidate
vector
prediction
scanning
Prior art date
Application number
RU2016114732A
Other languages
Russian (ru)
Inventor
Бэ Кын ЛЭЕ
Джэ Чхол КВОН
Джо Ёун КИМ
Original Assignee
Кт Корпорейшен
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Кт Корпорейшен filed Critical Кт Корпорейшен
Priority to RU2016114732A priority Critical patent/RU2619199C1/en
Application granted granted Critical
Publication of RU2619199C1 publication Critical patent/RU2619199C1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]

Abstract

FIELD: physics.
SUBSTANCE: video decoding method includes: obtaining the difference samples of the current block and the reference image index; obtaining the spatial vector- candidate for moving in the neighboring block in the space relative to the current block; ranging the related image corresponding to the temporary vector- candidate for moving the current block, based on the reference image index; obtaining the temporary vector-candidate for moving in the associated block. The associated block is included in the associated image; generating the list of the movement vector-candidates, containing a spatial movement vector-candidate and a temporary movement vector-candidate; determining the movement vector predictor based on the list of the movement vector-candidates and the candidate index of the current block. The candidate index indicates one of the movement vector-candidates contained in the list of the movement vector-candidates; determining the movement vector of the current block by using the movement vector predictor and the difference of the movement vectors; obtaining a current block prediction samples by using the movement vector; and reconstructing the current block by using the prediction samples and the difference samples of the current block.
EFFECT: efficient video decoding.
6 cl, 8 dwg

Description

Настоящая заявка выделена из заявки №2014119545 на выдачу патента РФ на изобретение, поданной 08.11.2012, с испрашиванием приоритета по дате подачи первых заявок KR 10-2011-0116126 и KR 10-2012-0125799, поданных в патентное ведомство Кореи 08.11.2011 и 08.11.2012, соответственно.This application is isolated from application No. 2014119545 for the grant of a patent of the Russian Federation for an invention filed November 8, 2012, with claiming priority on the filing date of the first applications KR 10-2011-0116126 and KR 10-2012-0125799 filed with the Korean Patent Office on 11/08/2011 and 11/08/2012, respectively.

Область техники, к которой относится изобретениеFIELD OF THE INVENTION

Настоящее изобретение относится к кодированию и декодированию видеоданных, более конкретно к способу декодирования видеосигнала.The present invention relates to encoding and decoding video data, and more particularly to a method for decoding a video signal.

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

В последнее время в различных отраслях растет потребность в использовании видеоданных с большим разрешением и высоким качеством, таких как видеоданные высокого качества (HD; high-definition) и сверхвысокого качества (UHD; ultrahigh-definition). По мере повышения разрешения и качества видеоданных возрастает и объем данных по отношению к существующим в настоящее время обычным видеоданным. Соответственно, при передаче видеоданных с использованием, например, существующих в настоящее время проводных и беспроводных широкополосных линий связи или хранении видеоданных на существующих в настоящее время носителях информации возрастают затраты на передачу и хранение видеоданных. Для решения этих проблем, возникающих при увеличении разрешения и качества видеоданных, могут быть использованы высокоэффективные способы сжатия видеоданных.Recently, there has been an increasing demand in various industries for the use of high-resolution and high-quality video data, such as high-definition (HD; high-definition) and ultra-high-definition (HD) video. As the resolution and quality of the video data increase, so does the amount of data relative to the currently existing conventional video data. Accordingly, when transmitting video data using, for example, current wired and wireless broadband communication lines or storing video data on currently existing storage media, the cost of transmitting and storing video data increases. To solve these problems that arise when increasing the resolution and quality of video data, highly effective methods of compressing video data can be used.

Способ сжатия видеоданных содержит различные способы, такие как способ межкадрового предсказания для предсказания значений пикселей, содержащихся в текущем изображении, на основании предыдущих или последующих изображений относительно текущего изображения, способ внутрикадрового предсказания для предсказаний значений пикселей в текущем изображении с использованием информации о пикселе в текущем изображении и способ энтропийного кодирования путем присваивания короткого кода значению с высокой частотой появления и присваивания длинного кода значению с низкой частотой появления. Видеоданные могут быть эффективно сжаты и переданы или сохранены с использованием таких способов сжатия видеоданных.The video data compression method comprises various methods, such as an inter-frame prediction method for predicting pixel values contained in a current image based on previous or subsequent images relative to a current image, an intra-frame prediction method for predicting pixel values in a current image using pixel information in the current image and method for entropy coding by assigning a short code to a value with a high occurrence and assignment frequency for nnogo code value with a low frequency of appearance. Video data can be efficiently compressed and transmitted or stored using such video compression methods.

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

Целью аспекта настоящего изобретения является предложение способа декодирования видеосигнала для повышения эффективности декодирования видеоданных.An object of an aspect of the present invention is to provide a method for decoding a video signal to improve the decoding efficiency of video data.

В варианте осуществления настоящего изобретения предлагается способ декодирования видеосигнала. Способ включает получение разностных образцов текущего блока и индекса опорного изображения; получение пространственного вектора-кандидата перемещения по соседнему в пространстве блоку относительно текущего блока; выбор связанного изображения, относящегося к временному вектору-кандидату перемещения текущего блока, на основании индекса опорного изображения; получение временного вектора-кандидата перемещения по связанному блоку, при этом связанный блок включен в связанное изображение; генерирование списка векторов-кандидатов перемещения, содержащего пространственный вектор-кандидат перемещения и временной вектор-кандидат перемещения; определение предсказателя вектора перемещения на основании списка векторов-кандидатов перемещения и индекса кандидата текущего блока, при этом индекс кандидата указывает один из векторов-кандидатов перемещения, содержащихся в списке векторов-кандидатов перемещения; определение вектора перемещения текущего блока с использованием предсказателя вектора перемещения и разности векторов перемещения; получение образцов предсказания текущего блока с использованием вектора перемещения; и реконструирование текущего блока с использованием образцов предсказания и разностных образцов текущего блока.In an embodiment of the present invention, there is provided a method for decoding a video signal. The method includes obtaining differential samples of the current block and the index of the reference image; obtaining a spatial vector of a candidate for moving along a block neighboring in space relative to the current block; selecting a related image related to a temporary candidate motion vector of the current block based on the index of the reference image; obtaining a temporary motion candidate vector along the linked block, wherein the linked block is included in the linked image; generating a list of motion candidate vectors comprising a spatial motion candidate vector and a temporal motion candidate vector; determining a motion vector predictor based on the list of motion candidate vectors and the candidate index of the current block, wherein the candidate index indicates one of the motion candidate vectors contained in the list of motion candidate vectors; determining a displacement vector of a current block using a displacement vector predictor and a difference of displacement vectors; obtaining prediction patterns of the current block using a displacement vector; and reconstructing the current block using prediction patterns and differential samples of the current block.

В таком способе связанное изображение может иметь временной порядок, отличный от текущего изображения, содержащего текущий блок.In such a method, the linked image may have a time order different from the current image containing the current block.

Связанный блок может представлять собой блок, соответствующий той же позиции, что и текущий блок.A linked block may be a block corresponding to the same position as the current block.

Соседний в пространстве блок может включать по меньшей мере один из числа левого соседнего блока и верхнего соседнего блока.A block neighboring in space may include at least one of a number of a left neighboring block and an upper neighboring block.

Множество векторов-кандидатов перемещения в списке векторов-кандидатов перемещения может быть расположено в порядке приоритета.The plurality of displacement candidate vectors in the list of displacement candidate vectors may be arranged in priority order.

Множество векторов-кандидатов перемещения может быть расположено в порядке, соответствующем пространственному вектору-кандидату перемещения и временному вектору-кандидату перемещения.The plurality of displacement candidate vectors may be arranged in an order corresponding to the spatial displacement candidate vector and the temporary displacement candidate vector.

Технический результатTechnical result

В соответствии с настоящим изобретением способ декодирования видеосигнала повышает эффективность декодирования видеоизображения.In accordance with the present invention, a video decoding method improves the decoding efficiency of a video image.

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

На фиг. 1 показана функциональная схема устройства кодирования видеоданных в соответствии с примерным вариантом осуществления настоящего изобретения.In FIG. 1 is a functional diagram of a video encoding apparatus in accordance with an exemplary embodiment of the present invention.

На фиг. 2 показана функциональная диаграмма устройства декодирования видеоданных в соответствии с примерным вариантом осуществления настоящего изобретения.In FIG. 2 is a functional diagram of a video decoding apparatus in accordance with an exemplary embodiment of the present invention.

На фиг. 3 схематично показан способ сканирования коэффициентов в соответствии с настоящим изобретением.In FIG. 3 schematically shows a coefficient scanning method in accordance with the present invention.

На фиг. 4 показан способ определения и кодирования способа сканирования на основании режима деления блока предсказания в соответствии с примерным вариантом осуществления настоящего изобретения.In FIG. 4 shows a method for determining and encoding a scanning method based on a division mode of a prediction block in accordance with an exemplary embodiment of the present invention.

На фиг. 5 показан способ определения и кодирования способа сканирования в делении асимметричного перемещения (asymmetric motion partition, AMP) в соответствии с примерным вариантом осуществления настоящего изобретения.In FIG. 5 shows a method for determining and encoding an asymmetric motion partition (AMP) scanning method in accordance with an exemplary embodiment of the present invention.

На фиг. 6 показан способ определения и кодирования способа сканирования для внутрикадрового предсказания на малых расстояниях (short distance intra prediction, SDIP) в соответствии с примерным вариантом осуществления настоящего изобретения.In FIG. 6 shows a method for determining and encoding a scanning method for short distance intra prediction (SDIP) in accordance with an exemplary embodiment of the present invention.

На фиг. 7 показана обобщенная схема операции кодирования видеоданных в соответствии с настоящим изобретением.In FIG. 7 shows a generalized diagram of a video encoding operation in accordance with the present invention.

На фиг. 8 показана обобщенная схема операции декодирования видеоданных в соответствии с настоящим изобретением.In FIG. 8 shows a generalized diagram of a video decoding operation in accordance with the present invention.

Осуществление изобретенияThe implementation of the invention

Настоящее изобретение может быть изменено или модифицировано различными способами и может быть проиллюстрировано со ссылкой на различные примеры вариантов осуществления, некоторые из которых будут описаны и показаны на чертежах. Однако эти варианты осуществления не предназначены для ограничения изобретения, но предполагают включение всех модификаций, аналогов и замен, соответствующих духу и объему охраны изобретения. Одинаковые обозначения позиций на чертежах относятся к одним и тем же элементам во всем документе.The present invention may be modified or modified in various ways, and may be illustrated with reference to various examples of embodiments, some of which will be described and shown in the drawings. However, these embodiments are not intended to limit the invention, but are intended to include all modifications, analogs, and substitutions consistent with the spirit and scope of the invention. The same reference numerals in the drawings refer to the same elements throughout the document.

Хотя могут быть использованы термины «первый», «второй» и т.д. для описания различных элементов, эти элементы не должны ограничиваться этими терминами. Эти термины использованы только для различения одного элемента от другого элемента. Например, первый элемент может быть назван вторым элементом, а второй элемент подобным образом может быть назван первым элементом без выхода за пределы сущности настоящего изобретения. Термин «и/или» включает все и любые комбинации множества соответствующих перечисленных элементов.Although the terms “first”, “second”, etc. may be used. to describe various elements, these elements should not be limited to these terms. These terms are used only to distinguish one element from another element. For example, the first element may be called the second element, and the second element may likewise be called the first element without departing from the spirit of the present invention. The term “and / or” includes all and any combination of a plurality of relevant listed elements.

Следует понимать, что когда элемент описывают как «соединенный с» или «связанный с» другим элементом, такой элемент может быть напрямую соединен или связан с другим элементом или промежуточными элементами. С другой стороны, когда элемент описывают как «напрямую соединенный с» или «напрямую связанный с» другим элементом, промежуточные элементы отсутствуют.It should be understood that when an element is described as “connected to” or “connected to” by another element, such an element can be directly connected or connected to another element or intermediate elements. On the other hand, when an element is described as “directly connected to” or “directly connected to” another element, there are no intermediate elements.

Использованная в данном документе терминология используется только с целью описания частных вариантов осуществления и не предназначена для ограничения изобретения. Как использовано в данном документе, формы единственного числа предполагают также включение форм множественного числа, кроме случаев, когда из контекста ясно следует обратное. Также ясно, что термины «содержит», «включает» и/или «имеет», использованные в данном описании, указывают на наличие указанных признаков, целых систем, шагов, операций, элементов и/или других компонентов, но не препятствуют наличию или добавлению одного или более других признаков, целых систем, шагов, операций, элементов, компонентов и/или их объединений.The terminology used herein is used only to describe particular embodiments and is not intended to limit the invention. As used herein, singular forms also include the plural, unless the context clearly indicates otherwise. It is also clear that the terms “comprises,” “includes,” and / or “has,” as used herein, indicate the presence of the indicated features, entire systems, steps, operations, elements, and / or other components, but do not impede the presence or addition of one or more other features, entire systems, steps, operations, elements, components and / or their associations.

В дальнейшем примерные варианты осуществления изобретения будут описаны детально со ссылкой на сопровождающие чертежи. Одинаковые ссылочные обозначения на чертежах относятся к аналогичным элементам во всем документе, и избыточные описания одинаковых элементов будут здесь опущены.Hereinafter, exemplary embodiments of the invention will be described in detail with reference to the accompanying drawings. The same reference signs in the drawings refer to like elements throughout the document, and redundant descriptions of like elements will be omitted here.

На фиг. 1 показана функциональная схема устройства кодирования видеоданных в соответствии с примерным вариантом осуществления настоящего изобретения.In FIG. 1 is a functional diagram of a video encoding apparatus in accordance with an exemplary embodiment of the present invention.

Как показано на фиг. 1, устройство 100 кодирования видеоданных содержит модуль 110 деления изображения, модули 120 и 125 предсказания, модуль 130 преобразования, модуль 135 квантизации (квантования), модуль 160 переупорядочения, модуль 165 энтропийного кодирования, модуль 140 деквантизации, модуль 145 обратного преобразования, модуль 150 фильтрации и память (запоминающее устройство) 155.As shown in FIG. 1, the video encoding apparatus 100 comprises an image division module 110, prediction modules 120 and 125, a transform module 130, a quantization (quantization) module 135, a reordering module 160, an entropy encoding module 165, a de-quantization module 140, an inverse transform module 145, a filtering module 150 and memory (storage device) 155.

Хотя с целью пояснения различных отличительных функций устройства кодирования видеоданных элементы на фиг. 1 показаны независимо, данная конфигурация не означает, что каждый элемент представляет собой отдельный аппаратный компонент или программный компонент. Иными словами, элементы показаны независимыми для удобства описания; тогда как для выполнения функций два или более элементов могут быть объединены в один элемент, или один элемент может быть разделен на несколько элементов. Варианты осуществления изобретения, в которых некоторые элементы объединены в один составной элемент и/или элемент разделен на несколько самостоятельных элементов, входят в объем охраны настоящего изобретения без выхода за пределы сущности настоящего изобретения.Although, for the purpose of explaining various distinctive functions of the video encoding apparatus, the elements in FIG. 1 are shown independently, this configuration does not mean that each element is a separate hardware component or software component. In other words, the elements are shown independent for convenience of description; while to perform functions two or more elements can be combined into one element, or one element can be divided into several elements. Embodiments of the invention in which some elements are combined into one constituent element and / or the element is divided into several independent elements are included in the scope of protection of the present invention without going beyond the essence of the present invention.

Некоторые элементы не являются необходимыми для основных функций изобретения и могут быть необязательными компонентами лишь для улучшения характеристик. Изобретение может быть осуществлено включением только необходимых для варианта осуществления изобретения компонентов, за исключением компонентов, использованных лишь для улучшения характеристик. Структура, включающая в себя только необходимые компоненты, за исключением оптических компонентов, использованных лишь для улучшения характеристик, входит в объем охраны изобретения.Some elements are not necessary for the basic functions of the invention and may be optional components only to improve performance. The invention can be implemented by including only the components necessary for an embodiment of the invention, with the exception of components used only to improve performance. A structure that includes only the necessary components, with the exception of the optical components used only to improve performance, is included in the scope of protection of the invention.

Модуль 110 деления изображения может разделять входное изображение на по меньшей мере один блок обработки (process unit). При этом блок обработки может быть блоком предсказания (prediction unit, PU), блоком преобразования (transform unit, TU) или блоком кодирования (coding unit, CU). Модуль 110 деления изображения может разделять одно изображение на множество комбинаций блоков CU, PU и TU и выбирать одну комбинацию CU, PU и TU на основании заранее заданного критерия (например, функции стоимости), тем самым кодируя изображение.The image dividing unit 110 may split the input image into at least one processing unit. The processing unit may be a prediction unit (PU), a transform unit (transform unit, TU), or a coding unit (coding unit, CU). The image dividing unit 110 may divide a single image into a plurality of combinations of blocks CU, PU and TU and select one combination of CU, PU and TU based on a predetermined criterion (eg, cost function), thereby encoding the image.

Например, одно изображение может быть разделено на несколько CU. Рекурсивная структура дерева, такая как структура дерева квадрантов, может быть использована для деления изображения на блоки CU. CU, для которого изображение или CU максимального размера может быть корнем, может быть разделен на подблоки кодирования с таким же количеством дочерних узлов, как и у разделяемых блоков CU. CU, который более не разделяют в соответствии с заранее заданным ограничением, является листовым (концевым) узлом. Иными словами, при условии, что CU может быть разделен только на квадранты, одиночный CU может быть разделен самое большее на четыре различных CU.For example, one image can be divided into several CUs. A recursive tree structure, such as a quadrant tree structure, can be used to divide an image into CU blocks. A CU for which an image or maximum size CU can be root can be divided into coding subunits with the same number of child nodes as the shared CUs. A CU, which is no longer split according to a predetermined restriction, is a leaf (end) node. In other words, provided that the CU can only be divided into quadrants, a single CU can be divided at most into four different CUs.

В вариантах осуществления изобретения CU может быть использован для ссылки не только на блок для кодирования, но также на блок для декодирования.In embodiments of the invention, the CU may be used to refer not only to a block for encoding, but also to a block for decoding.

PU может быть разделен на по меньшей мере одну квадратную или прямоугольную форму с тем же размером, что у CU. Форма PU, выделенных из одного и того же CU, может отличаться друг от друга.The PU can be divided into at least one square or rectangular shape with the same size as the CU. The shape of PUs isolated from the same CU may differ from each other.

При генерировании PU для внутрикадрового предсказания на основании CU и при условии, что CU не является минимальным CU, CU могут подвергать внутрикадровому предсказанию без деления на несколько PU (N×N).When generating PUs for intra-frame prediction based on the CU and provided that the CU is not a minimum CU, CUs can undergo intra-frame prediction without dividing by multiple PUs (N × N).

Модули 120 и 125 предсказания могут включать модуль 120 межкадрового предсказания для выполнения межкадрового предсказания и модуль 125 внутрикадрового предсказания для выполнения внутрикадрового предсказания. Модули 120 и 125 предсказания могут определять, какое из предсказаний, межкадровое или внутрикадровое, должно быть выполнено для PU, и могут определять характерную информацию (например, режим внутрикадрового предсказания, вектор перемещения и опорное изображение) определенного таким образом способа предсказания. При этом блок обработки, для которого выполняют предсказание, может быть отличным от блока обработки, для которого определены способ предсказания и характерная информация. Например, способ предсказания и режим предсказания могут быть определены для каждого PU, тогда как предсказание может быть выполнено для каждого TU. Разностное значение (разностный блок) между сгенерированным предсказанным блоком и оригинальным блоком может быть введено в модуль 130 преобразования. Кроме того, информация о режиме предсказания, информация о векторе перемещения и т.п., использованные для предсказания, могут быть закодированы вместе с разностным значением модулем 165 энтропийного кодирования и переданы в устройство декодирования. При использовании конкретного режима кодирования оригинальный блок может быть закодирован и передан в устройство декодирования без генерирования блока предсказания модулями 120 и 125 предсказания.Prediction modules 120 and 125 may include an inter prediction module 120 for performing inter prediction and an intra prediction module 125 for performing intra prediction. Prediction modules 120 and 125 may determine which of the predictions, inter-frame or intra-frame, should be performed for the PU, and may determine characteristic information (e.g., intra-frame prediction mode, displacement vector, and reference image) of the thus determined prediction method. In this case, the processing unit for which the prediction is performed may be different from the processing unit for which the prediction method and characteristic information are determined. For example, a prediction method and a prediction mode may be defined for each PU, while prediction may be performed for each TU. A difference value (difference block) between the generated predicted block and the original block may be input to the conversion unit 130. In addition, information about the prediction mode, information about the displacement vector and the like used for prediction can be encoded together with the difference value by the entropy encoding unit 165 and transmitted to the decoding device. Using a particular encoding mode, the original block can be encoded and transmitted to the decoding device without generating a prediction block by prediction modules 120 and 125.

Модуль 120 межкадрового предсказания может предсказывать PU на основании информации о по меньшей мере одном изображении из числа изображения, предшествовавшего текущему изображению, и изображения, следующего за текущим изображением. Модуль 120 межкадрового предсказания может содержать модуль интерполяции опорного изображения, модуль предсказания перемещения и модуль компенсации перемещения.Inter prediction unit 120 may predict the PU based on the information of at least one image from among the image preceding the current image and the image following the current image. Inter prediction module 120 may include a reference image interpolation module, a motion prediction module, and a motion compensation module.

Модуль интерполяции опорного изображения может получать информацию об опорном изображении из памяти 155 и генерировать информацию о пикселе менее, чем целый пиксел от опорного изображения. Для пикселов яркостного канала может быть использован 8-элементный интерполяционный фильтр с дискретным косинусным преобразованием (DCT) с переменным коэффициентом фильтра для генерирования информации о пикселе менее, чем целый пиксел в элементах 1/4 пиксела. В случае пикселов цветностного канала может быть использован 4-элементный интерполяционный фильтр с дискретным косинусным преобразованием (DCT) с переменным коэффициентом фильтра для генерирования информации о пикселе менее, чем целый пиксел в элементах 1/8 пиксела.The reference image interpolation module may receive reference image information from the memory 155 and generate pixel information less than a whole pixel from the reference image. For pixels of the luminance channel, an 8-element discrete cosine transform (DCT) interpolation filter with a variable filter coefficient can be used to generate pixel information less than a whole pixel in 1/4 pixel elements. In the case of color channel pixels, a 4-element discrete cosine transform (DCT) filter with a variable filter coefficient can be used to generate pixel information less than a whole pixel in 1/8 pixel elements.

Модуль предсказания перемещения может выполнять предсказание перемещения (motion prediction) на основании опорного изображения, интерполированного модулем интерполяции опорного изображения. Для вычисления вектора перемещения могут быть использованы различные подходы, такие как алгоритм блочного сравнения на основе полного поиска (full search-based block matching algorithm, FBMA), алгоритм трехшагового поиска (three-step search, TSS) и новый алгоритм трехшагового поиска (new three-step search, NTS). Вектор перемещения имеет значение вектора перемещения в элементах 1/2 или 1/4 пиксела на основании интерполированного пиксела. Модуль предсказания перемещения может предсказывать текущий PU с использованием различных способов предсказания перемещения. В качестве способа предсказания перемещения могут быть использованы различные способы, такие как режим пропуска, режим слияния и улучшенное предсказание вектора перемещения (advanced motion vector prediction, AMVP) и т.д.The motion prediction module may perform motion prediction based on a reference image interpolated by the reference image interpolation module. Various approaches can be used to calculate the displacement vector, such as the full search-based block matching algorithm (FBMA), the three-step search algorithm (TSS), and the new three-step search algorithm (new three -step search, NTS). The displacement vector has the displacement vector value in 1/2 or 1/4 pixel elements based on the interpolated pixel. The motion prediction module may predict the current PU using various motion prediction methods. Various methods can be used as the motion prediction method, such as skip mode, merge mode, and advanced motion vector prediction (AMVP), etc.

Модуль 125 внутрикадрового предсказания может генерировать PU на основании информации об опорном пикселе, соседнем с текущим блоком. Информация об опорном пикселе, соседнем с текущим блоком, является информацией о пикселе в текущем изображении. Если опорный пиксел является пикселом, для которого выполняется межкадровое предсказание, поскольку блок, который включает в себя опорный пиксел, соседний с текущим PU, является блоком, для которого выполняется межкадровое предсказание, информация об опорном пикселе, включенная в блок, для которого выполняется межкадровое предсказание, может быть замещена информацией об опорном пикселе в блоке, для которого выполняется внутрикадровое предсказание. Иными словами, если опорный пиксел недоступен, информация о недоступном пикселе может быть замещена информацией о по меньшей мере одном опорном пикселе из доступных опорных пикселов.Intra-frame prediction unit 125 may generate a PU based on information about a reference pixel adjacent to the current block. The reference pixel information adjacent to the current block is the pixel information in the current image. If the reference pixel is a pixel for which inter prediction is performed, since a block that includes a reference pixel adjacent to the current PU is a block for which inter prediction is performed, information about the reference pixel included in a block for which inter prediction is performed can be replaced by information about the reference pixel in the block for which intra-frame prediction is performed. In other words, if the reference pixel is unavailable, information about the inaccessible pixel may be replaced by information about at least one reference pixel from among the available reference pixels.

Режим предсказания для внутрикадрового предсказания включает режим направленного предсказания, в котором используется информация об опорном пикселе в соответствии с направлением предсказания и режим ненаправленного предсказания, в котором информацию о направлении не используют для выполнения предсказания. Режим для предсказания информации о яркостном канале и режим для предсказания информации о цветностном канале могут отличаться друг от друга. Кроме того, информацию о режиме внутрикадрового предсказания, использованную для получения информации о яркостном канале или информации о предсказанном сигнале яркостного канала можно использовать для предсказания информации о цветностном канале.The prediction mode for intra-frame prediction includes a directional prediction mode that uses reference pixel information in accordance with a prediction direction and an omnidirectional prediction mode in which direction information is not used to perform prediction. The mode for predicting luminance channel information and the mode for predicting color channel information may be different from each other. In addition, intra-prediction mode information used to obtain luminance channel information or predicted luminance channel signal information can be used to predict color channel information.

Если PU и TU имеют одинаковый размер при выполнении внутрикадрового предсказания, внутрикадровое предсказание для PU можно выполнить на основании левых пикселов, верхнего левого пиксела и верхних пикселов PU. С другой стороны, если PU и TU имеют различные размеры при выполнении внутрикадрового предсказания, внутрикадровое предсказание можно выполнить с использованием опорных пикселов на основании TU. Внутрикадровое предсказание с использованием деления N×N можно выполнить только для минимального CU.If the PUs and TUs are the same size when performing intra-frame prediction, intra-frame prediction for the PU can be performed based on the left pixels, the upper left pixel, and the upper pixels of the PU. On the other hand, if the PUs and TUs have different sizes when performing intra-frame prediction, intra-frame prediction can be performed using reference pixels based on the TU. Intra-frame prediction using N × N division can only be performed for the minimum CU.

В способе внутрикадрового предсказания предсказанный блок может быть сгенерирован в соответствии с режимом предсказания после применения фильтра адаптивного внутрикадрового сглаживания (adaptive intra smoothing, AIS). К опорным пикселам могут быть применены различные типы фильтров AIS. В способе внутрикадрового предсказания режим внутрикадрового предсказания текущего PU может быть предсказан по режиму внутрикадрового предсказания PU, соседнего с текущим PU. При предсказании режима предсказания для текущего PU с использованием информации о режиме, предсказанной по соседнему PU, когда текущий PU и соседний PU имеют одинаковый режим внутрикадрового предсказания, информация, указывающая на то, что текущий PU и соседний PU имеют одинаковый режим предсказания, может быть передана с использованием заранее заданной информации о флаге. Если текущий PU и соседний PU имеют различные режимы предсказания, информацию о режиме предсказания для текущего блока можно закодировать посредством энтропийного кодирования.In the intraframe prediction method, the predicted block may be generated in accordance with the prediction mode after applying an adaptive intra smoothing (AIS) filter. Different types of AIS filters can be applied to reference pixels. In the intra prediction method, the intra prediction mode of the current PU can be predicted from the intra prediction mode of the PU adjacent to the current PU. When predicting a prediction mode for the current PU using the mode information predicted by the neighboring PU, when the current PU and the neighboring PU have the same intra prediction mode, information indicating that the current PU and the neighboring PU have the same prediction mode can be transmitted using predefined flag information. If the current PU and the neighboring PU have different prediction modes, the prediction mode information for the current block can be encoded by entropy encoding.

Может быть сгенерирован разностный блок, содержащий разностную информацию, представляющую собой разность между оригинальным блоком PU и предсказанным блоком PU, сгенерированного на основании PU, сгенерированного модулями 120 и 125 предсказания. Сгенерированный разностный блок можно передать в модуль 130 преобразования.A difference block may be generated containing difference information representing the difference between the original PU and the predicted PU generated based on the PU generated by the prediction units 120 and 125. The generated difference block may be transmitted to the conversion module 130.

Модуль 130 преобразования может преобразовывать разностный блок с использованием способа преобразования, такого как дискретное косинусное преобразование (Discrete Cosine Transform, DCT) или дискретное синусное преобразование (Discrete Sine Transform, DST). Разностный блок содержит информацию о разности между PU, сгенерированным модулями 120 и 125 предсказания, и оригинальным блоком. Способ преобразования, подлежащий использованию для преобразования разностного блока, может быть выбран среди DCT и DST на основании информации о режиме внутрикадрового предсказания, примененного к PU, который использовался для генерирования разностного блока.The transform unit 130 may transform the difference block using a transform method such as Discrete Cosine Transform (DCT) or Discrete Sine Transform (DST). The difference block contains information about the difference between the PU generated by the prediction modules 120 and 125 and the original block. The conversion method to be used for transforming the difference block may be selected among DCT and DST based on the intra prediction mode information applied to the PU that was used to generate the difference block.

Модуль 135 квантизации (квантования) может квантовать значения, преобразованные в частотную область модулем 130 преобразования. Коэффициент квантования может меняться в соответствии с конкретным блоком или значимостью изображения. Значения, выгруженные из модуля 135 квантизации, могут передаваться в модуль 140 деквантизации и модуль 160 переупорядочения.The quantization (quantization) module 135 may quantize the values converted to the frequency domain by the transform module 130. The quantization coefficient may vary in accordance with a particular block or image significance. Values downloaded from the quantization module 135 may be transmitted to the de-quantization module 140 and the reordering module 160.

Модуль 160 переупорядочения может переупорядочивать коэффициенты в соответствии с квантованными разностными значениями.The reordering unit 160 may reorder the coefficients in accordance with the quantized difference values.

Модуль 160 переупорядочения может менять двумерный (2D) блок коэффициентов на одномерный (1В) вектор коэффициентов путем сканирования коэффициентов. Например, модуль 125 переупорядочения может менять двумерный блок коэффициентов на одномерный вектор коэффициентов путем сканирования от коэффициентов постоянной составляющей (DC) до коэффициентов высокочастотной области с использованием сканирования зигзагом. Вместо сканирования зигзагом может быть использовано вертикальное сканирование для сканирования двумерного блока коэффициентов в вертикальном направлении и горизонтальное сканирование для сканирования двумерного блока коэффициентов в горизонтальном направлении в зависимости от размера TU и режима внутрикадрового предсказания. Иными словами, используемый способ сканирования может быть выбран на основании размера TU и режима внутрикадрового предсказания среди сканирования зигзагом, вертикального сканирования и горизонтального сканирования.The reordering unit 160 may change a two-dimensional (2D) block of coefficients into a one-dimensional (1B) coefficient vector by scanning the coefficients. For example, reordering module 125 can change a two-dimensional block of coefficients into a one-dimensional coefficient vector by scanning from DC coefficients to high-frequency coefficients using zigzag scanning. Instead of zigzag scanning, vertical scanning can be used to scan a two-dimensional block of coefficients in the vertical direction and horizontal scanning to scan a two-dimensional block of coefficients in the horizontal direction depending on the size of the TU and the intra prediction mode. In other words, the scanning method used can be selected based on the TU size and the intra prediction mode among zigzag scanning, vertical scanning and horizontal scanning.

Модуль 165 энтропийного кодирования может выполнять энтропийное кодирование на основании значений, полученных модулем 160 переупорядочения. Для энтропийного кодирования могут быть использованы различные способы кодирования, такие как экспоненциальный код Голомба (exponential Golomb coding), контекстно-адаптивное кодирование переменной длины (context-adaptive variable length coding, CAVLC) или контекстно-адаптивное двоичное арифметическое кодирование (context-adaptive binary arithmetic coding, CABAC).Entropy encoding unit 165 may perform entropy encoding based on values obtained by reordering unit 160. Various encoding methods can be used for entropy coding, such as exponential Golomb coding, context-adaptive variable length coding (CAVLC), or context-adaptive binary arithmetic coding, CABAC).

Модуль 165 энтропийного кодирования может кодировать разнообразную информацию, такую как информация о разностных коэффициентах или информация о типе блока для CU, информация о режиме предсказания, информация о блоке деления, информация о PU, информация о блоке передачи, информация о векторе перемещения, информация об опорном кадре, информация о блоке интерполяции и информация о фильтрации из модуля 160 переупорядочения и модулей 120 и 125 предсказания.Entropy encoding unit 165 may encode a variety of information, such as difference coefficient information or block type information for CU, prediction mode information, division unit information, PU information, transmission unit information, displacement vector information, reference information frame, interpolation block information and filtering information from reordering unit 160 and prediction units 120 and 125.

Модуль 165 энтропийного кодирования может осуществлять энтропийное кодирование коэффициентов CU, введенных из модуля 160 переупорядочения.Entropy coding unit 165 may perform entropy coding of CU coefficients inputted from reordering unit 160.

Модуль 140 деквантизации и модуль 145 обратного преобразования деквантуют значения, которые квантованы модулем 135 квантизации и выполняют обратное преобразование значений, преобразованных модулем 130 преобразования. Разностные значения, сгенерированные модулем 140 деквантизации и модулем 145 обратного преобразования, могут быть добавлены в предсказанный PU. Предсказанный PU может быть предсказан модулем предсказания вектора перемещения, модулем компенсации перемещения и модулем внутрикадрового предсказания модулей 120 и 125 предсказания. Реконструированный блок может быть сгенерирован путем добавления разностных значений к предсказанному PU (предсказанным значениям).The de-quantization unit 140 and the inverse transform unit 145 dequantize the values that are quantized by the quantization unit 135 and inverse transform the values transformed by the transform unit 130. The difference values generated by the de-quantization unit 140 and the inverse transform unit 145 may be added to the predicted PU. The predicted PU can be predicted by the motion vector prediction module, the motion compensation module, and the intra-frame prediction module of the prediction modules 120 and 125. The reconstructed block can be generated by adding difference values to the predicted PU (predicted values).

Модуль 150 фильтрации может содержать по меньшей мере один из числа фильтра подавления блочности, модуля смещения и адаптивного петлевого фильтра (adaptive loop filter, ALF).Filtering module 150 may comprise at least one of a deblocking filter, an offset module, and an adaptive loop filter (ALF).

Фильтр подавления блочности (deblocking filter) может удалять искажения блока, сгенерированные на границах между блоками в реконструированном изображении. Решение о применении фильтра подавления блочности к текущему блоку может быть принято на основании пикселов, содержащихся в нескольких строках или колонках блока. Если к блоку применяют фильтр подавления блочности, может быть применен сильный фильтр или слабый фильтр в зависимости от требуемой интенсивности фильтрации подавления блочности. При выполнении горизонтальной фильтрации и вертикальной фильтрации при использовании фильтра подавления блочности, горизонтальная фильтрация и вертикальная фильтрация могут быть выполнены параллельно.The deblocking filter can remove block distortions generated at the boundaries between blocks in the reconstructed image. The decision to apply a deblocking filter to the current block can be made based on the pixels contained in several rows or columns of the block. If a block suppression filter is applied to the block, a strong filter or a weak filter may be applied depending on the desired block suppression filtering intensity. When performing horizontal filtering and vertical filtering using a deblocking filter, horizontal filtering and vertical filtering can be performed in parallel.

Модуль смещения может применять смещение от оригинального изображения в единицах пиксела к изображению, для которого завершена операция подавления блочности. Область, к которой может быть применено смещение, может быть определена после деления пикселов изображения на заранее определенное количество областей. Смещение может быть применено к определенной таким образом области с учетом информации о границах каждого пиксела и способа применения смещения к определенной области.The offset module may apply the offset from the original image in units of pixel to the image for which the deblocking operation is completed. The area to which the offset can be applied can be determined after dividing the image pixels by a predetermined number of areas. The offset can be applied to the area defined in this way, taking into account the information about the boundaries of each pixel and the method of applying the offset to a specific area.

ALF может выполнять фильтрацию на основании результата сравнения прошедшего фильтрацию реконструированного изображения и оригинального изображения. Пикселы, содержащиеся в изображении, могут быть разделены на заранее заданные группы, может быть определен фильтр, применяемый к каждой группе, и для каждой группы может быть выполнена дифференциальная фильтрация. Информация о том, следует ли применять ALF, может быть передана для каждого блока кодирования (CU), и размер и коэффициент применяемого ALF может различаться для каждого блока. ALF может быть нескольких типов, и количество коэффициентов, содержащихся в соответствующем фильтре, может различаться. Кроме того, фильтр ALF той же формы (фиксированной формы) может быть применен к блоку независимо от свойств блока.ALF may perform filtering based on a comparison of the filtered filtering of the reconstructed image and the original image. The pixels contained in the image can be divided into predefined groups, the filter applied to each group can be determined, and differential filtering can be performed for each group. Information about whether to use ALF may be transmitted for each coding unit (CU), and the size and coefficient of the applied ALF may vary for each block. ALF can be of several types, and the number of coefficients contained in the corresponding filter may vary. In addition, an ALF filter of the same shape (fixed shape) can be applied to a block regardless of the properties of the block.

Память (запоминающее устройство) 155 может хранить реконструированный блок или изображение, выданное модулем 150 фильтрации, и сохраненный реконструированный блок или изображение могут быть поданы в модули 120 и 125 предсказания при выполнении межкадрового предсказания.A memory (storage device) 155 may store the reconstructed block or image output by the filtering unit 150, and the stored reconstructed block or image may be provided to the prediction units 120 and 125 when performing inter-frame prediction.

На фиг. 2 показана функциональная схема устройства декодирования видеоданных в соответствии с примерным вариантом осуществления настоящего изобретения.In FIG. 2 is a functional diagram of a video decoding apparatus in accordance with an exemplary embodiment of the present invention.

Как показано на фиг. 2, устройство 200 декодирования видеоданных может содержать модуль 210 энтропийного декодирования, модуль 215 переупорядочения, модуль 220 деквантизации (деквантования), модуль 225 обратного преобразования, модули 230 и 235 предсказания, модуль 240 фильтрации и память 245.As shown in FIG. 2, the video decoding apparatus 200 may include an entropy decoding module 210, a reordering module 215, a de-quantization (de-quantization) module 220, an inverse transform module 225, a prediction module 230 and 235, a filter module 240, and a memory 245.

При поступлении битового потока видеоданных от устройства кодирования видеоданных входной битовый поток может быть декодирован в соответствии с операцией, обратной к операции кодирования видеоданных, выполняемой в устройстве кодирования видеоданных.Upon receipt of the video bitstream from the video encoding device, the input bit stream may be decoded in accordance with the operation inverse to the video encoding operation performed in the video encoding device.

Модуль 210 энтропийного декодирования может выполнять энтропийное декодирование в соответствии с операцией, обратной к операции энтропийного кодирования модулем энтропийного кодирования устройства кодирования видеоданных. Например, для энтропийного кодирования могли быть использованы различные способы, такие как экспоненциальный код Голомба, CAVLC или САВАС в соответствии со способом, использованным устройством кодирования видеоданных.Entropy decoding unit 210 may perform entropy decoding in accordance with an operation inverse to the entropy encoding operation by the entropy encoding unit of the video encoding apparatus. For example, various methods could be used for entropy encoding, such as the Golomb exponential code, CAVLC or SAVAC in accordance with the method used by the video encoding device.

Модуль 210 энтропийного декодирования может декодировать информацию, связанную с межкадровым предсказанием и внутрикадровым предсказанием, выполняемым устройством кодирования.Entropy decoding unit 210 may decode information related to inter prediction and intra prediction performed by the encoding device.

Модуль 215 переупорядочения может переупорядочивать битовый поток, прошедший энтропийное декодирование в модуле 210 энтропийного декодирования, на основании способа переупорядочения модуля кодирования. Модуль 215 переупорядочения может реконструировать и переупорядочивать коэффициенты в форме одномерного вектора в коэффициенты в двумерном блоке. Модуль 215 переупорядочения может получать информацию о сканировании коэффициентов, выполненном устройством кодирования, и может выполнять переупорядочение с использованием способа обратного сканирования коэффициентов на основании порядка сканирования, в котором сканирование выполнено устройством кодирования.The reordering unit 215 may reorder the entropy decoding bitstream in the entropy decoding unit 210 based on the method of reordering the encoding unit. The reordering module 215 can reconstruct and reorder the coefficients in the form of a one-dimensional vector into coefficients in a two-dimensional block. The reordering module 215 may obtain coefficient scanning information performed by the encoding device, and may reorder using the coefficient inverse scanning method based on the scanning order in which the scanning was performed by the encoding device.

Модуль 220 деквантизации выполнен с возможностью выполнять деквантование на основании параметра квантования (квантизации), полученного из устройства кодирования, и переупорядоченных коэффициентов блока.The dequantization module 220 is configured to dequantize based on a quantization parameter obtained from an encoding device and reordered block coefficients.

Модуль 225 обратного преобразования может выполнять обратное DCT и обратное DST результата квантования, выполненного устройством кодирования видеоданных, подвергнутого DCT и DST в модуле преобразования. Обратное преобразование можно выполнять на основании блока передачи, определенного устройством кодирования видеоданных. Модуль преобразования устройства кодирования видеоданных может выборочно выполнять DCT и DST в зависимости от множества элементов информации, таких как способ предсказания, размер текущего блока и направление предсказания и т.д., а модуль 225 обратного преобразования устройства декодирования видеоданных может выполнять обратное преобразование на основании информации о преобразовании, выполненном модулем преобразования устройства кодирования видеоданных.The inverse transform module 225 may perform the inverse DCT and inverse DST of a quantization result performed by the video encoding apparatus subjected to DCT and DST in the transform module. Inverse transformation can be performed based on the transmission unit determined by the video encoding device. The video encoding device transform module may selectively perform DCT and DST depending on a plurality of information elements, such as a prediction method, current block size and prediction direction, etc., and the video decoding apparatus inverse transform module 225 may perform the inverse transform based on the information about the conversion performed by the conversion module of the video encoding device.

Модули 230 и 235 предсказания могут генерировать блок предсказания (предсказанный блок) на основании информации о генерировании блока предсказания, полученной от модуля 210 энтропийного декодирования, и информации о декодированном ранее блоке или изображении, поступившей из памяти 245.Prediction modules 230 and 235 may generate a prediction block (predicted block) based on information on generating a prediction block received from entropy decoding module 210 and information on a previously decoded block or image received from memory 245.

По аналогии с операцией устройства кодирования видеоданных, как описано выше, если PU и TU имеют одинаковый размер при выполнении внутрикадрового предсказания, внутрикадровое предсказание для PU выполняют на основании левых пикселов, верхнего левого пиксела и верхних пикселов PU. С другой стороны, если PU и TU имеют различные размеры при выполнении внутрикадрового предсказания, внутрикадровое предсказание можно выполнить с использованием опорных пикселов на основании TU. Внутрикадровое предсказание с использованием деления N×N можно использовать только для минимального CU.Similar to the operation of the video encoding device as described above, if the PU and TU are the same size when performing intra-frame prediction, intra-frame prediction for the PU is performed based on the left pixels, the upper left pixel and the upper pixels of the PU. On the other hand, if the PUs and TUs have different sizes when performing intra-frame prediction, intra-frame prediction can be performed using reference pixels based on the TU. Intra-frame prediction using N × N division can only be used for minimum CU.

Модули 230 и 235 предсказания могут содержать модуль определения PU, модуль межкадрового предсказания и модуль внутрикадрового предсказания. Модуль определения PU может принимать различную информацию, такую как информацию о PU, информацию о режиме предсказания способа внутрикадрового предсказания и информацию, относящуюся к предсказанию перемещения способа межкадрового предсказания и т.д. из модуля 210 энтропийного декодирования, и определять PU для текущего CU. Модуль определения PU может определять, выполнять ли межкадровое или внутрикадровое предсказание для PU. Модуль 230 межкадрового предсказания может выполнять межкадровое предсказание для текущего PU на основании информации о по меньшей мере одном изображении из числа предыдущего изображения и последующего изображения относительно текущего изображения, включающего текущий PU. Модуль 230 межкадрового предсказания может использовать информацию, необходимую для межкадрового предсказания для текущего PU, полученную от устройства кодирования видеоданных.Prediction modules 230 and 235 may include a PU determination module, an inter prediction module, and an intra prediction module. The PU determination module may receive various information such as information about the PU, information about the prediction mode of the intra-frame prediction method, and information related to prediction of the movement of the inter-frame prediction method, etc. from entropy decoding unit 210, and determining a PU for the current CU. The PU determination module may determine whether to perform inter-frame or intra-frame prediction for the PU. Inter prediction unit 230 may perform inter prediction for the current PU based on the information of at least one image from a previous image and a subsequent image relative to the current image including the current PU. Inter prediction unit 230 may use the information necessary for inter prediction for the current PU obtained from the video encoding device.

Для выполнения межкадрового предсказания на основании CU может быть определено, является ли способ предсказания перемещения для PU, содержащегося в CU, режимом пропуска, режимом слияния или режимом AMVP.To perform inter-frame prediction based on the CU, it can be determined whether the motion prediction method for the PU contained in the CU is a skip mode, a merge mode, or an AMVP mode.

Модуль 235 внутрикадрового предсказания может генерировать блок предсказания на основании информации о пикселе в текущем изображении. Если PU является блоком PU, для которого выполняется внутрикадровое предсказание, внутрикадровое предсказание можно выполнить на основании информации о режиме внутрикадрового предсказания для PU, полученной от устройства кодирования видеоданных. Модуль 235 внутрикадрового предсказания может содержать фильтр AIS, модуль интерполяции опорного пиксела и фильтр DC. Фильтр AIS выполняет фильтрацию опорных пикселов текущего блока. Фильтр AIS может принимать решение о применении фильтра в зависимости от режима предсказания для текущего PU. Фильтрация AIS может выполняться для опорных пикселов текущего блока с использованием режима предсказания для PU и информации о фильтре AIS, полученной от устройства кодирования видеоданных. Если режим предсказания для текущего блока является режимом, где фильтрация AIS не применяется, фильтр AIS можно не применять.Intra-frame prediction unit 235 may generate a prediction block based on pixel information in the current image. If the PU is a PU for which intra prediction is performed, intra prediction can be performed based on the intra prediction mode information for the PU received from the video encoding apparatus. The intra prediction module 235 may include an AIS filter, a reference pixel interpolation module, and a DC filter. The AIS filter filters the reference pixels of the current block. The AIS filter may decide to apply the filter depending on the prediction mode for the current PU. AIS filtering can be performed for the reference pixels of the current block using the prediction mode for the PU and AIS filter information received from the video encoding device. If the prediction mode for the current block is a mode where AIS filtering is not applied, the AIS filter may not be applied.

Если режим предсказания для PU является режимом предсказания с выполнением внутрикадрового предсказания на основании значений пикселов, полученных интерполяцией опорных пикселов, модуль интерполяции опорных пикселов может генерировать опорные пикселы в единицах дробных пикселей, меньших, чем целый пиксел (т.е. полный пиксел), путем интерполяции опорных пикселов. Если режим предсказания текущего PU является режимом предсказания с генерированием блока предсказания без интерполяции опорных пикселов, опорные пикселы можно не интерполировать. Фильтр DC может генерировать блок предсказания посредством фильтрации, если режим предсказания для текущего блока является режимом DC.If the prediction mode for the PU is a prediction mode with intra-frame prediction based on pixel values obtained by interpolating the reference pixels, the reference pixel interpolation module may generate reference pixels in units of fractional pixels smaller than a whole pixel (i.e., a full pixel), by interpolation of reference pixels. If the prediction mode of the current PU is a prediction mode with the generation of a prediction block without interpolating the reference pixels, the reference pixels may not be interpolated. The DC filter may generate a prediction block by filtering if the prediction mode for the current block is a DC mode.

Реконструированный блок или изображение может быть передан в модуль 240 фильтрации. Модуль 240 фильтрации содержит фильтр подавления блочности, модуль смещения и ALF.The reconstructed block or image may be transmitted to the filtering module 240. Filter module 240 includes a deblocking filter, an offset module, and an ALF.

Устройство кодирования видеоданных может предоставлять информацию о том, применен ли фильтр подавления блочности к соответствующему блоку или изображению, и информацию о применении сильного фильтра или слабого фильтра при использовании фильтра подавления блочности. В фильтр подавления блочности устройства кодирования видеоданных из устройства кодирования видеоданных может быть передана информация о фильтре подавления блочности, и он может выполнять фильтрацию подавления блочности в отношении соответствующего блока.The video encoding apparatus may provide information on whether a deblocking filter is applied to the corresponding block or image, and information on applying a strong filter or weak filter when using a deblocking filter. Information about the blocking filter can be transmitted to the block suppression filter of the video encoding apparatus from the video encoding apparatus, and it can perform block suppression filtering with respect to the corresponding block.

Модуль смещения может применять смещение к реконструированному изображению на основании информации о типе смещения и значении смещения, примененных к изображению при операции кодирования.The offset module may apply the offset to the reconstructed image based on the type of offset and the offset value applied to the image during the encoding operation.

ALF может быть применен к CU на основании информации о применении ALF, информации о коэффициентах ALF и т.д., полученной от устройства кодирования. Информация об ALF может быть включена и передана в отдельном наборе параметров.ALF can be applied to the CU based on ALF application information, ALF coefficient information, etc., received from the encoding device. ALF information can be included and transmitted in a separate set of parameters.

Память 245 может хранить реконструированное изображение или блок для использования в качестве опорного изображения или опорного блока и передавать реконструированное изображение в модуль вывода.The memory 245 may store the reconstructed image or block for use as a reference image or reference block, and transmit the reconstructed image to an output module.

Как описано выше, в вариантах осуществления изобретения, термин «блок кодирования» используют для блока для кодирования в целях удобства описания. Однако термин «блок кодирования» можно также использовать для блока для декодирования.As described above, in embodiments of the invention, the term “coding unit” is used for a coding unit for convenience of description. However, the term “coding block” can also be used for a block for decoding.

Далее на фиг. 3-8 будут проиллюстрированы способы сканирования, основанные на режимах предсказания и режимах деления в соответствии с примерными вариантами осуществления настоящего изобретения, реализуемые в соответствии с функциями модулей устройства кодирования и устройства декодирования, описанных выше на фиг. 1 и 2, которые подпадают в границы охраны настоящего изобретения.Further in FIG. 3-8, scanning methods based on prediction modes and division modes in accordance with exemplary embodiments of the present invention, implemented in accordance with the functions of the modules of the encoding device and the decoding device described above in FIG. 1 and 2, which fall within the protection scope of the present invention.

На фиг. 3 схематично показаны способы сканирования коэффициентов в соответствии с настоящим изобретением.In FIG. 3 schematically shows coefficient scanning methods in accordance with the present invention.

Как показано на фиг. 3, способы сканирования могут включать горизонтальное сканирование 310, вертикальное сканирование 320, сканирование 330 зигзагом или вертикально-диагональное сканирование 340. В данном случае один из этих способов сканирования, показанных на фиг. 3, можно использовать на основании формы деления PU, и двумерный блок квантованных коэффициентов преобразования может быть заменен на одномерный вектор коэффициентов преобразования посредством сканирования.As shown in FIG. 3, scanning methods may include horizontal scanning 310, vertical scanning 320, zigzag scanning 330, or vertical-diagonal scanning 340. In this case, one of these scanning methods shown in FIG. 3 can be used based on the division form of the PU, and the two-dimensional block of quantized transform coefficients can be replaced by a one-dimensional vector of transform coefficients by scanning.

Горизонтальное сканирование 310, сканирующее коэффициенты преобразования в горизонтальном направлении, может быть применено, например, если PU является делением, являющимся вертикально ориентированным блоком, таким как блок N×2N. Вертикально ориентированный блок с большой вероятностью включает текстуру вертикального компонента, где коэффициенты преобразования с большой вероятностью распределяются в горизонтальном направлении. Таким образом, порядок сканирования, показанный в способе 310 на фиг. 3, может быть применен к сканированию коэффициентов преобразования.A horizontal scan 310 scanning the transform coefficients in the horizontal direction can be applied, for example, if the PU is a division, which is a vertically oriented block, such as an N × 2N block. A vertically oriented block with a high probability includes the texture of the vertical component, where the conversion coefficients are most likely distributed in the horizontal direction. Thus, the scan order shown in method 310 of FIG. 3 can be applied to scanning conversion coefficients.

Вертикальное сканирование 320, сканирующее коэффициенты преобразования в вертикальном направлении, может быть применено, например, если PU является делением, являющимся горизонтально ориентированным блоком, таким как блок 2N×N. Горизонтально ориентированный блок с большой вероятностью включает текстуру горизонтального компонента, в котором коэффициенты преобразования с большой вероятностью распределяются в вертикальном направлении. Таким образом, порядок сканирования, показанный в способе 320 на фиг. 3, может быть применен к сканированию коэффициентов преобразования.A vertical scan 320 scanning vertical transform coefficients can be applied, for example, if the PU is a division that is a horizontally oriented block, such as a 2N × N block. A horizontally oriented block most likely includes the texture of the horizontal component, in which the conversion coefficients are most likely distributed in the vertical direction. Thus, the scan order shown in method 320 of FIG. 3 can be applied to scanning conversion coefficients.

Сканирование 330 зигзагом или вертикально-диагональное сканирование 340 может быть применено, если PU не обладает выраженной анизотропией (направленностью) или определенным компонентом текстуры. Например, сканирование 330 зигзагом или вертикально-диагональное сканирование 340 может быть применено к квадратному блоку 2N×2N или N×N.A zigzag scan 330 or a vertical-diagonal scan 340 can be applied if the PU does not have a pronounced anisotropy (directivity) or a specific texture component. For example, a zigzag scan 330 or a vertical diagonal scan 340 can be applied to a 2N × 2N or N × N square block.

На фиг. 3 в качестве примеров осуществления настоящего изобретения приведены способы сканирования, и настоящее изобретение ими не ограничивается. Альтернативные способы сканирования, выполняемые в другом порядке, также могут быть использованы наряду со способами сканирования на фиг. 3.In FIG. 3, scanning methods are shown as exemplary embodiments of the present invention, and the present invention is not limited to them. Alternative scanning methods performed in a different order can also be used along with the scanning methods in FIG. 3.

Как описано выше, если PU является делением, таким как блок N×2N или блок 2N×N, эти блоки могут с большой вероятностью обладать определенным компонентом текстуры или сильной анизотропией. Соответственно, в зависимости от формы деления PU используют горизонтальное сканирование или вертикальное сканирование. Однако несмотря на то, что PU является делением, таким как блок N×2N или блок 2N×N, эти блоки могут обладать незначительной анизотропией или не содержать определенный компонент текстуры. В таком случае использование определенных способов сканирования, например горизонтального сканирования блока N×2N и вертикального сканирования блока 2N×N, может не быть эффективным. Таким образом, требуется способ эффективного сканирования и кодирования коэффициентов преобразования.As described above, if the PU is a division, such as an N × 2N block or a 2N × N block, these blocks are likely to have a specific texture component or strong anisotropy. Accordingly, depending on the division form of the PU, horizontal scanning or vertical scanning is used. However, despite the fact that the PU is a division, such as an N × 2N block or a 2N × N block, these blocks may have slight anisotropy or not contain a specific texture component. In this case, the use of certain scanning methods, for example, horizontal scanning of an N × 2N block and vertical scanning of a 2N × N block, may not be effective. Thus, a method for efficiently scanning and coding transform coefficients is required.

На фиг. 4 показан способ определения способа сканирования и кодирования информации о нем на основании режима деления PU в соответствии с примерным вариантом осуществления настоящего изобретения.In FIG. 4 shows a method for determining a scanning method and encoding information about it based on the division mode of the PU in accordance with an exemplary embodiment of the present invention.

Как показано на фиг. 4, одиночный CU в режиме межкадрового предсказания может быть разделен на PU одинакового размера или разных размеров. Например, CU может быть разделен на блок 400 2N×N, блок 410 N×2N, блок 420 2N×2N или блок 430 N×N. Режимы деления PartMode PU могут быть определены на основании размеров разделенных PU.As shown in FIG. 4, a single CU in inter prediction mode can be divided into PUs of the same size or different sizes. For example, the CU may be divided into a 2N × N block 400, an N × 2N block 410, a 2N × 2N block 420, or an N × N block 430. PartMode PU division modes can be determined based on the size of the divided PUs.

Режимы деления PartMode PU могут включать режим PART_2N×N, в котором CU разделяют на блоки 400 2N×N, режим PART_N×2N, в котором CU разделяют на блоки 410 N×2N, режим PART_2N×2N, в котором CU разделяют на блоки 420 2N×2N, и режим PART_N×N, в котором CU разделяют на блоки 430 N×N.PartMode PU division modes may include a PART_2N × N mode in which CUs are divided into 400 2N × N blocks, a PART_N × 2N mode in which CUs are divided into N × 2N blocks 410, a PART_2N × 2N mode in which CUs are divided into 420 blocks 2N × 2N, and the PART_N × N mode in which CUs are divided into 430 N × N blocks.

В настоящем варианте осуществления изобретения способ сканирования определяют на основании режима деления PU, в котором может быть учтена форма деления режима деления. Иными словами, могут быть получены возможные способы сканирования с учетом форм деления блоков PU, среди которых способ сканирования может быть определен на основании RDO.In the present embodiment, the scanning method is determined based on the division mode of the PU, in which the division form of the division mode can be taken into account. In other words, possible scanning methods can be obtained taking into account the division forms of the PU blocks, among which the scanning method can be determined based on the RDO.

Если режим деления указывает на горизонтально ориентированную форму, например, режим деления является режимом PART_2N×N, в котором CU разделен на блоки 400 2N×N, блоки с вероятностью могут содержать определенный компонент текстуры или обладать анизотропией (например, горизонтальный компонент текстуры или коэффициенты преобразования, распределенные в вертикальном направлении). Как возможный способ сканирования может быть определено вертикальное сканирование с учетом такой формы деления. Также как возможный способ сканирования может быть определено сканирование зигзагом (или вертикально-диагональное сканирование), учитывая, что блоки с вероятностью могут не содержать определенного компонента текстуры или обладать анизотропией. Иными словами, для режима деления горизонтально ориентированной формы из двух возможных способов сканирования, а именно вертикального сканирования и сканирования зигзагом (или вертикально-диагонального сканирования), может быть выбран способ сканирования, имеющий минимальную RDO.If the division mode indicates a horizontally oriented shape, for example, the division mode is PART_2N × N mode, in which the CU is divided into 400 2N × N blocks, the blocks are likely to contain a specific texture component or have anisotropy (for example, a horizontal texture component or transform coefficients distributed in the vertical direction). As a possible scanning method, vertical scanning can be determined taking into account this form of division. Also, as a possible scanning method, zigzag scanning (or vertical-diagonal scanning) can be determined, given that the blocks are likely to not contain a specific texture component or to have anisotropy. In other words, for the division mode of a horizontally oriented shape from two possible scanning methods, namely, vertical scanning and zigzag scanning (or vertical-diagonal scanning), a scanning method having a minimum RDO can be selected.

В то же время, если режим деления указывает на вертикально ориентированную форму, например, режим деления является режимом PART_N×2N, в котором CU разделен на блоки 410 N×2N, блоки с вероятностью могут содержать определенный компонент текстуры или обладать анизотропией (например, вертикальный компонент текстуры или коэффициенты преобразования, распределенные в горизонтальном направлении). Как возможный способ сканирования может быть определено горизонтальное сканирование с учетом такой формы деления. Также как возможный способ сканирования может быть определено сканирование зигзагом (или вертикально-диагональное сканирование), учитывая, что блоки с вероятностью могут не содержать определенного компонента текстуры или обладать анизотропией. Иными словами, для режима деления вертикально ориентированной формы из двух возможных способов сканирования, а именно горизонтального сканирования и сканирования зигзагом (или вертикально-диагонального сканирования), может быть выбран способ сканирования, имеющий минимальную RDO.At the same time, if the division mode indicates a vertically oriented shape, for example, the division mode is PART_N × 2N mode, in which the CU is divided into 410 N × 2N blocks, the blocks are likely to contain a certain texture component or have anisotropy (for example, vertical texture component or transform coefficients distributed in the horizontal direction). As a possible scanning method, horizontal scanning can be determined taking into account this form of division. Also, as a possible scanning method, zigzag scanning (or vertical-diagonal scanning) can be determined, given that the blocks are likely to not contain a specific texture component or to have anisotropy. In other words, for the division mode of a vertically oriented shape from two possible scanning methods, namely, horizontal scanning and zigzag scanning (or vertical-diagonal scanning), a scanning method having a minimum RDO can be selected.

Между тем, для режима деления квадратной формы, например режима PART_2N×2N, в котором CU разделен на блоки 420 2N×2N, или режима PART_N×N, в котором CU разделен на блоки 430 N×N, может быть использовано сканирование зигзагом (или вертикально-диагональное сканирование).Meanwhile, for a square division mode, for example, PART_2N × 2N mode in which CU is divided into blocks 2N × 2N, or PART_N × N mode in which CU is divided into blocks 430 N × N, zigzag scanning (or vertical-diagonal scanning).

В таблице 1 представлены доступные способы сканирования в соответствии с режимами деления PU в соответствии с примерным вариантом осуществления настоящего изобретения. Здесь в режиме PART_2N×N и режиме PART_N×2N может быть выбран один способ сканирования с учетом RDO двух возможных способов сканирования.Table 1 presents the available scanning methods in accordance with the division modes of the PU in accordance with an exemplary embodiment of the present invention. Here, in the PART_2N × N mode and the PART_N × 2N mode, one scanning method can be selected taking into account the RDO of two possible scanning methods.

Figure 00000001
Figure 00000001

Когда способ сканирования определен на основании режима деления PU, как описано выше, коэффициенты преобразования могут быть просканированы с использованием определенного таким образом способа сканирования. Информация об определенном способе сканирования может быть закодирована и передана в устройство декодирования. Информацию о способе сканирования можно указать с использованием флага, например флага isZigZagScanFlag, указывающего, используется ли сканирование зигзагом.When the scanning method is determined based on the division mode of the PU, as described above, the transform coefficients can be scanned using the scanning method so determined. Information about a particular scanning method can be encoded and transmitted to a decoding device. Information about the scanning method can be specified using a flag, for example, the isZigZagScanFlag flag, indicating whether zigzag scanning is used.

Например, когда режим деления PU является режимом PART_2N×N, информацию об определенном таким образом способе сканирования вертикальным сканированием и сканированием зигзагом (или вертикально-диагональным сканированием) можно закодировать с использованием флага, и информацию о флаге можно передать в устройство декодирования. В режиме PART_2N×N флаг isZigZagScanFlag может быть установлен равным 1, если определено выполнение сканирования зигзагом, и флаг isZigZagScanFlag может быть установлен равным О, если определено выполнение вертикального сканирования. В то же время, если режим деления PU является режимом PART_N×2N, информацию об определенном таким образом способе сканирования горизонтальным сканированием и сканированием зигзагом (или вертикально-диагональным сканированием) можно закодировать с использованием флага, например флага isZigZagScanFlag, и информацию о флаге можно передать в устройство декодирования.For example, when the PU division mode is PART_2N × N mode, information about the scanning method thus determined by vertical scanning and zigzag scanning (or vertical-diagonal scanning) can be encoded using a flag, and flag information can be transmitted to the decoding device. In PART_2N × N mode, the isZigZagScanFlag flag can be set to 1 if zigzag scanning is defined, and the isZigZagScanFlag flag can be set to O if vertical scanning is determined. At the same time, if the PU division mode is PART_N × 2N mode, information about the scanning method thus determined by horizontal scanning and zigzag scanning (or vertical-diagonal scanning) can be encoded using a flag, for example, the isZigZagScanFlag flag, and flag information can be transmitted to the decoding device.

На фиг. 5 показан способ определения способа сканирования и кодирования информации о нем в делении асимметричного перемещения (asymmetric motion partition, AMP) в соответствии с примерным вариантом осуществления настоящего изобретения.In FIG. 5 shows a method for determining a method for scanning and encoding information about it in asymmetric motion partition (AMP) in accordance with an exemplary embodiment of the present invention.

Как описано выше, одиночный CU в режиме межкадрового предсказания может быть разделен на PU одинакового размера или разных размеров. Как показано на фиг. 5, блок 64×64 может быть разделен на блок 16×64, блок 48×64, блок 64×16 или блок 64×48, т.е. блоки различной формы. Этот режим деления называют AMP. AMP можно применять к делению CU для повышения эффективности кодирования, если изображение содержит нерегулярные структуры изображения.As described above, a single CU in inter prediction mode can be divided into PUs of the same size or different sizes. As shown in FIG. 5, a 64 × 64 block can be divided into a 16 × 64 block, a 48 × 64 block, a 64 × 16 block, or a 64 × 48 block, i.e. blocks of various shapes. This division mode is called AMP. AMP can be applied to CU division to improve coding efficiency if the image contains irregular image structures.

Слева направо на фиг. 5 AMP содержит режим PART_nL×2N, в котором CU разделен на блоки 500 размером nL×2N, режим PART_nR×2N, в котором CU разделен на блоки 510 размером nR×2N, режим PART_2N×nU, в котором CU разделен на блоки 520 размером 2N×nU, и режим PART_2N×nD, в котором CU разделен на блоки 530 размером 2N×nD. Здесь в режиме PART_nL×2N и режиме PART_nR×2N PU может иметь размер 501 и 512 1/2N×2N или размер 502 и 511 3/2N×2N. В режиме PART_2N×nU и PART_2N×nD PU может иметь размер 521 и 532 2N×1/2N или размер 522 и 531 2N×3/2N.From left to right in FIG. 5 AMP contains PART_nL × 2N mode, in which CU is divided into blocks 500 of size nL × 2N, PART_nR × 2N mode, in which CU is divided into blocks 510 of size nR × 2N, PART_2N × nU mode, in which CU is divided into blocks of 520 size 2N × nU, and the PART_2N × nD mode, in which the CU is divided into blocks 530 of size 2N × nD. Here, in the PART_nL × 2N mode and the PART_nR × 2N mode, the PU may have a size of 501 and 512 1 / 2N × 2N or a size of 502 and 511 3 / 2N × 2N. In the PART_2N × nU and PART_2N × nD mode, the PU can have a size of 521 and 532 2N × 1 / 2N or a size of 522 and 531 2N × 3 / 2N.

Как описано на фиг. 4, в соответствии с вариантом осуществления настоящего изобретения способ сканирования может быть определен на основании режима деления, иными словами, размера разделенного блока в AMP. Иными словами, возможные способы сканирования могут быть получены с учетом форм деления AMP, среди которых способ сканирования можно определять на основании RDO.As described in FIG. 4, in accordance with an embodiment of the present invention, the scanning method can be determined based on the division mode, in other words, the size of the divided block in the AMP. In other words, possible scanning methods can be obtained taking into account AMP division forms, among which the scanning method can be determined based on the RDO.

Например, для вертикально ориентированного блока (блока, чья высота больше, чем его ширина) в режиме 1/2N×2N, такого как левый блок 501 блока 500 nL×2N и правый блок 512 блока 510 блока nR×2N, как возможные способы сканирования могут быть определены горизонтальное сканирование с учетом определенного компонента текстуры или анизотропии, которыми может обладать вертикально ориентированный блок (например, вертикальный компонент текстуры и коэффициенты преобразования, распределенные в горизонтальном направлении), или сканирование зигзагом (или вертикально-диагональное сканирование) с учетом того, что вертикально ориентированный блок не обладает определенным компонентом текстуры или анизотропией. В данном случае из двух возможных способов сканирования можно выбирать способ сканирования, обладающий минимальной RDO.For example, for a vertically oriented block (a block whose height is greater than its width) in 1 / 2N × 2N mode, such as the left block 501 of the 500 nL × 2N block and the right block 512 of the block 510 of the nR × 2N block, as possible scanning methods horizontal scanning can be determined taking into account a specific component of the texture or anisotropy that a vertically oriented block may possess (for example, a vertical texture component and transform coefficients distributed in the horizontal direction), or zigzag scanning (or vertical n-diagonal scan), taking into account the fact that a vertically oriented block does not have a specific texture component or anisotropy. In this case, of the two possible scanning methods, a scanning method having a minimum RDO can be selected.

В то же время, для горизонтально ориентированного блока (блока, чья ширина больше, чем его высота) в режиме 2N×1/2N, такого как верхний блок 521 блока 520 2N×nU и нижний блок 532 блока 530 2N×nD, как возможные способы сканирования могут быть определены вертикальное сканирование с учетом определенного компонента текстуры или анизотропии, которыми может обладать горизонтально ориентированный блок (например, горизонтальная текстура или коэффициенты преобразования, распределенные в вертикальном направлении), или сканирование зигзагом (или вертикально-диагональное сканирование) с учетом того, что горизонтально ориентированный блок не обладает определенным компонентом текстуры или анизотропией. В данном случае из двух возможных способов сканирования можно выбирать способ сканирования, обладающий минимальной RDO.At the same time, for a horizontally oriented block (a block whose width is greater than its height) in the 2N × 1 / 2N mode, such as the upper block 521 of the 520 2N × nU block and the lower block 532 of the 530 2N × nD block Scanning methods can be determined by vertical scanning taking into account a certain component of the texture or anisotropy, which a horizontally oriented block may possess (for example, a horizontal texture or transform coefficients distributed in the vertical direction), or zigzag scanning (or vertically agonal scanning), taking into account the fact that a horizontally oriented block does not have a specific texture component or anisotropy. In this case, of the two possible scanning methods, a scanning method having a minimum RDO can be selected.

Между тем, сканирование зигзагом (или вертикально-диагональное сканирование) можно использовать для больших разделенных частей nL×2N 500, nR×2N 510, 2N×nU 520 и 2N×nD 530 (т.е. режимов 3/2N×2N и 2N×3/2N). Иными словами, сканирование зигзагом (или вертикально-диагональное сканирование) можно использовать для правого деления 502 блока 500 nL×2N, левого деления 512 блока 510 nR×2N, нижнего деления 522 блока 520 2N×nU и верхнего деления 53 блока 530 2N×nD.Meanwhile, zigzag scanning (or vertical-diagonal scanning) can be used for large divided portions of nL × 2N 500, nR × 2N 510, 2N × nU 520 and 2N × nD 530 (i.e., 3 / 2N × 2N and 2N modes × 3 / 2N). In other words, zigzag scanning (or vertical-diagonal scanning) can be used for right division 502 of the 500 nL × 2N block, left division of 512 block 510 nR × 2N, lower division 522 of block 520 2N × nU and upper division 53 of block 530 2N × nD .

Когда способ сканирования определен на основании режима AMP, как описано выше, информация об определенном таким образом способе сканирования может быть закодирована. Например, как описано выше на фиг. 4, в режиме PART_nL×2N и режиме PART_nR×2N и для вертикально ориентированных блоков 501 и 512 (т.е. режима 1/2N×2N) флаг isZigZagScanFlag может быть установлен равным 1, если используется сканирование зигзагом, и флаг isZigZagScanFlag может быть установлен равным 0, если используется горизонтальное сканирование. В режимах PART_2Nxnll и PART_2NxnD и для горизонтально ориентированных блоков 521 и 532 (т.е. режима 2N×1/2N) флаг isZigZagScanFlag может быть установлен равным 1, если используется сканирование зигзагом, и флаг isZigZagScanFlag может быть установлен равным 0, если используется вертикальное сканирование. Эта информация о флаге может быть закодирована и передана в устройство декодирования.When the scanning method is determined based on the AMP mode, as described above, information about the scanning method thus determined can be encoded. For example, as described above in FIG. 4, in PART_nL × 2N mode and PART_nR × 2N mode and for vertically oriented blocks 501 and 512 (i.e., 1 / 2N × 2N mode), the isZigZagScanFlag flag can be set to 1 if zigzag scanning is used, and the isZigZagScanFlag flag can be set to 0 if horizontal scanning is used. In PART_2Nxnll and PART_2NxnD modes and for horizontally oriented blocks 521 and 532 (i.e., 2N × 1 / 2N mode), the isZigZagScanFlag flag can be set to 1 if zigzag scanning is used, and the isZigZagScanFlag flag can be set to 0 if vertical is used scanning. This flag information may be encoded and transmitted to a decoding device.

На фиг. 6 показан способ определения способа сканирования и кодирования информации о нем для внутрикадрового предсказания на малых расстояниях (short distance intra prediction, SDIP) в соответствии с примерным вариантом осуществления настоящего изобретения.In FIG. 6 shows a method for determining a method for scanning and encoding information about it for short distance intra prediction (SDIP) in accordance with an exemplary embodiment of the present invention.

SDIP относится к способу деления CU на PU размером 2N×2N, PU размером N×N, PU размером 1/2N×2N или PU размером 2N×1/2N и выполнению внутрикадрового предсказания для разделенного PU. При выполнении SDIP расстояние между опорным пикселом внутрикадрового предсказания и целевым опорным пикселом может быть уменьшено в сравнении с обычным внутрикадровым предсказанием с использованием квадратного PU. Таким образом, разностное значение, являющееся значением разности между оригинальным пикселом и предсказанным целевым пикселом (предсказанным пикселом), уменьшается, что приводит к повышению эффективности кодирования.SDIP relates to a method for dividing a CU into 2N × 2N PUs, N × N PUs, 1 / 2N × 2N PUs, or 2N × 1 / 2N PUs and performing intra-frame prediction for the divided PU. When performing SDIP, the distance between the intra-prediction reference pixel and the target reference pixel can be reduced compared to conventional intra-frame prediction using a square PU. Thus, the difference value, which is the difference value between the original pixel and the predicted target pixel (predicted pixel), is reduced, which leads to an increase in coding efficiency.

Как показано на фиг. 6, один CU может быть разделен на PU с различными размерами в зависимости от свойств изображения. Например, CU размером 32×32 можно разделять на четыре PU 610, 620, 630 и 640 размером 16×16. PU 610 размером 16×16 можно дополнительно разделять на четыре PU 611, 612, 613 и 615 размером 4×16, из которых PU 611 размером 4×16 можно дополнительно разделять на четыре PU 611-1, 611-2, 611-3 и 611-4 размером 1×16.As shown in FIG. 6, one CU can be divided into PUs with different sizes depending on image properties. For example, 32 × 32 CUs can be divided into four 16 × 16 PUs 610, 620, 630 and 640. 16 × 16 PU 610 can be further divided into four 4 × 16 PU 611, 612, 613 and 615, of which 4 × 16 PU 611 can be further divided into four PU 611-1, 611-2, 611-3 and 611-4 in size 1 × 16.

Таким же образом PU 630 размером 16x16 можно дополнительно разделять на четыре PU 8×8. PU 631 размером 8×8 можно дополнительно разделять на четыре PU 631-1, 631-2, 631-3 и 631-4 размером 2×8. Также PU 632 размером 8×8 можно дополнительно разделять на четыре PU размером 4×4, из которых PU 632-1 размером 4×4 можно дополнительно разделять на четыре PU размером 1×4.In the same way, a 16x16 PU 630 can be further divided into four 8 × 8 PUs. PU 631 of size 8 × 8 can be further divided into four PU 631-1, 631-2, 631-3 and 631-4 of size 2 × 8. Also, 8 × 8 PU 632 can be further divided into four 4 × 4 PUs, of which 4 × 4 PU 632-1 can be further divided into four 1 × 4 PUs.

Как описано выше со ссылкой на фиг. 4 и 5, способ сканирования определяют на основании режима деления PU в SDIP, иными словами, размера PU в настоящем варианте осуществления изобретения. Иными словами, возможные способы сканирования получают с учетом форм деления PU, среди которых определяют способ сканирования на основании RDO.As described above with reference to FIG. 4 and 5, the scanning method is determined based on the division mode of the PU in SDIP, in other words, the size of the PU in the present embodiment. In other words, possible scanning methods are obtained taking into account the division forms of the PU, among which determine the scanning method based on the RDO.

Например, если режимом деления PU в SDIP является режим 1/2N×2N, который имеет вертикально ориентированную форму деления, такую как PU 611, 612, 613 и 614 размером 4×16, PU 631-1, 631-2, 631-3 и 631-4 размером 2×8 и PU размером 1× 4, как возможные способы сканирования могут быть определены горизонтальное сканирование и сканирование зигзагом (или вертикально-диагональное сканирование) с учетом определенного компонента текстуры или анизотропии (например, вертикальная текстура и коэффициенты преобразования, распределенные в горизонтальном направлении). В данном случае из двух возможных способов сканирования можно выбрать способ сканирования, обладающий минимальной RDO.For example, if the PU division mode in SDIP is 1 / 2N × 2N, which has a vertically oriented division form such as 4 × 16 PU 611, 612, 613 and 614, PU 631-1, 631-2, 631-3 and 631-4 2 × 8 in size and 1 × 4 PU, as possible scanning methods, horizontal scanning and zigzag scanning (or vertical-diagonal scanning) can be determined taking into account a specific texture component or anisotropy (for example, vertical texture and conversion factors, distributed in the horizontal direction). In this case, from two possible scanning methods, you can choose a scanning method that has a minimum RDO.

В то же время, если режимом деления PU в SDIP является режим 2N×1/2N, имеющий горизонтально ориентированную форму деления, такую как PU размером 16×4, PU размером 8×2 и PU размером 4×1, как возможные способы сканирования могут быть определены вертикальное сканирование и сканирование зигзагом (или вертикально-диагональное сканирование) с учетом определенного компонента текстуры или анизотропии (например, горизонтальная текстура и коэффициенты преобразования, распределенные в вертикальном направлении). В данном случае из двух возможных способов сканирования можно выбрать способ сканирования, обладающий минимальной RDO.At the same time, if the PU division mode in SDIP is 2N × 1 / 2N having a horizontally oriented division form, such as 16 × 4 PU, 8 × 2 PU and 4 × 1 PU, as possible scanning methods can vertical scanning and zigzag scanning (or vertical-diagonal scanning) are determined taking into account a specific component of the texture or anisotropy (for example, horizontal texture and transform coefficients distributed in the vertical direction). In this case, from two possible scanning methods, you can choose a scanning method that has a minimum RDO.

Информация об определенном таким образом способе сканирования может быть закодирована с использованием флага, например флага isZigZagScanFlag, и передана в устройство декодирования, как описано выше на фиг. 4 и 5.Information about the scanning method defined in this way can be encoded using a flag, for example, the isZigZagScanFlag flag, and transmitted to the decoding device, as described above in FIG. 4 and 5.

На фиг. 7 показана обобщенная схема способа кодирования видеоданных в соответствии с настоящим изобретением. Каждый шаг на фиг. 7 может выполняться соответствующими модулями устройства кодирования видеоданных на фиг. 1.In FIG. 7 shows a generalized diagram of a video encoding method in accordance with the present invention. Each step in FIG. 7 may be performed by the respective modules of the video encoding apparatus of FIG. one.

Как показано на фиг. 7, CU текущего изображения вводится в устройство кодирования (S700). Если введенный CU является блоком CU режима межкадрового предсказания, CU режима межкадрового предсказания («межкадровый CU») может содержать множество блоков PU режима межкадрового предсказания («межкадровый PU») и обладать одним из двух режимов предсказания (PreMode), режимом пропуска («MODE_SKIP») и межкадровым режимом («MODE_INTER»).As shown in FIG. 7, the CU of the current image is input to the encoding device (S700). If the entered CU is an inter prediction mode CU, the inter prediction mode CU (“inter-frame CU”) may comprise a plurality of inter prediction mode PUs (“inter-frame PU”) and have one of two prediction modes (PreMode), a skip mode (“MODE_SKIP” ") And inter-frame mode (" MODE_INTER ").

CU в режиме MODE_SKIP более не разделяют на меньшие PU, и для него размещают информацию о перемещении о PU в режиме деления PartMode в PART_2N×2N.CUs in MODE_SKIP mode are no longer divided into smaller PUs, and movement information about the PUs in the PartMode division mode in PART_2N × 2N is placed for it.

CU в режиме MODEJNTER может быть разделен на PU четырех типов, в которых в устройство декодирования посредством синтаксических конструкций на уровне CU может быть передана информация о том, что режим предсказания является режимом MODEJNTER (PredMode==MODE_INTER), и информация о том, какой из режимов деления PART_2N×2N, PART_2N×N, PART_N×2N и PART_N×N используется (т.е. информация о том, что PartMode==PART_2N×2N, PartMode==PART_2N×N, PartMode==PART_N×2N или PartMode==PART_N×N).A CU in MODEJNTER mode can be divided into four types of PUs, in which information about the prediction mode is the MODEJNTER mode (PredMode == MODE_INTER) and information on which of The division modes PART_2N × 2N, PART_2N × N, PART_N × 2N and PART_N × N are used (i.e. the information that PartMode == PART_2N × 2N, PartMode == PART_2N × N, PartMode == PART_N × 2N or PartMode == PART_N × N).

Устройство кодирования выполняет предсказание перемещения для текущего межкадрового PU (S710). Когда CU разделен на множество PU, вводят кодируемый в настоящий момент PU («текущий PU»). Устройство кодирования может выполнять предсказание перемещения для текущего PU с использованием предыдущего кадра, последующего кадра или предыдущего и последующего кадров по отношению к текущему кадру. Информация о перемещении для текущего PU, такая как вектор перемещения, индекс опорного изображения и индекс направления предсказания, могут быть получены посредством предсказания перемещения.The encoding device performs motion prediction for the current inter-frame PU (S710). When the CU is divided into a plurality of PUs, the currently encoded PU (“current PU”) is introduced. The encoding device may perform motion prediction for the current PU using the previous frame, subsequent frame, or previous and subsequent frames with respect to the current frame. Motion information for the current PU, such as a motion vector, a reference image index, and a prediction direction index, can be obtained by moving prediction.

Устройство кодирования может определять значение предсказания перемещения текущего PU в режиме межкадрового предсказания (S720). Информацию о перемещении для текущего PU не передают устройству декодирования в неизменном виде, однако разностные значения от предсказанных значений, полученных от соседних блоков во времени и пространстве, передают в устройство декодирования для повышения эффективности сжатия. Способ предсказания перемещения может включать режим слияния и режим AMVP, которые могут быть использованы для определения значения предсказания перемещения.The encoding device may determine the value of the motion prediction of the current PU in the inter prediction mode (S720). The moving information for the current PU is not transmitted to the decoding device in an unchanged form, however, the difference values from the predicted values received from neighboring blocks in time and space are transmitted to the decoding device to increase the compression efficiency. A motion prediction method may include a merge mode and an AMVP mode, which can be used to determine a motion prediction value.

В режиме слияния кандидаты на слияние получают на основании информации о перемещении блоков, соседних с текущим PU во времени и пространстве. Если среди кандидатов имеется кандидат, имеющий ту же информацию о перемещении, что и текущий PU, устройство кодирования может передать флаг Merge_Flag, указывающий на использование режима слияния, и индекс кандидата, имеющего ту же информацию о перемещении, что и текущий PU, в устройство декодирования. Конкретно, устройство кодирования определяет значение доступного временного предсказателя вектора перемещения (motion vector predictor, MVP) с использованием индекса refldxLX опорного изображения, указывающего на опорное изображение, полученное при предсказании перемещения, и создает список кандидатов на слияние (MergeCandList). Если в списке имеется кандидат, имеющий ту же информацию о перемещении, что и текущий PU, устройство кодирования назначает флагу Merge_Flag значение 1 и кодирует индекс Mergejdx кандидата.In merge mode, merge candidates are obtained based on information about the movement of blocks adjacent to the current PU in time and space. If there is a candidate among the candidates having the same movement information as the current PU, the encoding device may send a Merge_Flag flag indicating the use of the merge mode and an index of the candidate having the same moving information as the current PU to the decoding device . Specifically, the encoding device determines the value of the available motion vector predictor (MVP) using the refldxLX index of the reference image indicating the reference image obtained from the motion prediction, and creates a list of merge candidates (MergeCandList). If there is a candidate in the list that has the same moving information as the current PU, the encoding device sets the Merge_Flag flag to 1 and encodes the candidate's Mergejdx index.

В режиме AMVP устройство кодирования определяет кандидатов AMVP на основании информации о перемещении для блоков, соседних с текущим PU во времени и пространстве. Иными словами, устройство кодирования определяет значение предсказателя вектора перемещения mvpLX для компонента яркостного канала. Конкретно, устройство кодирования определяет пространственные векторы-кандидаты перемещения (MVP) соседних PU для текущего PU. Устройство кодирования определяет временной вектор-кандидат перемещения связанного блока с использованием индекса RefldxLX опорного изображения, полученного при предсказании перемещения. Устройство кодирования создает список MVP mvpListLX на основании пространственных векторов-кандидатов перемещения и временного вектора-кандидата перемещения. Если большинство векторов перемещения имеет одинаковое значение в списке MVP, устройство кодирования удаляет векторы перемещения, отличные от вектора перемещения, имеющего наибольший приоритет, из списка MVP. В данном случае векторы перемещения могут обладать приоритетом в порядке векторов (mvLXA) перемещения левых соседних блоков с текущим PU, векторов (mvLXB) перемещения верхних соседних блоков с текущим PU и вектора (mvLXCol) перемещения временного связанного блока, являющихся доступными. Из списка MVP выбирают вектор перемещения наилучшего предсказателя среди векторов-кандидатов перемещения в качестве предсказанного значения mvpLX. Наилучший предсказатель является блоком-кандидатом, минимизирующим функцию стоимости соотношения между скоростью и искажениями (rate-distortion, RD), например, JMotSAD с учетом стоимости передачи бита и суммы абсолютной разницы (sum of absolute difference, SAD).In AMVP mode, the encoding device determines AMVP candidates based on movement information for blocks adjacent to the current PU in time and space. In other words, the encoding device determines the mvpLX displacement vector predictor value for the luminance channel component. Specifically, the encoding device determines spatial candidate motion vectors (MVPs) of neighboring PUs for the current PU. The encoding device determines a temporary candidate motion vector of the associated block using the RefldxLX index of the reference image obtained from the motion prediction. The encoding device creates the MVP list mvpListLX based on the spatial displacement candidate vectors and the temporary displacement candidate vector. If most motion vectors have the same value in the MVP list, the encoder removes the motion vectors other than the motion vector that has the highest priority from the MVP list. In this case, the movement vectors may have priority in the order of the vectors (mvLXA) of moving the left neighboring blocks with the current PU, the vectors (mvLXB) of moving the upper neighboring blocks with the current PU, and the moving vector (mvLXCol) of the temporary linked block, which are available. From the MVP list, the best predictor displacement vector is selected among the displacement candidate vectors as the predicted mvpLX value. The best predictor is a candidate block that minimizes the cost function of the relationship between speed and distortion (rate-distortion, RD), for example, J MotSAD , taking into account the cost of transmitting a bit and the sum of absolute difference (SAD).

Устройство кодирования кодирует информацию о перемещении для текущего PU (S730). Когда для предсказания перемещения текущего PU используется режим слияния, если кандидат, имеющий ту же информацию о перемещении, что и текущий PU, присутствует среди кандидатов на слияние, устройство кодирования указывает на то, что к текущему PU применяют режим слияния, и кодирует и передает флаг Merge_Flag, указывающий на использование режима слияния, и индекс Merge_idx кандидата, имеющего ту же информацию о перемещении, что и текущий PU, в устройство декодирования.The encoding device encodes movement information for the current PU (S730). When the merge mode is used to predict the movement of the current PU, if the candidate having the same movement information as the current PU is present among the merge candidates, the encoding device indicates that the merge mode is applied to the current PU, and encodes and transmits a flag Merge_Flag indicating the use of the merge mode, and the Merge_idx index of the candidate having the same move information as the current PU to the decoding device.

Если для предсказания перемещения текущего PU используют режим AMVP, устройство кодирования определяет кандидата, минимизирующего функцию стоимости, среди кандидатов AMVP путем сравнения информации о векторе перемещения кандидатов AMVP с информацией о векторе перемещения текущего PU. Устройство кодирования выполняет компенсацию перемещения с использованием кандидата, минимизирующего функцию стоимости, и разностного значения между информацией о перемещении кандидата, минимизирующего функцию стоимости, и информацией о перемещении текущего PU, тем самым получая разностный сигнал. Иными словами, устройство кодирования может выполнять энтропийное кодирование разности между вектором перемещения текущего PU и вектором перемещения наилучшего предсказателя.If AMVP mode is used to predict the movement of the current PU, the encoding device determines the candidate minimizing the cost function among the AMVP candidates by comparing the information of the candidate movement vector of the AMVP with the information of the moving vector of the current PU. The encoding device performs motion compensation using a candidate minimizing the cost function and a difference value between the information of the movement of the candidate minimizing the cost function and the moving information of the current PU, thereby obtaining a difference signal. In other words, the encoding device can perform entropy encoding of the difference between the motion vector of the current PU and the motion vector of the best predictor.

Устройство кодирования получает разностный сигнал путем определения разности в пикселах между значением пиксела текущего блока и значением пиксела блока предсказания посредством компенсации перемещения (S740) и преобразует разностный сигнал (S750).The encoding device receives a difference signal by determining a difference in pixels between the pixel value of the current block and the pixel value of the prediction block by displacement compensation (S740) and converts the difference signal (S750).

Разностный сигнал кодируется путем преобразования, в котором для преобразования может быть использовано ядро транскодирования. Ядро транскодирования может иметь форму 2×2, 4×4, 8×8, 16×16, 32×32 или 64×64, при этом ядро, используемое для преобразования, может быть определено заблаговременно. В данном случае коэффициенты преобразования генерируются путем преобразования и формируют двумерный блок. Например, коэффициенты С преобразования для блока n×n могут быть выведены по формуле 1.The difference signal is encoded by a transform in which a transcoding core can be used for the transform. The transcoding core can be in the form of 2 × 2, 4 × 4, 8 × 8, 16 × 16, 32 × 32 or 64 × 64, while the core used for the conversion can be determined in advance. In this case, the conversion coefficients are generated by the conversion and form a two-dimensional block. For example, conversion coefficients C for an n × n block can be derived using formula 1.

[формула 1][Formula 1]

С(n,n)=Т(n,n)×В(n,n)×Т(n,n)T C (n, n) = T (n, n) × B (n, n) × T (n, n) T

В данном случае С(n,n) - матрица n×n коэффициентов преобразования, Т(n,n) - матрица n×n ядра преобразования, а В(n,n) - матрица n×n разностного блока.In this case, C (n, n) is the n × n matrix of transform coefficients, T (n, n) is the n × n matrix of the transform kernel, and B (n, n) is the n × n matrix of the difference block.

Коэффициенты преобразования, вычисленные по формуле 1, квантуют.The conversion coefficients calculated by formula 1 are quantized.

На основании RDO устройство кодирования определяет, что именно передавать: разностный сигнал или коэффициенты преобразования (S760). Если предсказание выполнено надлежащим образом, разностный сигнал может быть передан в неизмененном виде, без транскодирования. В данном случае устройство кодирования может сравнивать функции стоимости до/после транскодирования и выбирать способ с минимальной стоимостью.Based on the RDO, the encoding device determines what exactly to transmit: a difference signal or conversion coefficients (S760). If the prediction is performed properly, the difference signal can be transmitted unchanged, without transcoding. In this case, the encoding device can compare the cost functions before / after transcoding and choose a method with a minimum cost.

Устройство кодирования может передавать тип сигнала, предназначенного для передачи (например, разностный сигнал или коэффициенты преобразования), в отношении текущего блока и передавать сигнал в устройство декодирования. Например, если передача разностного сигнала в неизменном виде без транскодирования имеет минимальную стоимость, устройство кодирования может передать разностный сигнал в отношении текущего блока. Если передача коэффициентов преобразования имеет минимальную стоимость, устройство кодирования может передать коэффициенты преобразования в отношении текущего блока.The encoding device may transmit the type of signal to be transmitted (for example, a differential signal or transform coefficients) with respect to the current block and transmit the signal to the decoding device. For example, if transmitting the difference signal unchanged without transcoding has a minimum cost, the encoding device may transmit the difference signal with respect to the current block. If the transmission of transform coefficients is at a minimum cost, the encoding device may transmit transform coefficients with respect to the current block.

Устройство кодирования сканирует коэффициенты преобразования (S770). Устройство кодирования посредством сканирования преобразует квантованные коэффициенты преобразования формы двумерного блока в коэффициенты преобразования формы одномерного вектора. В данном случае на основании размера PU, иными словами, режима деления PU может быть выбрано горизонтальное сканирование, вертикальное сканирование и сканирование зигзагом (или вертикально-диагональное сканирование) для сканирования коэффициентов преобразования.The encoding device scans the conversion coefficients (S770). The coding device by scanning converts the quantized transform coefficients of the shape of a two-dimensional block into the transform coefficients of the shape of a one-dimensional vector. In this case, based on the size of the PU, in other words, the division mode of the PU, horizontal scanning, vertical scanning, and zigzag scanning (or vertical-diagonal scanning) can be selected for scanning conversion coefficients.

Конкретно, на основании форм деления PU могут быть определены возможные режимы (способы) сканирования, среди которых режим сканирования определяют на основании RDO. Если режим деления PU имеет вертикально ориентированную форму деления, в качестве возможных режимов сканирования определяют горизонтальное сканирование и сканирование зигзагом (или вертикально-диагональное сканирование). Если режим деления PU имеет горизонтально ориентированную форму деления, в качестве возможных режимов сканирования определяют вертикальное сканирование и сканирование зигзагом (или вертикально-диагональное сканирование). Затем из возможных режимов сканирования выбирают режим сканирования с минимальной RDO.Specifically, based on the division forms of the PU, possible scanning modes (methods) can be determined, among which the scanning mode is determined based on the RDO. If the division mode of the PU has a vertically oriented division form, horizontal scanning and zigzag scanning (or vertical-diagonal scanning) are determined as possible scanning modes. If the division mode of the PU has a horizontally oriented division form, vertical scanning and zigzag scanning (or vertical-diagonal scanning) are determined as possible scanning modes. Then, from the possible scan modes, a scan mode with a minimum RDO is selected.

В данном случае, как описано выше на фиг. 4 и 6, такие режимы сканирования могут быть применены к режимам деления PU при межкадровом предсказании, например режимам блока N×2N, блока 2N×N, блока 2N×2N, блока N×N, блока 2N×nU, блока 2N×nD, блока nL×2N и блока nR×2N, и режимам деления PU в режиме внутрикадрового предсказания (например, SDIP), например режимам блока 1/2N×2N, блока 2N×1/2N, блока N×N и блока 2N×2N. В этом отношении соответствующие описания опущены, поскольку уже полностью приведены ранее.In this case, as described above in FIG. 4 and 6, such scanning modes can be applied to inter-frame prediction modes of a PU, for example, N × 2N block, 2N × N block, 2N × 2N block, N × N block, 2N × nU block, 2N × nD block, an nL × 2N block and an nR × 2N block, and PU division modes in the intra prediction mode (e.g., SDIP), for example, the modes of the 1 / 2N × 2N block, the 2N × 1 / 2N block, the N × N block, and the 2N × 2N block. In this regard, the relevant descriptions are omitted, since they have already been given in full.

Устройство кодирования может осуществлять энтропийное кодирование передаваемой информации (S780). Иными словами, устройство кодирования может осуществлять энтропийное кодирование сканированных коэффициентов преобразования и информации о режиме предсказания. Закодированная информация может формировать сжатый битовый поток и храниться или передаваться через абстрактный уровень сети (network abstraction layer, NAL).The encoding device may perform entropy encoding of the transmitted information (S780). In other words, the encoding device can entropy encode the scanned transform coefficients and the prediction mode information. The encoded information can form a compressed bitstream and is stored or transmitted through an abstract network layer (network abstraction layer, NAL).

На фиг. 8 показана обобщенная схема способа декодирования видеоданных в соответствии с настоящим изобретением. Каждый шаг на фиг. 8 может быть выполнен соответствующими модулями устройства декодирования видеоданных на фиг. 2.In FIG. 8 shows a generalized diagram of a method for decoding video data in accordance with the present invention. Each step in FIG. 8 can be performed by the respective modules of the video decoding device in FIG. 2.

Как показано на фиг. 8, устройство декодирования может выполнять энтропийное декодирование принятого битового потока (S800). Устройство декодирования может идентифицировать тип блока по таблице переменной длины кодирования (variable length coding, VLC) для распознавания режима предсказания текущего блока. Дополнительно устройство кодирования может идентифицировать информацию о том, является ли переданная информация о текущем блоке разностным сигналом или коэффициентами преобразования. В зависимости от результата устройство декодирования может получать разностный сигнал или коэффициенты преобразования для текущего блока.As shown in FIG. 8, a decoding apparatus may perform entropy decoding of a received bitstream (S800). The decoding device can identify the block type from the variable length coding (VLC) table to recognize the prediction mode of the current block. Additionally, the encoding device can identify information about whether the transmitted information about the current block is a difference signal or conversion coefficients. Depending on the result, the decoding device may receive a difference signal or transform coefficients for the current block.

Устройство декодирования может определять способ сканирования (S810). Иными словами, устройство декодирования определяет способ сканирования на основании режима деления PU с использованием информации, переданной из устройства кодирования. Переданная информация может быть флагом, указывающим, используется ли сканирование зигзагом (например, флагом isZigZagScanFlag).The decoding device may determine a scanning method (S810). In other words, the decoding apparatus determines a scanning method based on the division mode of the PU using information transmitted from the encoding apparatus. The information transmitted may be a flag indicating whether zigzag scanning is used (for example, the isZigZagScanFlag flag).

Конкретно, если режим деления PU имеет вертикально ориентированную форму деления или горизонтально ориентированную форму деления, устройство декодирования декодирует флаг, указывающий на использование сканирования зигзагом, и определяет способ сканирования на основании значения декодированного флага. Если режим деления PU имеет вертикально ориентированную форму деления, устройство декодирования выбирает сканирование зигзагом или горизонтальное сканирование на основании значения декодированного флага. Если режим деления PU имеет горизонтально ориентированную форму деления, устройство декодирования выбирает сканирование зигзагом или вертикальное сканирование на основании значения декодированного флага. Например, если флаг isZigZagScanFlag равен 1, выбирают сканирование зигзагом, тогда как горизонтальное сканирование (для режима деления, имеющего вертикально ориентированную форму деления)/вертикальное сканирование (для режима деления, имеющего горизонтально ориентированную форму деления) может быть использовано, если флаг isZigZagScanFlag равен 0.Specifically, if the division mode of the PU has a vertically oriented division form or a horizontally oriented division form, the decoding apparatus decodes a flag indicating the use of zigzag scanning and determines a scanning method based on the value of the decoded flag. If the division mode of the PU has a vertically oriented division form, the decoding device selects zigzag scanning or horizontal scanning based on the value of the decoded flag. If the division mode of the PU has a horizontally oriented division form, the decoding device selects zigzag scanning or vertical scanning based on the value of the decoded flag. For example, if the isZigZagScanFlag flag is 1, zigzag scanning is selected, while horizontal scanning (for the division mode having a vertically oriented division shape) / vertical scanning (for the division mode having a horizontally oriented division form) can be used if the isZigZagScanFlag flag is 0 .

В данном случае, как описано выше на фиг. 4 и 6, эти способы сканирования могут применяться для режимов деления PU при межкадровом предсказании, например режимов блока N×2N, блока 2N×N, блока 2N×2N, блока N×N, блока 2N×nU, блока 2N×nD, блока nL×2N и блока nR×2N, и режимов деления PU при внутрикадровом предсказании (например, SDIP), например режимов блока 1/2N×2N, блока 2N×1/2N, блока N×N и блока 2N×2N. В этом отношении соответствующие описания опущены, поскольку уже полностью приведены ранее.In this case, as described above in FIG. 4 and 6, these scanning methods can be used for inter-prediction PU division modes, for example, N × 2N block, 2N × N block, 2N × 2N block, N × N block, 2N × nU block, 2N × nD block, block nL × 2N and the nR × 2N block, and PU division modes in the intra-frame prediction (for example, SDIP), for example, the modes of the 1 / 2N × 2N block, the 2N × 1 / 2N block, the N × N block, and the 2N × 2N block. In this regard, the relevant descriptions are omitted, since they have already been given in full.

Между тем, сканирование зигзагом может использоваться для режима деления, имеющего квадратную форму, такого как режим блока 2N×2N и блока N×N или для правого деления режима блока nL×2N, левого деления режима блока nR×2N, нижнего деления режима блока 2N×nU или верхнего деления режима блока 2N×nD как больших частей деления в AMP.Meanwhile, zigzag scanning can be used for the division mode having a square shape, such as the mode of the 2N × 2N block and the N × N block, or for the right division of the nL × 2N block mode, the left division of the nR × 2N block mode, the lower division mode of the 2N block × nU or upper division block mode 2N × nD as large divisions in the AMP.

Устройство декодирования может выполнять обратное сканирование прошедшего энтропийное декодирование разностного сигнала или коэффициентов преобразования (S820). Устройство декодирования может генерировать разностный блок посредством обратного сканирования в случае разностного сигнала и может генерировать двумерный блок преобразования посредством обратного сканирования в случае коэффициентов преобразования. Когда блок преобразования сгенерирован, устройство декодирования может деквантовать и выполнить обратное преобразование блока преобразования, тем самым получая разностный блок. Операция получения разностного блока путем обратного преобразования блока преобразования выражена в формуле 2.The decoding device may reverse scan the entropy decoding of the difference signal or transform coefficients (S820). The decoding device may generate a difference block by means of an inverse scan in the case of a difference signal and may generate a two-dimensional transform block by means of an inverse scan in the case of conversion coefficients. When the transform block is generated, the decoding device can dequantize and inverse transform the transform block, thereby obtaining a difference block. The operation of obtaining a difference block by the inverse transform of the transform block is expressed in formula 2.

[формула 2][formula 2]

В(n,n)=Т(n,n)×С(n,n)×Т(n,n)T B (n, n) = T (n, n) × C (n, n) × T (n, n) T

В данном случае В(n,n) - матрица n×n разностного блока, Т(n,n) - матрица n×n ядра преобразования и С(n,n) - матрица n×n коэффициентов преобразования.In this case, B (n, n) is the n × n matrix of the difference block, T (n, n) is the n × n matrix of the transformation kernel, and C (n, n) is the n × n matrix of transformation coefficients.

Устройство декодирования может выполнять межкадровое предсказание (S830). Устройство декодирования может декодировать информацию о режиме предсказания и выполнять межкадровое предсказание в соответствии с режимом предсказания.A decoding device may perform inter-frame prediction (S830). The decoding apparatus may decode prediction mode information and perform inter-frame prediction in accordance with the prediction mode.

Например, если режим PredMode предсказания является режимом слияния (например, PredMode==MODE_SKIP && Merge_Flag==1), устройство декодирования может определять вектор mvLX перемещения компоненты яркостного канала и индекс refldxLX опорного изображения для режима слияния. С этой целью устройство декодирования может определять кандидатов на слияние по делениям PU (т.е. блоков предсказаний), соседних с текущим PU в пространстве. Устройство декодирования может определять индекс refldxLX опорного изображения с тем, чтобы получить временного кандидата на слияние для текущего PU. Устройство декодирования может определять значение доступного временного предсказателя вектора перемещения (motion vector predictor, MVP) с использованием определенного таким образом индекса опорного изображения. Если количество NumMergeCand кандидатов в списке MergeCandList кандидатов на слияние, составленном из пространственных кандидатов на слияние и временного кандидата на слияние, равно 1, устройство декодирования назначает индекс (Merge_ldx) кандидата на слияние равным 1. В противном случае устройство декодирования может назначить индекс кандидата на слияние равным принятому индексу слияния. Устройство декодирования определяет вектор (mvLX) перемещения кандидата на слияние, указанного принятым индексом слияния и индексом (refldxLX) опорного изображения. Устройство декодирования может использовать определенные таким образом вектор перемещения и индекс опорного изображения для компенсации перемещения.For example, if the prediction mode PredMode is a merge mode (e.g., PredMode == MODE_SKIP && Merge_Flag == 1), the decoding device may determine the luminance channel component moving vector mvLX and the reference image index refldxLX for the merge mode. To this end, the decoding device can determine merge candidates for PU divisions (i.e., prediction blocks) adjacent to the current PU in space. The decoding device may determine the refldxLX index of the reference image so as to obtain a temporary merge candidate for the current PU. The decoding device may determine the value of the available motion vector predictor (MVP) using the thus defined reference image index. If the number of NumMergeCand candidates in the MergeCandList list of merge candidates composed of spatial merge candidates and a temporary merge candidate is 1, the decoding device assigns the merge candidate index (Merge_ldx) to 1. Otherwise, the decoding device can assign the merge candidate index equal to the accepted merge index. The decoding device determines a motion vector (mvLX) of the merge candidate indicated by the received merge index and the reference image index (refldxLX). The decoding device may use the motion vector thus defined and the reference image index to compensate for the movement.

Если режим PredMode предсказания является режимом AMVP, устройство декодирования может определять индекс (refldxLX) опорного изображения для текущего PU и может определять значение (mvpLX) предсказателя вектора перемещения компонента яркостного канала с использованием индекса опорного изображения. Конкретно, устройство декодирования может определять пространственные векторы-кандидаты перемещения (MVP) соседних PU для текущего PU и определять временной вектор-кандидат перемещения (MVP) связанного блока, на который указывает индекс опорного изображения. Устройство декодирования может генерировать список MVP (mvpListLX) на основании определенных таким образом пространственных векторов-кандидатов перемещения и временного вектора-кандидата перемещения. Если множество векторов перемещения в списке MVP имеет одинаковое значение, устройство декодирования может удалить векторы перемещения, отличающиеся от вектора перемещения с наибольшим приоритетом, из списка MVP. В данном случае, как описано выше, векторы перемещения обладают приоритетом в порядке вектора (mvLXA) перемещения левого соседнего блока с текущим PU, вектора (mvLXB) перемещения верхнего соседнего блока с текущим PU и вектора (mvLXCol) перемещения временного связанного блока, которые являются доступными. Если количество NumMVPCand(LX) кандидатов MVP в списке MVP равно 1, устройство декодирования может установить индекс mvpldx кандидата MVP равным 0. Если количество кандидатов MVP равно 2 или более, устройство декодирования может установить индекс mvpldx кандидата MVP равным принятому значению индекса. Устройство декодирования может определять вектор перемещения, указанный mvpldx, среди кандидатов MVP в списке MVP (mvpListLX) как значение mvpLX предсказателя вектора перемещения. Устройство декодирования может определять вектор mvLX перемещения с использованием значения mvpLX предсказателя вектора перемещения и формулы 3.If the prediction PredMode mode is AMVP mode, the decoding device may determine the reference image index (refldxLX) for the current PU and may determine the luminance channel component moving vector predictor value (mvpLX) using the reference image index. Specifically, the decoding apparatus may determine spatial motion candidate vectors (MVPs) of neighboring PUs for the current PU and determine a temporal motion candidate vector (MVP) of the associated block, which is indicated by the reference image index. The decoding apparatus may generate an MVP list (mvpListLX) based on the spatial displacement candidate vectors thus determined and the temporary displacement candidate vector. If the plurality of displacement vectors in the MVP list have the same value, the decoding device may remove the displacement vectors other than the displacement vector with the highest priority from the MVP list. In this case, as described above, the movement vectors take precedence in the order of the vector (mvLXA) of the movement of the left neighboring block with the current PU, the vector (mvLXB) of the movement of the upper neighboring block with the current PU and the vector (mvLXCol) of the temporary linked block that are available . If the number of NumMVPCand (LX) MVP candidates in the MVP list is 1, the decoding device can set the MVP candidate mvpldx index to 0. If the number of MVP candidates is 2 or more, the decoding device can set the MVP candidate mvpldx index to the accepted index value. The decoding device may determine the motion vector indicated by mvpldx among the MVP candidates in the MVP list (mvpListLX) as the mvpLX value of the motion vector predictor. The decoding apparatus may determine the mvLX displacement vector using the displacement vector predictor mvpLX value and formula 3.

[формула 3][formula 3]

mvLX[0]=mvdLX[0]+mvpLX[0]mvLX [0] = mvdLX [0] + mvpLX [0]

mvLX[l]=mvdLX[l]+mvpLX[l]mvLX [l] = mvdLX [l] + mvpLX [l]

В данном случае mvLX[0], mvdLX[0] и mvpLX[0] - компоненты x информации о векторе LX перемещения (т.е. компоненты × mvLX, mvdLX и mvpLX), a mvLX[1], mvdLX[1] и mvpLX[1] - компоненты у информации о векторе LX перемещения (т.е. компоненты у mvLX, mvdLX и mvpLX).In this case, mvLX [0], mvdLX [0] and mvpLX [0] are the components x of information about the displacement vector LX (that is, the components × mvLX, mvdLX and mvpLX), a mvLX [1], mvdLX [1] and mvpLX [1] - components of information on the LX displacement vector (ie, components of mvLX, mvdLX and mvpLX).

Устройство декодирования может определить реконструированный сигнал (S840). Например, устройство декодирования может добавлять разностный сигнал к сигналу предыдущего кадра (т.е. предсказанный сигнал) для генерирования реконструированного сигнала. Устройство декодирования может добавлять сигнал предсказания предыдущего кадра, который получен компенсацией перемещения с использованием определенного вектора перемещения, к декодированному разностному сигналу для текущего PU, тем самым генерируя реконструированный сигнал.The decoding device may determine the reconstructed signal (S840). For example, a decoding device may add a difference signal to a signal of a previous frame (i.e., a predicted signal) to generate a reconstructed signal. The decoding device may add a prediction signal of a previous frame, which is obtained by motion compensation using a specific displacement vector, to the decoded difference signal for the current PU, thereby generating a reconstructed signal.

Хотя способы были описаны в виде последовательности этапов или блоков на основании обобщенных схем вышеупомянутых вариантов осуществления изобретения, настоящее изобретение не ограничивается вышеупомянутой последовательностью этапов. Некоторые этапы могут выполняться в порядке, отличном от описанного выше, или одновременно. Также специалистам в данной области должно быть понятно, что этапы, показанные на обобщенных схемах, не являются ограничивающими, и в схему могут включаться дополнительные этапы, либо один или более этапов могут быть удалены из схемы без влияния на объем настоящего изобретения.Although the methods have been described as a sequence of steps or blocks based on generalized schemes of the above embodiments, the present invention is not limited to the above sequence of steps. Some steps may be performed in an order different from that described above, or simultaneously. It will also be understood by those skilled in the art that the steps shown in the generalized diagrams are not limiting, and additional steps may be included in the circuit, or one or more steps may be removed from the circuit without affecting the scope of the present invention.

Тогда, как было показано и описано со ссылкой на сопроводительные чертежи, специалистам в данной области должно быть очевидно, что на основании приведенных выше описаний могут быть сделаны различные модификации и вариации без отхода от сущности настоящего изобретения. Примерные варианты осуществления изобретения приведены не для ограничения принципа настоящего изобретения, но для иллюстрации настоящего изобретения и не для ограничения пределов сущности настоящего изобретения. Пределы сущности настоящего изобретения определены приложенной формулой изобретения, и все различия в пределах сущности предполагают включение их в приложенную формулу настоящего изобретения.Then, as has been shown and described with reference to the accompanying drawings, it should be apparent to those skilled in the art that various modifications and variations can be made based on the above descriptions without departing from the spirit of the present invention. Exemplary embodiments of the invention are not intended to limit the principle of the present invention, but to illustrate the present invention and not to limit the scope of the present invention. The limits of the essence of the present invention are defined by the attached claims, and all differences within the essence suggest their inclusion in the attached claims of the present invention.

Claims (15)

1. Способ декодирования видеосигнала, включающий:1. A method of decoding a video signal, including: получение разностных образцов текущего блока и индекса опорного изображения;obtaining differential samples of the current block and the reference image index; получение пространственного вектора-кандидата перемещения по соседнему в пространстве блоку относительно текущего блока;obtaining a spatial vector of a candidate for moving along a block neighboring in space relative to the current block; выбор связанного изображения, относящегося к временному вектору-кандидату перемещения текущего блока, на основании индекса опорного изображения;selecting a related image related to a temporary candidate motion vector of the current block based on the index of the reference image; получение временного вектора-кандидата перемещения по связанному блоку, при этом связанный блок включен в связанное изображение;obtaining a temporary motion candidate vector along the linked block, wherein the linked block is included in the linked image; генерирование списка векторов-кандидатов перемещения, содержащего пространственный вектор-кандидат перемещения и временной вектор-кандидат перемещения;generating a list of motion candidate vectors comprising a spatial motion candidate vector and a temporal motion candidate vector; определение предсказателя вектора перемещения на основании списка векторов-кандидатов перемещения и индекса кандидата текущего блока, при этом индекс кандидата указывает один из векторов-кандидатов перемещения, содержащихся в списке векторов-кандидатов перемещения;determining a motion vector predictor based on the list of motion candidate vectors and the candidate index of the current block, wherein the candidate index indicates one of the motion candidate vectors contained in the list of motion candidate vectors; определение вектора перемещения текущего блока с использованием предсказателя вектора перемещения и разности векторов перемещения;determining a displacement vector of a current block using a displacement vector predictor and a difference of displacement vectors; получение образцов предсказания текущего блока с использованием вектора перемещения; иobtaining prediction patterns of the current block using a displacement vector; and реконструирование текущего блока с использованием образцов предсказания и разностных образцов текущего блока.reconstruction of the current block using prediction patterns and difference patterns of the current block. 2. Способ по п. 1, отличающийся тем, что связанное изображение имеет временной порядок, отличный от текущего изображения, содержащего текущий блок.2. The method according to p. 1, characterized in that the associated image has a temporal order different from the current image containing the current block. 3. Способ по п. 2, отличающийся тем, что связанный блок представляет блок, соответствующий той же позиции, что и текущий блок.3. The method according to p. 2, characterized in that the associated block represents a block corresponding to the same position as the current block. 4. Способ по п. 1, отличающийся тем, что соседний в пространстве блок включает по меньшей мере один из числа левого соседнего блока и верхнего соседнего блока.4. The method according to p. 1, characterized in that the neighboring space block includes at least one of a number of a left neighboring block and an upper neighboring block. 5. Способ по п. 4, отличающийся тем, что множество векторов-кандидатов перемещения в списке векторов-кандидатов перемещения расположено в порядке приоритета.5. The method according to claim 4, characterized in that the plurality of displacement candidate vectors in the list of displacement candidate vectors are arranged in priority order. 6. Способ по п. 5, отличающийся тем, что множество векторов-кандидатов перемещения расположено в порядке, соответствующем пространственному вектору-кандидату перемещения и временному вектору-кандидату перемещения.6. The method according to claim 5, characterized in that the plurality of displacement candidate vectors are arranged in the order corresponding to the spatial displacement candidate vector and the temporary displacement candidate vector.
RU2016114732A 2012-11-08 2012-11-08 Video decoding method RU2619199C1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2016114732A RU2619199C1 (en) 2012-11-08 2012-11-08 Video decoding method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2016114732A RU2619199C1 (en) 2012-11-08 2012-11-08 Video decoding method

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
RU2014119545/08A Division RU2585976C2 (en) 2011-11-08 2012-11-08 Method and apparatus for coefficient scan based on partition mode of prediction unit

Publications (1)

Publication Number Publication Date
RU2619199C1 true RU2619199C1 (en) 2017-05-12

Family

ID=58716007

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2016114732A RU2619199C1 (en) 2012-11-08 2012-11-08 Video decoding method

Country Status (1)

Country Link
RU (1) RU2619199C1 (en)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050036701A1 (en) * 2003-01-30 2005-02-17 Toshio Miyazawa Image processing apparatus and computer-readable storage medium
US20050074177A1 (en) * 2003-10-03 2005-04-07 Daijiro Ichimura Video coding method
WO2009051419A2 (en) * 2007-10-16 2009-04-23 Lg Electronics Inc. A method and an apparatus for processing a video signal
KR20090072150A (en) * 2007-12-28 2009-07-02 세종대학교산학협력단 Apparatus and method for determining scan pattern, and apparatus and method for encoding image data using the same, and method for decoding image data using the same
RU2391794C2 (en) * 2005-07-05 2010-06-10 Нтт Докомо, Инк. Device of video coding, method of video coding, program of video coding, device of video coding, method of video coding and program of video coding
KR20100095992A (en) * 2009-02-23 2010-09-01 한국과학기술원 Method for encoding partitioned block in video encoding, method for decoding partitioned block in video decoding and recording medium implementing the same
RU2406258C2 (en) * 2006-03-27 2010-12-10 Квэлкомм Инкорпорейтед Method and system for coding and decoding of information related to compression of video signal
KR20110068897A (en) * 2009-12-16 2011-06-22 한국전자통신연구원 Adaptive image coding apparatus and method

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050036701A1 (en) * 2003-01-30 2005-02-17 Toshio Miyazawa Image processing apparatus and computer-readable storage medium
US20050074177A1 (en) * 2003-10-03 2005-04-07 Daijiro Ichimura Video coding method
RU2391794C2 (en) * 2005-07-05 2010-06-10 Нтт Докомо, Инк. Device of video coding, method of video coding, program of video coding, device of video coding, method of video coding and program of video coding
RU2406258C2 (en) * 2006-03-27 2010-12-10 Квэлкомм Инкорпорейтед Method and system for coding and decoding of information related to compression of video signal
WO2009051419A2 (en) * 2007-10-16 2009-04-23 Lg Electronics Inc. A method and an apparatus for processing a video signal
KR20090072150A (en) * 2007-12-28 2009-07-02 세종대학교산학협력단 Apparatus and method for determining scan pattern, and apparatus and method for encoding image data using the same, and method for decoding image data using the same
KR20100095992A (en) * 2009-02-23 2010-09-01 한국과학기술원 Method for encoding partitioned block in video encoding, method for decoding partitioned block in video decoding and recording medium implementing the same
KR20110068897A (en) * 2009-12-16 2011-06-22 한국전자통신연구원 Adaptive image coding apparatus and method

Similar Documents

Publication Publication Date Title
RU2710303C2 (en) Video decoding method
US11350121B2 (en) Method for generating prediction block in AMVP mode
RU2719386C2 (en) Video decoding method
RU2619199C1 (en) Video decoding method
RU2623905C1 (en) Video decoding method
RU2619198C1 (en) Video decoding method