EA040654B1 - TRANSFORMATIONS FOR SIGNAL ENHANCEMENT CODING - Google Patents

TRANSFORMATIONS FOR SIGNAL ENHANCEMENT CODING Download PDF

Info

Publication number
EA040654B1
EA040654B1 EA202190386 EA040654B1 EA 040654 B1 EA040654 B1 EA 040654B1 EA 202190386 EA202190386 EA 202190386 EA 040654 B1 EA040654 B1 EA 040654B1
Authority
EA
Eurasian Patent Office
Prior art keywords
residual data
frame
encoding
encoded
decoded
Prior art date
Application number
EA202190386
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 В-Нова Интернешнл Лимитед
Publication of EA040654B1 publication Critical patent/EA040654B1/en

Links

Description

Область техникиTechnical field

Раскрытие относится к способам и устройствам для кодирования и/или декодирования сигналов.The disclosure relates to methods and devices for encoding and/or decoding signals.

Более конкретно, настоящее раскрытие относится к кодированию и декодированию видеосигналов и сигналов изображения, но может быть расширено до любого другого типа данных, подлежащих сжатию и распаковке.More specifically, the present disclosure relates to the encoding and decoding of video and image signals, but can be extended to any other type of data to be compressed and decompressed.

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

Описанные здесь способы и устройства основаны на общем алгоритме, который построен на существующем алгоритме кодирования и/или декодирования (который работает как базовый уровень для улучшенного уровня) и который работает согласно другому алгоритму кодирования и/или декодирования. Примеры существующих алгоритмов кодирования и/или декодирования включают в себя, помимо прочего, стандарты MPEG, такие как AVC/H.264, HEVC/H.265 и т.д., и нестандартные алгоритмы, такие как VP9, AV1 и другие.The methods and apparatuses described herein are based on a common algorithm that builds on an existing encoding and/or decoding algorithm (which operates as a base layer for an enhanced layer) and that operates according to another encoding and/or decoding algorithm. Examples of existing encoding and/or decoding algorithms include, but are not limited to, MPEG standards such as AVC/H.264, HEVC/H.265, etc., and non-standard algorithms such as VP9, AV1, and others.

Краткое изложение сущности изобретенияBrief summary of the invention

Различные меры (например, способы и устройства кодирования и декодирования), предусмотренные в соответствии с настоящим раскрытием, определены в прилагаемой формуле изобретения.Various measures (eg, methods and devices for encoding and decoding) provided in accordance with the present disclosure are defined in the appended claims.

Дополнительные особенности и преимущества станут очевидными из следующего описания, приведенного только в качестве примера, которое сделано со ссылкой на прилагаемые чертежи.Additional features and advantages will become apparent from the following description, by way of example only, which is made with reference to the accompanying drawings.

Краткое описание графических материаловBrief description of graphic materials

На фиг. 1 показана диаграмма, изображающая пример остаточного кодирования LOQ-1;In FIG. 1 is a diagram showing an example of LOQ-1 residual coding;

на фиг. 2 показана схема, изображающая пример остаточного кодирования LOQ-0.in fig. 2 is a diagram showing an example of LOQ-0 residual coding.

на фиг. 3 показана схема, изображающая пример процесса и системы декодирования;in fig. 3 is a diagram showing an example of a decoding process and system;

на фиг. 4 показана диаграмма, изображающая пример структуры данных для преобразованных остатков;in fig. 4 is a diagram showing an example of a data structure for the converted residuals;

на фиг. 5 показана диаграмма, изображающая пример вычисления ошибки сжатия;in fig. 5 is a diagram showing an example of calculating a compression error;

на фиг. 6 показана диаграмма, изображающая пример процесса разложения среднего значения;in fig. 6 is a diagram showing an example of a mean value decomposition process;

на фиг. 7 показана диаграмма, изображающая пример процесса горизонтального разложения;in fig. 7 is a diagram showing an example of a horizontal decomposition process;

на фиг. 8 показана схема, изображающая пример процесса вертикального разложения;in fig. 8 is a diagram showing an example of a vertical decomposition process;

на фиг. 9 показана схема, изображающая пример процесса диагонального разложения.in fig. 9 is a diagram showing an example of a diagonal decomposition process.

на фиг. 10 показана диаграмма, изображающая пример вычисления разложения среднего значения LoQ-0;in fig. 10 is a diagram showing an example of computing a decomposition of the average value of LoQ-0;

на фиг. 11 показана диаграмма, изображающая пример процесса преобразования обратного направленного разложения (DD) (LOQ-1); и на фиг. 12 показана диаграмма, изображающая пример того, как восстановить средний компонент в декодере, начиная с закодированного среднего, Aenc.in fig. 11 is a diagram showing an example of an inverse directional decomposition (DD) (LOQ-1) transformation process; and in FIG. 12 is a diagram showing an example of how to reconstruct the average component in the decoder starting from the encoded average, A enc .

Подробное описание сущности изобретенияDetailed Description of the Invention

Полный алгоритм, описанный в данном документе, иерархически кодирует и/или декодирует видеокадр, в отличие от использования подходов на основе блоков, используемых в семействе алгоритмов MPEG. Способы иерархического кодирования кадра, которые описаны здесь, включают в себя создание остатков для полного кадра, а затем прореженного кадра и так далее. Различные уровни в иерархии могут относиться к разным разрешениям, называемым здесь уровнями качества - LOQ - и остаточные данные могут быть сгенерированы для разных уровней. В примерах, остаточные данные сжатия видео для полноразмерного видеокадра могут быть обозначены как LOQ-0 (например, 1920x1080 для видеокадра высокой четкости - HD), в то время как данные прореженного кадра могут быть обозначены как LOQx. В этих случаях х обозначает количество иерархических децимаций. В некоторых описанных здесь примерах переменная х имеет максимальное значение, равное единице, и, следовательно, существует ровно два иерархических уровня, для которых будут генерироваться остатки сжатия (например, х = 0 и х = 1).The overall algorithm described herein hierarchically encodes and/or decodes a video frame, as opposed to using the block-based approaches used in the MPEG family of algorithms. Techniques for hierarchical frame coding that are described herein include creating residuals for a full frame and then a decimated frame, and so on. Different levels in the hierarchy may refer to different resolutions, referred to here as quality levels - LOQ - and residual data may be generated for different levels. In the examples, video compression residual data for a full video frame may be referred to as LOQ-0 (eg, 1920x1080 for a HD video frame), while decimated frame data may be referred to as LOQx. In these cases, x denotes the number of hierarchical decimations. In some of the examples described here, the variable x has a maximum value of one, and therefore there are exactly two hierarchical levels for which compression residuals will be generated (for example, x=0 and x=1).

На фиг. 1 показан пример того, как кодированные данные для одного уровня качества - LOQ-1 - генерируются в устройстве кодирования.In FIG. 1 shows an example of how encoded data for one quality level, LOQ-1, is generated in an encoder.

Общий алгоритм и методы описаны с использованием алгоритма кодирования/декодирования AVC/H.264 в качестве примера базового алгоритма. Однако другие алгоритмы кодирования/декодирования могут использоваться в качестве базовых алгоритмов без какого-либо влияния на способ работы всего алгоритма. На фиг. 1 показан процесс 100 генерирования закодированных энтропийно остатков для уровня иерархии LOQ-1.The general algorithm and methods are described using the AVC/H.264 encoding/decoding algorithm as an example of a basic algorithm. However, other encoding/decoding algorithms can be used as base algorithms without any impact on the way the whole algorithm works. In FIG. 1 shows a process 100 for generating entropy-coded residuals for the LOQ-1 hierarchy level.

Первый шаг 101 - прореживание входящего несжатого видео в два раза. Это может включать понижающую дискретизацию входного кадра 102 (обозначенного Входной кадр на рисунке 1), имеющего высоту Н и ширину W, для создания прореженного кадра 103 (помеченного Half-2D size на рисунке 1), имеющего высоту Н/2 и ширину W/2. Процесс понижающей дискретизации включает уменьшение каждой оси в два раза и эффективно выполняется за счет использования блоков сетки 2x2. Понижающая дискретизация может выполняться различными способами, примеры которых включают, помимо прочего, усреднение и повторную выборку Ланцоша.The first step 101 is to decimate the incoming uncompressed video by a factor of two. This may include downsampling an input frame 102 (labeled Input Frame in Figure 1) having a height H and a width W to create a sparse frame 103 (labeled Half-2D size in Figure 1) having a height H/2 and a width W/2 . The downsampling process involves halving each axis, and is efficiently accomplished by using 2x2 grid blocks. Downsampling can be performed in a variety of ways, examples of which include, but are not limited to, Lanczos averaging and resampling.

Прореженный кадр 103 затем проходит через алгоритм базового кодирования (в этом примере ал- 1 040654 горитм кодирования AVC / Н.264), где опорный кадр 105 с энтропийным кодированием (помеченный как Основание половинного размера на фиг. 1), имеющий высоту Н/2 и ширину W/2, затем генерируется объектом 104, помеченным как Н.264 Encode на фиг. 1, и сохраняется как данные с энтропийным кодированием Н.264. Объект 104 может содержать компонент кодирования базового кодера-декодера, например базовый кодек или базовый алгоритм кодирования/декодирования. Поток данных с базовым кодированием может выводиться как опорный кадр 105 с энтропийным кодированием, где поток данных с базовым кодированием имеет более низкое разрешение, чем поток входных данных, который обеспечивает входной кадр 102.The decimated frame 103 then passes through a base coding algorithm (in this example AVC/H.264 coding algorithm), where the entropy-coded reference frame 105 (labeled Base Half Size in FIG. 1) has a height of H/2 and width W/2, then generated by object 104 labeled H.264 Encode in FIG. 1 and stored as H.264 entropy encoded data. Object 104 may contain an encoding component of a base encoder/decoder, such as a base codec or a base encoding/decoding algorithm. The base-encoded data stream may be output as an entropy-encoded reference frame 105, where the base-encoded data stream has a lower resolution than the input data stream that input frame 102 provides.

В данном примере кодер затем имитирует декодирование вывода объекта 104. Декодированная версия закодированного опорного кадра 105 затем генерируется объектом 106 с надписью Н.264 Decode на фиг. 1. Объект 106 может включать в себя декодирование компонента базового кодека. Декодируемая версия закодированного опорного кадра 105 может представлять собой вариант прореженного кадра 103, который будет производится с помощью декодера после получения закодированного энтропийно опорного кадра 105.In this example, the encoder then simulates decoding the output of object 104. A decoded version of the encoded reference frame 105 is then generated by object 106 labeled H.264 Decode in FIG. 1. Object 106 may include decoding a base codec component. The decodable version of the encoded reference frame 105 may be a variant of the decimated frame 103 that will be produced by the decoder upon receipt of the entropy-coded reference frame 105.

В примере на фиг. 1 вычисляется разница между декодированным опорным кадром, выводимым объектом 106, и прореженным кадром 103. Это различие упоминается здесь как остатки LOQ-1. Разница формирует входные данные для блока 107 преобразования.In the example in FIG. 1, the difference between the decoded reference frame output by object 106 and the decimated frame 103 is calculated. This difference is referred to here as LOQ-1 residuals. The difference forms the input data for the transform block 107 .

Преобразование (в этом примере преобразование на основе Адамара), используемое блоком 107 преобразования, преобразует разницу в четыре компонента.The transformation (in this example, the Hadamard-based transformation) used by the transformation block 107 transforms the difference into four components.

Блок 107 преобразования может выполнять направляемое (или направленное) разложение для получения набора коэффициентов или компонентов, которые относятся к различным аспектам набора остатков. На фиг. 1 блок 107 преобразования генерирует коэффициенты А (среднее), Н (по горизонтали), V (по вертикали) и D (по диагонали). Блок 107 преобразования в этом случае использует направленную корреляцию между остатками LOQ-1, которая оказалась неожиданно эффективной в дополнение или в качестве альтернативы выполнению операции преобразования для более высокого уровня качества LOQ-0. уровень. Преобразование LOQ-0 более подробно описано ниже. В частности, было выявлено, что, помимо использования направленной корреляции в LOQ-0, направленная корреляция также может присутствовать и неожиданно эффективно использоваться в LOQ-1 для обеспечения более эффективного кодирования, чем использование направленной корреляции только в LOQ-0, или вообще не использует направленную корреляцию на LOQ-0.Transform block 107 may perform guided (or directed) decomposition to obtain a set of coefficients or components that relate to various aspects of the set of residues. In FIG. 1, the conversion unit 107 generates the coefficients A (average), H (horizontal), V (vertical), and D (diagonal). Transform block 107 in this case uses directional correlation between LOQ-1 residuals, which has proven to be surprisingly efficient in addition to or as an alternative to performing a transform operation for a higher quality level of LOQ-0. level. The LOQ-0 transformation is described in more detail below. In particular, it has been found that, in addition to using directional correlation in LOQ-0, directional correlation can also be present and surprisingly effectively used in LOQ-1 to provide more efficient coding than using directional correlation in LOQ-0 alone, or not at all. directional correlation on LOQ-0.

Коэффициенты (А, Н, V и D), генерируемые блоком 107 преобразования, затем квантуются блоком 108 квантования. Квантование может выполняться с использованием переменных, называемых шириной шага (также называемых размерами шага), для получения квантованных преобразованных остатков 109. Каждый квантованный преобразованный остаток 109 имеет высоту Н/4 и ширину W/4. Например, если блок 4x4 входного кадра взят в качестве эталона, каждый квантованный преобразованный остаток 109 может иметь высоту и ширину в один пиксель. Квантование включает уменьшение компонентов разложения (А, Н, V и D) на заранее определенный коэффициент (ширину шага). Уменьшение может осуществляться путем деления, например деления значений коэффициентов на ширину шага, например, представляя ширину бина для квантования. Квантование может генерировать набор значений коэффициентов, имеющих диапазон значений, который меньше диапазона значений, поступающих в блок 108 квантования (например, преобразованные значения в диапазоне от 0 до 21 могут быть уменьшены с использованием ширины шага от 7 до диапазона значения от 0 до 3). В аппаратной реализации обратное значение набора значений ширины шага может быть предварительно вычислено и использовано для выполнения сокращения посредством умножения, которое может быть быстрее, чем деление (например, умножение на обратное значение ширины шага).The coefficients (A, H, V and D) generated by the transformation block 107 are then quantized by the quantization block 108 . Quantization may be performed using variables referred to as step widths (also referred to as step sizes) to obtain quantized transformed residuals 109. Each quantized transformed residual 109 has a height of H/4 and a width of W/4. For example, if a 4x4 block of an input frame is taken as a reference, each quantized transform residue 109 may have a height and width of one pixel. Quantization involves reducing the decomposition components (A, H, V, and D) by a predetermined factor (step width). The reduction may be performed by dividing, eg dividing the coefficient values by the step width, eg representing the bin width for quantization. The quantization may generate a set of coefficient values having a range of values that is smaller than the range of values input to quantizer 108 (eg, converted values in the range of 0 to 21 may be reduced using a step width of 7 to a value range of 0 to 3). In a hardware implementation, the reciprocal of a set of step width values may be precomputed and used to perform reduction by multiplication, which may be faster than division (eg, multiplying by the reciprocal of the step width value).

Квантованные остатки 109 затем энтропийно кодируются, чтобы удалить любую избыточную информацию. Энтропийное кодирование может включать, например, передачу данных через кодер 110 последовательного кодирования (RLE - англ.: run-length encoder), за которым следует кодер 111 Хаффмана.The quantized residuals 109 are then entropy encoded to remove any redundant information. Entropy encoding may include, for example, data transmission through a run-length encoder (RLE) encoder 110 followed by a Huffman encoder 111 .

Квантованные, закодированные компоненты (Ае, Не, Ve и De) затем помещаются в последовательный поток с пакетами определения, вставленными в начало потока. Пакеты определения также могут называться информацией заголовка. Пакеты определения могут быть вставлены в каждый кадр. Этот заключительный этап может быть выполнен с использованием процедуры 112 сериализации файлов. Данные пакета определения могут включать в себя такую информацию, как спецификация кодера Хаффмана 111, тип применяемой повышающей дискретизации, отбрасываются ли коэффициенты А и D, а также другую информацию, позволяющую декодеру декодировать потоки. Таким образом, выходные данные 113 остатков кодируются энтропийно и сериализуются.The quantized, encoded components (Ae, He, Ve, and De) are then placed on the serial stream with definition packets inserted at the beginning of the stream. Definition packages may also be referred to as header information. Definition packets can be inserted into each frame. This final step may be performed using file serialization procedure 112 . The definition packet data may include information such as the specification of the Huffman encoder 111, the type of upsampling applied, whether the A and D coefficients are discarded, and other information to enable a decoder to decode the streams. Thus, the output of the 113 residues is entropy encoded and serialized.

Как опорные данные 105 (кадр половинного размера, базовый энтропийно-кодированный кадр), так и энтропийно-кодированные остаточные данные 113 LOQ-1 генерируются для декодирования декодером во время процесса восстановления. В одном случае опорные данные 105 и данные 113 остатков LOQ-1 с энтропийным кодированием могут быть сохранены и/или буферизованы. Опорные данные 105 и данные 113 остатков LOQ-1 с энтропийным кодированием могут быть переданы на декодер для декодирования.Both reference data 105 (half-size frame, base entropy-coded frame) and entropy-coded LOQ-1 residual data 113 are generated for decoding by the decoder during the reconstruction process. In one case, reference data 105 and entropy-encoded LOQ-1 residue data 113 may be stored and/or buffered. Reference data 105 and entropy-encoded LOQ-1 residue data 113 may be transmitted to a decoder for decoding.

В примере на фиг. 1 выполняется ряд дополнительных операций, чтобы произвести набор остатковIn the example in FIG. 1 performs a series of additional operations to produce a set of residues

- 2 040654 на другом (например, более высоком) уровне качества - LOQ-0. На фиг. 1 в кодере моделируется ряд операций декодера для потока LOQ-1.- 2 040654 at another (for example, higher) quality level - LOQ-0. In FIG. 1, the encoder simulates a number of decoder operations for the LOQ-1 stream.

Сначала квантованный выходной сигнал 109 разветвляется и выполняется обратное квантование 114 (или деквантизация). Это генерирует представление значений коэффициентов, выводимых блоком 107 преобразования. Однако представление, выводимое блоком 109 деквантования, будет отличаться от вывода блока 107 преобразования, так как будут внесены ошибки из-за процесса квантования. Например, несколько значений в диапазоне от 7 до 14 могут быть заменены одним квантованным значением 1, если ширина шага равна 7. Во время деквантования это единственное значение 1 может быть деквантовано путем умножения на ширину шага для генерации значения 7. Следовательно, любое значение в диапазоне от 8 до 14 будет иметь ошибку на выходе блока 109 деквантизации. Поскольку более высокий уровень качества LOQ-0 генерируется с использованием деквантованных значений (например, включая имитацию работы декодера), остатки LOQ-0 также могут кодировать исправление ошибки квантования / деквантизации.First, the quantized output signal 109 is branched and inverse quantization 114 (or dequantization) is performed. This generates a representation of the coefficient values output by the transform block 107 . However, the representation output by the dequantization block 109 will be different from the output of the transform block 107 because errors will be introduced due to the quantization process. For example, multiple values in the range 7 to 14 can be replaced by a single quantized value of 1 if the step width is 7. During dequantization, this single value of 1 can be dequantized by multiplying by the step width to generate a value of 7. Therefore, any value in the range from 8 to 14 will have an error at the output of the dequantization block 109. Because the higher quality LOQ-0 is generated using the dequantized values (eg, including decoder simulation), the LOQ-0 residuals can also encode quantization/dequantization error correction.

Во-вторых, блок 115 обратного преобразования применяется к деквантованным значениям коэффициентов, выведенным блоком 114 деквантизации. Блок 115 обратного преобразования применяет преобразование, которое является обратным преобразованию, выполняемому блоком 107 преобразования. В этом примере блок 115 преобразования выполняет обратное преобразование Адамара, хотя могут использоваться другие преобразования. Блок 115 обратного преобразования преобразует деквантованные значения коэффициентов (например, значения для А, Н, V и D в блоке или модуле кодирования) обратно в соответствующие остаточные значения (например, представляющие восстановленную версию ввода в блок 107 преобразования). Выходной сигнал блока 115 обратного преобразования представляет собой набор восстановленных остатков LOQ-1 (например, представляющий выход процесса декодирования декодера LOQ-1). Восстановленные остатки LOQ-1 добавляются к декодированным опорным данным (например, к выходу декодирующего объекта 106), чтобы сгенерировать восстановленный видеокадр 116 (помеченный как Half-2D size Recon (To LOQ-0) на фиг. 1). имеющий высоту Н/2 и ширину W/2. Восстановленный видеокадр 116 очень похож на первоначально прореженный входной кадр 103, поскольку он реконструируется из вывода объекта 106 декодирования, но с добавлением восстановленных остатков LoQ-1. Реконструированный видеокадр 116 является промежуточным выводом для механизма LOQ-0. Этот процесс имитирует процесс декодирования, и, следовательно, именно поэтому первоначально прореженный кадр 103 не используется. Добавление восстановленных остатков LOQ-1 к декодированному базовому потоку, то есть к выходным данным объекта декодирования 106, позволяет остаточным сигналам LOQ-0 также исправлять ошибки, которые вносятся в поток LOQ-1 посредством квантования (и в некоторых случаях преобразования ), например, а также ошибки, относящиеся к понижающей и повышающей дискретизации.Second, the inverse transform block 115 is applied to the dequantized coefficient values output by the dequantization block 114 . The inverse transform block 115 applies a transform that is the inverse of the transform performed by the transform block 107 . In this example, transform block 115 performs an inverse Hadamard transform, although other transforms may be used. An inverse transform block 115 converts the dequantized coefficient values (eg, values for A, H, V, and D in a coding block or unit) back to corresponding residual values (eg, representing a reconstructed version of the input to transform block 107). The output of the demapper 115 is a set of recovered LOQ-1 residues (eg, representing the output of the decoding process of the LOQ-1 decoder). The recovered LOQ-1 residuals are added to the decoded reference data (eg, the output of decoding entity 106) to generate a reconstructed video frame 116 (labeled Half-2D size Recon (To LOQ-0) in FIG. 1). having a height of H / 2 and a width of W / 2. The reconstructed video frame 116 is very similar to the originally decimated input frame 103 in that it is reconstructed from the output of decode object 106, but with the recovered LoQ-1 residuals added. The reconstructed video frame 116 is an intermediate output for the LOQ-0 mechanism. This process mimics the decoding process, and hence the original decimated frame 103 is not used. Adding the recovered LOQ-1 residuals to the decoded base stream, i.e., the output of decoding entity 106, allows the LOQ-0 residuals to also correct errors that are introduced into the LOQ-1 stream through quantization (and in some cases transform), for example, a See also errors related to downsampling and upsampling.

На фиг. 2 показан пример того, как LOQ-0 генерируется 200 на устройстве кодирования.In FIG. 2 shows an example of how LOQ-0 is generated by 200 on the encoder.

Чтобы вывести остатки LOQ-0, реконструированный кадр 216 размера LOQ-1 (помеченный как Половина 2D размера Recon (из LOQ-1) на фиг. 2) получают, как описано выше со ссылкой на фиг. 1. Например, восстановленный кадр 216 размера LOQ-1 содержит восстановленный видеокадр 116.To derive LOQ-0 residuals, a LOQ-1 size reconstructed frame 216 (labeled Half 2D Recon size (from LOQ-1) in FIG. 2) is obtained as described above with reference to FIG. 1. For example, reconstructed frame 216 of size LOQ-1 contains reconstructed video frame 116.

Следующим шагом является выполнение повышающей дискретизации восстановленного кадра 216 до полного размера, WxH. В этом примере масштабирование увеличено в два раза. На этом этапе для улучшения процесса повышения дискретизации могут использоваться различные алгоритмы, примеры которых включают, но не ограничиваются, алгоритмы ближайшего, билинейного, резкого или кубического алгоритмов. Восстановленный полноразмерный кадр 217 обозначен как предсказанный кадр на фиг. 2, поскольку он представляет собой предсказание кадра, имеющего полную ширину и высоту, декодированного декодером. Восстановленный полноразмерный кадр 217, имеющий высоту Н и ширину W, затем вычитается из исходного несжатого видеовхода 202, что создает набор остатков, называемых здесь остатками LOQ-0. Остаточные значения LOQ-0 создаются на уровне качества (например, разрешающей способности), который выше, чем остатки LOQ-1.The next step is to upsample the reconstructed frame 216 to its full size, WxH. In this example, the zoom is doubled. At this point, various algorithms may be used to improve the upsampling process, examples of which include, but are not limited to, nearest, bilinear, sharp, or cubic algorithms. The reconstructed full size frame 217 is designated as the predicted frame in FIG. 2 because it is a prediction of a frame having full width and height decoded by the decoder. The reconstructed full frame 217, having a height H and a width W, is then subtracted from the original uncompressed video input 202, which creates a set of residuals, referred to herein as LOQ-0 residuals. LOQ-0 residuals are generated at a quality level (eg, resolution) that is higher than LOQ-1 residuals.

Подобно процессу LOQ-1, описанному выше, остатки LOQ-0 преобразуются блоком 218 преобразования. Это может включать использование направленного разложения, такого как преобразование Адамара, для получения коэффициентов или компонентов А, Н, V и D. Затем выходной сигнал блока 218 преобразования квантуется посредством блока 219 квантования. Это может быть выполнено на основе определенной ширины шага, как описано для первого уровня качества (LOQ-1). Выходные данные блока 219 квантования представляют собой набор квантованных коэффициентов, и на фиг. 2 они затем кодируются энтропийно 220, 221 и сериализуются в файле 222. Опять же, энтропийное кодирование может включать в себя применение последовательного кодирования 220 и кодирования 221 Хаффмана. Результатом энтропийного кодирования является набор выходных остатков 223 энтропийного кодирования. Они формируют поток LOQ-0, который может выводиться кодером, а также поток LOQ-1 (т.е. 113) и основной поток (т.е. 105). Потоки могут быть сохранены и / или буферизованы до последующего декодирования декодером.Similar to the LOQ-1 process described above, the LOQ-0 residues are converted by transform block 218 . This may include using a directional decomposition, such as a Hadamard transform, to obtain the A, H, V, and D coefficients or components. The output of transform block 218 is then quantized by quantizer 219 . This can be done based on the determined step width as described for the first quality level (LOQ-1). The output of quantizer 219 is a set of quantized coefficients, and in FIG. 2, they are then entropy encoded 220, 221 and serialized in file 222. Again, entropy encoding may include applying sequential encoding 220 and Huffman encoding 221. The result of the entropy encoding is a set of entropy encoding output residues 223 . They form the LOQ-0 stream, which can be output by the encoder, as well as the LOQ-1 stream (ie 113) and the main stream (ie 105). Streams may be stored and/or buffered prior to subsequent decoding by a decoder.

Как можно увидеть на фиг. 2, компонент 224 прогнозируемого среднего (более подробно описанный ниже и обозначенный ниже Aenc) может быть получен с использованием данных из восстановленно- 3 040654 го видеокадра 116 (LOQ-1) до процесса повышающей дискретизации. Это может использоваться вместо компонента А (среднего) в блоке 218 преобразования для дальнейшего повышения эффективности алгоритма кодирования.As can be seen in FIG. 2, a predicted mean component 224 (described in more detail below and labeled Ae nc below) can be obtained using data from the reconstructed video frame 116 (LOQ-1) prior to the upsampling process. This can be used in place of the A (middle) component in transform block 218 to further improve the efficiency of the coding algorithm.

На фиг. 3 схематично показан пример того, как выполняется процесс 300 декодирования. Этот процесс 300 декодирования может выполняться декодером.In FIG. 3 schematically shows an example of how the decoding process 300 is performed. This decoding process 300 may be performed by a decoder.

Процесс 300 декодирования начинается с трех потоков входных данных. Таким образом, вход декодера состоит из энтропийно-кодированных данных 305, энтропийно-кодированных данных 313 остатков LOQ-1 и данных 323 энтропийно-кодированных остатков LOQ-0 (представленных на фиг. 3 как данные, сериализованные в виде файлов). Энтропийно-кодированные данные 305 включают в себя закодированную базу уменьшенного размера, например данные 105 как выходные данные на фиг. 1. Энтропийнокодированные данные 305 имеют, например, половинный размер с размерами W / 2 и Н / 2 относительно полного кадра, имеющего размеры W и Н.The decoding process 300 starts with three input streams. Thus, the decoder input consists of entropy encoded data 305, entropy encoded LOQ-1 residual data 313, and entropy encoded LOQ-0 residual data 323 (represented in FIG. 3 as data serialized as files). Entropy encoded data 305 includes a reduced size encoded base such as data 105 as output in FIG. 1. The entropy encoded data 305 is, for example, half the size with dimensions W/2 and H/2 of a full frame having dimensions W and H.

Данные 305 с энтропийным кодированием декодируются базовым декодером 306 с использованием алгоритма декодирования, соответствующего алгоритму, который использовался для кодирования этих данных (в этом примере алгоритм декодирования AVC/H.264). Это может соответствовать объекту 106 декодирования на фиг. 1. В конце этого шага создается декодированный видеокадр 325, имеющий уменьшенный размер (например, половинный размер) (обозначенный в настоящем примере как AVC/H.264 видео). Это можно рассматривать как видеопоток стандартного разрешения.The entropy encoded data 305 is decoded by the core decoder 306 using a decoding algorithm corresponding to the algorithm that was used to encode the data (in this example, the AVC/H.264 decoding algorithm). This may correspond to decode object 106 in FIG. 1. At the end of this step, a reduced size (eg, half size) decoded video frame 325 (referred to as AVC/H.264 video in this example) is created. This can be thought of as a standard definition video stream.

Параллельно декодируются данные 313 остатков с энтропийным кодированием LOQ-1. Как объяснено выше, остатки LOQ-1 кодируются в четыре компонента (А, V, Н и D), которые, как показано на рисунке 3, имеют размерность в одну четверть размера полного кадра, а именно W/4 и Н/4. Это связано с тем, что, как также описано ниже и в предыдущих патентных заявках US 13/893669 и РСТ/ЕР2013/ 059847, содержание которых включено в настоящий документ посредством ссылки, четыре компонента содержат всю информацию, связанную с конкретным направлением, в непреобразованных остатках, (например, компоненты определены относительно блока непреобразованных остатков). Как описано выше, четыре компонента могут быть сгенерированы путем применения ядра преобразования 2x2 к остаткам, размерность которых для LOQ-1 будет W/2 и Н/2, другими словами, такая же размерность, как у кодированных энтропийно данных уменьшенного размера 305. В процессе 300 декодирования, как показано на фиг. 4, четыре компонента энтропийно-декодируются в блоке 326 энтропийного декодирования, затем деквантизируются в блоке 314 деквантования перед тем, как обратное преобразование применяется через блок 315 обратного преобразования для генерации представления исходных остатков LOQ-1 (например, вход для блока 107 преобразования на фиг. 1). Обратное преобразование может содержать обратное преобразование Адамара, например, применяемое к блоку 2x2 остаточных данных. Блок 314 деквантования является обратным блоку 108 квантования, описанному выше со ссылкой на фиг. 1. На этом этапе квантованные значения (т.е. выходные данные блока 326 энтропийного декодирования) умножаются на коэффициент ширины шага (т.е. размер шага) для генерации восстановленных преобразованных остатков (то есть компонентов или коэффициентов). Можно видеть, что блоки 114 и 115 на фиг. 1 отражают блоки 314 и 315 на фиг. 3.In parallel, LOQ-1 entropy encoded residue data 313 are decoded. As explained above, LOQ-1 residuals are encoded into four components (A, V, H and D) which, as shown in Figure 3, are one-quarter the size of a full frame, namely W/4 and H/4. This is because, as also described below and in previous patent applications US 13/893669 and PCT/EP2013/059847, the contents of which are incorporated herein by reference, the four components contain all the information associated with a particular direction in untransformed residues. , (for example, the components are defined relative to the block of untransformed residues). As described above, the four components can be generated by applying a 2x2 transformation kernel to the residuals whose dimensions for LOQ-1 will be W/2 and H/2, in other words, the same dimension as the entropy-coded reduced size data 305. In progress 300 decoding as shown in FIG. 4, the four components are entropy-decoded in entropy decoder 326, then dequantized in dequantizer 314 before an inverse transform is applied via inverse transform 315 to generate a representation of the original LOQ-1 residuals (e.g., input to transform 107 in FIG. 1). The inverse transform may comprise an inverse Hadamard transform, such as applied to a 2x2 block of residual data. Dequantizer 314 is the inverse of quantizer 108 described above with reference to FIG. 1. In this step, the quantized values (ie, the output of entropy decoder 326) are multiplied by a step width factor (ie, step size) to generate reconstructed transformed residuals (ie, components or coefficients). It can be seen that blocks 114 and 115 in FIG. 1 reflect blocks 314 and 315 in FIG. 3.

Декодированные остатки LOQ-1, например, как вывод блока 315 обратного преобразования, затем добавляются к декодированному видеокадру, например, к выводу базового блока 306 декодирования, чтобы создать восстановленный видеокадр 316 с уменьшенным размером (в этом примере, половинный размер), обозначенный на фиг. 3 как Half-2D size Recon. Этот реконструированный видеокадр 316 затем подвергается повышающей дискретизации, чтобы довести его до полного разрешения (например, 0-го уровня качества от 1-го уровня качества) с использованием фильтра повышающей дискретизации, такого как билинейный, бикубический, резкий и т.д. В этом примере реконструированный видеокадр 316 подвергается повышающей дискретизации от полуширины (W/2) и полувысоты (Н/2) до полной ширины (W) и полной высоты (Н)).The decoded LOQ-1 residuals, such as the output of demapper 315, are then added to the decoded video frame, such as the output of base decoder 306, to create a reduced size (in this example, half size) reconstructed video frame 316, indicated in FIG. . 3 as Half-2D size Recon. This reconstructed video frame 316 is then upsampled to bring it to full resolution (eg, quality level 0 from quality level 1 ) using an upsampling filter such as bilinear, bicubic, sharp, etc. In this example, the reconstructed video frame 316 is upsampled from half-width (W/2) and half-height (H/2) to full width (W) and full height (H)).

Реконструированный видеокадр 317 с повышенной дискретизацией будет предсказанным кадром в LOQ-0 (полный размер, WxH), к которому затем добавляются декодированные остатки LOQ-0.The reconstructed upsampled video frame 317 will be a predicted frame in LOQ-0 (full size, WxH), to which the decoded LOQ-0 residuals are then added.

На фиг. 3 остаточные данные 323, закодированные с помощью LOQ-0, декодируются с использованием блока 327 энтропийного декодирования, блока 328 деквантизации и блока 329 обратного преобразования. Как описано выше, данные 323 остатков LOQ-0 кодируются с использованием четырех компонентов (т.е. преобразуются в компоненты А, V, Н и D), которые, как показано на фиг. 3, имеют размер, равный половине размера полного кадра, а именно W/2 и Н/2. Это связано с тем, что, как описано здесь и в предыдущих патентных заявках US 13/893669 и РСТ/ЕР2013/059847, содержание которых включено в настоящий документ посредством ссылки, четыре компонента содержат всю информацию, относящуюся к остаткам, и генерируются путем применения 2x2 преобразования ядра в остатки, размерность которых для LOQ-0 будет W и Н, другими словами, такая же размерность полного кадра. Четыре компонента энтропийно декодируются блоком 327 энтропийного декодирования, затем деквантизируются блоком 328 деквантизации и, наконец, преобразуются 329 обратно в исходные остатки LOQ-0 преобразованием блоком 329 обратного преобразования (например, в этом примере, обратным преобразованием Адамара 2x2).In FIG. 3, the residual data 323 encoded with LOQ-0 is decoded using an entropy decoder 327, a dequantizer 328, and an inverse transform 329. As described above, LOQ-0 residue data 323 is encoded using four components (ie, converted to A, V, H, and D components), which, as shown in FIG. 3 have a size equal to half the size of a full frame, namely W/2 and H/2. This is because, as described here and in previous patent applications US 13/893669 and PCT/EP2013/059847, the contents of which are incorporated herein by reference, the four components contain all information related to residues and are generated by applying 2x2 kernel-to-remainder conversions, the dimension of which for LOQ-0 will be W and H, in other words, the same dimension of the full frame. The four components are entropy decoded by an entropy decoder 327, then dequantized by a dequantizer 328, and finally converted 329 back to the original LOQ-0 residues by a transform by an inverse transform 329 (e.g., in this example, a 2x2 inverse Hadamard transform).

- 4 040654- 4 040654

Декодированные остатки LOQ-0 затем добавляются к предсказанному кадру 317 для получения восстановленного полного видеокадра 330. Кадр 330 является выходным кадром, имеющим высоту Н и ширину W. Следовательно, процесс 300 декодирования на фиг. 3 позволяет выводить два элемента пользовательских данных: основной декодированный видеопоток 325 с первым уровнем качества (например, половиной -разрешение потока на LOQ-1) и видеопоток 330 с полным или более высоким разрешением на высшем уровне качества (например, поток с полным разрешением на LOQ-0).The decoded LOQ-0 residuals are then added to the predicted frame 317 to obtain a reconstructed complete video frame 330. Frame 330 is an output frame having a height H and a width W. Therefore, the decoding process 300 in FIG. 3 allows two user data items to be output: the main decoded video stream 325 at a first quality level (e.g., half-resolution stream on LOQ-1) and a full resolution or higher resolution video stream 330 at the highest quality level (e.g., full resolution stream on LOQ -0).

Приведенное выше описание было сделано со ссылкой на конкретные размеры и базовые алгоритмы. Однако вышеуказанные методы применимы к другим размерам и / или базовым алгоритмам. Вышеприведенное описание дается только в качестве примера более общих концепций, описанных в данном документе.The above description has been made with reference to specific dimensions and underlying algorithms. However, the above methods are applicable to other sizes and/or underlying algorithms. The above description is given only as an example of the more general concepts described in this document.

На фиг. 4 показано представление примерной структуры 400 данных остатков.In FIG. 4 shows a representation of an exemplary residue data structure 400.

В алгоритме кодирования / декодирования, описанном выше, обычно есть три плоскости (например, YUV или RGB) с двумя уровнями качества (LOQ), которые описываются как LOQ-0 (или верхний уровень, полное разрешение) и LOQ-1 (или более низкий уровень, разрешение уменьшенного размера, такое как половинное разрешение) в каждой плоскости. Каждая плоскость может относиться к разному цветовому компоненту видеоданных. Каждый LOQ содержит четыре компонента, а именно А, Н, V и D. В некоторых примерах они могут рассматриваться как разные уровни в каждой плоскости. Таким образом, кадр видеоданных с заданным уровнем качества может быть определен набором плоскостей, где каждая плоскость имеет набор слоев. В примерах на фигурах 1-3 всего имеется 2x3x4 = 24 поверхности, то есть 2 уровня качества, 3 цветовых компонента и 4 слоя компонентов или коэффициентов. Как описано со ссылкой на фиг. 1 и 2, 12 из этих поверхностей являются полноразмерными (например, W х Н для LOQ-0), а 12 - уменьшенными (например, W/2 х Н/2 для LOQ-1).In the encoding/decoding algorithm described above, there are usually three planes (e.g. YUV or RGB) with two levels of quality (LOQ), which are described as LOQ-0 (or high level, full resolution) and LOQ-1 (or lower level, reduced size resolution such as half resolution) in each plane. Each plane may refer to a different color component of the video data. Each LOQ contains four components, namely A, H, V and D. In some examples, they can be considered as different levels in each plane. Thus, a frame of video data with a given quality level can be defined by a set of planes, where each plane has a set of layers. In the examples in Figures 1-3, there are 2x3x4 = 24 surfaces in total, that is, 2 quality levels, 3 color components, and 4 component or coefficient layers. As described with reference to FIG. 1 and 2, 12 of these surfaces are full size (eg W x H for LOQ-0) and 12 are reduced (eg W/2 x H/2 for LOQ-1).

Как описано выше, преобразование направленной декомпозиции (DD-преобразование) может использоваться для разложения компонента ошибки (то есть разницы или остатков) между входным кадром 103 с пониженной дискретизацией и декодированной базовой версией уменьшенного размера того же кадра, (например, в виде вывода посредством объекта 106 декодирования) на четыре отдельных компонента; средний (А), горизонтальный (Н), вертикальный (V) и диагональный (D). Эта операция может быть выполнена в сетке размером 2x2 блока. Каждая сетка не зависит от своих соседей. Поэтому он подходит для эффективной реализации, например, для полностью параллельной работы. Однако, поскольку все операции, используемые для декомпозиции, являются линейными, возможно выполнить эту операцию, используя парадигму обработки точно в срок (JIT) (на лету).As described above, a Directional Decomposition (DD) transform can be used to decompose the error component (i.e., difference or residuals) between the downsampled input frame 103 and the decoded reduced size base version of the same frame, (e.g., as output by the object 106 decoding) into four separate components; medium (A), horizontal (H), vertical (V) and diagonal (D). This operation can be performed on a 2x2 block grid. Each grid is independent of its neighbors. Therefore, it is suitable for efficient implementation, such as fully parallel operation. However, since all the operations used for decomposition are linear, it is possible to perform this operation using the just-in-time (JIT) (on the fly) processing paradigm.

На фиг. 5 показан пример вычисления ошибки сжатия, которое может быть выполнено для первого уровня качества (LOQ-1) 500.In FIG. 5 shows an example of a compression error calculation that can be performed for a first quality level (LOQ-1) 500.

На фиг. 5 набор остатков LOQ-1 вычисляется как разность между базовым опорным декодированным кадром 531 (например, выходным сигналом объекта 106 декодирования на фиг. 1) и входным кадром 503 с пониженной дискретизацией (например, кадром с пониженной дискретизацией 103 на фиг. 1. На фиг. 5 базовый декодированный кадр 531 является кадром на основе Н.264, который вычитается из кадра 503 с пониженной дискретизацией, чтобы получить набор остатков 532 LOQ-1. Набор остатков LOQ-1 можно рассматривать как ошибку сжатия, поскольку они представляют собой разницу между входом в базовый кодер и декодированным выходом того же базового кодера, то есть различия между данными 503 и 531 могут рассматриваться как в результате процесса кодирования и декодирования для основного потока, причем эти различия обычно являются результатом алгоритмов кодирования с потерями, применяемых базовым кодером. Помимо ошибок сжатия, остатки 532 LOQ-1 могут также представлять другие артефакты, генерируемые процессом базового кодирования и базового декодирования, которые могут включать в себя артефакты коррекции движения, артефакты блокирования, артефакты квантования, артефакты кодирования символов и т. Д.In FIG. 5, the LOQ-1 residual set is computed as the difference between the base reference decoded frame 531 (eg, output of decode object 106 in FIG. 1) and the downsampled input frame 503 (eg, downsampled frame 103 in FIG. 1. FIG. 5, the base decoded frame 531 is an H.264-based frame that is subtracted from the downsampled frame 503 to obtain a set of LOQ-1 residuals 532. The set of LOQ-1 residuals can be considered a compression error because they represent the difference between the input to the base encoder and the decoded output of the same base encoder, i.e. the differences between data 503 and 531 can be considered as a result of the encoding and decoding process for the main stream, and these differences are usually the result of the lossy coding algorithms applied by the base encoder.In addition to compression errors , LOQ-1 residuals 532 may also represent other artifacts generated by the base encoder process. decoding and basic decoding, which may include motion correction artifacts, blocking artifacts, quantization artifacts, symbol encoding artifacts, etc.

На фиг. 6 показан пример процесса 600 разложения среднего, который может использоваться для первого уровня качества (LOQ-1). Например, процесс 600 разложения среднего значения может использоваться для определения компонента Среднее значение А, как описано выше. На фиг. 6 среднее разложение вычисляется как среднее всех пикселей ошибки сжатия (остатков) в текущей сетке 2x2 кадра ошибки сжатия 632. Среднее разложение может повторяться для множества сеток 2x2 в кадре ошибки сжатия 632, например, на фиг. 6 показаны первая и последняя сетка 2x2 или блок кодирования для кадра. Среднее разложение может выполняться аналогично понижающей дискретизации, показанной стрелкой 101 на фиг. 1.In FIG. 6 shows an example of an average decomposition process 600 that can be used for a first quality level (LOQ-1). For example, the mean decomposition process 600 can be used to determine the Mean A component, as described above. In FIG. 6, the average decomposition is calculated as the average of all compression error pixels (residuals) in the current 2x2 grid of compression error frame 632. The average decomposition may be repeated for multiple 2x2 grids in compression error frame 632, such as in FIG. 6 shows the first and last 2x2 grid or coding block for a frame. The average decomposition may be performed in a manner similar to the downsampling shown by arrow 101 in FIG. 1.

На фиг. 7 показан пример процесса 700 горизонтального разложения, который может использоваться для первого уровня качества (LoQ-1). Например, процесс 700 горизонтального разложения может использоваться для определения горизонтального Н-компонента, как описано выше. На фиг. 7 операция вычисляет нормализованную разность в горизонтальной плоскости между остатками в сетке 2x2 кадра 732 ошибки сжатия. Например, как показано на фиг. 7, остаточные значения в первом столбце сетки 2x2 (D00 и D10) суммируются, а затем вычитаются остаточные значения во втором столбце сетки 2x2 (D01 и Du). от суммы. На фиг. 7 нормализующее деление на 4 применяется для создания горизонтальной Нсоставляющей. Операция получения горизонтального разложения является линейным процессом и, сле- 5 040654 довательно, при необходимости может выполняться на лету. Визуально результат этой операции будет выглядеть в основном вертикальным по своей природе, если есть какие-либо явные ошибки (остатки) по всей плоскости. В идеале аналогичные ошибки (остатки) будут существовать в плоскости (без добавленной энтропии) и, следовательно, приведут к уменьшению количества данных, сжимаемых с помощью энтропийного кодировщика.In FIG. 7 shows an example of a horizontal decomposition process 700 that can be used for a first quality level (LoQ-1). For example, the horizontal decomposition process 700 may be used to determine the horizontal H component as described above. In FIG. 7, the operation calculates a normalized horizontal difference between the residuals in the 2x2 grid of compression error frame 732. For example, as shown in FIG. 7, the residuals in the first column of the 2x2 grid (D 00 and D 10 ) are added, and then the residuals in the second column of the 2x2 grid (D 01 and Du) are subtracted. from the sum. In FIG. 7, a normalizing division by 4 is used to create the horizontal H component. The operation of obtaining a horizontal decomposition is a linear process and, therefore, if necessary, can be performed on the fly. Visually, the result of this operation will look mostly vertical in nature if there are any obvious errors (residues) across the entire plane. Ideally, similar errors (residuals) will exist in the plane (no added entropy) and therefore result in a reduction in the amount of data compressed by the entropy encoder.

На фиг. 8 показан пример процесса 800 вертикального разложения, который может использоваться для первого уровня качества (LoQ-1). Например, процесс 800 вертикального разложения может использоваться для определения вертикального V-компонента, как описано выше. Эта операция вычисляет нормализованную разность в вертикальной плоскости между остатками в сетке 2x2 кадра 832 ошибки сжатия. Например, как показано на фиг. 8, остаточные значения в первой строке сетки 2x2 (D00 и D01) суммируются, а затем остаточные значения во второй строке сетки 2x2 (D10 и Du) вычитаются из суммы. На фиг. 8 нормализующее деление на 4 применяется для создания вертикальной V-составляющей. Операция получения вертикального разложения является линейным процессом и, следовательно, может выполняться на лету, если требуется, например, когда наборы остатков 2x2 принимаются в блоке преобразования, таком как 107.In FIG. 8 shows an example of a vertical decomposition process 800 that can be used for a first quality level (LoQ-1). For example, the vertical decomposition process 800 can be used to determine the vertical V component as described above. This operation calculates the normalized difference in the vertical plane between the residuals in the 2x2 grid of the compression error frame 832. For example, as shown in FIG. 8, the residuals in the first row of the 2x2 grid (D 00 and D 01 ) are added, and then the residuals in the second row of the 2x2 grid (D 10 and Du) are subtracted from the sum. In FIG. 8, a normalizing division by 4 is used to create the vertical V-component. The operation to obtain a vertical decomposition is a linear process and therefore can be performed on the fly if desired, for example when 2x2 residual sets are received in a transformation block such as 107.

На фиг. 9 показан пример процесса 900 диагонального разложения, который может использоваться для первого уровня качества (LoQ-1). Например, процесс 900 диагонального разложения может использоваться для определения диагонального компонента -D, как описано выше. Данная операция вычисляет нормализованную разность в диагональной плоскости между остатками в сетке 2x2 кадра 932 ошибки сжатия. Например, как показано на фиг. 9, определяется разность остаточных значений в первой строке сетки 2x2 (D00 и D01), а затем разность остаточных значений во второй строке сетки 2x2 (D10 и Du). На фиг. 9 нормализующее деление на 4 применяется для создания диагональной составляющей D.In FIG. 9 shows an example of a diagonal decomposition process 900 that can be used for a first quality level (LoQ-1). For example, the diagonal decomposition process 900 can be used to determine the -D diagonal component as described above. This operation calculates the normalized difference in the diagonal plane between the residuals in the 2x2 grid of frame 932 of the compression error. For example, as shown in FIG. 9, the difference of the residuals in the first row of the 2x2 grid (D 00 and D 01 ) is determined, and then the difference of the residuals in the second row of the 2x2 grid (D 10 and Du). In FIG. 9, a normalizing division by 4 is used to create the diagonal component of D.

На фиг. 10 показан пример процесса 1000 преобразования с направленной декомпозицией (DD), который может выполняться на верхнем уровне качества (LoQ-0). На фиг. 10 реконструированный кадр 1016 LoQ-1 подвергается повышающей дискретизации. Как описано со ссылкой на фиг. 1 и 2, восстановленный кадр 1016 может содержать сумму декодированных остатков LOQ-1 (например, как вывод блока 115 обратного преобразования) и декодированного базового кодированного кадра (например, как вывод декодирующего объекта 106). В этом случае повышающая дискретизация берет единственный восстановленный пиксель кадра R0 и преобразует его в блок 2x2 предсказаний LOQ-1 с повышающей дискретизацией (см. Выше). Это может быть выполнено для всех восстановленных значений пикселей кадра в восстановленном кадре 1016 LoQ-1. На фиг. 10 предсказания LOQ-1 с повышенной дискретизацией затем вычитаются из полноразмерного входного кадра 1002, чтобы сгенерировать остатки 1033 для этапа обработки LoQ-0. Горизонтальное, вертикальное и диагональное разложение для LoQ-0 может быть вычислено аналогично тому, как описано выше для LOQ-1. Однако среднее разложение можно вычислить по-другому, чтобы уменьшить энтропию квантованных преобразованных остатков LOQ-0, подлежащих кодированию.In FIG. 10 shows an example of a directed decomposition (DD) transform process 1000 that can be performed at a high quality level (LoQ-0). In FIG. 10, the reconstructed LoQ-1 frame 1016 is upsampled. As described with reference to FIG. 1 and 2, the reconstructed frame 1016 may comprise the sum of the decoded LOQ-1 residuals (eg, as output of inverse transform block 115) and the decoded base encoded frame (eg, as output of decoding entity 106). In this case, upsampling takes the single reconstructed frame pixel R 0 and transforms it into an upsampled 2x2 LOQ-1 prediction block (see above). This can be done for all of the reconstructed frame pixel values in the reconstructed LoQ-1 frame 1016. In FIG. 10, the upsampled LOQ-1 predictions are then subtracted from the full size input frame 1002 to generate residuals 1033 for the LoQ-0 processing step. The horizontal, vertical and diagonal expansions for LoQ-0 can be calculated in the same way as described above for LOQ-1. However, the average decomposition can be calculated differently to reduce the entropy of the quantized LOQ-0 transformed residuals to be encoded.

На фиг. 10 восстановленное значение пикселя R0 из предыдущего этапа (LoQ-1) используется в вычислении среднего компонента 1024 для преобразованных данных остатков LOQ-0, а не в пересчете среднего значения из ошибки восстановления 1033. Например, в блоке 218 преобразования на фиг. 2 среднее значение А может не определяться с использованием входных данных из суммы 217 и 202, как для компонентов Н, V и D. При использовании конфигурации, показанной на фиг. 10, расчет может дать меньше ошибок (остатков), если используются данные 1016 после предварительной повышающей дискретизации. Это эффективно исключает любые дополнительные ошибки из-за фильтров повышающей дискретизации и, следовательно, приведет к снижению энтропии на входе энтропийных кодеров.In FIG. 10, the reconstructed pixel value R0 from the previous step (LoQ-1) is used in the calculation of the mean component 1024 for the transformed LOQ-0 residual data, rather than in recalculating the mean from the reconstruction error 1033. For example, in transform block 218 in FIG. 2, the average A may not be determined using the inputs from the sum of 217 and 202 as for the H, V, and D components. Using the configuration shown in FIG. 10, the calculation may produce fewer errors (residuals) if pre-upsampled data 1016 is used. This effectively eliminates any additional errors due to upsampling filters and hence will result in lower entropy at the input of entropy encoders.

В частности, R0 - это восстановленный элемент на уровне LOQ-1, полученный путем добавления декодированного кадра уменьшенного размера к остаткам LOQ-1, как описано выше. Единственный элемент R0 при повышающей дискретизации приведет к четырем элементам в кадре 1017 прогнозирования LOQ-1 с повышающей дискретизацией, а именно Н00, H01, Н10 и Н11, предполагая повышающую дискретизацию от половинного размера до полный размер. На фиг. 10 восстановленный элемент R0 вычитается из среднего четырех элементов в исходном изображении 1002, а именно I00, I01, I10 и I11, соответствующих по положению четырем элементам в прогнозном кадре 1017 LoQ-1 с повышением дискретизации, Н00, H01, Н10 и Н11. Например, среднее значение в блоке 1030 может быть сгенерировано аналогично вычислению на фиг. 6. Полученное среднее значение, обозначенное Aenc, 1024 затем квантуется и кодируется для передачи в декодер, например, вместо среднего - А - выходной сигнал блока 1018 преобразования LOQ-0. Если среднее значение четырех элементов в исходном изображении 1002, а именно I00, I01, I10 и I11, обозначается Ab тогда Aenc= A! - R0. Результирующее среднее 1024 кодирования может быть сгенерировано для множества блоков или сеток 2x2 на протяжении всего кадра.In particular, R0 is the reconstructed element at the LOQ-1 level, obtained by adding the reduced size decoded frame to the LOQ-1 residuals as described above. A single upsampling R0 element will result in four elements in upsampling LOQ-1 prediction frame 1017, namely H 00 , H 01 , H 10 and H11, assuming upsampling from half size to full size. In FIG. 10, the reconstructed element R 0 is subtracted from the average of the four elements in the original image 1002, namely I 00 , I 01 , I 10 and I11, corresponding in position to the four elements in the upsampled predictive LoQ-1 frame 1017, H 00 , H 01 . H 10 and H11. For example, the average value in block 1030 may be generated similar to the calculation in FIG. 6. The resulting average value, denoted A enc , 1024 is then quantized and encoded for transmission to the decoder, for example, instead of the average - A - the output signal of the LOQ-0 transform block 1018. If the average of the four elements in the original image 1002, namely I00, I 01 , I 10 and I11, is denoted by A b then A enc = A! - R0. The resulting average 1024 encoding may be generated for multiple blocks or 2x2 grids throughout the frame.

Использование Aenc вместо стандартного среднего А (которое было бы средним из ошибок реконструкции от D00 до D11 в блоке 2x2, показанном в 1033) эффективно, поскольку энтропийное содержание Aenc ниже, чем у среднего (А) и, следовательно, это приводит к более эффективному кодированию. Это потому, что, если R0 был восстановлен правильно (например, ошибка, внесенная кодером и декодером, была исправлена должным образом остатками LOQ-1), то разница между R0 и средним значением четы- 6 040654 рех исходных элементов входной кадр 1002 в большинстве случаев должен быть нулевым. С другой стороны, стандартное среднее (А) будет содержать значительно меньше нулевых значений, поскольку будут учитываться эффекты повышающего и понижающего дискретизаторов.Using A enc instead of the standard mean A (which would be the mean of the reconstruction errors from D 00 to D11 in the 2x2 block shown in 1033) is efficient because the entropy content of Aenc is lower than that of the mean (A) and hence it results in more efficient coding. This is because, if R 0 was recovered correctly (for example, the error introduced by the encoder and decoder was corrected properly by the LOQ-1 residuals), then the difference between R 0 and the average of the four original elements of input frame 1002 in should be zero in most cases. On the other hand, the standard mean (A) will contain significantly fewer zeros, since the effects of upsampling and downsampling will be taken into account.

На фиг. 11 показан пример обратного DD-преобразования 1100. Например, это можно использовать для выполнения обратного преобразования в одном из блоков 115, 314 на фиг. 1 и 3.In FIG. 11 shows an example of an inverse DD transform 1100. For example, this can be used to perform an inverse transform in one of the blocks 115, 314 in FIG. 1 and 3.

Целью этого процесса 1100 является преобразование (направленных) разложенных значений обратно в исходные остатки. Остатки представляют собой значения, которые были получены путем вычитания восстановленного видеокадра из идеального входного (или подвергнутого пониженной дискретизации) кадра. Обратное преобразование DD 1100, показанное на фиг. 11, является обратным преобразованием LoQ-1, выполняемым в LoQ-1. Обратное преобразование LoQ-0, выполняемое в LoQ-0, может отличаться в случае использования прогнозируемого среднего. Один пример другой реализации описан ниже со ссылкой на фиг. 12.The goal of this process 1100 is to convert the (directed) decomposed values back to the original residuals. The residuals are values that were obtained by subtracting the reconstructed video frame from the ideal input (or downsampled) frame. The inverse transform DD 1100 shown in FIG. 11 is the LoQ-1 inverse transform performed in LoQ-1. The inverse transformation of LoQ-0 performed to LoQ-0 may be different when a predictive mean is used. One example of another implementation is described below with reference to FIG. 12.

На фиг. 12 показан пример обратного преобразования 1200 LoQ-0, которое может использовать среднее значение кодирования 1024, описанное со ссылкой на фиг. 10.In FIG. 12 shows an example of a LoQ-0 inverse transform 1200 that may use the average coding value 1024 described with reference to FIG. 10.

Из-за метода, используемого для разложения на средний компонент, существует разница в вычислении обратного преобразования для LoQ-0 по сравнению с LoQ-1. В частности, дополнительный шаг используется для преобразования среднего компонента так, чтобы он соответствовал формату вход минус прогнозируемый остаток. Это используется для выполнения обратных вычислений.Due to the method used to average the decomposition, there is a difference in calculating the inverse transform for LoQ-0 compared to LoQ-1. In particular, an extra step is used to transform the mean component so that it conforms to the input minus the predicted remainder format. This is used to perform back calculations.

Как описано выше, компонент Aenc соответствует среднему компоненту (А), вычисленному путем вычитания R0 (элемент восстановления LOQ-1) из среднего значения соответствующих элементов в исходном входном кадре (с Т00 по Тц), что может быть выражено как Aenc = A! - R0. Если среднее значение сетки 2x2 восстановленного кадра LoQ-1 с повышением частоты дискретизации обозначается как Au, тогда А = A| - Au, поскольку среднее значение (А) в LoQ-О основано на разнице между элементами, в исходном входном кадре и элементы в кадре LoQ-1 после повышающей дискретизации и восстановлении. Это можно переписать как А = {AI - R0} + {R0 - AU} или, используя приведенное выше уравнение для Aenc, А = Aenc + {R0 - AU}. Преобразованное среднее (преобразованный A), следовательно, состоит в добавлении элемента реконструкции LOQ-1, R0,, к декодированному Aenc (упоминается как AinvvQ на фиг. 12 - т.е. Aenc, т.е. энтропийно декодированный и деквантованный) и вычитании среднего значения сетки 2x2 для кадра LoQ-1 с повышенной дискретизацией и реконструированного кадра, AU. Таким образом, на стороне декодера Апреобразованный = AinvvQ + R0 - AU. Как видно из формулы, показанной на фиг. 12, результирующее уравнение соответствует тому, что должно было быть фактическим средним (А) компонентом, который должен быть закодирован в кодировщике. После этого, те же самые шаги, как описано на фиг. 11 выполняются (с А в обратном преобразовании, замещенный преобразованным A) для того, чтобы генерировать остатки D от00 доц D.As described above, the component Ae nc corresponds to the average component (A) calculated by subtracting R0 (LOQ-1 recovery element) from the average value of the corresponding elements in the original input frame (T 00 to Tc), which can be expressed as Ae nc = A! - R0. If the 2x2 grid average of the reconstructed upsampled LoQ-1 frame is denoted as Au, then A=A| - Au, since the mean (A) in LoQ-O is based on the difference between the elements in the original input frame and the elements in the LoQ-1 frame after upsampling and reconstruction. This can be rewritten as A = {AI - R 0 } + {R 0 - AU} or, using the above equation for A enc , A = A enc + {R 0 - AU}. The transformed mean (transformed A) therefore consists in adding a LOQ-1 reconstruction element, R0,, to the decoded Ae nc (referred to as A invvQ in Fig. 12 - i.e. Ae nc , i.e. entropy decoded and dequantized ) and subtracting the 2x2 grid average for the upsampled LoQ-1 frame and reconstructed frame, AU. Thus, on the decoder side A, the converted = A invvQ + R0 - AU. As can be seen from the formula shown in Fig. 12, the resulting equation corresponds to what should have been the actual average (A) component to be encoded in the encoder. Thereafter, the same steps as described in Fig. 11 are executed (with A in the inverse transformation, replaced by the transformed A) in order to generate the remainders of D from 00 dots D.

Настоящее раскрытие описывает способ кодирования и декодирования сигнала, в частности видеосигнала и/или сигнала изображения.The present disclosure describes a method for encoding and decoding a signal, in particular a video signal and/or an image signal.

Описан способ кодирования сигнала, причем способ содержит этапы приема входного кадра и обработки входного кадра, чтобы генерировать, по меньшей мере, один первый набор остаточных данных, при этом остаточные данные позволяют декодеру восстановить исходный кадр из опорного реконструированного кадра.A method for encoding a signal is described, the method comprising the steps of receiving an input frame and processing the input frame to generate at least one first set of residual data, wherein the residual data allows the decoder to reconstruct the original frame from the reference reconstructed frame.

В некоторых примерах способ включает получение восстановленного кадра из декодированного кадра, полученного из модуля декодирования, при этом модуль декодирования сконфигурирован для генерации упомянутого декодированного кадра путем декодирования первого кодированного кадра, который был закодирован согласно первому способу кодирования. Способ дополнительно содержит понижающую дискретизацию входного кадра для получения кадра с пониженной дискретизацией и передачу указанного кадра с пониженной дискретизацией в модуль кодирования, сконфигурированный для кодирования указанного кадра с пониженной дискретизацией в соответствии с первым методом кодирования для генерации первого закодированного кадра. Получение восстановленного кадра может дополнительно содержать повышающую дискретизацию декодированного кадра для генерации восстановленного кадра.In some examples, the method includes deriving a reconstructed frame from a decoded frame received from a decoding module, the decoding module being configured to generate said decoded frame by decoding a first encoded frame that was encoded according to the first encoding method. The method further comprises downsampling an input frame to obtain a downsampled frame and passing said downsampled frame to an encoding module configured to encode said downsampled frame in accordance with a first encoding method to generate a first encoded frame. Receiving the reconstructed frame may further comprise upsampling the decoded frame to generate the reconstructed frame.

В некоторых примерах способ включает получение восстановленного кадра из комбинации второго набора остаточных данных и декодированного кадра, полученного из модуля декодирования, причем модуль декодирования выполнен с возможностью генерирования указанного декодированного кадра путем декодирования первого кодированного кадра, который был закодирован согласно первому способу кодирования. Способ дополнительно включает понижающую дискретизацию входного кадра для получения кадра с понижающей дискретизацией и передачу указанного кадра с понижающей дискретизацией в модуль кодирования, выполненный с возможностью кодирования указанного кадра с понижающей дискретизацией в соответствии с первым методом кодирования, чтобы сгенерировать первый кодированный кадр. Способ дополнительно содержит формирование упомянутого второго набора остаточных данных путем взятия разницы между декодированным кадром и кадром с пониженной дискретизацией. Способ дополнительно содержит кодирование упомянутого второго набора остаточных данных для создания первого набора закодированных остаточных данных. Кодирование упомянутого второго набора остаточных данных может выполняться согласно второму способу кодирования. Второй способ кодиро-In some examples, the method includes deriving a reconstructed frame from a combination of a second set of residual data and a decoded frame obtained from a decoding module, the decoding module being configured to generate said decoded frame by decoding a first encoded frame that was encoded according to the first encoding method. The method further includes downsampling the input frame to obtain a downsampling frame and passing said downsampling frame to an encoding module configured to encode said downsampled frame in accordance with the first encoding method to generate a first encoded frame. The method further comprises generating said second set of residual data by taking the difference between the decoded frame and the downsampled frame. The method further comprises encoding said second set of residual data to generate a first set of encoded residual data. The encoding of said second set of residual data may be performed according to the second encoding method. The second way to encode

Claims (17)

вания включает преобразование второго набора остаточных данных в преобразованный второй набор остаточных данных. Преобразование второго набора остаточных данных включает выбор подмножества второго набора остаточных данных и применение преобразования к упомянутому подмножеству для создания соответствующего подмножества преобразованного второго набора остаточных данных. Один из подмножества преобразованного второго набора остаточных данных может быть получен путем усреднения подмножества второго набора остаточных данных. Получение восстановленного кадра может дополнительно содержать повышающую дискретизацию комбинации второго набора остаточных данных и декодированного кадра для генерации восстановленного кадра.The conversion process involves converting the second residual data set to the transformed second residual data set. Transforming the second residual data set includes selecting a subset of the second residual data set and applying a transformation to said subset to create a corresponding subset of the transformed second residual data set. One of a subset of the transformed second residual data set may be obtained by averaging a subset of the second residual data set. Obtaining the reconstructed frame may further comprise upsampling the combination of the second set of residual data and the decoded frame to generate the reconstructed frame. В некоторых примерах создание по меньшей мере одного набора остаточных данных включает в себя получение разницы между опорным восстановленным кадром и входным кадром. Способ дополнительно включает кодирование указанного первого набора остаточных данных для генерирования первого набора кодированных остаточных данных. Кодирование указанного первого набора остаточных данных может выполняться согласно третьему способу кодирования. Третий способ кодирования включает преобразование первого набора остаточных данных в преобразованный первый набор остаточных данных. Преобразование первого набора остаточных данных включает выбор подмножества из первого набора остаточных данных и применение преобразования к упомянутому подмножеству для генерирования соответствующего подмножества из преобразованного первого набора остаточных данных. Один из подмножеств преобразованного первого набора остаточных данных может быть получен посредством разности между средним значением поднабора входного кадра и соответствующего элемента комбинации второго набора остаточных данных и декодированного кадра.In some examples, creating at least one set of residual data includes obtaining a difference between a reference reconstructed frame and an input frame. The method further includes encoding said first set of residual data to generate a first set of encoded residual data. Encoding of said first set of residual data may be performed according to a third encoding method. The third encoding method includes converting the first residual data set into a transformed first residual data set. Transforming the first residual data set includes selecting a subset from the first residual data set and applying a transformation to said subset to generate a corresponding subset from the transformed first residual data set. One of the subsets of the transformed first residual data set may be obtained by the difference between the subset mean of the input frame and the corresponding element of the combination of the second residual data set and the decoded frame. Также описан способ декодирования сигнала, содержащий прием кодированного кадра и по меньшей мере одного набора кодированных остаточных данных. Первый кодированный кадр может быть закодирован с использованием первого метода кодирования. По меньшей мере один набор остаточных данных может быть закодирован с использованием второго и/или третьего способа кодирования.A signal decoding method is also described, comprising receiving an encoded frame and at least one set of encoded residual data. The first encoded frame may be encoded using the first encoding method. At least one set of residual data may be encoded using the second and/or third encoding method. Способ дополнительно включает передачу первого кодированного кадра в модуль декодирования, при этом модуль декодирования сконфигурирован для генерации декодированного кадра путем декодирования кодированного кадра, который был закодирован согласно первому способу кодирования.The method further includes transmitting the first encoded frame to the decoding module, wherein the decoding module is configured to generate a decoded frame by decoding an encoded frame that has been encoded according to the first encoding method. Способ дополнительно включает декодирование по меньшей мере одного набора закодированных остаточных данных согласно соответствующему способу кодирования, используемому для их кодирования.The method further includes decoding at least one set of encoded residual data according to a respective encoding method used to encode it. В некоторых примерах первый набор закодированных остаточных данных декодируется путем применения второго способа декодирования, соответствующего упомянутому второму способу кодирования, для получения первого набора декодированных остаточных данных. Способ дополнительно содержит объединение первого набора остаточных данных с декодированным кадром для получения объединенного кадра. Способ дополнительно содержит повышающую дискретизацию комбинированного кадра, чтобы получить ссылку декодированного кадра.In some examples, the first set of encoded residual data is decoded by applying a second decoding method corresponding to said second encoding method to obtain a first set of decoded residual data. The method further comprises combining the first set of residual data with the decoded frame to obtain a combined frame. The method further comprises upsampling the combined frame to obtain a decoded frame reference. Способ дополнительно содержит декодирование второго набора кодированных остаточных данных путем применения третьего метода декодирования, соответствующего упомянутому третьему способу кодирования, для получения второго набора декодированных остаточных данных. Способ дополнительно содержит объединение второго набора декодированных остаточных данных с опорным декодированным кадром для получения восстановленного кадра.The method further comprises decoding the second set of coded residual data by applying a third decoding method corresponding to said third encoding method to obtain a second set of decoded residual data. The method further comprises combining the second set of decoded residual data with a reference decoded frame to obtain a reconstructed frame. В некоторых примерах осуществления способ включает повышающую дискретизацию декодированного кадра, чтобы получить ссылку декодированного кадра.In some embodiments, the method includes upsampling a decoded frame to obtain a decoded frame reference. Способ дополнительно включает декодирование набора кодированных остаточных данных путем применения второго или третьего способа декодирования, соответствующего указанному второму или третьему способу кодирования, для получения набора декодированных остаточных данных. Способ дополнительно включает комбинирование набора декодированных остаточных данных с опорным декодированным кадром для получения восстановленного кадра.The method further includes decoding the encoded residual data set by applying a second or third decoding method corresponding to said second or third encoding method to obtain a decoded residual data set. The method further includes combining the set of decoded residual data with the reference decoded frame to obtain a reconstructed frame. Вышеупомянутые варианты осуществления следует понимать как иллюстративные примеры. Предусмотрены другие варианты осуществления.The above embodiments should be understood as illustrative examples. Other embodiments are contemplated. Следует понимать, что любой признак, описанный относительно одного варианта реализации, может быть использован отдельно или в сочетании с другими описанными признаками, и может также быть использован в сочетании с одним или более признаками любого другого из вариантов реализации, или в любом сочетании любого другого из вариантов реализации. Кроме того, эквиваленты и модификации, не описанные выше, могут также быть использованы без отклонения от объема изобретения, который определен в сопроводительной формуле изобретения.It should be understood that any feature described with respect to one embodiment may be used alone or in combination with other features described, and may also be used in combination with one or more features of any other of the embodiments, or in any combination of any other of implementation options. In addition, equivalents and modifications not described above may also be used without departing from the scope of the invention as defined in the accompanying claims. ФОРМУЛА ИЗОБРЕТЕНИЯCLAIM 1. Способ кодирования сигнала, включающий по лучение входного кадра;1. Signal encoding method, including receiving an input frame; по нижающую дискретизацию входного кадра для получения кадра с пониженной дискретизацией;downsampling the input frame to obtain a downsampled frame; - 8 040654 передачу кадра с пониженной дискретизацией в модуль кодирования, причем модуль кодирования конфигурируется для кодирования кадра с пониженной дискретизацией для генерации кодированного кадра;- 8 040654 transmitting a downsampled frame to an encoding module, wherein the encoding module is configured to encode the downsampled frame to generate an encoded frame; по лучение декодированного кадра из модуля декодирования, причем модуль декодирования конфигурируется для генерации декодированного кадра путем декодирования кодированного кадра;receiving a decoded frame from a decoding module, the decoding module being configured to generate a decoded frame by decoding the encoded frame; ге нерирование первого набора остаточных данных путем взятия разницы между декодированным кадром и кадром с пониженной дискретизацией;generating a first set of residual data by taking the difference between the decoded frame and the downsampled frame; по вышающую дискретизацию комбинации первого набора остаточных данных и декодированного кадра, чтобы генерировать опорный реконструированный кадр;upsampling the combination of the first set of residual data and the decoded frame to generate a reference reconstructed frame; ге нерирование второго набора остаточных данных путем взятия разницы между опорным восстановленным кадром и входным кадром;generating a second set of residual data by taking the difference between the reference reconstructed frame and the input frame; кодирование первого и второго наборов остаточных данных для генерации первого и второго наборов закодированных остаточных данных, соответственно, при этом кодирование содержит преобразование первого и второго наборов остаточных данных в преобразованные первый и второй наборы остаточных данных, соответственно; и вывод закодированного кадра и первого и второго наборов кодированных остаточных данных для декодера, при этом кодированный кадр и первый и второй наборы остаточных данных позволяют декодеру восстановить входной кадр.encoding the first and second residual data sets to generate the first and second encoded residual data sets, respectively, the encoding comprising converting the first and second residual data sets to the transformed first and second residual data sets, respectively; and outputting the encoded frame and the first and second sets of encoded residual data to the decoder, wherein the encoded frame and the first and second sets of residual data allow the decoder to reconstruct the input frame. 2. Способ по п.1, в котором модуль кодирования сконфигурирован для кодирования кадра с пониженной дискретизацией в соответствии с первым методом кодирования, чтобы сгенерировать кодированный кадр, и в котором кодирование первого набора остаточных данных выполняется согласно второму способу кодирования, причем второй способ кодирования отличается от первого способа кодирования; и/или кодирование второго набора остаточных данных выполняется согласно третьему способу кодирования, причем третий способ кодирования отличается от первого способа кодирования.2. The method of claim 1, wherein the coding unit is configured to downsample the frame according to the first coding method to generate the encoded frame, and wherein the encoding of the first residual data set is performed according to the second coding method, the second coding method being different from the first encoding method; and/or encoding of the second set of residual data is performed according to a third encoding method, wherein the third encoding method is different from the first encoding method. 3. Способ по п.1 или 2, в котором модули кодирования и декодирования сконфигурированы для использования алгоритма кодирования на основе блоков.3. The method of claim 1 or 2, wherein the encoding and decoding modules are configured to use a block-based encoding algorithm. 4. Способ по любому из пп.1-3, в котором первый набор остаточных данных представляет ошибку сжатия, связанную с модулем кодирования и/или модулем декодирования.4. The method according to any one of claims 1 to 3, wherein the first set of residual data represents a compression error associated with the encoding module and/or the decoding module. 5. Способ по любому из пп.1-4, в котором второй набор остаточных данных представляет ошибку восстановления, связанную с понижающей дискретизацией и повышающей дискретизацией.5. The method according to any one of claims 1-4, wherein the second set of residual data represents the recovery error associated with downsampling and upsampling. 6. Способ по любому из пп.1-5, в котором способ выполняется в системе иерархического кодирования, имеющей ровно два иерархических уровня.6. A method according to any one of claims 1 to 5, wherein the method is performed in a hierarchical coding system having exactly two hierarchical levels. 7. Способ по п.6, в котором один из двух иерархических уровней соответствует базовому уровню, а другой из двух иерархических уровней соответствует уровню улучшения.7. The method of claim 6, wherein one of the two hierarchical levels corresponds to the base level and the other of the two hierarchical levels corresponds to the enhancement level. 8. Способ по любому из пп.1-7, в котором преобразование использует преобразование на основе Адамара.8. The method according to any one of claims 1 to 7, wherein the transform uses a Hadamard transform. 9. Способ по любому из пп.1-8, в котором при преобразовании используется ядро преобразования 2x2.9. A method according to any one of claims 1 to 8, wherein the transformation uses a 2x2 transformation kernel. 10. Способ по любому из пп.1-9, в котором преобразование первого набора остаточных данных включает выбор подмножества первого набора остаточных данных; и применение преобразования к подмножеству первого набора остаточных данных для создания соответствующего подмножества преобразованного первого набора остаточных данных.10. The method according to any one of paragraphs.1-9, in which the transformation of the first set of residual data includes selecting a subset of the first set of residual data; and applying a transform to a subset of the first residual data set to create a corresponding subset of the transformed first residual data set. 11. Способ по п.10, в котором одно из подмножества преобразованного первого набора остаточных данных получают посредством усреднения подмножества первого набора остаточных данных.11. The method of claim 10, wherein one of a subset of the transformed first residual data set is obtained by averaging a subset of the first residual data set. 12. Способ по любому из пп.1-11, отличающийся тем, что преобразование второго набора остаточных данных включает выбор подмножества из второго набора остаточных данных; и применение преобразования к подмножеству из второго набора остаточных данных для генерирования соответствующего подмножества из преобразованного второго набора остаточных данных.12. The method according to any one of paragraphs.1-11, characterized in that the transformation of the second set of residual data includes selecting a subset of the second set of residual data; and applying a transform to a subset of the second residual data set to generate a corresponding subset of the transformed second residual data set. 13. Способ по п.12, в котором одно из подмножества преобразованного второго набора остаточных данных получают посредством разности между средним значением поднабора входного кадра и соответствующим элементом комбинации первого набора остаточных данных и декодированного кадра.13. The method of claim 12, wherein one of the subset of the transformed second residual data set is obtained by a difference between the mean of the input frame subset and the corresponding combination element of the first residual data set and the decoded frame. 14. Способ по любому из пп.1-13, в котором кодирование включает квантование, по меньшей мере, некоторых из преобразованных первого и второго наборов остаточных данных, соответственно, в квантованные первый и второй наборы остаточных данных, соответственно.14. The method of any one of claims 1-13, wherein the encoding comprises quantizing at least some of the transformed first and second residual data sets, respectively, into quantized first and second residual data sets, respectively. 15. Способ по п.14, в котором кодирование включает энтропийное кодирование квантованных первого и второго наборов остаточных данных, соответственно, в энтропийно-кодированные первый и второй наборы остаточных данных.15. The method of claim 14, wherein the encoding comprises entropy encoding the quantized first and second residual data sets, respectively, into the entropy encoded first and second residual data sets. 16. Способ по любому из пп.1-15, в котором сигнал содержит видеосигнал и/или сигнал изображения.16. The method according to any one of claims 1 to 15, wherein the signal comprises a video signal and/or an image signal. 17. Способ кодирования сигнала, причем способ включает генерацию первого и второго наборов остаточных данных; и кодирование первого и второго наборов остаточных данных для генерирования первого и второго наборов кодированных остаточных данных, соответственно, причем кодирование включает преобразова-17. A method for encoding a signal, the method comprising: generating first and second sets of residual data; and encoding the first and second sets of residual data to generate the first and second sets of encoded residual data, respectively, the encoding comprising transforming
EA202190386 2018-08-03 2019-08-01 TRANSFORMATIONS FOR SIGNAL ENHANCEMENT CODING EA040654B1 (en)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
GB1812710.0 2018-08-03
GB1812708.4 2018-08-03
GB1812709.2 2018-08-03
GB1903844.7 2019-03-20
GB1904014.6 2019-03-23
GB1904492.4 2019-03-29
GB1905325.5 2019-04-15

Publications (1)

Publication Number Publication Date
EA040654B1 true EA040654B1 (en) 2022-07-12

Family

ID=

Similar Documents

Publication Publication Date Title
US11611777B2 (en) Transformations for signal enhancement coding
JP5957559B2 (en) Video encoding / decoding method and apparatus using large size transform unit
JP5566529B2 (en) How to code a video using a dictionary
CN108259900B (en) Transform coefficient coding for context adaptive binary entropy coding of video
KR20150129715A (en) Method and apparatus for applying secondary transforms on enhancement-layer residuals
US9877025B2 (en) Video encoding and decoding with prediction at higher precision
KR20140042778A (en) Compression and decompression of reference images in a video encoder
US8199820B2 (en) Intermediate compression of reference frames for transcoding
US20240040160A1 (en) Video encoding using pre-processing
AU2020291116A1 (en) Encoder and method of encoding a sequence of frames
US6760479B1 (en) Super predictive-transform coding
EA040654B1 (en) TRANSFORMATIONS FOR SIGNAL ENHANCEMENT CODING
EP2046045A1 (en) Methods of encoding and reconstructing image data and devices implementing said methods
JP2004266794A (en) Multi-resolution video coding and decoding
JP2004048212A (en) Digital image coder, coding method and program
JP6557589B2 (en) Encoding device, decoding device, and program
JP6846134B2 (en) Video coding device and video decoding device
US20100014764A1 (en) Image encoding/decoding devices and image band decomposing/composing devices
KR100946925B1 (en) Method and apparatus for integer-based multi-dimensional transform and quantization using multiple unit blocks
KR100923029B1 (en) Recompression method for video frame
PHYO et al. JPEG Image Compression and Decompression using Discrete Cosine Transform (DCT)
Prem et al. Modified CCSDS image data compression
JPH04255169A (en) Layer decoding system