RU2789522C2 - Methods for intermediate prediction based on pattern, based on reduction in encoding and decoding delay - Google Patents

Methods for intermediate prediction based on pattern, based on reduction in encoding and decoding delay Download PDF

Info

Publication number
RU2789522C2
RU2789522C2 RU2020128729A RU2020128729A RU2789522C2 RU 2789522 C2 RU2789522 C2 RU 2789522C2 RU 2020128729 A RU2020128729 A RU 2020128729A RU 2020128729 A RU2020128729 A RU 2020128729A RU 2789522 C2 RU2789522 C2 RU 2789522C2
Authority
RU
Russia
Prior art keywords
template
samples
prediction
pattern
values
Prior art date
Application number
RU2020128729A
Other languages
Russian (ru)
Other versions
RU2020128729A (en
Inventor
Сяоюй СЮ
Юйвень ХЭ
Янь Е
Original Assignee
Вид Скейл, Инк.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Вид Скейл, Инк. filed Critical Вид Скейл, Инк.
Priority claimed from PCT/US2019/023557 external-priority patent/WO2019190907A1/en
Publication of RU2020128729A publication Critical patent/RU2020128729A/en
Application granted granted Critical
Publication of RU2789522C2 publication Critical patent/RU2789522C2/en

Links

Images

Abstract

FIELD: video encoding/decoding.
SUBSTANCE: invention relates to the field of a video signal encoding and decoding. Methods for video encoding and decoding for reduction in delay in intermediate encoding based on a pattern are proposed. Methods include the current image and at least one reference image. For at least the current block in the current image, a corresponding predicted value is generated (for example, using a prediction with motion compensation) for each discrete count in an area of the pattern, adjacent to the current block. When predicted values are generated for each discrete count in the area of the pattern, a process is activated to determine a parameter of an intermediate prediction based on the pattern by means of predicted values in the area of the pattern and values of discrete counts in the reference image. This process can be activated without waiting for restored values of discrete counts in the area of the pattern. The intermediate prediction based on the pattern of the current block is then performed using the determined parameter of the intermediate prediction based on the pattern.
EFFECT: increase in the efficiency of encoding.
38 cl, 18 dwg, 1 tbl

Description

УРОВЕНЬ ТЕХНИКИBACKGROUND OF THE INVENTION

[0001] Системы кодирования видео широко используются для сжатия цифровых видеосигналы, чтобы уменьшить потребность сохранения и/или полосу частот передачи таких сигналов. Среди различных типов систем кодирования видео, таких как системы на основе блоков, на основе всплесков и на основе объектов, сейчас гибридные системы кодирования видео на основе блоков наиболее широко используются и устанавливаются. Примеры систем кодирования видео на основе блоков включают в себя международные стандарты кодирования видео, такие как MPEG1/2/4, часть 2; H.264/MPEG-4, часть 10, AVC; VC-1; и последний стандарт кодирования видео, называемый высокоэффективным кодированием видео (HEVC), который был разработан JCT-VC (командой объединенного сотрудничества по кодированию видео) ITU-T/SG16/Q.6/VCEG и ISO/IEC/MPEG.[0001] Video coding systems are widely used to compress digital video signals to reduce the need to store and/or the transmission bandwidth of such signals. Among various types of video coding systems such as block-based, burst-based, and object-based systems, hybrid block-based video coding systems are now the most widely used and installed. Examples of block-based video coding systems include international video coding standards such as MPEG1/2/4 Part 2; H.264/MPEG-4 Part 10 AVC; VC-1; and the latest video coding standard called High Efficiency Video Coding (HEVC), which was developed by JCT-VC (Joint Collaborative Video Coding Team) ITU-T/SG16/Q.6/VCEG and ISO/IEC/MPEG.

[0002] Первая версия стандарта HEVC была утверждена в январе 2013 г., и она предлагает приблизительно 50%-е сбережение скорости бит при эквивалентном воспринимаемом качестве по сравнению с прошлым поколением стандарта кодирования видео H.264/MPEG AVC. Хотя стандарт HEVC обеспечивает существенные улучшения кодирования по сравнению с прошлыми стандартами, существуют доказательства, что более высокая эффективность кодирования может достигаться с дополнительными инструментами кодирования над HEVC. На основе этого, оба VCEG и MPEG начали исследовательскую работу для новых технологий кодирования для будущей стандартизации кодирования видео. В октябре 2015 г. ITU-T VCEG и ISO/IEC MPEG сформировали команду объединенного исследования видео (JVET), чтобы начать существенное изучение улучшенных технологий, которые могли бы обеспечить возможность существенного улучшения эффективности кодирования над HEVC. В том же месяце программная кодовая база, называемая моделью объединенного исследования (JEM), была установлена для будущей исследовательской работы по кодированию видео. Опорные программные средства JEM были основаны на тестовой модели HEVC (HM), которая была разработана JCT-VC для HEVC. Дополнительные предлагаемые инструменты кодирования могут быть интегрированы в программные средства JEM и испытаны с использованием общих условий испытания (CTC) JVET.[0002] The first version of the HEVC standard was approved in January 2013 and offers approximately 50% bit rate savings at equivalent perceived quality compared to the previous generation of the H.264/MPEG AVC video coding standard. While the HEVC standard provides significant coding improvements over past standards, there is evidence that higher coding efficiency can be achieved with additional coding tools over HEVC. Based on this, both VCEG and MPEG started research work for new coding technologies for future video coding standardization. In October 2015, the ITU-T VCEG and ISO/IEC MPEG formed the Joint Video Exploration (JVET) team to begin a substantial study of improved technologies that could enable significant improvements in coding efficiency over HEVC. In the same month, a software codebase called the Joint Exploration Model (JEM) was established for future video coding research work. The JEM Reference Software was based on the HEVC Test Model (HM) which was developed by JCT-VC for HEVC. Additional proposed coding tools can be integrated into the JEM software and tested using the JVET Common Test Conditions (CTC).

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

[0003] Примерные варианты осуществления включают в себя способы, которые используются в кодировании и декодировании (в совокупности "кодировании") видео. В некоторых вариантах осуществления обеспечен способ для кодирования или декодирования видео, которое включает в себя текущее изображение и по меньшей мере первое опорное изображение. Для по меньшей мере текущего блока в текущем изображении предсказанное значение генерируется (например, с использованием предсказания с компенсацией движения) для каждого дискретного отсчета в области шаблона, смежной с текущим блоком. По меньшей мере один параметр промежуточного (inter) предсказания на основе шаблона определяется посредством сравнения предсказанных значений по меньшей мере поднабора дискретных отсчетов в области шаблона с соответствующими значениями дискретных отсчетов (которые могут быть восстановленными значениями дискретных отсчетов) в по меньшей мере одной области опорного шаблона в по меньшей мере первом опорном изображении. Промежуточное предсказание на основе шаблона текущего блока выполняется с использованием определенного параметра промежуточного предсказания на основе шаблона.[0003] Exemplary embodiments include techniques that are used in encoding and decoding (collectively "coding") video. In some embodiments, a method is provided for encoding or decoding a video that includes a current picture and at least a first reference picture. For at least the current block in the current picture, a predicted value is generated (eg, using motion compensated prediction) for each discrete sample in the pattern region adjacent to the current block. At least one inter template prediction parameter is determined by comparing predicted values of at least a subset of samples in the template region with corresponding sample values (which may be reconstructed sample values) in at least one region of the reference template in at least the first reference image. Intermediate prediction based on the template of the current block is performed using a specific intermediate prediction parameter based on the template.

[0004] В некоторых вариантах осуществления процесс для определения параметра промежуточного предсказания на основе шаблона активируется в ответ на генерирование предсказанных значений для каждого дискретного отсчета в области шаблона. Это обеспечивает возможность предсказанию значений дискретных отсчетов в текущем блоке продолжаться параллельно с восстановлением значений дискретных отсчетов в области шаблона.[0004] In some embodiments, a process for determining a template-based intermediate prediction parameter is activated in response to generating predicted values for each sample in the template region. This allows the prediction of sample values in the current block to continue in parallel with the recovery of sample values in the template region.

[0005] В некоторых вариантах осуществления по меньшей мере один из дискретных отсчетов в области шаблона имеет закодированный ненулевой остаток. В некоторых вариантах осуществления после того, как параметр промежуточного предсказания на основе шаблона определяется, закодированное ненулевое остаточное значение прибавляется к по меньшей мере одному из предсказанных значений в области шаблона, чтобы генерировать соответственное значение восстановленного дискретного отсчета.[0005] In some embodiments, at least one of the discrete samples in the pattern region has an encoded non-zero remainder. In some embodiments, after a template-based intermediate prediction parameter is determined, an encoded non-zero residual value is added to at least one of the predicted values in the template region to generate a corresponding recovered sample value.

[0006] В некоторых вариантах осуществления поднабор дискретных отсчетов в области шаблона выбирается так, чтобы включать в себя только дискретные отсчеты, которые имеют нулевые остаточные значения. Значения флагов закодированного блока для соответственных блоков, содержащих дискретные отсчеты, могут быть использованы, чтобы идентифицировать те дискретные отсчеты, которые имеют нулевые остаточные значения. В некоторых вариантах осуществления область шаблона имеет по меньшей мере две подобласти (например, первую подобласть дискретных отсчетов выше текущего блока и вторую подобласть дискретных отсчетов слева от текущего блока), и дискретные отсчеты в подобласти выбираются, только если все дискретные отсчеты в этой подобласти имеют нулевые остаточные значения.[0006] In some embodiments, a subset of samples in the template region is selected to include only samples that have zero residuals. Coded block flag values for respective blocks containing discrete samples may be used to identify those discrete samples that have zero residuals. In some embodiments, a template region has at least two sub-regions (e.g., a first sub-sample sub-region above the current block and a second sub-sample sub-region to the left of the current block), and samples in the sub-region are selected only if all the samples in that sub-region are zero. residual values.

[0007] В некоторых вариантах осуществления компенсация движения блока с наложением (OBMC) выполняется над по меньшей мере некоторыми из дискретных отсчетов в области шаблона после определения параметра промежуточного предсказания на основе шаблона.[0007] In some embodiments, overlay block motion compensation (OBMC) is performed on at least some of the discrete samples in the template region after the template-based intermediate prediction parameter is determined.

[0008] В некоторых вариантах осуществления дискретные отсчеты, используемые, чтобы определить параметр промежуточного предсказания на основе шаблона, взвешиваются на основе оцененных (или фактических) абсолютных величин остатков соответственных дискретных отсчетов в области шаблона, где большие весовые коэффициенты используются для более низких оцененных (или фактических) абсолютных величин остатков. Оцененные (или фактические) абсолютные величины остатков могут основываться на информации, полученной без выполнения деквантования или обратного преобразования. В некоторых вариантах осуществления абсолютная величина остатка дискретного отсчета определяется на основе значения флага закодированного блока у блока, содержащего соответственный дискретный отсчет. В некоторых вариантах осуществления абсолютная величина остатка дискретного отсчета оценивается на основе полной энергии коэффициентов преобразования для блока, содержащего соответственный дискретный отсчет. В некоторых вариантах осуществления первый предварительно определенный более низкий весовой коэффициент используется для дискретных отсчетов с ненулевыми оцененными абсолютными величинами остатков, а второй предварительно определенный более высокий весовой коэффициент используется для дискретных отсчетов с абсолютными величинами остатков, которые оцениваются (или известны) как нулевые.[0008] In some embodiments, the samples used to determine the template-based intermediate prediction parameter are weighted based on the estimated (or actual) absolute values of the residuals of the corresponding samples in the template region, where larger weights are used for lower estimated (or actual) absolute values of residuals. Estimated (or actual) absolute residual values may be based on information obtained without performing dequantization or inverse transformation. In some embodiments, the absolute value of the remainder of a discrete sample is determined based on the value of the encoded block flag of the block containing the corresponding discrete sample. In some embodiments, the absolute value of the remainder of the discrete sample is estimated based on the total energy of the transform coefficients for the block containing the corresponding discrete sample. In some embodiments, a first predefined lower weight is used for discrete samples with non-zero estimated absolute residual values, and a second predefined higher weight is used for discrete samples with absolute residual values that are estimated (or known) to be zero.

[0009] В некоторых вариантах осуществления вместо использования только предсказанных значений в области шаблона, чтобы определить параметр промежуточного предсказания на основе шаблона, по меньшей мере некоторые из значений дискретных отсчетов в области шаблона частично восстанавливаются для использования в определении параметра. Например, значения дискретных отсчетов могут быть частично восстановлены посредством прибавления остаточного компонента предсказания DC к предсказанным значениям. Компонент DC может быть получен без выполнения обратного преобразования. В некоторых вариантах осуществления это частичное восстановление выполняется только для значений дискретных отсчетов в блоках, закодированных с использованием либо DCT-II, либо DCT-V. В некоторых вариантах осуществления частичное восстановление значений дискретных отсчетов выполняется только для тех значений дискретных отсчетов в блоках, которые не закодированы с использованием NSST.[0009] In some embodiments, instead of using only the predicted values in the template region to determine the intermediate prediction parameter based on the template, at least some of the discrete sample values in the template region are partially recovered for use in determining the parameter. For example, the values of the discrete samples can be partially restored by adding the residual component of the DC prediction to the predicted values. The DC component can be obtained without performing an inverse transformation. In some embodiments, this partial reconstruction is performed only for the values of discrete samples in blocks encoded using either DCT-II or DCT-V. In some embodiments, partial recovery of sample values is performed only for those sample values in blocks that are not encoded using NSST.

[0010] В некоторых вариантах осуществления промежуточное предсказание на основе шаблона текущего блока выполняется с использованием компенсации локального освещения (LIC). В таких вариантах осуществления параметры промежуточного предсказания на основе шаблона включают в себя по меньшей мере один коэффициент масштабирования б и по меньшей мере одно смещение в.[0010] In some embodiments, the implementation of the intermediate prediction based on the template of the current block is performed using local illumination compensation (LIC). In such embodiments, the template-based intermediate prediction parameters include at least one scaling factor b and at least one offset c.

[0011] В некоторых вариантах осуществления промежуточное предсказание на основе шаблона текущего блока выполняется с использованием преобразования с повышением частоты кадров (FRUC) на основе шаблона. В таких вариантах осуществления параметры промежуточного предсказания на основе шаблона включают в себя вектор движения для предсказания текущего блока. В некоторых вариантах осуществления оба LIC и FRUC используются, чтобы предсказывать текущий блок.[0011] In some embodiments, the implementation of the intermediate prediction based on the template of the current block is performed using frame rate upconverting (FRUC) based on the template. In such embodiments, the template-based intermediate prediction parameters include a motion vector for predicting the current block. In some embodiments, both LIC and FRUC are used to predict the current block.

[0012] Дополнительные способы, описанные здесь, используют адаптивный размер шаблона. Один такой способ обеспечен для кодирования или декодирования видео, которое включает в себя текущее изображение и по меньшей мере первое опорное изображение. Для по меньшей мере текущего блока в текущем изображении размер шаблона выбирается на основе размера текущего блока, и предсказание для текущего блока генерируется с использованием промежуточного предсказания на основе шаблона. Например, дискретные отсчеты в области шаблона, которая смежна с текущим блоком и которая имеет выбранный размер шаблона, может сравниваться с соответствующими значениями дискретных отсчетов в по меньшей мере первом опорном шаблоне, чтобы определить по меньшей мере один параметр промежуточного предсказания на основе шаблона, и определенный параметр(ы) может быть использован в выполнении промежуточного предсказания на основе шаблона текущего блока.[0012] Additional methods described here use adaptive template size. One such method is provided for encoding or decoding a video that includes a current picture and at least a first reference picture. For at least the current block in the current picture, a template size is selected based on the current block size, and a prediction for the current block is generated using the template-based intermediate prediction. For example, samples in a template region that is adjacent to the current block and that has a selected template size can be compared with corresponding sample values in at least a first reference template to determine at least one intermediate prediction parameter based on the template, and a determined the parameter(s) may be used in performing intermediate prediction based on the template of the current block.

[0013] Дополнительно способы, описанные здесь, используют сегменты шаблона, когда кодирование или декодирование текущего блока в одном сегменте шаблона ограничено так, чтобы не использовать дискретные отсчеты в другом сегменте шаблона для промежуточного кодирования на основе шаблона текущего блока. Режимы предсказания помимо промежуточного кодирования на основе шаблона все еще могут использовать дискретные отсчеты (или другую информацию кодирования, такую как вектора движения) в другом сегменте шаблона. В одном таком способе множество сегментов шаблона определяется в текущем изображении, где каждый сегмент шаблона включает в себя множество блоков. Режим предсказания определяется для кодирования каждого блока в текущем сегменте шаблона. Режим предсказания выбирается из по меньшей мере одного режима промежуточного предсказания на основе шаблона и по меньшей мере одного режима предсказания не на основе шаблона. Предсказание генерируется для каждого блока в текущем сегменте шаблона, где предсказание любого блока в текущем сегменте шаблона с использованием режима предсказания на основе шаблона ограничивается так, чтобы оно не использовало для предсказания какие-либо дискретные отсчеты, которые находятся в текущем изображении, но вне текущего сегмента шаблона. Информация о границах сегментов шаблона может сигнализироваться в битовом потоке. Например, информация о количестве элементов дерева кодирования (CTU) в каждом сегменте шаблона или количество строк CTU в каждом сегменте шаблона может сигнализироваться в битовом потоке. Использование сегментов шаблона, как описано здесь, обеспечивает возможность различным сегментам шаблона кодироваться или декодироваться параллельно.[0013] Additionally, the methods described herein use pattern segments when the encoding or decoding of the current block in one pattern segment is constrained so as not to use discrete samples in another template segment for intermediate coding based on the current block's template. Prediction modes besides template-based intermediate coding may still use discrete samples (or other coding information such as motion vectors) in another segment of the template. In one such method, a plurality of pattern segments is defined in the current image, where each pattern segment includes a plurality of blocks. The prediction mode is determined to encode each block in the current pattern segment. The prediction mode is selected from at least one intermediate prediction mode based on a template and at least one prediction mode not based on a template. A prediction is generated for each block in the current pattern segment, where the prediction of any block in the current pattern segment using the pattern-based prediction mode is constrained so that it does not use for prediction any discrete samples that are in the current picture but outside the current segment. template. Pattern segment boundary information may be signaled in the bitstream. For example, information about the number of coding tree elements (CTUs) in each template segment or the number of CTU rows in each template segment may be signaled in the bitstream. The use of template segments as described herein allows different template segments to be encoded or decoded in parallel.

[0014] Дополнительные варианты осуществления включают в себя системы кодера и декодера (в совокупности "кодека"), выполненные с возможностью выполнять способы, описанные здесь. Такие системы могут включать в себя процессор и долговременный компьютерный носитель данных, хранящий инструкции, которые имеют возможность операции при исполнении на процессоре, чтобы выполнять способы, описанные здесь.[0014] Additional embodiments include encoder and decoder (collectively "codec") systems configured to perform the methods described herein. Such systems may include a processor and a durable computer storage medium storing instructions that are operable when executed on the processor to carry out the methods described herein.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙBRIEF DESCRIPTION OF THE DRAWINGS

[0015] Фиг.1A изображает схему системы, иллюстрирующую примерную систему связи, в которой один или несколько раскрываемых вариантов осуществления могут осуществляться.[0015] FIG. 1A is a system diagram illustrating an exemplary communications system in which one or more of the disclosed embodiments may be implemented.

[0016] Фиг.1B изображает схему системы, иллюстрирующую пример блока беспроводной передачи/приема (WTRU), который может быть использован внутри системы связи, изображенной на фиг.1A, согласно одному варианту осуществления.[0016] FIG. 1B is a system diagram illustrating an example of a wireless transmit/receive unit (WTRU) that may be used within the communication system of FIG. 1A, according to one embodiment.

[0017] Фиг.2 изображает примерный кодер видео на основе блоков.[0017] FIG. 2 depicts an exemplary block-based video encoder.

[0018] Фиг.3 изображает примерный декодер видео на основе блоков.[0018] FIG. 3 depicts an exemplary block-based video decoder.

[0019] Фиг.4 изображает компенсацию локального освещения.[0019] Figure 4 depicts local illumination compensation.

[0020] Фиг.5 изображает пример сравнения с шаблоном на основе преобразования с повышением частоты кадров (FRUC).[0020] FIG. 5 shows an example of pattern matching based on frame rate upconversion (FRUC).

[0021] Фиг.6 изображает дискретные отсчеты, используемые для вычисления нарушения непрерывности границы для использования в предсказании знака коэффициентов преобразования.[0021] FIG. 6 depicts discrete samples used to compute boundary discontinuities for use in predicting the sign of the transform coefficients.

[0022] Фиг.7 изображает потенциально подходящие варианты разницы векторов движения, используемые в одном примере нахождения знака разницы векторов движения.[0022] FIG. 7 depicts potentially suitable motion vector difference options used in one example of finding the sign of the motion vector difference.

[0023] Фиг.8 изображает процесс компенсации движения блока с наложением (OBMC) для режимов подблоков, где OBMC применяется ко всем блокам суб-CU (например, блоку суб-CU A) с использованием MV от всех четырех соседних блоков (например, затененных блоков суб-CU a, b, c, d).[0023] FIG. 8 depicts an overlay block motion compensation (OBMC) process for sub-unit modes, where OBMC is applied to all sub-CUs (e.g., sub-CU A) using MVs from all four adjacent blocks (e.g., shaded sub-CUs a, b, c, d).

[0024] Фиг.9 изображает пример параллельного декодирования декодером HEVC.[0024] FIG. 9 shows an example of parallel decoding by a HEVC decoder.

[0025] Фиг.10 изображает пример задержки декодирования в JEM.[0025] FIG. 10 shows an example of a decoding delay in JEM.

[0026] Фиг.11 изображает уменьшенную задержку декодирования посредством дискретных отсчетов MCP (с OBMC) в качестве шаблона для методик промежуточного предсказания на основе шаблона.[0026] FIG. 11 depicts reduced decoding delay with MCP discrete samples (with OBMC) as a template for template-based intermediate prediction techniques.

[0027] Фиг.12 изображает уменьшенную задержку декодирования посредством дискретных отсчетов MCP (без OBMC) в качестве шаблона для методик промежуточного предсказания на основе шаблона.[0027] FIG. 12 depicts reduced decoding delay with MCP discrete samples (without OBMC) as a template for template-based intermediate prediction techniques.

[0028] Фиг.13 изображает примеры дискретных отсчетов шаблона, используемых для промежуточного предсказания на основе шаблона.[0028] FIG. 13 depicts examples of discrete template samples used for template-based intermediate prediction.

[0029] Фиг.14 изображает самую низкую частотную характеристику первичных преобразований, которые используются в JEM.[0029] Fig.14 depicts the lowest frequency response of the primary transformations that are used in JEM.

[0030] Фиг.15 изображает пример, в котором текущее изображение разделяется на три сегмента шаблона.[0030] FIG. 15 shows an example in which the current image is divided into three pattern segments.

[0031] Фиг.16 изображает примерный процесс для кодирования блока с использованием промежуточного предсказания на основе шаблона согласно одному варианту осуществления.[0031] FIG. 16 depicts an exemplary process for encoding a block using template-based intermediate prediction, according to one embodiment.

[0032] Фиг.17 изображает примерный процесс для декодирования блока с использованием промежуточного предсказания на основе шаблона согласно одному варианту осуществления.[0032] FIG. 17 depicts an exemplary process for decoding a block using template-based intermediate prediction, according to one embodiment.

ПРИМЕРНЫЕ СЕТИ ДЛЯ РЕАЛИЗАЦИИ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯEXAMPLE NETWORKS FOR THE IMPLEMENTATION OF IMPLEMENTATION OPTIONS

[0033] Фиг.1A изображает схему, иллюстрирующую примерную систему 100 связи, в которой один или несколько раскрываемых вариантов осуществления может осуществляться. Система 100 связи может быть системой множественного доступа, которая обеспечивает содержимое, такое как голос, данные, видео, обмен сообщениями, широкое вещание и т. д., множеству беспроводных пользователей. Система 100 связи может обеспечивать возможность множеству беспроводных пользователей осуществлять доступ к такому содержимому посредством разделения системных ресурсов, включающих в себя беспроводную полосу частот. Например, системы 100 связи могут задействовать один или несколько способов доступа к каналу, таких как множественный доступ с кодовым разделением (CDMA), множественный доступ с временным разделением (TDMA), множественный доступ с частотным разделением (FDMA), ортогональный FDMA (OFDMA), FDMA с одной несущей (SC-FDMA), DFT-распределенное OFDM со специальным словом и нулевым хвостом (ZT UW DTS-s OFDM), OFDM со специальным словом (UW-OFDM), OFDM с фильтрацией ресурсного блока, множественная несущая с набором фильтров (FBMC) и т. п.[0033] FIG. 1A is a diagram illustrating an exemplary communications system 100 in which one or more of the disclosed embodiments may be implemented. Communication system 100 may be a multiple access system that provides content such as voice, data, video, messaging, broadcast, etc. to multiple wireless users. Communication system 100 may allow multiple wireless users to access such content by sharing system resources including wireless bandwidth. For example, communication systems 100 may employ one or more channel access techniques such as code division multiple access (CDMA), time division multiple access (TDMA), frequency division multiple access (FDMA), orthogonal FDMA (OFDMA), Single carrier FDMA (SC-FDMA), DFT-distributed Special Word Zero Tail OFDM (ZT UW DTS-s OFDM), Special Word OFDM (UW-OFDM), Resource Block Filtering OFDM, Multiple Carrier with Filter Bank (FBMC) etc.

[0034] Как изображено на фиг.1A, система 100 связи может включать в себя беспроводные передающие/принимающие блоки (WTRU) 102a, 102b, 102c, 102d, RAN 104, CN 106, коммутируемую телефонную сеть 108 общего пользования (PSTN), Интернет 110 и другие сети 112, хотя следует понимать, что раскрываемые варианты осуществления предполагают любое количество WTRU, базовых станций, сетей и/или сетевых элементов. Каждый из WTRU 102a, 102b, 102c, 102d может быть устройством любого типа, выполненным с возможностью оперировать и/или осуществлять связь в беспроводной среде. В качестве примера, WTRU 102a, 102b, 102c, 102d, любой из который может называться "станцией" и/или "STA", могут быть выполнены с возможностью передавать и/или принимать беспроводные сигналы и могут включать в себя пользовательское оборудование (UE), мобильную станцию, фиксированный или мобильный абонентский блок, блок на основе подписки, пейджер, сотовый телефон, "электронный помощник" (PDA), интеллектуальный телефон, ноутбук, нетбук, персональный компьютер, беспроводной датчик, устройство горячей точки или Mi-Fi, устройство интернета вещей (IoT), наручные часы или другое носимое устройство, шлем-дисплей (HMD), транспортное средство, дрон, медицинское устройство и приложения (например, средство удаленной хирургии), промышленное устройство и приложения (например, робота и/или другие беспроводные устройства, оперирующие в контекстах промышленности и/или цепи автоматизированной обработки), бытовое электронное устройство, устройство, оперирующее в коммерческих и/или промышленных беспроводных сетях, и т. п. Любой из WTRU 102a, 102b, 102c и 102d может взаимозаменяемым образом называться UE.[0034] As depicted in FIG. 1A, communication system 100 may include wireless transmitting/receiving units (WTRUs) 102a, 102b, 102c, 102d, RAN 104, CN 106, public switched telephone network (PSTN) 108, Internet 110 and other networks 112, although it should be understood that the disclosed embodiments involve any number of WTRUs, base stations, networks, and/or network elements. Each of the WTRUs 102a, 102b, 102c, 102d may be any type of device capable of operating and/or communicating in a wireless environment. As an example, WTRUs 102a, 102b, 102c, 102d, any of which may be referred to as a "station" and/or "STA", may be configured to transmit and/or receive wireless signals and may include user equipment (UE) , mobile station, fixed or mobile subscriber unit, subscription-based unit, pager, cell phone, digital assistant (PDA), smart phone, laptop, netbook, personal computer, wireless sensor, hotspot or Mi-Fi device, device internet of things (IoT), wristwatch or other wearable device, helmet-mounted display (HMD), vehicle, drone, medical device and applications (e.g. remote surgery tool), industrial device and applications (e.g. robot and/or other wireless devices operating in industrial and/or automated processing contexts), consumer electronic device, device operating in commercial and/or industrial wireless networks, etc. Any of the WTRUs 102a, 102b, 102c, and 102d may be referred to interchangeably as a UE.

[0035] Системы 100 связи могут также включать в себя базовую станцию 114a и/или базовую станцию 114b. Каждая из базовых станций 114a, 114b может быть устройством любого типа, выполненным с возможностью беспроводным образом осуществлять интерфейс с по меньшей мере одним из WTRU 102a, 102b, 102c, 102d, чтобы обеспечить доступ к одной или нескольким сетям связи, таким как CN 106, Интернет 110 и/или другие сети 112. В качестве примера, базовые станции 114a, 114b могут быть базовой станцией приемопередатчика (BTS), узлом-B, e-узлом-B, исходным узлом-B, исходным e-узлом-B, gNB, узлом-B NR, средством управления объекта, точкой доступа (AP), беспроводным маршрутизатором и т. п. Хотя каждая из базовых станций 114a, 114b изображена как одиночный элемент, следует понимать, что базовые станции 114a, 114b могут включать в себя любое количество взаимосоединенных базовых станций и/или сетевых элементов.[0035] Communication systems 100 may also include base station 114a and/or base station 114b. Each of the base stations 114a, 114b may be any type of device configured to wirelessly interface with at least one of the WTRUs 102a, 102b, 102c, 102d to provide access to one or more communication networks, such as CN 106, Internet 110 and/or other networks 112. As an example, base stations 114a, 114b may be a base transceiver station (BTS), node-B, e-node-B, source node-B, source e-node-B, gNB , NR Node-B, entity manager, access point (AP), wireless router, and the like. the number of interconnected base stations and/or network elements.

[0036] Базовая станция 114a может входить в состав RAN 104, которая может также включать в себя другие базовые станции и/или сетевые элементы (не показано), такие как средство управления базовой станции (BSC), средство управления радиосетью (RNC), ретрансляционные узлы и т. д. Базовая станция 114a и/или базовая станция 114b может быть выполнена с возможностью передавать и/или принимать беспроводные сигналы на одной или нескольких несущих частотах, которые могут называться сотой (не показано). Эти частоты могут находиться в лицензированном спектре, нелицензированном спектре или в комбинации лицензированного и нелицензированного спектра. Сота может обеспечивать покрытие для беспроводного сервиса конкретной географической зоне, которая может быть относительно фиксирована или может изменяться с течением времени. Сота может дополнительно разделяться на сектора соты. Например, сота, связанная с базовой станцией 114a, может разделяться на три сектора. Таким образом, в одном варианте осуществления базовая станция 114a может включать в себя три приемопередатчика, т. е. один для каждого сектора соты. В одном варианте осуществления базовая станция 114a может задействовать технологию многоканального входа и многоканального выхода (MIMO) и может задействовать множество приемопередатчиков для каждого сектора соты. Например, формирование луча может быть использовано, чтобы передавать и/или принимать сигналы в желаемых пространственных направлениях.[0036] Base station 114a may be part of RAN 104, which may also include other base stations and/or network elements (not shown), such as base station control (BSC), radio network control (RNC), relay nodes, etc. Base station 114a and/or base station 114b may be configured to transmit and/or receive wireless signals on one or more carrier frequencies, which may be referred to as a cell (not shown). These frequencies may be in licensed spectrum, unlicensed spectrum, or a combination of licensed and unlicensed spectrum. A cell may provide coverage for a wireless service to a specific geographic area, which may be relatively fixed or may change over time. The cell may be further divided into cell sectors. For example, a cell associated with base station 114a may be divided into three sectors. Thus, in one embodiment, base station 114a may include three transceivers, ie, one for each cell sector. In one embodiment, the base station 114a may employ multiple input multiple output (MIMO) technology and may enable multiple transceivers for each sector of a cell. For example, beamforming can be used to transmit and/or receive signals in desired spatial directions.

[0037] Базовые станции 114a, 114b могут осуществлять связь с одним или несколькими из WTRU 102a, 102b, 102c, 102d через эфирный интерфейс 116, который может быть любой подходящей беспроводной линией связи (например, радиочастотой (RF), микроволной, сантиметровой волной, микрометровой волной, инфракрасным излучением (IR), ультрафиолетовым излучением (UV), видимым светом и т. д.). Эфирный интерфейс 116 может быть установлен с использованием любой подходящей технологии радиодоступа (RAT).[0037] Base stations 114a, 114b may communicate with one or more of the WTRUs 102a, 102b, 102c, 102d via air interface 116, which may be any suitable wireless link (e.g., radio frequency (RF), microwave, centimeter wave, micrometer wave, infrared (IR), ultraviolet (UV), visible light, etc.). Air interface 116 may be established using any suitable radio access technology (RAT).

[0038] Более конкретным образом, как отмечено выше, система 100 связи может быть системой множественного доступа и может задействовать одну или несколько схем доступа к каналу, таких как CDMA, TDMA, FDMA, OFDMA, SC-FDMA и т. п. Например, базовая станция 114a в RAN 104 и WTRU 102a, 102b, 102c могут осуществлять радиотехнологию, такую как наземный радиодоступ универсальной мобильной телекоммуникационной системы (UMTS) (UTRA), которая может устанавливать эфирный интерфейс 116 с использованием широкополосного CDMA (WCDMA). WCDMA может включать в себя протоколы связи, такие как высокоскоростной пакетный доступ (HSPA) и/или улучшенный HSPA (HSPA+). HSPA может включать в себя пакетный доступ высокоскоростной нисходящей линии связи (DL) (HSDPA) и/или пакетный доступ высокоскоростной UL (HSUPA).[0038] More specifically, as noted above, communication system 100 may be a multiple access system and may employ one or more channel access schemes such as CDMA, TDMA, FDMA, OFDMA, SC-FDMA, and the like. For example, base station 114a in RAN 104 and WTRUs 102a, 102b, 102c may implement a radio technology such as Universal Mobile Telecommunications System (UMTS) Terrestrial Radio Access (UTRA) that may establish air interface 116 using Wideband CDMA (WCDMA). WCDMA may include communication protocols such as High Speed Packet Access (HSPA) and/or Enhanced HSPA (HSPA+). HSPA may include High Speed Downlink (DL) Packet Access (HSDPA) and/or High Speed UL Packet Access (HSUPA).

[0039] В одном варианте осуществления базовая станция 114a и WTRU 102a, 102b, 102c могут осуществлять радиотехнологию, такую как наземный радиодоступ улучшенного UMTS (E-UTRA), которая может устанавливать эфирный интерфейс 116 с использованием проекта долгосрочного развития (LTE), и/или расширенного LTE (LTE-A), и/или расширенного LTE Pro (LTE-A Pro).[0039] In one embodiment, base station 114a and WTRUs 102a, 102b, 102c may implement a radio technology, such as UMTS Enhanced Terrestrial Radio Access (E-UTRA), which may establish an over-the-air interface 116 using Long Term Evolution (LTE), and/ or LTE Enhanced (LTE-A), and/or LTE Enhanced Pro (LTE-A Pro).

[0040] В одном варианте осуществления базовая станция 114a и WTRU 102a, 102b, 102c могут осуществлять радиотехнологию, такую как радиодоступ NR, которая может устанавливать эфирный интерфейс 116 с использованием нового радио (NR).[0040] In one embodiment, base station 114a and WTRUs 102a, 102b, 102c may implement a radio technology, such as NR radio access, that may establish air interface 116 using new radio (NR).

[0041] В одном варианте осуществления базовая станция 114a и WTRU 102a, 102b, 102c могут осуществлять множество технологий радиодоступа. Например, базовая станция 114a и WTRU 102a, 102b, 102c могут осуществлять радиодоступ LTE и радиодоступ NR вместе, например, с использованием принципов возможности двойного подключения (DC). Таким образом, эфирный интерфейс, задействуемый WTRU 102a, 102b, 102c, может характеризоваться множеством типов технологий радиодоступа и/или передач, посланных к/от множества типов базовых станций (например, eNB и gNB).[0041] In one embodiment, base station 114a and WTRUs 102a, 102b, 102c may implement multiple radio access technologies. For example, base station 114a and WTRUs 102a, 102b, 102c can perform LTE radio access and NR radio access together, eg, using dual connectivity (DC) principles. Thus, the air interface employed by WTRUs 102a, 102b, 102c may be characterized by multiple types of radio access technologies and/or transmissions sent to/from multiple types of base stations (eg, eNBs and gNBs).

[0042] В других вариантах осуществления базовая станция 114a и WTRU 102a, 102b, 102c могут осуществлять радиотехнологии, такие как IEEE 802.11 (т. е. беспроводная достоверность (WiFi), IEEE 802.16 (т. е. технология широкополосного доступа в микроволновом диапазоне (WiMAX)), CDMA2000, CDMA2000 IX, CDMA2000 EV-DO, промежуточный стандарт 2000 (IS-2000), промежуточный стандарт 95 (IS-95), промежуточный стандарт 856 (IS-856), глобальная система мобильной связи (GSM), улучшенные скорости данных для развития GSM (EDGE), GSM EDGE (GERAN) и т. п.[0042] In other embodiments, base station 114a and WTRUs 102a, 102b, 102c may implement radio technologies such as IEEE 802.11 (i.e., wireless fidelity (WiFi), IEEE 802.16 (i.e., microwave broadband access technology ( WiMAX)), CDMA2000, CDMA2000 IX, CDMA2000 EV-DO, Intermediate Standard 2000 (IS-2000), Intermediate Standard 95 (IS-95), Intermediate Standard 856 (IS-856), Global System for Mobile Communications (GSM), enhanced data rates for the development of GSM (EDGE), GSM EDGE (GERAN), etc.

[0043] Базовая станция 114b на фиг.1A может быть беспроводным маршрутизатором, исходным узлом-B, исходным e-узлом-B или точкой доступа, например, и может задействовать любую подходящую RAT для обеспечения возможности беспроводного соединения в локализованной зоне, такой как местонахождение предприятия, дом, транспортное средство, комплекс зданий, промышленный объект, воздушный коридор (например, для использования дронами), дорожное полотно и т. п. В одном варианте осуществления базовая станция 114b и WTRU 102c, 102d могут осуществлять радиотехнологию, такую как IEEE 802.11, чтобы установить беспроводную локальную сеть (WLAN). В одном варианте осуществления базовая станция 114b и WTRU 102c, 102d могут осуществлять радиотехнологию, такую как IEEE 802.15, чтобы установить беспроводную персональную сеть (WPAN). В еще одном варианте осуществления базовая станция 114b и WTRU 102c, 102d могут задействовать сотовую RAT (например, WCDMA, CDMA2000, GSM, LTE, LTE-A, LTE-A Pro, NR и т. д.), чтобы установить пикосоту или фемтосоту. Как изображено на фиг.1A, базовая станция 114b может иметь непосредственное соединение с Интернетом 110. Таким образом, базовая станция 114b может не требоваться, чтобы осуществлять доступ к Интернету 110 через CN 106.[0043] Base station 114b in FIG. 1A may be a wireless router, source Node-B, source e-Node-B, or access point, for example, and may employ any suitable RAT to enable wireless connectivity in a localized area, such as a location. businesses, home, vehicle, campus, industrial facility, air corridor (eg, for use by drones), roadway, etc. In one embodiment, base station 114b and WTRUs 102c, 102d may implement a radio technology such as IEEE 802.11 to set up a wireless local area network (WLAN). In one embodiment, base station 114b and WTRUs 102c, 102d may implement a radio technology such as IEEE 802.15 to establish a wireless personal area network (WPAN). In yet another embodiment, base station 114b and WTRUs 102c, 102d may use a cellular RAT (e.g., WCDMA, CDMA2000, GSM, LTE, LTE-A, LTE-A Pro, NR, etc.) to establish a pico cell or femto cell . As depicted in FIG. 1A, base station 114b may have a direct connection to Internet 110. Thus, base station 114b may not be required to access Internet 110 via CN 106.

[0044] RAN 104 может находиться в связи с CN 106, которая может быть сетью любого типа, выполненной с возможностью обеспечивать сервисы голосовой связи, данных, приложений и/или протокола голоса через Интернет (VoIP) одному или нескольким WTRU 102a, 102b, 102c, 102d. Данные могут иметь варьирующиеся требования качества услуг (QoS), такие как различные требования пропускной способности, требования задержки, требования устойчивости к ошибкам, требования надежности, требования пропускной способности данных, требования мобильности и т. п. CN 106 может обеспечивать управление вызовами, сервисы формирования счетов, мобильные сервисы на основе местоположения, предоплаченные вызовы, возможность подключения к Интернету, распространение видео и т. д. и/или выполнять высокоуровневые функции безопасности, такие как аутентификация пользователя. Хотя это не изображено на фиг.1A, следует понимать, что RAN 104 и/или CN 106 могут быть в непосредственной или опосредованной связи с другими RAN, которые задействуют ту же самую RAT, что и RAN 104, или другую RAT. Например, дополнительно к соединению с RAN 104, которая может задействовать радиотехнологию NR, CN 106 может также находиться в связи с другой RAN (не показано), задействующей радиотехнологии GSM, UMTS, CDMA 2000, WiMAX, E-UTRA или WiFi.[0044] RAN 104 may be in communication with CN 106, which may be any type of network configured to provide voice, data, applications, and/or Voice over Internet Protocol (VoIP) services to one or more WTRUs 102a, 102b, 102c , 102d. The data may have varying Quality of Service (QoS) requirements such as different bandwidth requirements, delay requirements, error tolerance requirements, reliability requirements, data bandwidth requirements, mobility requirements, etc. The CN 106 may provide call control, formation services accounts, location-based mobile services, prepaid calls, Internet connectivity, video distribution, etc. and/or perform high-level security features such as user authentication. Although not depicted in FIG. 1A, it should be understood that RAN 104 and/or CN 106 may be in direct or indirect communication with other RANs that use the same RAT as RAN 104 or a different RAT. For example, in addition to being connected to a RAN 104 that may employ NR radio technology, CN 106 may also be in communication with another RAN (not shown) employing GSM, UMTS, CDMA 2000, WiMAX, E-UTRA, or WiFi radio technologies.

[0045] CN 106 может также выполнять функцию шлюза для WTRU 102a, 102b, 102c, 102d для осуществления доступа к PSTN 108, Интернету 110 и/или другим сетям 112. PSTN 108 может включать в себя телефонные сети с коммутацией каналов, которые обеспечивают традиционную службу телефонной связи (POTS). Интернет 110 может включать в себя глобальную систему взаимосоединенных компьютерных сетей и устройств, которые используют общие протоколы связи, такие как протокол управления передачей (TCP), протокол пользовательских датаграмм (UDP) и/или протокол Интернета (IP) в пакете протоколов Интернета TCP/IP. Сети 112 могут включать в себя сети проводной и/или беспроводной связи, принадлежащие и/или оперируемые другими поставщиками сервисов. Например, сети 112 могут включать в себя другую CN, соединенную с одной или несколькими RAN, которые могут задействовать ту же самую RAT, что и RAN 104, или другую RAT.[0045] CN 106 may also act as a gateway for WTRUs 102a, 102b, 102c, 102d to access PSTN 108, Internet 110, and/or other networks 112. PSTN 108 may include circuit switched telephone networks that provide traditional telephone service (POTS). The Internet 110 may include a global system of interconnected computer networks and devices that use common communication protocols such as Transmission Control Protocol (TCP), User Datagram Protocol (UDP), and/or Internet Protocol (IP) in the TCP/IP Internet protocol suite. . Networks 112 may include wired and/or wireless networks owned and/or operated by other service providers. For example, networks 112 may include another CN connected to one or more RANs that may use the same RAT as RAN 104 or a different RAT.

[0046] Некоторые или все из WTRU 102a, 102b, 102c, 102d в системе 100 связи могут включать в себя возможности множественного режима (например, WTRU 102a, 102b, 102c, 102d могут включать в себя множество приемопередатчиков для связи с различными беспроводными сетями через различные беспроводные линии связи). Например, WTRU 102c, изображенный на фиг.1A, может быть сконфигурирован для связи с базовой станцией 114a, которая может задействовать сотовую радиотехнологию, и с базовой станцией 114b, которая может задействовать радиотехнологию IEEE 802.[0046] Some or all of the WTRUs 102a, 102b, 102c, 102d in communication system 100 may include multiple mode capabilities (e.g., WTRUs 102a, 102b, 102c, 102d may include multiple transceivers for communicating with different wireless networks via various wireless links). For example, the WTRU 102c shown in FIG. 1A may be configured to communicate with a base station 114a that may employ cellular radio technology and with a base station 114b that may employ IEEE 802 radio technology.

[0047] Фиг.1B изображает схему системы, иллюстрирующую пример WTRU 102. Как изображено на фиг.1B, WTRU 102 может включать в себя процессор 118, приемопередатчик 120, передающий/принимающий элемент 122, динамик/микрофон 124, клавиатуру 126, дисплей/сенсорную панель 128, несменную память 130, сменную память 132, источник 134 питания, набор 136 микросхем глобальной системы позиционирования (GPS) и/или другие периферийные устройства 138, помимо прочего. Следует понимать, что WTRU 102 может включать в себя любую подкомбинацию вышеупомянутых элементов, при этом оставаясь в соответствии с вариантом осуществления.[0047] FIG. 1B is a system diagram illustrating an example WTRU 102. As shown in FIG. 1B, WTRU 102 may include a processor 118, a transceiver 120, a transmitter/receiver element 122, a speaker/microphone 124, a keyboard 126, a display/ touchpad 128, non-removable memory 130, removable memory 132, power supply 134, global positioning system (GPS) chipset 136, and/or other peripheral devices 138, among other things. It should be understood that WTRU 102 may include any subcombination of the above elements while remaining in accordance with the embodiment.

[0048] Процессор 118 может быть универсальным процессором, специализированным процессором, стандартным процессором, процессором цифровых сигналов (DSP), множеством микропроцессоров, одним или несколькими микропроцессорами в ассоциации с ядром DSP, средством управления, микроконтроллером, специализированными интегральными цепями (ASIC), цепями программируемых пользователем вентильных матриц (FPGA), интегральной цепью (IC) любого другого типа, машиной состояний и т. п. Процессор 118 может выполнять кодирование сигналов, обработку данных, управление мощностью, обработку входа/выхода и/или любые другие функциональные возможности, которые обеспечивают возможность WTRU 102 оперировать в беспроводной среде. Процессор 118 может быть объединен с приемопередатчиком 120, который может быть объединен с передающим/принимающим элементом 122. Хотя фиг.1B изображает процессор 118 и приемопередатчик 120 как отдельные компоненты, следует понимать, что процессор 118 и приемопередатчик 120 могут быть интегрированы вместе в электронный блок или кристалл.[0048] The processor 118 may be a general purpose processor, a special purpose processor, a standard processor, a digital signal processor (DSP), a plurality of microprocessors, one or more microprocessors in association with a DSP core, a control medium, a microcontroller, application specific integrated circuits (ASICs), programmable gate array user (FPGA), any other type of integrated circuit (IC), state machine, and the like. Processor 118 may perform signal coding, data processing, power control, input/output processing, and/or any other functionality that provides the ability of the WTRU 102 to operate in a wireless environment. Processor 118 may be combined with transceiver 120, which may be combined with transmitter/receiver element 122. Although FIG. 1B depicts processor 118 and transceiver 120 as separate components, it should be understood that processor 118 and transceiver 120 may be integrated together in an electronic assembly. or crystal.

[0049] Передающий/принимающий элемент 122 может быть выполнен с возможностью передавать сигналы к или принимать сигналы от базовой станции (например, базовой станции 114a) через эфирный интерфейс 116. Например, в одном варианте осуществления передающий/принимающий элемент 122 может быть антенной, выполненной с возможностью передавать и/или принимать RF-сигналы. В одном варианте осуществления передающий/принимающий элемент 122 может быть излучателем/средством обнаружения, выполненным с возможностью передавать и/или принимать IR-сигналы, UV-сигналы или сигналы видимого света, например. В еще одном варианте осуществления передающий/принимающий элемент 122 может быть выполнен с возможностью передавать и/или принимать как RF-сигналы, так и световые сигналы. Следует понимать, что передающий/принимающий элемент 122 может быть выполнен с возможностью передавать и/или принимать любую комбинацию беспроводных сигналов.[0049] Transmitting/receiving element 122 may be configured to transmit signals to or receive signals from a base station (eg, base station 114a) via air interface 116. For example, in one embodiment, transmitting/receiving element 122 may be an antenna configured capable of transmitting and/or receiving RF signals. In one embodiment, the transmitter/receiver element 122 may be an emitter/detector capable of transmitting and/or receiving IR signals, UV signals, or visible light signals, for example. In yet another embodiment, transmitter/receiver element 122 may be configured to transmit and/or receive both RF signals and light signals. It should be understood that the transmitting/receiving element 122 may be configured to transmit and/or receive any combination of wireless signals.

[0050] Хотя передающий/принимающий элемент 122 изображен на фиг.1B в виде одиночного элемента, WTRU 102 может включать в себя любое количество передающих/принимающих элементов 122. Более конкретным образом, WTRU 102 может задействовать технологию MIMO. Таким образом, в одном варианте осуществления WTRU 102 может включать в себя два или более передающих/принимающих элементов 122 (например, множество антенн) для передачи и приема беспроводных сигналов через эфирный интерфейс 116.[0050] Although the transmit/receive element 122 is shown in FIG. 1B as a single element, WTRU 102 may include any number of transmit/receive elements 122. More specifically, WTRU 102 may employ MIMO technology. Thus, in one embodiment, WTRU 102 may include two or more transmit/receive elements 122 (e.g., multiple antennas) for transmitting and receiving wireless signals over air interface 116.

[0051] Приемопередатчик 120 может быть выполнен с возможностью модулировать сигналы, которые должны быть переданы передающим/принимающим элементом 122, и демодулировать сигналы, которые принимаются передающим/принимающим элементом 122. Как отмечено выше, WTRU 102 может иметь возможности множественного режима. Таким образом, приемопередатчик 120 может включать в себя множество приемопередатчиков для обеспечения возможности WTRU 102 осуществлять связь посредством множества RAT, таких как NR и IEEE 802.11, например.[0051] Transceiver 120 may be configured to modulate signals to be transmitted by transmitting/receiving element 122 and demodulating signals to be received by transmitting/receiving element 122. As noted above, WTRU 102 may have multiple mode capabilities. Thus, transceiver 120 may include a plurality of transceivers to enable WTRU 102 to communicate over multiple RATs, such as NR and IEEE 802.11, for example.

[0052] Процессор 118 WTRU 102 может быть объединен с и может принимать ввод пользовательских данных от динамика/микрофона 124, клавиатуры 126 и/или дисплея/сенсорной панели 128 (например, блока отображения на основе жидкокристаллического дисплея (LCD) или блока отображения на основе органических светоизлучающих диодов (OLED)). Процессор 118 может также выводить пользовательские данные к динамику/микрофону 124, клавиатуре 126 и/или дисплею/сенсорной панели 128. Дополнительно, процессор 118 может осуществлять доступ к информации из и сохранять данные в подходящей памяти любого типа, такой как несменная память 130 и/или сменная память 132. Несменная память 130 может включать в себя оперативную память (RAM), постоянную память (ROM), жесткий диск или запоминающее устройство любого другого типа. Сменная память 132 может включать в себя карту модуля идентификации абонента (SIM), флэш-карту, безопасную цифровую (SD) карту памяти и т. п. В других вариантах осуществления процессор 118 может осуществлять доступ к информация из и сохранять данные в памяти, которая не находится физически в WTRU 102, такой как на сервере или домашнем компьютере (не показано).[0052] Processor 118 of WTRU 102 may be associated with and may receive user input from speaker/microphone 124, keyboard 126, and/or display/touch panel 128 (e.g., a liquid crystal display (LCD) based display unit or organic light emitting diodes (OLED)). Processor 118 may also output user data to speaker/microphone 124, keyboard 126, and/or display/touchpad 128. Additionally, processor 118 may access information from and store data in any type of suitable memory, such as non-removable memory 130 and/or or removable memory 132. Non-removable memory 130 may include random access memory (RAM), read only memory (ROM), a hard drive, or any other type of storage device. Removable memory 132 may include a Subscriber Identity Module (SIM) card, a flash card, a secure digital (SD) memory card, and the like. In other embodiments, processor 118 may access information from and store data in a memory that is not physically located in the WTRU 102, such as on a server or home computer (not shown).

[0053] Процессор 118 может принимать мощность от источника мощности 134 и может быть выполнен с возможностью распределять и/или управлять мощностью для других компонентов в WTRU 102. Источник мощности 134 может быть любым подходящим устройством для питания WTRU 102. Например, источник мощности 134 может включать в себя одну или несколько сухих батарей (например, никель-кадмиевую (NiCd), никель-цинковую (NiZn), никель-металгидридную (NiMH), литиево-ионную (Li-ion) и т. д.), солнечных элементов, топливных элементов и т. п.[0053] Processor 118 may receive power from power source 134 and may be configured to allocate and/or manage power to other components in WTRU 102. Power source 134 may be any suitable device for powering WTRU 102. For example, power source 134 may include one or more dry cells (e.g. nickel cadmium (NiCd), nickel zinc (NiZn), nickel metal hydride (NiMH), lithium ion (Li-ion), etc.), solar cells, fuel cells, etc.

[0054] Процессор 118 может также быть объединен с набором 136 микросхем GPS, который может быть выполнен с возможностью обеспечивать информацию местоположения (например, долготу и широту), касающуюся текущего местоположения WTRU 102. В качестве дополнения к или вместо информации от набора 136 микросхем GPS, WTRU 102 может принимать информацию местоположения через эфирный интерфейс 116 от базовой станции (например, базовых станций 114a, 114b) и/или определять свое местоположение на основе временных характеристик сигналов, принимаемых от двух или более ближайших базовых станций. Следует понимать, что WTRU 102 может получать информацию местоположения посредством любого подходящего способа определения местоположения, при этом оставаясь в соответствии с вариантом осуществления.[0054] The processor 118 may also be combined with the GPS chipset 136, which may be configured to provide location information (eg, longitude and latitude) regarding the current location of the WTRU 102. In addition to or instead of the information from the GPS chipset 136 , WTRU 102 may receive location information via air interface 116 from a base station (eg, base stations 114a, 114b) and/or determine its location based on the timing of signals received from two or more nearby base stations. It should be understood that the WTRU 102 may acquire location information by any suitable location method while remaining in accordance with the embodiment.

[0055] Процессор 118 может дополнительно быть объединен с другими периферийными устройствами 138, которые могут включать в себя один или несколько программных и/или аппаратных модулей, которые обеспечивают дополнительные признаки, функциональные возможности и/или способность проводного или беспроводного соединения. Например, периферийные устройства 138 могут включать в себя акселерометр, электронный компас, спутниковый приемопередатчик, цифровую камеру (для фотографий и/или видео), порт универсальной последовательной шины (USB), устройство вибрации, телевизионный приемопередатчик, гарнитуру, модуль Bluetooth®, радиоблок с частотной модуляцией (FM), цифровой музыкальный проигрыватель, проигрыватель мультимедиа, модуль проигрывания видеоигр, Интернет-обозреватель, устройство виртуальной реальности и/или дополненной реальности (VR/AR), трекер активности и т. п. Периферийные устройства 138 могут включать в себя один или несколько датчиков, датчики могут быть одним или несколькими из гироскопа, акселерометра, датчика на эффекте Холла, магнитометра, датчика направления, датчика близости, датчика температуры, датчика времени; датчика геолокации; альтиметра, датчика освещенности, датчика касания, магнитометра, барометра, датчика жестов, биометрического датчика и/или датчика влажности.[0055] The processor 118 may further be combined with other peripheral devices 138, which may include one or more software and/or hardware modules that provide additional features, functionality, and/or wired or wireless connectivity. For example, peripheral devices 138 may include an accelerometer, an electronic compass, a satellite transceiver, a digital camera (for photos and/or video), a universal serial bus (USB) port, a vibration device, a television transceiver, a headset, a Bluetooth® module, a radio with frequency modulation (FM), digital music player, media player, video game player, web browser, virtual reality and/or augmented reality (VR/AR) device, activity tracker, and the like. Peripheral devices 138 may include one or multiple sensors, the sensors may be one or more of a gyroscope, an accelerometer, a Hall effect sensor, a magnetometer, a direction sensor, a proximity sensor, a temperature sensor, a time sensor; geolocation sensor; altimeter, ambient light sensor, touch sensor, magnetometer, barometer, gesture sensor, biometric sensor and/or humidity sensor.

[0056] WTRU 102 может включать в себя полнодуплексное радио, для которого передача и прием некоторых или всех из сигналов (например, связанных с конкретными подкадрами для обеих из UL (например, для передачи) и нисходящей линии связи (например, для приема)) могут быть совмещенными и/или одновременными. Полнодуплексное радио может включать в себя блок обращения с помехами, чтобы уменьшать и/или по существу устранять внутренние помехи посредством либо аппаратных средств (например, ограничителя), либо обработки сигналов посредством процессора (например, отдельного процессора (не показан) или посредством процессора 118). В одном варианте осуществления WRTU 102 может включать в себя полудуплексное радио, для которого передача и прием некоторых или всех из сигналов (например, связанных с конкретными подкадрами для либо UL (например, для передачи), либо нисходящей линии связи (например, для приема)).[0056] The WTRU 102 may include a full duplex radio for which the transmission and reception of some or all of the signals (eg, associated with specific subframes for both of the UL (eg, for transmission) and downlink (eg, for reception)) may be combined and/or simultaneous. A full duplex radio may include an interference handling unit to reduce and/or substantially eliminate internal interference through either hardware (e.g., a limiter) or signal processing by a processor (e.g., a separate processor (not shown) or by processor 118) . In one embodiment, the WRTU 102 may include a half duplex radio for which the transmission and reception of some or all of the signals (e.g., associated with specific subframes for either UL (e.g., for transmission) or downlink (e.g., for reception) ).

[0057] Хотя WTRU описан на фиг.1A-1B как беспроводной терминал, предполагается, что в конкретных репрезентативных вариантах осуществления, которые такой терминал может использовать (например, временно или постоянно), проводная связь осуществляет интерфейс с сетью связи.[0057] While the WTRU is described in FIGS. 1A-1B as a wireless terminal, it is contemplated that in specific representative embodiments that such a terminal may use (eg, temporarily or permanently), the wired communication interfaces with the communications network.

[0058] Ввиду фиг.1A-1B и соответствующего описания фиг.1A-1B, одна, или несколько, или все из функций, описанных здесь в отношении одного или нескольких из: WTRU 102a-d, базовой станции 114a-b, e-узла-B 160a-c, MME 162, SGW 164, PGW 166, gNB 180a-c, AMF 182a-b, UPF 184a-b, SMF 183a-b, DN 185a-b и/или любого другого устройства (устройств), описанного здесь, могут выполняться одним или несколькими устройствами эмуляции (не показаны). Устройства эмуляции могут быть одним или несколькими устройствами, выполненными с возможностью эмулировать одну, или несколько, или все из функций, описанных здесь. Например, устройства эмуляции могут быть использованы, чтобы тестировать другие устройства и/или симулировать функции сети и/или WTRU.[0058] In view of FIGS. 1A-1B and the corresponding description of FIGS. 1A-1B, one, or more, or all of the functions described herein in relation to one or more of: WTRU 102a-d, base station 114a-b, e- node-B 160a-c, MME 162, SGW 164, PGW 166, gNB 180a-c, AMF 182a-b, UPF 184a-b, SMF 183a-b, DN 185a-b and/or any other device(s), described here may be performed by one or more emulation devices (not shown). Emulation devices may be one or more devices configured to emulate one or more or all of the functions described herein. For example, emulation devices may be used to test other devices and/or simulate network and/or WTRU functions.

[0059] Эмуляция устройств может быть выполнена с возможностью осуществлять одно или несколько испытаний других устройств в лабораторной среде и/или в операторской сетевой среде. Например, одно или несколько устройств эмуляции может выполнять одну, или несколько, или все функции, при этом являясь полностью или частично осуществляемой и/или применяемой в составе сети проводной и/или беспроводной связи для того, чтобы испытать другие устройства внутри сети связи. Одно или несколько устройств эмуляции может выполнять одну, или несколько, или все функции, при этом являясь временно осуществляемой/применяемой в составе сети проводной и/или беспроводной связи. Устройство эмуляции может непосредственно объединяться с другим устройством в целях испытания и/или может выполнять испытание с использованием беспроводной связи по воздуху.[0059] Device emulation may be configured to perform one or more tests on other devices in a lab environment and/or in an operator network environment. For example, one or more emulation devices may perform one or more or all of the functions while being fully or partially implemented and/or used as part of a wired and/or wireless communication network in order to test other devices within the communication network. One or more emulation devices can perform one, or several, or all functions, while being temporarily implemented/used as part of a wired and/or wireless communication network. The emulation device may be directly coupled with another device for testing purposes and/or may perform the test using wireless over the air.

[0060] Одно или несколько устройств эмуляции могут выполнять одну или несколько, в том числе все, функций, при этом не являясь осуществляемыми/устанавливаемыми в составе сети проводной и/или беспроводной связи. Например, устройства эмуляции могут задействоваться в сценарии испытаний в лаборатории для испытаний и/или неустановленной (например, испытательной) сети проводной и/или беспроводной связи для того, чтобы осуществлять испытания одного или нескольких компонентов. Одно или несколько устройств эмуляции могут быть испытательным оборудованием. Непосредственное объединение RF и/или беспроводная связь посредством цепей RF (например, которые могут включать в себя одну или несколько антенн) могут быть использованы устройствами эмуляции, чтобы передавать и/или принимать данные.[0060] One or more emulation devices can perform one or more, including all, functions, while not being implemented / installed as part of a wired and / or wireless communication network. For example, emulation devices may be used in a test scenario in a test lab and/or an uninstalled (eg, test) wired and/or wireless network in order to test one or more components. One or more emulation devices can be test equipment. Direct RF bonding and/or wireless communication via RF circuits (eg, which may include one or more antennas) may be used by emulation devices to transmit and/or receive data.

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

Гибридное кодирование видео на основе блоков.Block-based hybrid video coding.

[0061] Как и испытательная модель HEVC (HM), программные средства модели объединенного исследования (JEM) также основываются на структуре (100) гибридного кодирования видео на основе блоков. Фиг.2 изображает структурную схему системы гибридного кодирования видео на основе блоков. Следует заметить, что в настоящей заявке термины "восстановленный" и "декодированный" могут быть использованы взаимозаменяемым образом. Обычно, но не обязательно, термин "восстановленный" используется на стороне кодера, в то время как "декодированный" используется на стороне декодера.[0061] Like the HEVC Test Model (HM), the Joint Exploration Model (JEM) software is also based on a block-based hybrid video coding framework (100). 2 is a block diagram of a block-based hybrid video coding system. It should be noted that in this application, the terms "restored" and "decoded" can be used interchangeably. Usually, but not necessarily, the term "recovered" is used on the encoder side, while "decoded" is used on the decoder side.

[0062] Перед кодированием видеопоследовательность может проходить предварительную обработку, например применение преобразования цвета для входного цветного изображения (например, преобразование из RGB 4:4:4 в YCbCr 4:2:0) или выполнение повторного отображения компонентов входного изображения, для того, чтобы получить распределение сигнала, более устойчивое к сжатию (например, с использованием выравнивания гистограммы одного из цветовых компонентов). Метаданные могут быть связаны с предварительной обработкой и присоединяться к битовому потоку.[0062] Before encoding, the video sequence may undergo pre-processing, such as applying a color transform to the input color image (for example, converting from RGB 4:4:4 to YCbCr 4:2:0) or performing a re-rendering of the components of the input image, in order to obtain a signal distribution that is more resistant to compression (for example, using histogram equalization of one of the color components). Metadata can be associated with preprocessing and attached to the bitstream.

[0063] Входной видеосигнал 102 обрабатывается поблочно. Техническое описание HEVC проводит различие между "блоками" и "элементами", где "блок" относится к конкретной зоне в массиве дискретных отсчетов (например, яркость, Y), а "элемент" включает в себя связанные блоки всех закодированных цветовых компонентов (например, Y, Cb, Cr или монохромного), синтаксические элементы и данные предсказания, которые связаны с блоками (например, вектора движения). В настоящей заявке термин "блок" может быть использован для ссылки на массив данных различных размеров, и он может быть использован для ссылки на макроблок и сектор, как определено в H.264/AVC, любой из элемента кодового дерева (CTU), элемента кодирования (CU), элемента предсказания (PU), элемента преобразования (TU), блока кодирования (CB), блока предсказания (PB) и блока преобразования (TB), как в HEVC, суперблока или подразделения в AV1, CTU, CU, TU, CB и TB, как в VVC (гибкое кодирование видео) или других стандартах кодирования видео.[0063] The input video signal 102 is processed block by block. The HEVC datasheet distinguishes between "blocks" and "elements", where "block" refers to a specific area in an array of discrete samples (e.g., brightness, Y), and "element" includes associated blocks of all encoded color components (e.g., Y, Cb, Cr, or monochrome), syntax elements, and prediction data that are associated with blocks (eg, motion vectors). In this application, the term "block" can be used to refer to a data array of various sizes, and it can be used to refer to a macroblock and a sector, as defined in H.264/AVC, any of a code tree element (CTU), a coding element (CU), prediction unit (PU), transform unit (TU), coding unit (CB), prediction unit (PB), and transform unit (TB) as in HEVC, superblock or division in AV1, CTU, CU, TU, CB and TB, as in VVC (flexible video coding) or other video coding standards.

[0064] В HEVC расширенные размеры блока используются, чтобы эффективно сжимать видеосигналы высокого разрешения (1080p и выше). В HEVC, CU может иметь размер вплоть до 64Ч64 пикселов. CU может быть дополнительно разделен на элементы предсказания, для которых отдельные способы предсказания применяются. Для каждого входного блока видео (MB или CU) пространственное предсказание (160) и/или временное предсказание (162) может выполняться.[0064] In HEVC, extended block sizes are used to efficiently compress high definition video signals (1080p and above). In HEVC, a CU can be up to 64×64 pixels in size. The CU may be further divided into prediction units for which separate prediction methods are applied. For each input video block (MB or CU), spatial prediction (160) and/or temporal prediction (162) may be performed.

[0065] Пространственное предсказание (или "внутреннее (intra) предсказание") использует пикселы из дискретных отсчетов уже закодированных соседних блоков (который называются опорными дискретного отсчетами) в одном и том же изображении/сегменте видео, чтобы предсказать текущий блок видео. Пространственное предсказание уменьшает пространственную избыточность, свойственную видеосигналу.[0065] Spatial prediction (or "intra prediction") uses pixels from discrete samples of already encoded neighboring blocks (which are referred to as reference discrete samples) in the same picture/video segment to predict the current video block. Spatial prediction reduces the spatial redundancy inherent in the video signal.

[0066] Временное предсказание (также называемое "промежуточным (inter) предсказанием" или "предсказанием с компенсацией движения") использует восстановленные пикселы из уже закодированных изображений видео, чтобы предсказать текущий блок видео. Временное предсказание уменьшает временную избыточность, свойственную видеосигналу. Временный сигнал предсказания для некоторого заданного блока видео обычно сигнализируется одним или несколькими векторами движения, которые указывают количество и направление движения между текущим блоком и его опорным блоком. Также, если множество опорных изображений поддерживаются (как в случае для последних стандартов кодирования видео, таких как H.264/AVC или HEVC), то для каждого блока видео его опорный индекс изображения посылается дополнительно; и опорный индекс используется, чтобы идентифицировать, из какого опорного изображения в хранилище (164) опорного изображения сигнал временного предсказания происходит.[0066] Temporal prediction (also called "inter-prediction" or "motion-compensated prediction") uses recovered pixels from already encoded video images to predict the current block of video. Temporal prediction reduces the temporal redundancy inherent in the video signal. The temporal prediction signal for some given video block is typically signaled by one or more motion vectors that indicate the amount and direction of motion between the current block and its reference block. Also, if multiple reference pictures are supported (as is the case for recent video coding standards such as H.264/AVC or HEVC), then for each video block, its reference picture index is additionally sent; and the reference index is used to identify from which reference picture in the reference picture store (164) the temporal prediction signal originates.

[0067] После пространственного и/или временного предсказания блок (180) принятия решений о режиме в кодере выбирает наилучший режим предсказания, например на основе способа оптимизации отношения скорости к искажению. Блок предсказания затем вычитается из текущего блока (116) видео; и остаток предсказания декоррелируется с использованием преобразования (104) и квантуется (106).[0067] After spatial and/or temporal prediction, the mode decision block (180) in the encoder selects the best prediction mode, for example, based on a rate-to-distortion optimization method. The prediction block is then subtracted from the current video block (116); and the prediction residual is decorrelated using transform (104) and quantized (106).

[0068] Кодер декодирует закодированный блок, чтобы обеспечить ссылку для дополнительного предсказания. Квантованные остаточные коэффициенты обратно квантуются (110) и обратно преобразовываются (112), чтобы сформировать восстановленный остаток, который затем прибавляется обратно к блоку предсказания (126), чтобы формировать восстановленный блок видео.[0068] The encoder decodes the encoded block to provide a link for additional prediction. The quantized residual coefficients are inversely quantized (110) and inversely transformed (112) to form a reconstructed residual, which is then added back to a prediction block (126) to form a reconstructed video block.

[0069] Кодер может также пропускать преобразование и применять квантование непосредственно к непреобразованному остаточному сигналу. Кодер может также обходить и преобразование, и квантование, т. е. остаток кодируется непосредственно без применения процесса преобразования или квантования. В непосредственном кодировании импульсно-кодовой модуляции (PCM) никакое предсказание не применяется, и дискретные отсчеты элемента кодирования непосредственно кодируются в битовый поток.[0069] The encoder may also skip the transform and apply quantization directly to the untransformed residual signal. The encoder can also bypass both transformation and quantization, i.e. the remainder is encoded directly without applying a transformation or quantization process. In direct Pulse Code Modulation (PCM) coding, no prediction is applied and the bin samples are directly encoded into the bitstream.

[0070] Дополнительная внутриконтурная фильтрация, такая как антиблочный фильтр, фильтр SAO (смещение, адаптивное для дискретного отсчета) и адаптивные фильтры контура могут применяться (166) к восстановленному блоку видео перед тем, как он помещается в хранилище (164) опорного изображения и используется, чтобы кодировать будущие блоки видео. Для того чтобы формировать выходной битовый поток 120 видео, все из режима кодирования (промежуточного или внутреннего), информации режима предсказания, информации движения и квантованных остаточных коэффициентов посылаются к блоку (108) энтропийного кодирования, чтобы дополнительно быть сжатыми и запакованными, чтобы формировать битовый поток.[0070] Additional in-loop filtering such as an anti-block filter, SAO (discrete sample adaptive offset), and adaptive loop filters may be applied (166) to the reconstructed video block before it is placed in the reference picture store (164) and used to encode future video blocks. In order to generate output video bitstream 120, all of the coding mode (intermediate or intra), prediction mode information, motion information, and quantized residual coefficients are sent to the entropy coding block (108) to be further compressed and packed to form a bitstream .

[0071] Фиг.3 изображает общую структурную схему декодера (200) видео на основе блоков. Декодер видео в общем случае выполняет проход декодирования, обратный соответствующему проходу кодирования, который выполняет декодирование видео в составе кодирования видеоданных. Битовый поток 202 видео сначала распаковывается и энтропийно декодируется в блоке 208 энтропийного декодирования. Режим кодирования и информация предсказания посылаются либо блоку 260 пространственного предсказания (в случае внутреннего кодирования), либо блоку 262 временного предсказания (в случае промежуточного кодирования), чтобы формировать блок предсказания. Остаточные коэффициенты преобразования посылаются блоку 210 обратного квантования и блоку 212 обратного преобразования, чтобы восстанавливать остаточный блок. Блок предсказания и остаточный блок затем суммируются на 226. Восстановленный блок может дополнительно проходить внутриконтурную фильтрацию (266) перед тем, как он сохраняется в хранилище 264 опорного изображения. Восстановленное видео (220) в хранилище опорного изображения может затем сохраняться, передаваться или использоваться, чтобы приводить в действие устройство отображения, а также использоваться, чтобы предсказывать будущие блоки видео.[0071] FIG. 3 is a general block diagram of a block-based video decoder (200). A video decoder generally performs a decoding pass that is the reverse of a corresponding encoding pass that performs video decoding as part of encoding video data. The video bitstream 202 is first decompressed and entropy decoded in entropy decoding block 208 . The coding mode and prediction information are sent to either the spatial prediction block 260 (in the case of intra coding) or the temporal prediction block 262 (in the case of intermediate coding) to generate a prediction block. The residual transform coefficients are sent to inverse quantizer 210 and inverse transform 212 to reconstruct the residual block. The prediction block and the residual block are then summed at 226. The reconstructed block may further undergo in-loop filtering (266) before it is stored in the reference image store 264. The reconstructed video (220) in the reference picture store may then be stored, transmitted, or used to drive the display device, as well as used to predict future blocks of video.

[0072] Декодированное изображение может дополнительно проходить постобработку, например обратное преобразование цвета (например, преобразование из YCbCr 4:2:0 в RGB 4:4:4) или обратное повторное отображение, выполняющее обратный процесс для процесса обратного отображения, выполняемого в обработке предварительного кодирования. Постобработка может использовать метаданные, найденные в обработке предварительного кодирования и просигнализированные в битовом потоке.[0072] The decoded image may further undergo post-processing, such as reverse color conversion (for example, conversion from YCbCr 4:2:0 to RGB 4:4:4) or reverse remapping performing a reverse process to the reverse mapping process performed in preprocessing. coding. Post-processing may use the metadata found in the precoding processing and signaled in the bitstream.

[0073] Оба из HEVC и JEM придерживаются рабочих потоков гибридного кодирования/декодирования видео с компенсацией движения на основе блоков, как показано на фиг.2 и фиг.3, и основаны на тех же самых функциональных модулях, таких как пространственный предсказание (т. е. внутреннее предсказание), временное предсказание (т. е. промежуточное предсказание), преобразование, квантование, энтропийное кодирование и контурные фильтры. Однако несколько модулей промежуточного кодирования, в особенности тех, которые связаны с предсказанием с компенсацией движения, дополнительно расширены и улучшены.[0073] Both of HEVC and JEM adhere to block-based hybrid motion-compensated video coding/decoding workflows as shown in FIG. 2 and FIG. 3, and are based on the same functional units such as spatial prediction (i.e., i.e. intra prediction), temporal prediction (i.e. intermediate prediction), transformation, quantization, entropy coding and loop filters. However, several intermediate coding modules, especially those related to motion-compensated prediction, have been further extended and improved.

Методики промежуточного предсказания на основе шаблона.Template-based intermediate prediction techniques.

[0074] В HEVC параметры кодирования, используемые для промежуточного предсказания (например, вектора движения (MV), опорный индекс, взвешенные параметры предсказания) определяются в кодере посредством оптимизации отношения скорости к искажению (R-D) и сигнализируются декодеру. Таким образом, служебное сигнализирование, используемое, чтобы кодировать эти параметры промежуточного кодирования, может учитывать значимую часть выходного битового потока. Для того чтобы избежать сигнализирования этих параметров, две методики промежуточного предсказания на основе шаблона применяются в JEM посредством нахождения этих параметров промежуточного кодирования в декодере на основе дискретных отсчетов шаблона, например, восстановленных соседних дискретных отсчетов текущего блока, которые декодируются ранее. Первый способ называется компенсацией локального освещения (LIC). LIC компенсирует предсказание с компенсацией движения на основе масштабирования и смещения, которые находятся на основе дискретных отсчетов шаблона, чтобы разрешить проблему изменения локального освещения между различными изображениями. Второй способ называется режимом шаблона преобразования с повышением частоты кадров (FRUC), в котором информация движения (MV и опорный индексы) находится в декодере на основе сравнения с шаблоном.[0074] In HEVC, the coding parameters used for intermediate prediction (eg, motion vector (MV), reference index, weighted prediction parameters) are determined in the encoder by optimizing the rate-to-distortion ratio (R-D) and signaled to the decoder. Thus, the overhead signaling used to encode these intermediate encoding parameters can account for a significant portion of the output bitstream. In order to avoid signaling these parameters, two template-based intermediate prediction techniques are applied in JEM by finding these intermediate coding parameters in the decoder based on the sample samples of the template, for example, reconstructed neighboring samples of the current block that are decoded earlier. The first method is called Local Illumination Compensation (LIC). The LIC compensates for motion-compensated prediction based on scaling and offset, which are found based on discrete pattern samples, to solve the problem of local illumination variation between different images. The second method is called frame rate upconverting (FRUC) pattern mode in which motion information (MV and reference indexes) is found in the decoder based on pattern matching.

[0075] В качестве дополнения к LIC и FRUC, другие способы на основе шаблона также были предложены для применения как к промежуточному предсказанию, так и к сигнализированию остаточных коэффициентов. В этих способах восстановленные соседние дискретные отсчеты используются для декодирования текущего блока. Далее аспекты этих способов кодирования на основе шаблона также кратко описаны.[0075] In addition to LIC and FRUC, other template-based methods have also been proposed for application to both intermediate prediction and residual coefficient signaling. In these methods, the recovered adjacent samples are used to decode the current block. In the following, aspects of these template-based encoding methods are also briefly described.

Компенсация локального освещения.Local illumination compensation.

[0076] LIC является инструментом кодирования, который используется в JEM, чтобы разрешить проблему изменений локального освещения, которые существуют в соседних по времени изображениях, как описано в работе J. Chen, E. Alshina, G. J. Sullivan, J. R. Ом, J. Boyce, "Algorithm description of Joint Exploration Test Model 7 (JEM7)", JVET-G1001, июль 2017 г., Торонто, Италия. LIC основана на линейной модели, где коэффициент масштабирования и смещение применяются к опорным дискретного отсчетам, чтобы получить дискретные отсчеты предсказания текущего блока. Конкретным образом, LIC может быть математически смоделирована следующим уравнением:[0076] LIC is an encoding tool that is used in JEM to solve the problem of local illumination changes that exist in adjacent images in time, as described in J. Chen, E. Alshina, G. J. Sullivan, J. R. Ohm, J. Boyce, "Algorithm description of Joint Exploration Test Model 7 (JEM7)", JVET-G1001, July 2017, Toronto, Italy. LIC is based on a linear model where a scaling factor and an offset are applied to reference samples to obtain prediction samples of the current block. Concretely, LIC can be mathematically modeled by the following equation:

P(x, y)=бP r (x+v x, y+v y )+в P ( x, y )= bP r ( x + v x , y + v y )+ c (1)(1)

где P(x, y) - сигнал предсказания текущего блока в координатах (x, y); P r {x+v x, y+v y ) - опорный блок, на который указывает вектор движения (v x, v y ); б и в - соответствующие коэффициент масштабирования и смещение, которые применяются к опорному блоку. Фиг.4 изображает процесс LIC. На фиг.4, когда LIC применяется к блоку видео, линейный способ минимальной среднеквадратичной ошибки (LLMSE) задействуется, чтобы найти значения параметров LIC (б и в) посредством минимизации разницы между соседними дискретного отсчетами текущего блока (шаблон T на фиг.4) и их соответствующими опорными дискретного отсчетами во временных опорных изображениях (т. е. либо T0, либо T1 на фиг.4), например:where P ( x, y ) is the prediction signal of the current block in coordinates ( x, y ); P r { x + v x , y + v y ) is the reference block pointed to by the motion vector ( v x , v y ); b and c are the respective scaling factor and offset that are applied to the reference block. 4 depicts the LIC process. In FIG. 4, when LIC is applied to a block of video, a linear minimum mean square error (LLMSE) method is employed to find the values of the LIC parameters ( b and c ) by minimizing the difference between adjacent discrete samples of the current block (pattern T in FIG. 4) and their respective sample references in temporal reference pictures (i.e. either T0 or T1 in FIG. 4), for example:

Figure 00000001

Figure 00000002
Figure 00000001

Figure 00000002
(2)(2)
Figure 00000003
Figure 00000003
(3)(3)

где N представляет количество дискретных отсчетов шаблона, которые используются для нахождения параметров LIC; T(x i , y i ) - дискретный отсчет шаблона текущего блока в координатах (x i , y i ); и

Figure 00000004
- соответствующий опорный дискретный отсчет дискретного отсчета шаблона на основе вектора движения (либо L0, либо L1) текущего блока. Дополнительно, чтобы уменьшить вычислительную сложность, дискретные отсчеты шаблона и опорные дискретные отсчеты шаблона могут быть субдискретизированы (субдискретизация 2:1), чтобы найти параметры LIC, например, только затененные дискретные отсчеты на фиг.4 могут быть использованы, чтобы найти б и в.where N represents the number of discrete samples of the pattern that are used to find the LIC parameters; T ( x i , y i ) - discrete sample of the current block template in coordinates ( x i , y i ); And
Figure 00000004
- the corresponding template sample sample reference based on the motion vector (either L0 or L1) of the current block. Additionally, to reduce computational complexity, the template samples and reference template samples can be downsampled (2:1 downsampling) to find the LIC parameters, for example, only the shaded samples in FIG. 4 can be used to find b and c .

Основанное на сравнении с шаблоном преобразование с повышением частоты кадров.Template-based upscaling.

[0077] Для того чтобы уменьшить служебное сигнализирование информации движения, FRUC поддерживается для промежуточных блоков в JEM. Когда обеспечена возможность FRUC, и MV, и индексы опорного изображения текущего блока не сигнализируются; вместо этого они генерируются на стороне декодера. Конкретным образом, для нахождения движения FRUC набор предварительных потенциально подходящих вариантов MV, генерируемый из пространственных и временных соседей текущего блока, проверяется, и потенциально подходящий вариант, который приводит к минимальной сумме абсолютной разницы (SAD), выбирается в качестве исходного MV. Затем локальный поиск вокруг исходного MV выполняется, и MV с минимальной SAD используется в качестве MV для всего блока. В существующем FRUC два алгоритма поиска поддерживается, включающих в себя сравнение с шаблоном и двустороннее согласование. В сравнении с шаблоном верхний и/или левый декодированные соседние дискретные отсчеты (без применения внутриконтурных фильтров) текущего блока используются, чтобы найти информацию движения блока посредством поиска MV, который обеспечивает наилучшее согласование между шаблоном и его соответствующим блоком (например, соответствующим блоком, имеющим тот же самый размер, что и шаблон) в опорном изображении. Фиг.5 изображает основанное на сравнении с шаблоном FRUC.[0077] In order to reduce traffic information overhead, FRUC is supported for intermediate blocks in JEM. When FRUC is enabled, both MV and reference picture indexes of the current block are not signaled; instead, they are generated on the decoder side. Specifically, in order to find the FRUC motion, a set of preliminary MV potential candidates generated from the current block's spatial and temporal neighbors is tested and the candidate candidate that results in the minimum sum absolute difference (SAD) is selected as the original MV. Then a local search around the original MV is performed and the MV with the minimum SAD is used as the MV for the entire block. In the current FRUC, two search algorithms are supported, including pattern matching and two-way matching. Compared to the template, the top and/or left decoded adjacent samples (without applying in-loop filters) of the current block are used to find block motion information by searching for the MV that provides the best match between the template and its corresponding block (e.g., a corresponding block having the same the same size as the template) in the reference image. 5 depicts a template-based FRUC.

Предсказание знака коэффициентов преобразования.Prediction of the sign of the transformation coefficients.

[0078] В некоторых способах кодирования на основе шаблона способ предсказания знака применяется, чтобы уменьшать служебное сигнализирование для сигнализирования знаков для коэффициентов преобразования. Примеры таких способов описаны в работах Y.-W. Chen, et al., "Description of SDR, HDR and 360° video coding technology proposal by Qualcomm and Technicolor - low and high complexity versions", JVET-J0021, апрель 2018 г., Сан-Диего, США; и A. Alshin et al., "Description of SDR, HDR and 360° video coding technology proposal by Samsung, Huawei, GoPro, and HiSilicon - mobile application scenario", JVET-J0024, апрель 2018 г., Сан-Диего, США.[0078] In some pattern-based coding methods, a sign prediction method is applied to reduce signaling overhead for signaling signs for transform coefficients. Examples of such methods are described in the works of Y.-W. Chen, et al., "Description of SDR, HDR and 360° video coding technology proposal by Qualcomm and Technicolor - low and high complexity versions", JVET-J0021, April 2018, San Diego, USA; and A. Alshin et al., "Description of SDR, HDR and 360° video coding technology proposal by Samsung, Huawei, GoPro, and HiSilicon - mobile application scenario", JVET-J0024, April 2018, San Diego, USA .

[0079] Способы предсказания знака оперируют, чтобы выполнять множество обратных преобразований над коэффициентами преобразования элемента кодирования. Для каждого обратного преобразования знак ненулевого коэффициента преобразования устанавливается как либо отрицательный, либо положительный. Комбинация знаков, которая минимизирует функцию издержек, выбирается как предиктор знака, чтобы предсказать знаки коэффициентов преобразования текущего блока. В качестве одного примера для иллюстрации этой идеи, предполагая, что текущий блок содержит два ненулевых коэффициента, существует четыре возможных комбинации знаков, а именно (+, +), (+, -), (-, +) и (-,-). Для всех четырех комбинаций функция издержек вычисляется, и комбинация с минимальной издержкой выбирается в качестве предиктора знака. Функция издержек в этом примере вычисляется как измерение нарушения непрерывности дискретных отсчетов, находящихся на границе между текущим блоком и его каузальными соседями. Как изображено на фиг.6, функция издержек вычисляется как сумма абсолютных значений вторых производных граничных дискретных отсчетов текущего блока и восстановленных соседних дискретных отсчетов сверху и слева от текущего блока следующим образом:[0079] The sign prediction methods operate to perform a plurality of inverse transforms on the transform coefficients of a coding unit. For each inverse transform, the sign of the non-zero transform coefficient is set to either negative or positive. The sign combination that minimizes the overhead function is chosen as a sign predictor to predict the signs of the current block's transform coefficients. As one example to illustrate this idea, assuming the current block contains two non-zero coefficients, there are four possible combinations of signs, namely (+, +), (+, -), (-, +) and (-,-) . For all four combinations, the cost function is calculated and the minimum cost combination is chosen as the sign predictor. The cost function in this example is calculated as a measure of the discontinuity of discrete samples located on the border between the current block and its causal neighbors. As shown in Fig.6, the cost function is calculated as the sum of the absolute values of the second derivatives of the boundary discrete samples of the current block and the restored neighboring discrete samples above and to the left of the current block as follows:

Figure 00000005
(4)
Figure 00000005
(4)

где R x , y - восстановленный соседний дискретный отсчет, P x , y - предсказание текущего блока, и r x , y - остаточная гипотеза в координатах (x, y).where R x , y is the reconstructed adjacent discrete sample, P x , y is the prediction of the current block, and r x , y is the residual hypothesis in coordinates ( x, y ).

Нахождение знака разницы вектора движения.Finding the difference sign of the motion vector.

[0080] Методики сравнения с шаблоном были также предложены для уменьшения сигнализирования знаков для разницы векторов движения (MVD). В одной такой методике, на основе абсолютных значений принятого MVD, список потенциально подходящих вариантов MVD генерируется посредством различных комбинаций значений знаков для каждого из горизонтального и вертикального MVD. Затем издержки каждого потенциально подходящего варианта MVD вычисляются с использованием дискретных отсчетов шаблона (восстановленных соседних дискретных отсчетов) текущего блока. Потенциально подходящие варианты MVD сортируются на основе вычисленных значений издержки. Окончательный MVD выбирается посредством посылания индекса в сортированном списке потенциально подходящих вариантов от кодера к декодеру. Фиг.7 изображает один пример, чтобы проиллюстрировать идею получения знака разницы векторов движения, где A, B, C и D - четыре возможных потенциально подходящих варианта MVD, которые генерируются посредством назначения различных значений знака для принятых абсолютных значений MVD. Индекс сигнализируется, чтобы идентифицировать один из четырех потенциально подходящих вариантов, и идентифицированный потенциально подходящий вариант используется, чтобы восстанавливать окончательные MV текущего блока.[0080] Template matching techniques have also been proposed to reduce motion vector difference (MVD) sign signaling. In one such technique, based on the absolute values of the received MVD, a list of potentially suitable MVDs is generated by various combinations of sign values for each of the horizontal and vertical MVDs. The cost of each potentially eligible MVD is then computed using the template samples (restored neighboring samples) of the current block. Potentially eligible MVDs are sorted based on computed cost values. The final MVD is selected by sending an index into a sorted list of potential candidates from encoder to decoder. 7 depicts one example to illustrate the idea of deriving the motion vector difference sign, where A, B, C, and D are four possible MVD candidates that are generated by assigning different sign values to the received absolute MVD values. The index is signaled to identify one of the four potential candidates, and the identified potential candidate is used to reconstruct the final MVs of the current block.

Предсказание вектора движения на основе сравнения с шаблоном.Motion vector prediction based on template comparison.

[0081] В некоторых осуществлениях для каждого обычного промежуточно закодированного блока в HM и JEM два потенциально подходящих предиктора вектора движения (MVP) генерируется, и потенциально подходящий вариант с наилучшим качеством предсказания выбирается посредством сигнализирования индекса MVP от кодера к декодеру. В работе Y.-W. Chen et al. (выше) способ нахождения MVP на основе шаблона используется, чтобы избежать сигнализирования MVP. Конкретным образом, сравнение с шаблоном используется, чтобы находить MVP на стороне декодера. Сначала два потенциально подходящих варианта MVP по умолчанию проверяются, и потенциально подходящих вариант, который приводит к меньшей SAD между шаблоном и его ссылкой, выбирается в качестве исходной точки. Затем локальный поиск на основе сравнения с шаблоном вокруг исходной точки выполняется, и MV, который дает в результате минимальную издержку согласования, выбирается в качестве MVP для текущего блока.[0081] In some implementations, for each conventional intermediate-coded block in HM and JEM, two potentially good motion vector predictors (MVPs) are generated, and the best prediction quality candidate is selected by encoder-to-decoder signaling the MVP index. In the work of Y.-W. Chen et al. (above) pattern-based MVP finding method is used to avoid MVP signaling. Specifically, pattern matching is used to find the MVP on the decoder side. First, two potentially eligible default MVPs are tested, and the candidate that results in a lower SAD between the template and its reference is selected as the starting point. Then, a local pattern matching search around the origin is performed, and the MV that results in the lowest matching overhead is selected as the MVP for the current block.

Переупорядочивание потенциально подходящих вариантов движения.Reordering potentially suitable movement options.

[0082] В работе C.-W. Hsu et al., "Description of SDR video coding technology proposal by MediaTek", JVET-J0018, апрель 2018 г., Сан-Диего, США, способ переупорядочивания потенциально подходящих вариантов движения используется, чтобы улучшить эффективность режима объединения. Конкретным образом, после того как список исходных потенциально подходящих вариантов объединения генерируется, исходные потенциально подходящие варианты объединения в списке переупорядочиваются на основе издержек сравнения с шаблоном, которые вычисляются между дискретного отсчетами шаблона текущего CU и соответствующими опорными дискретного отсчетами шаблона с использованием движения потенциально подходящего варианта объединения. После переупорядочивания потенциально подходящие варианты объединения с меньшими издержками могут быть помещены перед потенциально подходящими вариантами объединения с большими издержками. Таким образом, эффективность сигнализирования индексов потенциально подходящих вариантов объединения может быть улучшена благодаря трате меньшего количества битов на потенциально подходящие варианты объединения, что обеспечивает более хорошее качество предсказания.[0082] In C.-W. Hsu et al., "Description of SDR video coding technology proposal by MediaTek", JVET-J0018, April 2018, San Diego, USA, a method of reordering potentially suitable motion options is used to improve the efficiency of the combining mode. Specifically, after the list of original candidate merges is generated, the original candidate merges in the list are reordered based on the pattern matching overhead that is computed between the template samples of the current CU and the corresponding reference template samples using the movement of the candidate merge . After reordering, potentially suitable joins with lower overhead can be placed before potentially suitable joins with higher costs. Thus, the efficiency of signaling indexes of potentially suitable joins can be improved by spending fewer bits on potentially suitable joins, resulting in better prediction quality.

Переупорядочивание синтаксиса преобразования.Reordering the conversion syntax.

[0083] Когда улучшенное множественное преобразование (EMT) и/или неразделяемое вторичное преобразование (NSST) используются, переупорядочивание синтаксиса преобразования было предложено в работе C.-W. Hsu et al. (выше) для использования в переупорядочивании индексов множества преобразований, которые могут быть выбраны, например, на основе той же самой функции издержек, что и используемая для предсказания знака коэффициентов преобразования (как описано выше в разделе "Предсказание знака коэффициентов преобразования"), с использованием восстановленных соседних дискретных отсчетов блока. Возможные потенциально подходящие варианты преобразования EMT и/или NSST переупорядочиваются на основе издержек, и тем, у которых меньшие издержки, будут назначены короткие кодовые слова.[0083] When Enhanced Multiple Transform (EMT) and/or Non-Separable Secondary Transform (NSST) are used, a reordering of the transform syntax has been proposed by C.-W. Hsu et al. (above) for use in reordering the indexes of a set of transforms that can be chosen, for example, based on the same cost function as used to predict the sign of the transform coefficients (as described above in the "Sign Prediction of the Transform Coefficients" section), using reconstructed neighboring discrete samples of the block. Potentially eligible EMT and/or NSST mapping options are reordered on a cost basis, and those with lower overhead will be assigned short codewords.

Компенсация движения блока с наложением.Block motion compensation with overlay.

[0084] Компенсация движения блока с наложением (OBMC) используется в опорных программных средствах JEM, чтобы удалить блочные артефакты на этапе компенсации движения. В JEM OBMC выполняется для всех промежуточных границ блоков, кроме правой и нижней границ блока. Дополнительно, когда блок разделяется на множество подблоков и каждый подблок связан со своим собственным MV (например, блоки FRUC), OBMC также выполняется для каждой границы подблоков. Фиг.8 изображает концепцию OBMC. Конкретным образом, когда OBMC применяется к подблоку (например, подблоку A на фиг.8), дополнительно к MV текущего подблока, MV четырех соседних подблоков также используются, чтобы находить сигналы предсказания текущего подблока. Затем множество сигналов предсказания с использованием MV соседних подблоков усредняется, чтобы генерировать окончательное предсказание текущего подблока.[0084] Overlapping block motion compensation (OBMC) is used in the JEM reference software to remove block artifacts in the motion compensation step. In JEM, OBMC is performed for all intermediate block boundaries except for the right and bottom block boundaries. Additionally, when a block is divided into a plurality of subblocks and each subblock is associated with its own MV (eg, FRUC blocks), OBMC is also performed for each subblock boundary. Fig.8 depicts the concept of OBMC. Specifically, when OBMC is applied to a subblock (eg, subblock A in FIG. 8), in addition to the MV of the current subblock, the MVs of the four neighboring subblocks are also used to find prediction signals of the current subblock. Then, a plurality of prediction signals using the MVs of neighboring subblocks are averaged to generate a final prediction of the current subblock.

Адаптивное множественное ядерное преобразование.Adaptive multiple kernel transform.

[0085] В качестве дополнения к ядерным преобразованиям DCT-II и DST-VII, которые используются в HEVC, инструмент адаптивного множественного преобразования (AMT) используется для кодирования остатков как внутренних, так и промежуточных блоков в JEM. Конкретным образом, AMT представляет четыре дополнительных ядерных преобразования из набора преобразований DCT/DST, включающих в себя DCT-VIII, DCT-V, DST-VII и DST-I. AMT применяется ко всем блокам кодирования, ширина и высота которых не больше 64, и флаг сигнализируется, чтобы указать, обеспечена возможность AMT или нет. Когда флаг равен 0, это указывает, что DCT-II используется в качестве преобразования для блока; иначе (т. е. флаг равен 1) три поднабора преобразований (каждое из которых содержит два различных ядерных преобразования AMT, определенных в таблице 1) определяется. Когда AMT применяется к внутреннему блоку, поднабор преобразований сначала выбирается на основе направления внутреннего предсказания блока. Затем два дополнительных флага сигнализируются, чтобы указать, какое преобразование (из двух ядерных преобразований в выбранном поднаборе преобразований) используется в качестве горизонтального преобразования и вертикального преобразования соответственно. Для промежуточных блоков только поднабор преобразований № 0, который состоит из DCT-VIII и DST-VII, используется.[0085] In addition to the DCT-II and DST-VII kernel transforms that are used in HEVC, the Adaptive Multiple Transform (AMT) tool is used to encode the residuals of both internal and intermediate blocks in JEM. Specifically, AMT represents four additional core transforms from the set of DCT/DST transforms, including DCT-VIII, DCT-V, DST-VII, and DST-I. AMT is applied to all coding blocks whose width and height are not greater than 64, and a flag is signaled to indicate whether AMT is enabled or not. When the flag is 0, this indicates that DCT-II is being used as the transform for the block; otherwise (ie, the flag is 1), three subsets of transforms (each containing two different AMT core transforms defined in Table 1) are defined. When AMT is applied to an intra block, a subset of transforms is first selected based on the block's intra prediction direction. Then, two additional flags are signaled to indicate which transform (out of the two kernel transforms in the selected subset of transforms) is used as the horizontal transform and vertical transform, respectively. For intermediate blocks, only the transform subset #0, which consists of DCT-VIII and DST-VII, is used.

Таблица 1. Три поднабора преобразований, определенные в JEM.Table 1. Three subsets of transformations defined in the JEM.

№ поднабора преобразованийtransform subset no. Ядерные преобразованияNuclear transformations 00 DST-VII, DCT-VIIIDST-VII, DCT-VIII 11 DST-VII, DST-IDST-VII, DST-I 22 DST-VII, DCT-VDST-VII, DCT-V

Зависимое от режима неразделяемое вторичное преобразование.Mode-dependent non-separable secondary transformation.

[0086] Поскольку корреляция между пространственными соседними дискретного отсчетами в общем случае меньше, чем во временной области, часто есть сильные корреляции внутри остаточных дискретных отсчетов, генерируемых внутренним предсказанием. Чтобы дополнительно улучшить эффективность внутреннего кодирования, инструмент, называемый зависимым от режима неразделяемым вторичным преобразованием (NSST), применяется в JEM посредством применения неразделяемого преобразования, чтобы преобразовать коэффициенты внутренних блоков. Конкретным образом, если и ширина, и высота блока не меньше 8, неразделяемое преобразование 8Ч8 применяется к верхней левой области массива коэффициентов преобразования 2D размера 8Ч8 блока; иначе (т. е. либо ширина, либо высота равна 4, что является минимальным размером элемента кодирования в JEM), неразделяемое преобразование 4Ч4 применяется к верхней левой области (в размере min(8,W)Чmin(8,H)) коэффициентов преобразования блока. Для иллюстрации NSST, оно предполагает, что входное X является блоком 4Ч4, определенным как:[0086] Since the correlation between spatial adjacent discrete samples is generally less than in the time domain, there are often strong correlations within residual discrete samples generated by intra prediction. To further improve the efficiency of intra coding, a tool called mode-dependent non-separable secondary transform (NSST) is applied in JEM by applying a non-separable transform to transform coefficients of intra blocks. Specifically, if both the width and the height of the block are not less than 8, an 8×8 non-separable transform is applied to the upper left region of the 2D transform coefficient array of the 8×8 block size; otherwise (i.e. either width or height is 4, which is the minimum size of an encoding element in JEM), a 4×4 non-separable transform is applied to the upper left region (in size min(8,W)×min(8,H)) of the transform coefficients block. To illustrate NSST, it assumes that the input X is a 4×4 block, defined as:

Figure 00000006
Figure 00000006

Чтобы применить NSST, входной блок переводится в вектор следующим образом:To apply NSST, the input block is translated into a vector as follows:

Figure 00000007
Figure 00000007
(5)(5)

Затем NSST применяется как

Figure 00000008
, где
Figure 00000009
указывает вектор коэффициентов преобразования, и T - матрица преобразования NSST 16Ч16. Вектор коэффициентов
Figure 00000009
16Ч1 преобразуется как блок 4Ч4 с использованием порядка сканирования для этого блока (горизонтального, вертикального или диагонального). В JEM, вместо использования матричных умножений, преобразование гиперкуба Гивенса (HyGT) на основе осуществления бабочки используется, чтобы уменьшить вычислительную сложность неразделяемого преобразования.The NSST is then applied as
Figure 00000008
, Where
Figure 00000009
indicates a vector of transform coefficients, and T is a NSST 16×16 transform matrix. Coefficient vector
Figure 00000009
16×1 is converted as a 4×4 block using the scan order for that block (horizontal, vertical, or diagonal). In JEM, instead of using matrix multiplications, the Givens hypercube transform (HyGT) based on butterfly implementation is used to reduce the computational complexity of the non-separable transform.

Проблемы, разрешаемые в примерных вариантах осуществления.Problems Resolved in Exemplary Embodiments.

[0087] Как его предшественники, стандарт HEVC задействует предсказание с компенсацией движения (MCP), чтобы эффективно уменьшить временную избыточность между изображениями, благодаря чему достигается высокая эффективность промежуточного кодирования. Поскольку MCP использует только дискретные отсчеты из уже декодированных изображений, чтобы предсказывать дискретные отсчеты в текущем изображении, нет зависимости между MCP пространственных соседних блоков. Это означает, что MCP промежуточных блоков в одном и том же изображении/сегменте независимы друг от друга. Таким образом, процессы декодирования множества промежуточных блоков в текущем изображении могут осуществляться параллельно, например, они могут быть назначены различным потокам, чтобы выгодно использовать параллельность.[0087] Like its predecessors, the HEVC standard employs motion-compensated prediction (MCP) to effectively reduce temporal redundancy between pictures, thereby achieving high intermediate coding efficiency. Because the MCP only uses samples from already decoded pictures to predict the samples in the current picture, there is no relationship between the MCPs of the spatial neighboring blocks. This means that the MCPs of intermediate blocks in the same picture/segment are independent of each other. Thus, the decoding processes of a plurality of intermediate blocks in the current picture can be performed in parallel, for example, they can be assigned to different streams to take advantage of the parallelism.

[0088] Как описано выше, некоторые способы промежуточного предсказания на основе шаблона (например, FRUC и LIC на основе сравнения с шаблоном) применяются в JEM. Чтобы избежать сигнализирования параметров кодирования, способы промежуточного предсказания на основе шаблона находят эти параметры в обоих из кодера и декодера с использованием восстановленных дискретных отсчетов пространственных соседей текущего блока. Таким образом, когда блок кодируется посредством одной из этих методик промежуточного предсказания на основе шаблона, его процесс декодирования ожидает, пока дискретные отсчеты его соседних блоков (дискретные отсчеты шаблона текущего блока) не будут полностью восстановлены. Это может усложнять проектирование канала, в особенности на стороне декодера, таким образом приводя к существенному увеличению сложности для аппаратного осуществления.[0088] As described above, some template-based intermediate prediction methods (eg, FRUC and LIC based on template matching) are applied in JEM. To avoid signaling coding parameters, template-based intermediate prediction methods find these parameters in both the encoder and decoder using the reconstructed samples of the current block's spatial neighbors. Thus, when a block is encoded by one of these template-based intermediate prediction techniques, its decoding process waits until its neighboring block samples (template samples of the current block) have been completely recovered. This can complicate channel design, especially on the decoder side, thus leading to a significant increase in complexity for hardware implementation.

[0089] Для того чтобы понять проблему параллельной обработки, вызываемую способами на основе шаблона промежуточного предсказания, фиг.9 и фиг.10 изображают примеры сравнения процессов декодирования HEVC и JEM. Для помощи в объяснении четыре последовательных блока кодирования равного размера блока в изображении используется в качестве примеров, причем каждый блок кодирования декодируется посредством отдельного потока декодирования, и сложность декодирования каждого отдельного модуля декодирования (например, MCP, OBMC, деквантования и обратного преобразования) предполагается как одна и та же для этих четырех блоков кодирования. Дополнительно предполагается, что все блоки кодирования в примере JEM кодируются на основе одной из методик промежуточного предсказания на основе шаблона. На фиг.9 и фиг.10 блоки представляют процесс декодирования MCP, OBMC, деквантования и обратного преобразования, и переменные T MCP , T OBMC , T de-quant и T inv -t ra ns - время декодирования этих четырех модулей. Как изображено на фиг.9, поскольку четыре блока кодирования может декодироваться параллельно, полное время декодирования HEVC равно времени декодирования одного блока кодирования, т. е., T MCP +T de-quant +T inv -t ra ns .[0089] In order to understand the parallel processing problem caused by the intermediate prediction pattern based methods, FIGS. 9 and 10 show examples of comparing HEVC and JEM decoding processes. To help explain, four consecutive coding blocks of equal block size in a picture are used as examples, where each coding block is decoded by a separate decoding stream, and the decoding complexity of each separate decoding module (e.g., MCP, OBMC, dequantization, and inverse transform) is assumed to be one and the same for these four coding blocks. It is further assumed that all coding blocks in the JEM example are encoded based on one of the template-based intermediate prediction techniques. In Fig.9 and Fig.10 blocks represent the process of decoding MCP, OBMC, dequantization and inverse transformation, and the variables T MCP , T OBMC , T de-quant and T inv -tra ns - decoding time of these four modules. As shown in FIG. 9, since four coding blocks can be decoded in parallel, the total decoding time of HEVC is equal to the decoding time of one coding block, i.e., T MCP + T de-quant + T inv -tra ns .

[0090] Ввиду зависимости, представленной методиками предсказания на основе шаблона, для процесса декодирования JEM (как показано на фиг.10) декодирование каждого отдельного блока кодирования не может активироваться, пока его пространственные соседние блоки не полностью восстановлены. Таким образом, полное время декодирования JEM равно суммированию времени декодирования четырех блоков, т. е. T total =4*(T MCP +T OBMC +T de - quant +T inv - trans ). Следует заметить, что хотя пример на фиг.10 предполагает, что OBMC используется, та же самая проблема задержки существует даже тогда, когда OBMC не используется. В общем случае промежуточные закодированные блоки в HEVC могут восстанавливаться независимо друг от друга, поскольку процесс MCP в HEVC требует только тех дискретных отсчетов из опорных изображений, которые уже полностью восстановлены. Это означает, что легко сделать параллельным восстановление промежуточных блоков в HEVC. В отличие от этого использование способов на основе шаблона, таких как FRUC и LIC в JEM, представляет зависимость между соседними промежуточными закодированными блоками. Если промежуточный блок кодируется с использованием одного из этих режимов, MCP этого блока не может начаться, пока его соседние блоки не полностью восстановлены, таким образом существенно увеличивая задержку.[0090] In view of the dependency represented by template-based prediction techniques, for the JEM decoding process (as shown in FIG. 10), the decoding of each individual coding block cannot be activated until its spatial neighbor blocks are completely recovered. Thus, the total decoding time of the JEM is equal to the sum of the decoding times of the four blocks, i.e., T total =4*( T MCP + T OBMC + T de - quant + T inv - trans ). It should be noted that although the example in FIG. 10 assumes that OBMC is used, the same delay problem exists even when OBMC is not used. In general, intermediate encoded blocks in HEVC can be recovered independently of each other because the MCP process in HEVC only requires those discrete samples from reference pictures that have already been completely recovered. This means that it is easy to parallelize the restoration of intermediate blocks in HEVC. In contrast, the use of template-based methods such as FRUC and LIC in JEM represents a dependency between adjacent intermediate encoded blocks. If an intermediate block is encoded using one of these modes, that block's MCP cannot start until its neighboring blocks are completely recovered, thus greatly increasing the delay.

Обзор вариантов осуществления.Overview of Embodiments.

[0091] Для того чтобы разрешить проблемы задержки, описанные выше, способы описаны здесь для уменьшения задержки кодирования/декодирования способов промежуточного предсказания на основе шаблона, при этом сохраняя главную эффективность кодирования. В предлагаемых способах некоторые из функций способов промежуточного предсказания на основе шаблона остаются теми же самыми, что и в существующих проектированиях. Например, для LIC нахождение параметра и процессы линейного регулирования дискретного отсчета остаются теми же самыми; и для FRUC процесс поиска движения на основе сравнения с шаблоном остается тем же самым. Однако генерирование дискретных отсчетов шаблона, используемых промежуточным предсказанием на основе шаблона, модифицировано, чтобы понизить зависимость между соседними блоками так, чтобы общая задержка кодирования/декодирования ввиду промежуточного предсказания на основе шаблона была уменьшена. Конкретным образом, по сравнению с существующими способами на основе шаблона в JEM, изменения, предлагаемые в этом раскрытии, включают в себя те, которые описаны ниже.[0091] In order to solve the delay problems described above, methods are described herein to reduce the encoding/decoding delay of template-based intermediate prediction methods while maintaining major coding efficiency. In the proposed methods, some of the functions of the template-based intermediate prediction methods remain the same as in existing designs. For example, for LIC, the parameter finding and discrete sample linear adjustment processes remain the same; and for FRUC, the motion search process based on pattern matching remains the same. However, the generation of pattern samples used by the intermediate pattern-based prediction is modified to reduce the dependence between adjacent blocks so that the overall encoding/decoding delay due to the intermediate pattern-based prediction is reduced. Specifically, compared to existing template-based methods in JEM, the changes proposed in this disclosure include those described below.

[0092] По сравнению с существующими способами промежуточного предсказания на основе шаблона в JEM, где восстановленные соседние дискретные отсчеты используются для нахождения параметров кодирования, предлагается использовать сигнал предсказания (т. е. дискретные отсчеты предсказания, генерируемые из MCP и, если это применимо, OBMC) пространственных соседей в качестве дискретных отсчетов шаблона для текущего блока. Таким образом, кодирование/декодирование блока кодирования на основе шаблона может активироваться, как только сигнал предсказания его соседних блоков становится доступным. Использование только сигнала предсказания в качестве шаблона может быть менее точным, чем полностью восстановленный сигнал, поскольку восстановленный остаток еще не был прибавлен. Это может давать в результате некоторое ухудшение производительности кодирования. Для того чтобы уменьшить потерю производительности, дополнительные способы предлагаются, чтобы дополнительно улучшить производительность кодирования промежуточного предсказания на основе шаблона, когда сигнал предсказания используется в качестве источника дискретных отсчетов шаблона.[0092] Compared to existing template-based intermediate prediction methods in JEM, where reconstructed adjacent samples are used to find coding parameters, it is proposed to use a prediction signal (i.e., prediction samples generated from MCP and, if applicable, OBMC ) spatial neighbors as discrete samples of the template for the current block. Thus, encoding/decoding of a pattern-based coding block can be activated as soon as a prediction signal of its adjacent blocks becomes available. Using only the prediction signal as a template may be less accurate than a completely reconstructed signal because the reconstructed residual has not yet been added. This may result in some deterioration in encoding performance. In order to reduce the performance penalty, additional methods are proposed to further improve the performance of template-based intermediate prediction coding when a prediction signal is used as a source of template samples.

[0093] Для того чтобы уменьшить задержку промежуточного предсказания на основе шаблона, дополнительно предлагается разделить изображение/сегмент на множество "сегментов шаблона" так, чтобы декодирование промежуточных блоков внутри сегмента шаблона могло выполняться независимо от других сегментов шаблона. Для того чтобы достичь такой параллельности, предлагается запретить блоку кодирования использование дискретных отсчетов, которые не находятся в том же самом сегменте шаблона блока, что и дискретные отсчеты шаблона. Дополнительно, чтобы уменьшать потенциальные потери кодирования, сегменты шаблона разбивают только зависимость дискретных отсчетов шаблона, но все еще обеспечивают возможность другим процессам кодирования (например, внутриконтурным фильтрам, внутреннему предсказанию, улучшенному предсказанию вектора движения (AMVP) и так далее) оперировать, переходя границы сегмента шаблона.[0093] In order to reduce the template-based intermediate prediction delay, it is further proposed to partition the image/segment into a plurality of "pattern segments" so that decoding of intermediate blocks within the template segment can be performed independently of other template segments. In order to achieve such parallelism, it is proposed to prohibit the coding block from using samples that are not in the same segment of the block template as the template samples. Additionally, to reduce potential coding loss, template segments break only the dependency of template samples, but still allow other encoding processes (e.g., in-loop filters, intra prediction, advanced motion vector prediction (AMVP), and so on) to operate by crossing segment boundaries. template.

[0094] Без потери общности, в следующем рассмотрении FRUC и LIC на основе сравнения с шаблоном используются в качестве примеров, чтобы объяснить предлагаемые способы. Однако схемы, которые будут описаны, также применимы к другим схемам кодирования на основе шаблона, в которых восстановленные соседние дискретные отсчеты блока используются в течение процесса кодирования и/или декодирования.[0094] Without loss of generality, in the following discussion, FRUC and LIC based on pattern matching are used as examples to explain the proposed methods. However, the schemes to be described are also applicable to other pattern-based coding schemes in which reconstructed adjacent block samples are used during the encoding and/or decoding process.

Основанное на шаблоне промежуточное предсказание на основе сигнала предсказания.Template-based intermediate prediction based on the prediction signal.

[0095] Как указано выше, по сравнению с HEVC, использование восстановленных соседних дискретных отсчетов в качестве шаблона для способов промежуточного предсказания на основе шаблона является неблагоприятным для параллельного кодирования/декодирования для осуществления кодека, поскольку кодирование/декодирование блока кодирования на основе шаблона должно ожидать, пока все его каузальные соседние дискретные отсчеты не будут полностью восстановлены посредством MCP, OBMC (если применимо), деквантования и обратного преобразования.[0095] As stated above, compared to HEVC, using reconstructed adjacent samples as a template for template-based intermediate prediction methods is disadvantageous for parallel coding/decoding for codec implementation, since template-based coding/decoding of a coding block must wait, until all of its causal adjacent discrete samples are completely reconstructed by MCP, OBMC (if applicable), dequantization, and inverse transformation.

[0096] Для того чтобы уменьшить задержку кодирования/декодирования, в одном варианте осуществления раскрытия предлагается выполнять основанное на шаблоне промежуточное предсказание на основе сигнала предсказания, вместо полностью восстановленного сигнала, из соседних блоков. В одном варианте осуществления вместо использования восстановленных соседних дискретных отсчетов дискретные отсчеты предсказания пространственных соседних блоков используются в качестве шаблона для текущего блока в поиске движения FRUC, нахождении параметра LIC и/или другом нахождении параметра на основе шаблона. На основе такого проектирования кодирование/декодирование блока кодирования на основе шаблона может начинаться сразу после того, как сигнал предсказания его соседних блоков генерируется, без ожидания восстановления остатков соседних блоков. Это может приводить к существенному уменьшению задержки для способов на основе шаблона промежуточного предсказания, так как задержка кодирования/декодирования, вызываемая деквантованием и обратным преобразованием соседних блоков, теперь устранена.[0096] In order to reduce encoding/decoding delay, in one embodiment of the disclosure, it is proposed to perform template-based intermediate prediction based on a prediction signal, instead of a completely reconstructed signal, from neighboring blocks. In one embodiment, instead of using the reconstructed neighbor samples, the spatial neighbor block prediction samples are used as a template for the current block in FRUC motion search, LIC parameter discovery, and/or other template-based parameter discovery. Based on such a design, encoding/decoding of a pattern-based coding block can start immediately after a prediction signal of its neighboring blocks is generated, without waiting for the reconstruction of the residuals of neighboring blocks. This can result in significant delay reduction for intermediate prediction pattern based methods since the encoding/decoding delay caused by dequantization and demapping of neighboring blocks is now eliminated.

[0097] На основе предположений на фиг.9 и фиг.10, фиг.11 изображает параллельный процесс декодирования, когда способ, предлагаемый здесь, применяется к способам промежуточного предсказания на основе шаблона. Как изображено на фиг.11, поскольку процесс декодирования каждого блока кодирования на основе шаблона может быть немедленно активирован после промежуточного предсказания его соседнего блока, задержка декодирования между двумя последовательными блоками равна времени декодирования для генерирования сигнала предсказания первого блока, т. е., T latency =T MCP +T OBMC . Таким образом, полное время декодирования четырех блоков кодирования теперь уменьшено до T total =4*(T MCP +T OBMC )+T de - quant +T in v - trans .[0097] Based on the assumptions in FIG. 9 and FIG. 10, FIG. 11 depicts a parallel decoding process when the method proposed here is applied to template-based intermediate prediction methods. As shown in FIG. 11, since the decoding process of each pattern-based coding block can be immediately activated after intermediate prediction of its neighboring block, the decoding delay between two successive blocks is equal to the decoding time for generating the prediction signal of the first block, i.e., T latency = T MCP + T OBMC . Thus, the total decoding time of the four coding blocks is now reduced to T total =4*( T MCP + T OBMC )+ T de - quant + T in v - trans .

[0098] На фиг.11 OBMC применяется, чтобы генерировать дискретные отсчеты предсказания промежуточного блока, дискретные отсчеты которого затем используются в качестве дискретных отсчетов шаблона для нахождения соответствующих параметров кодирования (например, MV FRUC и параметров LIC) для его соседних блоков. Хотя OBMC может улучшить качество предсказания посредством удаления блочных артефактов ввиду множества компенсаций движения, которые выполняются, это также представляет увеличение сложности кодирования/декодирования, таким образом приводя к существенной задержке кодирования/декодирования при комбинировании со способами промежуточного предсказания на основе шаблона. С другой стороны, поскольку OBMC модифицирует только граничные дискретные отсчеты элемента кодирования, его влияние на точность вычисления параметров кодирования относительно низка, принимая во внимание его увеличение сложности для генерирования сигнала предсказания.[0098] In FIG. 11, OBMC is applied to generate intermediate block prediction samples, whose samples are then used as template samples to find the corresponding coding parameters (eg, FRUC MVs and LIC parameters) for its neighboring blocks. While OBMC can improve prediction quality by removing block artifacts due to the many motion compensations that are performed, it also introduces an increase in encoding/decoding complexity, thus leading to significant encoding/decoding delay when combined with template-based intermediate prediction methods. On the other hand, since OBMC only modifies edge bin samples, its impact on the accuracy of calculating coding parameters is relatively low considering its increase in complexity for generating a prediction signal.

[0099] Таким образом, для того чтобы достичь лучшего компромисса производительности/задержки, предлагается в некоторых вариантах осуществления использовать сигнал предсказания, генерируемый до OBMC, в качестве дискретных отсчетов шаблона для способов промежуточного предсказания на основе шаблона. Фиг.12 изображает параллельный процесс декодирования, когда вышеупомянутый способ применяется к промежуточному предсказанию на основе шаблона. Как изображено на фиг.12, поскольку декодирование каждого блока на основе шаблона может немедленно начинаться после того, как MCP его соседа окончено, задержка декодирования между двумя соседними блоками дополнительно уменьшается до T latency =T MCP . Соответственно, полное время декодирования четырех блоков кодирования теперь становится T total =4*T MCP +T OBMC +T de - quant +T inv - trans .[0099] Thus, in order to achieve a better performance/latency trade-off, it is proposed in some embodiments to use the prediction signal generated before OBMC as discrete template samples for template-based intermediate prediction methods. 12 shows a parallel decoding process when the above method is applied to the intermediate prediction based on the template. As shown in FIG. 12, since decoding of each pattern-based block can immediately start after its neighbor's MCP has ended, the decoding delay between two neighboring blocks is further reduced to T latency = T MCP . Accordingly, the total decoding time of the four coding blocks now becomes T total =4* T MCP + T OBMC + T de - quant + T inv - trans .

[0100] Следует заметить, что на фиг.11 и фиг.12 предполагается, что обеспечена возможность OBMC для текущего блока и/или его соседних блоков. Это является лишь примером. Предлагаемые способы сравнения с шаблоном на основе сигнала предсказания равным образом применимы, когда для OMBC не обеспечена возможность.[0100] It should be noted that in FIGS. 11 and 12, it is assumed that OBMC is enabled for the current block and/or its neighboring blocks. This is just an example. The proposed pattern matching techniques based on the prediction signal are equally applicable when OMBC is not enabled.

[0101] В некоторых вариантах осуществления дискретные отсчеты предсказания внутренне закодированных блоков могут также быть использованы в качестве дискретных отсчетов шаблона для декодирования закодированных с шаблоном блоков. Однако ввиду того факта, что внутренне закодированные блоки также используют восстановленные дискретные отсчеты их соответственных пространственных соседей, чтобы генерировать дискретные отсчеты предсказания, такое использование дискретных отсчетов предсказания может не быть оптимальным для проектирования аппаратных средств ввиду распространяемой задержки кодирования/декодирования из соседних внутренне закодированных дискретных отсчетов к текущему блоку шаблона. В некоторых вариантах осуществления, например, при использовании дискретных отсчетов предсказания для способов на основе шаблона, раскрываемых здесь, дискретные отсчеты предсказания соседних блоков, которые кодируются во внутренних режимах, запрещаются для использования в качестве дискретных отсчетов шаблона текущего блока. Конкретным образом, в таких вариантах осуществления, если дискретный отсчет шаблона происходит из внутренне закодированного соседнего блока, он рассматривается как недоступный для текущего блока.[0101] In some embodiments, intra-block prediction samples may also be used as template samples for decoding template-coded blocks. However, due to the fact that intra-coded blocks also use the reconstructed discrete samples of their respective spatial neighbors to generate discrete prediction samples, such use of discrete prediction samples may not be optimal for hardware design due to propagated encoding/decoding delay from adjacent intra-coded discrete samples. to the current template block. In some embodiments, for example, when using prediction samples for the pattern-based methods disclosed herein, neighboring block prediction samples that are intra-coded are prohibited from being used as template samples of the current block. Specifically, in such embodiments, if a discrete pattern sample originates from an intra-coded neighboring block, it is considered to be inaccessible to the current block.

[0102] На фиг.11 и фиг.12 дискретные отсчеты предсказания (генерируемые либо после, либо до того, как OBMC применяется) используются, чтобы заменить восстановленные дискретные отсчеты в качестве дискретных отсчетов шаблона для способов промежуточного предсказания на основе шаблона. Хотя способы могут существенно уменьшать задержку кодирования/декодирования, разницы между дискретного отсчетами предсказания и восстановленными дискретного отсчетами (восстановленным остаточным сигналом) могут приводить к тому, что параметры кодирования, которые находятся для промежуточного предсказания на основе шаблона (например, вектора движения для FRUC или параметры весового коэффициента/смещения для LIC), становятся менее точными, таким образом приводя к отрицательному влиянию на общую производительность кодирования. Дополнительные способы дополнительно предлагаются здесь, чтобы компенсировать возможное падение производительности кодирования, когда сигнал предсказания задействуется в промежуточном предсказании на основе шаблона.[0102] In FIGS. 11 and 12, prediction samples (generated either after or before OBMC is applied) are used to replace the recovered samples as template samples for template-based intermediate prediction methods. Although the methods can significantly reduce encoding/decoding delay, differences between the prediction discrete samples and the reconstructed residual samples (recovered residual signal) can result in coding parameters that are found for template-based intermediate prediction (e.g., motion vectors for FRUC or parameters weight/offset for LIC) become less accurate, thus leading to a negative impact on the overall encoding performance. Additional methods are further provided herein to compensate for a possible degradation in coding performance when a prediction signal is involved in template-based intermediate prediction.

Промежуточное предсказание на основе шаблона посредством адаптивного обеспечения возможности дискретных отсчетов предсказания на основе существования ненулевых остатков.Template-based intermediate prediction by adaptively enabling discrete prediction samples based on the existence of non-zero residuals.

[0103] Варианты осуществления, в которых сигнал предсказания используется в предсказании на основе шаблона, могут сохранять большую часть эффективности кодирования промежуточного предсказания на основе шаблона, в особенности в случаях, когда сигнал восстановления и сигнал предсказания очень подобны. Однако использование сигнала предсказания может быть менее удовлетворительным, когда присутствуют большие ошибки предсказания (т. е. ненулевые остатки с большими абсолютными величинами) для соседних дискретных отсчетов шаблона. В другой ситуации, если соседние дискретные отсчеты шаблона кодируются с нулевыми остатками, все еще является надежным использование их в качестве дискретных отсчетов шаблона для текущего блока при условии, что они такие же, как и восстановленные дискретные отсчеты.[0103] Embodiments in which the prediction signal is used in template-based prediction can retain much of the intermediate template-based prediction coding efficiency, especially in cases where the recovery signal and the prediction signal are very similar. However, the use of a prediction signal may be less satisfactory when there are large prediction errors (ie, non-zero residuals with large absolute values) for adjacent template samples. In another situation, if adjacent template samples are encoded with zero residuals, it is still safe to use them as template samples for the current block, provided they are the same as the recovered samples.

[0104] В некоторых вариантах осуществления предлагается использовать только те дискретные отсчеты предсказания, которые связаны с нулевыми остатками, в качестве дискретных отсчетов шаблона, когда промежуточное предсказание на основе шаблона (например FRUC и/или LIC) применяется. В некоторых вариантах осуществления решение о том, имеет ли дискретный отсчет предсказания ненулевой остаток, принимается на основе флага закодированного блока (CBF), который сигнализируется в битовом потоке, который указывает, содержит ли блок ненулевые коэффициенты преобразования. Когда флаг равен единице, это означает, что есть ненулевые остатки в текущем блоке; таким образом, его дискретные отсчеты предсказания могут быть менее надежными для использования в промежуточном предсказании на основе шаблона (и в этом случае использование таких дискретных отсчетов предсказания в качестве дискретных отсчетов шаблона может быть запрещено). Иначе (т. е. если CBF равен 0) он сигнализирует, что все остатки, связанные с текущим блоком, равны нулю; соответственно, допустимо использовать дискретные отсчеты предсказания для промежуточного предсказания на основе шаблона (и в этом случае использование таких дискретных отсчетов предсказания в качестве дискретных отсчетов шаблона может быть разрешено).[0104] In some embodiments, it is proposed to use only those discrete prediction samples associated with zero residuals as template discrete samples when template-based intermediate prediction (eg, FRUC and/or LIC) is applied. In some embodiments, the decision whether a prediction sample has a non-zero residual is made based on a coded block flag (CBF) signaled in the bitstream that indicates whether the block contains non-zero transform coefficients. When the flag is equal to one, it means that there are non-zero remainders in the current block; thus, its prediction samples may be less reliable for use in template-based intermediate prediction (in which case, the use of such prediction samples as template samples may be prohibited). Otherwise (i.e. if CBF is 0) it signals that all remainders associated with the current block are zero; accordingly, it is permissible to use prediction samples for intermediate prediction based on the template (and in this case, the use of such prediction samples as template samples may be allowed).

[0105] Фиг.13 изображает один пример, чтобы проиллюстрировать такой способ. На фиг.13 позиции соседних дискретных отсчетов помечены как A0 и A1, и позиции соседних дискретных отсчетов, помеченные как 10-L3, принадлежат к верхнему соседнему блоку Blk0 и левому соседнему блоку Blk2, соответственно, оба из которых имеют CBF, равный 0. Поскольку есть только нулевой остаток для этих двух соседних блоков, дискретные отсчеты предсказания в этих позициях помеченные как A0 и A1 и L0-L3, могут быть использованы в качестве дискретных отсчетов шаблона в способах на основе шаблона (например, FRUC и/или LIC). Однако поскольку позиции соседних дискретных отсчетов, помеченные как A2 и A3, принадлежат к верхнему соседнему блоку Blk1, CBF которого равен 1, соответствующие дискретные отсчеты предсказания не могут быть использованы в качестве дискретных отсчетов шаблона в некоторых вариантах осуществления; это так, поскольку они отличны от восстановленных значений дискретных отсчетов, и, таким образом, могут рассматриваться как менее точные.[0105] Fig. 13 depicts one example to illustrate such a method. 13, adjacent sample positions are labeled A 0 and A 1 , and neighboring sample positions labeled 10-L 3 belong to the top neighbor block Blk0 and left neighbor block Blk2, respectively, both of which have a CBF of 0. Since there is only a zero remainder for these two adjacent blocks, the prediction samples at these positions, labeled A 0 and A 1 and L 0 -L 3 , can be used as template samples in template-based methods (e.g., FRUC and/or LIC). However, since the adjacent sample positions labeled A 2 and A 3 belong to the top neighboring block Blk1 whose CBF is 1, the corresponding prediction samples cannot be used as template samples in some embodiments; this is so because they are different from the reconstructed values of the discrete samples, and thus can be considered less accurate.

[0106] В некоторых таких способах решение о том, равны ли все остатки нулю, принимается для каждого соседнего дискретного отсчета, и решения об дискретного отсчетах в одном и том же шаблоне могут отличаться друг от друга. Такое различение на основе дискретного отсчета может быть неблагоприятным для практических аппаратных осуществлений, например, особое внимание может требоваться для вычисления SAD FRUC и процесса нахождения параметра LIC, где дискретные отсчеты в шаблоне обрабатываются различным образом на основе того, имеют ли они остатки.[0106] In some such methods, the decision on whether all residuals are equal to zero is made for each adjacent discrete sample, and decisions about discrete samples in the same template may differ from each other. Such sample-based discrimination may be unfavorable for practical hardware implementations, for example, special care may be required for the SAD FRUC calculation and LIC parameter finding process, where sample samples in a template are treated differently based on whether they have residuals.

[0107] Для того чтобы избежать такой сложности, предлагается всецело разрешать/запрещать дискретные отсчеты подобласти шаблона, которая либо сверху, либо слева от текущего блока. Конкретным образом, посредством такого способа разрешается использовать дискретные отсчеты в подобласти шаблона (либо левой подобласти шаблона, либо верхней подобласти шаблона) блока в качестве дискретных отсчетов шаблона, только если все остатки, связанные со всеми дискретного отсчетами в этой подобласти шаблона, являются нулевыми. На основе того же самого примера на фиг.13, поскольку все дискретные отсчеты в левой подобласти шаблона (т. е. L0-L3) принадлежат к одному и тому же соседнему блоку, CBF которого равен 0, левая подобласть шаблона разрешается для промежуточного предсказания на основе шаблона. С другой стороны, поскольку соседний блок, который содержит дискретные отсчеты A2 и A3, имеет остатки, полная верхняя подобласть шаблона (т. е. A0-A3) не используется в качестве дискретных отсчетов шаблона.[0107] In order to avoid such complexity, it is proposed to completely enable/disable discrete samples of the subregion of the template, which is either above or to the left of the current block. Specifically, by such a method, the samples in the template sub-region (either the left template sub-region or the upper template sub-region) of a block are allowed to be used as template samples only if all residuals associated with all the samples in that template sub-region are zero. Based on the same example in FIG. 13, since all discrete samples in the left pattern sub-region (i.e., L 0 -L 3 ) belong to the same neighboring block whose CBF is 0, the left pattern sub-region is resolved for an intermediate template based predictions. On the other hand, since the adjacent block, which contains samples A 2 and A 3 , has residuals, the entire top sub-region of the template (ie, A 0 -A 3 ) is not used as sample samples of the template.

Основанное на шаблоне промежуточное предсказание на основе взвешенных дискретных отсчетов предсказания.Template-based intermediate prediction based on weighted discrete prediction samples.

[0108] Как рассмотрено выше, есть остатки или нет, является фактором в определении того, как подобны дискретные отсчеты предсказания и восстановленные дискретные отсчеты. В некоторых вариантах осуществления дискретные отсчеты предсказания, которые имеют малые остатки, играют более важную роль, чем дискретные отсчеты предсказания, которые имеют большие остатки, чтобы достичь точной оценки параметров кодирования для промежуточного предсказания на основе шаблона. В некоторых таких вариантах осуществления предлагается применять неравные весовые коэффициенты к различным дискретного отсчетам предсказания на основе значений их остатков.[0108] As discussed above, whether there are residuals or not is a factor in determining how similar the prediction samples and recovered samples are. In some embodiments, discrete prediction samples that have small residuals play a more important role than discrete prediction samples that have large residuals in order to achieve an accurate estimate of coding parameters for template-based intermediate prediction. In some such embodiments, it is proposed to apply unequal weights to different discrete prediction samples based on their residual values.

[0109] Снова, с использованием того же самого примера на фиг.13, поскольку дискретные отсчеты предсказания A0 и A1 и L0-L3 не имеют остатков, они считаются более надежными. При использовании этих дискретных отсчетов, чтобы оценить параметры шаблона, больший весовой коэффициент может быть назначен этим дискретного отсчетам. И наоборот, поскольку дискретные отсчеты предсказания A2 и A3 имеют ненулевые остатки, эти дискретные отсчеты будут наделены меньшим весовым коэффициентом при использовании их в качестве дискретных отсчетов шаблона. Взвешенные дискретные отсчеты предсказания будут использованы в качестве входных данных для оценки параметров шаблона. Конкретным образом, с внесением взвешенных дискретных отсчетов шаблона в сравнение с шаблоном FRUC, взвешенная SAD между дискретного отсчетами шаблона блока и его согласованными дискретного отсчетами в опорном изображении вычисляется как:[0109] Again, using the same example in FIG. 13, since the discrete prediction samples A 0 and A 1 and L 0 -L 3 have no residuals, they are considered more reliable. When using these discrete samples to estimate the template parameters, a larger weighting factor can be assigned to these discrete samples. Conversely, since prediction samples A 2 and A 3 have non-zero residuals, these samples will be given less weight when used as template samples. The weighted discrete prediction samples will be used as input for estimating the template parameters. Specifically, with weighted template samples in comparison with the FRUC template, the weighted SAD between the block template samples and its matched samples in the reference picture is calculated as:

Figure 00000010
Figure 00000010
(6)(6)

где T(x i , y i ) - дискретный отсчет шаблона в координатах (x i , y i ); T r (x i +vx, y i +v y ) - соответствующий опорный дискретный отсчет дискретного отсчета шаблона на основе вектора движения (v x , v y ) в опорном изображении; и w i - весовой коэффициент, который назначен T(x i , y i ). Дополнительно, с интеграцией весовых коэффициентов в нахождение коэффициента масштабирования и смещения для LIC, уравнения (2) и (3) станут:where T ( x i , y i ) is a discrete pattern sample in coordinates ( x i , y i ); T r ( x i +v x , y i + v y ) is the corresponding reference sample of the sample sample based on the motion vector ( v x , v y ) in the reference image; and w i is the weight that is assigned to T ( x i , y i ). Additionally, with the integration of weighting factors into finding the scaling factor and offset for the LIC, equations (2) and (3) become:

Figure 00000011

Figure 00000012
Figure 00000011

Figure 00000012
(7)(7)
Figure 00000013
Figure 00000013
(8)(8)

[0110] Различные способы могут быть использованы, чтобы вычислить значение w i . В одном варианте осуществления предлагается вычислять значение весового коэффициента для каждого дискретного отсчета предсказания согласно абсолютной величине его остатка. Конкретным образом, в этом способе весовой коэффициент, назначенный дискретному отсчету шаблона, вычисляется как:[0110] Various methods can be used to calculate the value of w i . In one embodiment, it is proposed to compute a weight value for each discrete prediction sample according to the absolute value of its remainder. Concretely, in this method, the weight coefficient assigned to the discrete sample of the template is calculated as:

Figure 00000014
Figure 00000014
(9)(9)

где W(x i , y i ) - ненормализованный весовой коэффициент дискретного отсчета шаблона T(x i , y i ), который может быть найден на основе абсолютной величины остатка дискретного отсчета шаблона Res(x i , y i ) как:where W ( x i , y i ) is the unnormalized pattern sample sample weight T ( x i , y i ), which can be found based on the absolute value of the sample sample residual Res ( x i , y i ) as:

Figure 00000015
Figure 00000015
(10)(10)

[0111] Поскольку все первичные преобразования и вторичные преобразования, которые применяются в JEM, являются ортогональными преобразованиями, полная энергия остаточного сигнала элемента кодирования сохраняется до и после преобразования/обратного преобразования. Таким образом, за исключением небольшого влияния ошибок округления, вызываемых преобразованием операций с плавающей запятой в операции с фиксированной запятой в преобразовании/обратном преобразовании, полная энергия остаточных дискретных отсчетов блока по существу та же самая, что и у коэффициентов преобразования блока. На основе такой характеристики, чтобы уменьшить задержку кодирования/декодирования, отношение абсолютных величин, которое используется в уравнении (10), может быть вычислено в области преобразования без применения деквантования и обратного преобразования.[0111] Since all primary transforms and secondary transforms that are applied in JEM are orthogonal transforms, the total energy of the coding element residual signal is preserved before and after the transform/inverse transform. Thus, with the exception of a slight influence of rounding errors caused by the conversion of floating point operations to fixed point operations in the conversion/inverse conversion, the total energy of the residual discrete samples of the block is essentially the same as that of the block transformation coefficients. Based on such a characteristic, in order to reduce the encoding/decoding delay, the absolute value ratio that is used in equation (10) can be calculated in the transform domain without applying dequantization and inverse transform.

[0112] В другом варианте осуществления два фиксированных весовых коэффициента w 0 и w 1 используется (где w 0>w 1 и w 0+w 1=1); w 0 используется для всех дискретных отсчетов предсказания, которые имеют нулевые остатки, и w 1 используется для всех дискретных отсчетов предсказания, которые имеют ненулевые остатки.[0112] In another embodiment, two fixed weights w 0 and w 1 are used (where w 0 > w 1 and w 0 + w 1 =1); w 0 is used for all discrete prediction samples that have zero residuals, and w 1 is used for all discrete prediction samples that have non-zero residuals.

Основанное на шаблоне промежуточное предсказание на основе прибавления смещения DC к дискретного отсчетам предсказания.Template-based intermediate prediction based on adding a DC offset to discrete prediction samples.

[0113] Как изображено на фиг.2 и фиг.3, как в HEVC и его предшествующих стандартах, преобразование 2D и обратное преобразование 2D также используются в JEM, чтобы достичь хорошего сжатия энергии на остатке предсказания. Для большинства случаев после горизонтального и/или вертикального преобразования большая часть энергии сигнала в блоке кодирования сконцентрирована в нескольких низкочастотных коэффициентах. В особенности, для конкретных блоков кодирования, которые покрываются в зонах, у которых нет сильных направленных краев, текстур и/или быстро перемещающихся объектов, ошибка между исходным сигналом и сигналом предсказания блока (т. е. остатки блока) может быть относительно постоянной или медленно варьирующейся на протяжении различных позиций дискретных отсчетов внутри блока. В таком случае преобразование 2D может равномерно сжимать энергию остатков в один единственный коэффициент (например, коэффициент DC для стандартного преобразования DCT-II, которое используется в HEVC и предыдущих стандартах) в области преобразования.[0113] As depicted in FIG. 2 and FIG. 3, as in HEVC and its predecessor standards, 2D transform and 2D inverse transform are also used in JEM to achieve good energy compression on the prediction residual. For most cases, after horizontal and/or vertical conversion, most of the signal energy in the coding block is concentrated in a few low frequency coefficients. In particular, for particular coding blocks that are covered in areas that do not have strong directional edges, textures, and/or fast moving objects, the error between the original signal and the block prediction signal (i.e., block residuals) can be relatively constant or slowly varying over different positions of discrete samples within the block. In such a case, the 2D transform can uniformly compress the energy of the residuals into a single factor (eg, the DC factor for the standard DCT-II transform that is used in HEVC and previous standards) in the transform domain.

[0114] Как рассмотрено выше, точность найденных параметров шаблона зависит от подобия между сигналом предсказания и восстановленным сигналом дискретных отсчетов шаблона. При ближайшем рассмотрении того, как поиск движения FRUC выполняется и как нахождение параметра LIC выполняется, можно заметить, что значения дискретных отсчетов шаблона часто оцениваются совокупным образом (либо в форме SAD, либо в следующих уравнениях (2) и (3)). Это означает, что высокочастотные компоненты в сигнале шаблона могут быть гораздо менее важными, чем низкочастотные компоненты шаблона. В некоторых вариантах осуществления предлагается скорректировать сигнал предсказания посредством прибавления только компонента DC к дискретного отсчетам предсказания перед тем, как они используются в качестве дискретных отсчетов шаблона для способов на основе шаблона промежуточного предсказания. Это скорректирует самую важную частоту дискретных отсчетов шаблона (т. е. компонент DC), не вызывая задержки, поскольку восстановление компонента DC относительно легко и не требует обратного преобразования.[0114] As discussed above, the accuracy of the found template parameters depends on the similarity between the prediction signal and the reconstructed template sample signal. A closer look at how the FRUC motion search is performed and how the LIC parameter finding is performed, it can be seen that the values of the discrete samples of the pattern are often estimated in a cumulative manner (either in the SAD form or in the following equations (2) and (3)). This means that the high frequency components in the template signal can be much less important than the low frequency components of the template. In some embodiments, it is proposed to correct the prediction signal by adding only the DC component to the discrete prediction samples before they are used as template samples for intermediate prediction pattern based methods. This will correct the most important sample rate of the pattern (i.e. the DC component) without causing any delay, since recovery of the DC component is relatively easy and does not require inverse conversion.

[0115] В кодировании видео на основе блоков, когда кодирование с потерями применяется, коэффициенты преобразования (включающие в себя коэффициент DC) должны быть квантованы перед посыланием от кодера к декодеру. Таким образом, в некоторых вариантах осуществления, чтобы получить верное значение DC остатков (DC rec ), коэффициент DC (DC coef ), который синтаксически анализируется из битового потока, будет деквантован перед прибавлением к сигналу предсказания, например, следующим образом:[0115] In block-based video coding, when lossy coding is applied, the transform coefficients (including the DC coefficient) must be quantized before being sent from the encoder to the decoder. Thus, in some embodiments, in order to obtain the correct value of DC residuals ( DC rec ), the DC coefficient ( DC coef ) that is parsed from the bitstream will be dequantized before being added to the prediction signal, for example, as follows:

Figure 00000016
Figure 00000016
(11)(eleven)

где round(∙) - функция, которая округляет входящее плавающее значение до ближайшего целого; Q step - размер шага квантования; и QP - параметр квантования. Дополнительно, ввиду увеличения динамического диапазона, вызываемого ортогональными преобразованиями 2D (например, ядерными преобразованиями в наборе DCT/DST), другой коэффициент вносится в уравнение (11), чтобы обеспечить то, что вычисленное значение DC находится в верном динамическом диапазоне. Конкретным образом, в предлагаемом способе следующее смещение DC прибавляется к дискретного отсчетам предсказания:where round (∙) is a function that rounds the incoming float value to the nearest integer; Q step - quantization step size; and QP is the quantization parameter. Additionally, due to the increase in dynamic range caused by 2D orthogonal transforms (eg, kernel transforms in the DCT/DST set), another factor is introduced into Equation (11) to ensure that the calculated DC value is in the correct dynamic range. Specifically, in the proposed method, the following DC offset is added to the discrete prediction samples:

Figure 00000017
Figure 00000017
(12)(12)

где nT h и nT v - размер горизонтального и вертикального преобразований, которые применяются к блоку. Уравнение (12) является операцией с плавающей запятой. На практике деления и умножения в уравнении (12) могут быть аппроксимированы посредством умножения коэффициентов масштабирования, за которым следует сдвиг вправо надлежащих битов. На основе такого соображения, в одном варианте осуществления уравнение (12) становится следующим:where nT h and nT v are the size of the horizontal and vertical transformations that are applied to the block. Equation (12) is a floating point operation. In practice, the divisions and multiplications in equation (12) can be approximated by multiplying the scaling factors followed by a right shift of the appropriate bits. Based on this consideration, in one embodiment, equation (12) becomes:

Figure 00000018

Figure 00000019
Figure 00000018

Figure 00000019
(13)(13)

где M B size и L B size - коэффициент масштабирования и количество битов для сдвига вправо, которые используются (вместе со сдвигом вправо

Figure 00000020
), чтобы аппроксимировать значение
Figure 00000021
, которые вычисляются как:where M B size and L B size are the scaling factor and the number of right shift bits that are used (together with right shift
Figure 00000020
) to approximate the value
Figure 00000021
, which are calculated as:

Figure 00000022

Figure 00000023
Figure 00000022

Figure 00000023
(14)(14)

[0116] Как показано в уравнении (14), M BSize и L BSize вносятся, чтобы компенсировать 0,5-битное смещение вправо, когда увеличение динамического диапазона ввиду размера преобразования 2D не может быть чистым образом осуществлено посредством смещений вправо. На основе существующего проектирования квантования в HEVC и JEM, размер шага квантования увеличивается приблизительно в 21/6 раз с каждым приращением QP и увеличивается приблизительно в 20,5 раз для каждых 3 приращений QP. Таким образом, в другом варианте осуществления вместо способа на основе масштабирования (как в уравнении (14)) предлагается уменьшить значение QP на 3, чтобы аппроксимировать 0,5-битное смещение вправо, когда увеличение динамического диапазона преобразования 2D не равно в точности степени 2. Конкретным образом, в этом способе смещение DC вычисляется как:[0116] As shown in equation (14), M BSize and L BSize are introduced to compensate for the 0.5-bit right offset when the increase in dynamic range due to the size of the 2D transform cannot be done cleanly by right offsets. Based on the existing quantization design in HEVC and JEM, the quantization step size increases by about 2 1/6 times with every QP increment and increases by about 2 0.5 times for every 3 QP increments. Thus, in another embodiment, instead of the scaling-based method (as in Equation (14)) it is proposed to decrease the QP value by 3 to approximate a 0.5-bit right shift when the 2D transform dynamic range increase is not exactly a power of 2. Specifically, in this method, the DC offset is calculated as:

Figure 00000024

Figure 00000025
Figure 00000024

Figure 00000025
(15)(15)

где QP offset равно:where QP offset is:

Figure 00000026
Figure 00000026
(16)(16)

[0117] В качестве дополнения к стандартному ядерному преобразованию DCT-II, другие основы преобразования, например основы преобразования DCT-VIII, DCT-V, DST-VII, DST-I и NSST на основе KLT, используются на обоих этапах первичного преобразования и вторичного преобразования в текущей JEM, чтобы дополнительно улучшить эффективность кодирования преобразования. Ввиду различных характеристик этих базисных функций преобразования, коэффициент преобразования на самой низкой частоте может не соответствовать истинному значению DC.[0117] In addition to the standard DCT-II kernel transformation, other transformation bases, such as DCT-VIII, DCT-V, DST-VII, DST-I, and KLT-based transformation bases, are used in both the primary and secondary transformation steps. conversions in the current JEM to further improve the conversion coding efficiency. Due to the different characteristics of these conversion basis functions, the conversion gain at the lowest frequency may not correspond to the true DC value.

[0118] Фиг.14 изображает самые низкие частотные характеристики функций первичного преобразования, которые используются в текущем JEM, где каждый элемент чертежа соответствует паре горизонтального преобразования и вертикального преобразования. Как изображено на фиг.14, кроме преобразований DCT-II+DCT-II и DCT-V+DCT-V, самые низкие частотные характеристики других базисных функций ядерного преобразования находятся далеко от точности для аппроксимирования действительного значения DC. На основе такого наблюдения, в одном варианте осуществления предлагается прибавлять смещение DC (например, смещение, вычисляемое в уравнении (12)) к сигналу предсказания только тогда, когда блок кодируется посредством первичного преобразования либо DCT-II, либо DCT-V; для блоков, которые используют другие функции первичного преобразования, сигнал предсказания будет непосредственно использоваться в качестве дискретных отсчетов шаблона без прибавления смещения.[0118] Fig. 14 depicts the lowest frequency response of the primary transform functions that are used in the current JEM, where each drawing element corresponds to a pair of horizontal transform and vertical transform. As shown in FIG. 14, apart from the DCT-II+DCT-II and DCT-V+DCT-V transforms, the lowest frequency responses of the other nuclear transform basis functions are far from accurate for approximating the actual DC value. Based on such an observation, in one embodiment, it is proposed to add a DC offset (eg, the offset calculated in equation (12)) to the prediction signal only when the block is encoded by either DCT-II or DCT-V primary transform; for blocks that use other primary transform functions, the prediction signal will be directly used as template samples without adding an offset.

[0119] В другом варианте осуществления предлагается прибавлять смещение DC к сигналу предсказания только тогда, когда блок кодируется без NSST; для блоков, которые кодируются с NSST, сигнал предсказания будет непосредственно использоваться в качестве дискретных отсчетов шаблона без прибавления смещения. В другом варианте осуществления предлагается прибавлять смещение DC к сигналу предсказания всех блоков, независимо от того, какая функция первичного преобразования используется и применяется ли NSST.[0119] In another embodiment, it is proposed to add the DC offset to the prediction signal only when the block is encoded without NSST; for blocks that are encoded with NSST, the prediction signal will be directly used as sample samples of the template without adding an offset. In another embodiment, it is proposed to add a DC offset to the prediction signal of all blocks, regardless of which primary transform function is used and whether NSST is applied.

[0120] В другом варианте осуществления, когда блок кодируется с возможностью AMT или NSST, предлагается внести другой коэффициент масштабирования DC, чтобы компенсировать разницу между коэффициентом преобразования самой низкой частоты и действительным значением DC. При внесении такого коэффициента масштабирования уравнение (12) дополнительно становится:[0120] In another embodiment, when a block is encoded with AMT or NSST capability, it is proposed to introduce a different DC scaling factor to compensate for the difference between the lowest frequency transform factor and the actual DC value. By introducing such a scaling factor, Equation (12) additionally becomes:

Figure 00000027
Figure 00000027
(17)(17)

где Scale DC - коэффициент масштабирования DC, который может быть вычислен как отношение энергии сигнала самой низкой частотной характеристики примененных функций преобразования (например, тех, которые показаны на фиг.14) к энергии сигнала преобразования DCT-II, для которого самая низкая частотная характеристика является истинной DC. В качестве одного особого случая, когда DCT-II используется в качестве первичного преобразования, значение Scale DC равно 1, т. е. никакое масштабирование не применяется.where Scale DC is the DC scaling factor, which can be calculated as the ratio of the signal energy of the lowest frequency response of the applied transform functions (for example, those shown in Fig. 14) to the signal energy of the DCT-II transform, for which the lowest frequency response is true DC. As one special case, when DCT-II is used as the primary transform, the value of Scale DC is 1, i.e. no scaling is applied.

Основанное на шаблоне промежуточное предсказание на основе адаптивного размера шаблона.Template-based intermediate prediction based on adaptive template size.

[0121] В текущих способах на основе шаблона промежуточного предсказания в JEM фиксированный размер шаблона (например, четыре строки/столбца соседних дискретных отсчетов для режима сравнения с шаблоном FRUC и одна строка/столбец соседних дискретных отсчетов для LIC) используется. Однако такое проектирование может не быть оптимальным ввиду того, что корреляция между дискретного отсчетами элемента кодирования и его дискретного отсчетами шаблона зависима от выбранного размера шаблона. Например, выбор большого размера шаблона имеет недостаток в том, что дискретные отсчеты шаблона имеют тенденцию быть далеко от целевого блока. Таким образом, корреляция между текущим блоком и его шаблоном может быть недостаточной. С другой стороны, большой размер шаблона может также обеспечивать преимущества в том смысле, что он может давать более надежную оценку при наличии шума (например, шума захвата видео и шума, вызываемого процессом кодирования). Некоторые варианты осуществления оперируют, чтобы выбрать надлежащий размер шаблона для различных размеров блока, которые должны быть достаточно большими против шума, при этом не превосходя предел размера, чтобы обеспечить достаточную корреляцию между шаблоном и целевым блоком.[0121] In the current JEM intermediate prediction pattern based methods, a fixed pattern size (eg, four rows/columns of adjacent samples for FRUC pattern matching mode and one row/column of adjacent samples for LIC) is used. However, such a design may not be optimal due to the fact that the correlation between coding element samples and its template samples is dependent on the selected template size. For example, choosing a large template size has the disadvantage that template samples tend to be far from the target block. Thus, the correlation between the current block and its template may not be sufficient. On the other hand, a large template size may also provide advantages in that it may provide a more reliable estimate in the presence of noise (eg, video capture noise and noise caused by the encoding process). Some embodiments operate to select an appropriate template size for various block sizes, which must be large enough against noise while not exceeding a size limit to provide sufficient correlation between template and target block.

[0122] В одном варианте осуществления размер шаблона 2 используется для блоков, для которых либо ширина, либо высота меньше или равна 8. Иначе (и ширина, и высота больше 8) больший размер шаблона 4 (т. е., L=4) используется. В другом варианте осуществления размер шаблона может адаптивно выбираться в кодере и сигнализироваться декодеру. Чтобы сделать это, дополнительные синтаксические элементы могут быть внесены, например, на уровне последовательности, изображения и/или сегмента, чтобы определить соответствующие размеры шаблона, которые используются для различных размеров блока. Различные способы могут применяться в кодере, чтобы определить оптимальный размер шаблона (например, для некоторого заданного размера блока). Например, анализ может быть выполнен в кодере, чтобы определить шум, который содержится в исходном видео, а также шум кодирования, который процесс кодирования может внести (например, на основе значения QP). Если уровень шума высокий, то большой размер шаблона может быть выбран, чтобы нейтрализовать шум; иначе (т. е. уровень шума мал) малый размер шаблона может быть выбран, чтобы обеспечить достаточную корреляцию дискретных отсчетов текущего блока и шаблона.[0122] In one embodiment, template size 2 is used for blocks for which either the width or height is less than or equal to 8. Otherwise (both width and height are greater than 8), the larger template size 4 (i.e., L = 4) used. In another embodiment, the pattern size may be adaptively selected at the encoder and signaled to the decoder. To do this, additional syntax elements can be introduced, for example, at the sequence, image and/or segment level, to define the appropriate template sizes that are used for different block sizes. Various methods may be applied in the encoder to determine the optimal template size (eg, for some given block size). For example, analysis may be performed at the encoder to determine the noise that is contained in the original video as well as the encoding noise that the encoding process may introduce (eg, based on a QP value). If the noise level is high, then a large pattern size may be chosen to cancel out the noise; otherwise (i.e., the noise level is low), a small template size can be chosen to provide sufficient correlation between the samples of the current block and the template.

Основанное на шаблоне промежуточное предсказание на основе сегмента шаблона.Template-based intermediate prediction based on the segment of the template.

[0123] Как отмечено выше, одной причиной задержки кодирования/декодирования для способов промежуточного предсказания на основе шаблона является зависимость между MCP блока кодирования на основе шаблона и восстановлением его соседних дискретных отсчетов. Дополнительно, как показано на фиг.10, задержка кодирования/декодирования худшего случая, вносимая предсказанием на основе шаблона, непосредственно относится к максимальному количеству последовательных блоков, которые кодируются способами промежуточного предсказания на основе шаблона.[0123] As noted above, one reason for encoding/decoding delay for template-based intermediate prediction methods is the dependency between the MCP of a template-based coding block and the reconstruction of its adjacent discrete samples. Further, as shown in FIG. 10, the worst-case encoding/decoding delay introduced by pattern-based prediction directly relates to the maximum number of consecutive blocks that are encoded by pattern-based intermediate prediction methods.

[0124] В некоторых вариантах осуществления "сегменты шаблона" используются, чтобы ограничить максимальную задержку кодирования/декодирования методик промежуточного предсказания на основе шаблона. Конкретным образом, с использованием сегментов шаблона изображение/сегмент разделяется на множество отдельных срезов (или сегментов шаблона), и декодированные дискретные отсчеты каждого блока в срезе обеспечена возможность использовать только в качестве дискретных отсчетов шаблона для кодирования на основе шаблона других блоков в том же самом срезе, но не обеспечена возможность использовать в качестве дискретных отсчетов шаблона для кодирования на основе шаблона блоков в любом из других срезов. Таким образом, кодирование/декодирование блоков в каждом сегменте шаблона может быть полностью независимым от других сегментов шаблона.[0124] In some embodiments, "template segments" are used to limit the maximum encoding/decoding delay of template-based intermediate prediction techniques. Specifically, using template segments, an image/segment is divided into a plurality of individual slices (or template segments) and the decoded samples of each block in the slice are only allowed to be used as template samples for template-based encoding of other blocks in the same slice. , but it is not possible to use as discrete samples of the pattern for encoding based on the pattern of blocks in any of the other slices. Thus, the encoding/decoding of blocks in each pattern segment can be completely independent of the other pattern segments.

[0125] Дополнительно, в вариантах осуществления, в отличие от стандартных сегментов, сегменты шаблона разбивают только зависимость промежуточного предсказания на основе шаблона; они не влияют на другие процессы декодирования. Например, для внутриконтурных фильтров, внутреннего предсказания и AMVP может все еще осуществляться операция, переходя границы сегмента шаблона. Таким образом, потенциальные потери кодирования ввиду удаления зависимости дискретного отсчета шаблона между сегментами шаблона могут быть минимизированы. Фиг.15 обеспечивает один пример, чтобы проиллюстрировать концепцию предлагаемого сегмента шаблона. Как изображено на фиг.15, процессы декодирования множества сегментов шаблона могут теперь осуществляться параллельно посредством их назначения различным потокам.[0125] Additionally, in embodiments, unlike the standard segments, the template segments break only the dependency of the intermediate prediction based on the template; they do not affect other decoding processes. For example, for in-loop filters, intra-prediction, and AMVP, an operation may still be performed by crossing the pattern segment boundaries. In this way, potential coding loss due to removal of the discrete pattern sample dependency between pattern segments can be minimized. 15 provides one example to illustrate the concept of the proposed template segment. As shown in FIG. 15, the decoding processes of multiple pattern segments can now be performed in parallel by assigning them to different streams.

[0126] По аналогии с другими инструментами параллельности в HEVC и JEM (например, сегментами, ячейками и параллельной обработкой фронта волны (WPP)), для сегментов шаблона количество сегментов шаблона и позиция каждого сегмента шаблона внутри изображения/сегмента может быть свободно выбрано кодером и просигнализировано декодеру. Различные выборы (например, количество сегментов шаблона, а также их размеры и позиции) могут приводить к различным компромиссам между производительностью кодирования и параллельностью кодирования/декодирования. В общем случае наличие большего количества сегментов шаблона улучшает параллельность, но также снижает эффективность кодирования.[0126] Similar to other parallelism tools in HEVC and JEM (e.g., segments, cells, and parallel wavefront processing (WPP)), for template segments, the number of template segments and the position of each template segment within the image/segment can be freely chosen by the encoder and signaled to the decoder. Different choices (eg, number of pattern segments, as well as their sizes and positions) can lead to different trade-offs between encoding performance and encoding/decoding parallelism. In general, having more pattern segments improves concurrency, but also reduces coding efficiency.

[0127] В плане сигнализирования сегмента шаблона синтаксические элементы могут прибавляться на уровне последовательности и/или изображения. Например, количество CTU в каждом сегменте шаблона может сигнализироваться в наборе параметров последовательности (SPS) и/или наборе параметров изображения (PPS) или может сигнализироваться в заголовке сегмента. Другие вариации синтаксических элементов могут быть использованы, например количество строк CTU может быть использовано или количество сегментов шаблона в каждом изображении может быть использовано, и т. д. Флаг может сигнализироваться, чтобы указывать на уровне последовательности или изображения, используются ли сегменты шаблона.[0127] In terms of template segment signaling, syntax elements can be added at the sequence and/or image level. For example, the number of CTUs in each segment of the template may be signaled in a sequence parameter set (SPS) and/or picture parameter set (PPS), or may be signaled in a segment header. Other variations of the syntax elements may be used, for example the number of CTU lines may be used or the number of template segments in each picture may be used, etc. A flag may be signaled to indicate at the sequence or picture level whether template segments are used.

[0128] В другом варианте осуществления, количества CTU или строк CTU каждого сегмента шаблона могут отличаться друг от друга. Например, синтаксический элемент может быть сначала просигнализирован в SPS, PPS и/или сегменте, чтобы указать количество сегментов шаблона в текущей последовательности, изображении или сегменте, за чем следует набор других синтаксических элементов, которые определяют соответствующее количество CTU или строк CTU в каждом сегменте шаблона соответственно. Дополнительно, в вышеприведенном рассмотрении граница каждого сегмента шаблона всегда выровнена с границами CTU (так, что размер сегмента шаблона является кратным размера CTU). В другом варианте осуществления предлагается сигнализировать в битовом потоке размер базового элемента (который должен быть кратным минимального размера элемента кодирования, как определено в SPS), который используется, чтобы составить сегмент шаблона.[0128] In another embodiment, the numbers of CTUs or CTU rows of each template segment may be different from each other. For example, a syntax element may be signaled first in the SPS, PPS, and/or segment to indicate the number of template segments in the current sequence, picture, or segment, followed by a set of other syntax elements that specify the corresponding number of CTUs or CTU lines in each template segment. respectively. Additionally, in the above consideration, the boundary of each template segment is always aligned with the CTU boundaries (so that the template segment size is a multiple of the CTU size). In another embodiment, it is proposed to signal in the bitstream the size of the base element (which must be a multiple of the minimum coding element size as defined in the SPS) that is used to make up the template segment.

Применение предлагаемых способов на основе шаблона к другим способам кодирования на основе шаблона.Applying the proposed template-based methods to other template-based encoding methods.

[0129] В вышеприведенном рассмотрении сравнение с шаблоном FRUC и LIC используется в качестве примеров, чтобы проиллюстрировать предлагаемые способы на основе шаблона, такие как способы, описанные в разделах "Основанное на шаблоне промежуточное предсказание на основе сигнала предсказания" и "Основанное на шаблоне промежуточное предсказание на основе сегмента шаблона" выше. Однако в некоторых вариантах осуществления предлагаемые способы применяются к другим схемам кодирования на основе шаблона. Предлагаемые способы, как рассмотрено выше, могут быть адаптированы к другим способам кодирования на основе шаблона, где восстановленные соседние дискретные отсчеты используются для кодирования/декодирования текущего блока, включающим в себя способы кодирования на основе шаблона, такие как предсказание знака коэффициента преобразования, получение знака разницы векторов движения, предсказание вектора движения на основе шаблона, переупорядочивание потенциально подходящих вариантов объединения и переупорядочивание синтаксиса преобразования.[0129] In the above discussion, the pattern comparison of FRUC and LIC is used as examples to illustrate proposed template-based methods, such as the methods described in "Template-Based Intermediate Prediction Based on Prediction Signal" and "Template-Based Intermediate Prediction based on template segment" above. However, in some embodiments, the proposed methods apply to other template-based coding schemes. The proposed methods as discussed above can be adapted to other pattern-based coding methods where reconstructed neighboring samples are used to encode/decode the current block, including pattern-based coding methods such as transform coefficient sign prediction, difference sign derivation motion vectors, motion vector prediction based on a template, reordering of potentially suitable join options, and reordering of the transformation syntax.

[0130] Например, при использовании предлагаемого нахождения дискретного отсчета шаблона для этих основанных на шаблоне способов кодирования на основе дискретных отсчетов предсказания вместо восстановленных соседних дискретных отсчетов дискретные отсчеты предсказания (с или без прибавления компонента DC) используются, чтобы вычислить функции издержек, которые используются, чтобы выбрать значения знака (например, предсказание знака коэффициента преобразования и получение знака разницы векторов движения) и вектора движения (например, основанное на шаблоне предсказание движения и переупорядочивание потенциально подходящих вариантов объединения). В качестве одного примера, когда нахождение шаблона на основе предсказания применяется к предсказанию знака коэффициентов преобразования, функция издержек, описанная в уравнении (4), становится:[0130] For example, when using the proposed template sample sampling for these template-based encoding methods based on prediction samples instead of reconstructed neighboring samples, prediction samples (with or without the addition of a DC component) are used to calculate the cost functions that are used, to select sign values (eg, predicting the sign of the transform coefficient and deriving the sign of the difference of the motion vectors) and motion vector (eg, pattern-based motion prediction and reordering of potentially suitable joins). As one example, when pattern finding based on prediction is applied to predicting the sign of the transform coefficients, the cost function described in equation (4) becomes:

Figure 00000028
Figure 00000028

где Pred - сигнал предсказания соседних дискретных отсчетов, P - предсказание текущего блока, и r - остаточная гипотеза.where Pred is the neighboring sample prediction signal, P is the prediction of the current block, and r is the residual hypothesis.

[0131] В более общем случае, когда множество методик предсказания (например, AMVP или режим объединения, подобный HEVC, FRUC, LIC, предсказание знака MVD на основе шаблона, предсказание MV на основе шаблона, предсказание знака на основе шаблона и OBMC) доступно, версия сигнала предсказания может генерироваться для соседнего блока с использованием одной или нескольких методик предсказания. Эта исходная версия может дополнительно регулироваться на основе одной или нескольких других методик предсказания, чтобы уточнить сигнал предсказания, который может прибавляться к остатку предсказания для соседнего блока, чтобы восстанавливать соседний блок. Для кодирования или декодирования текущего блока сигнал предсказания соседнего блока (исходная версия или отрегулированная версия) может быть использован, чтобы формировать шаблон при применении промежуточного предсказания на основе шаблона к текущему блоку.[0131] More generally, when a plurality of prediction techniques (e.g., AMVP or combining mode like HEVC, FRUC, LIC, template-based MVD sign prediction, template-based MV prediction, template-based sign prediction, and OBMC) are available, a version of the prediction signal may be generated for an adjacent block using one or more prediction techniques. This original version may be further adjusted based on one or more other prediction techniques to refine a prediction signal that may be added to the prediction residual for the adjacent block to reconstruct the adjacent block. To encode or decode the current block, a neighboring block prediction signal (original version or adjusted version) may be used to generate a pattern when applying intermediate prediction based on the pattern to the current block.

[0132] В примерах, как показано на фиг.9-12, процессы предсказания (MCP, OBMC) предполагаются как осуществляемые до процессов генерирования остатков предсказания (деквантования и обратного преобразования). Однако процессы предсказания могут осуществляться независимо от процессов генерирования остатков предсказания, и блок предсказания и остаточный блок могут быть получены в порядках, отличных от того, что описано ранее. Следует заметить, что настоящие методики использования соседних дискретных отсчетов предсказания для промежуточного предсказания на основе шаблона текущего блока все еще будут применимы, когда остаточный блок генерируется в другом порядке.[0132] In the examples as shown in FIGS. 9-12, prediction processes (MCP, OBMC) are assumed to be performed prior to prediction residual generation processes (dequantization and inverse transformation). However, the prediction processes may be performed independently of the prediction residual generation processes, and the prediction block and the residual block may be obtained in orders other than those described previously. It should be noted that the present techniques for using adjacent prediction samples for intermediate prediction based on the current block pattern will still be applicable when the residual block is generated in a different order.

[0133] Фиг.16 изображает примерный способ 1600 для кодирования блока с использованием промежуточного предсказания на основе шаблона согласно одному варианту осуществления. Способ 1600 начинается на этапе 1605 инициализации. На этапе инициализации кодер может осуществлять доступ к дискретного отсчетам предсказания соседних блоков, которые могут быть использованы, чтобы формировать шаблон и CBF соседних блоков. На этапе 1610 шаблон для текущего блока формируется на основе дискретных отсчетов предсказания соседних блоков. Как описано ранее, шаблон может быть сформирован соседними дискретного отсчетами из верхнего и левого смежных блоков, или шаблон может быть сформирован посредством дополнительного использования информации, указывающей, соответствуют ли соседние дискретные отсчеты нулевым или ненулевым остаткам. Размер шаблона также может быть адаптирован к размеру блока или уровню шума. Дискретные отсчеты предсказания, используемые для шаблона, могут быть получены после выполнения части или всех из процессов промежуточного предсказания. Соответствующий шаблон в опорном изображении затем формируется с использованием восстановленных дискретных отсчетов.[0133] FIG. 16 depicts an exemplary method 1600 for encoding a block using template-based intermediate prediction, according to one embodiment. Method 1600 begins at initialization block 1605. During the initialization step, the encoder may access discrete neighbor block prediction samples, which can be used to generate the pattern and CBFs of the neighboring blocks. At 1610, a template for the current block is generated based on discrete prediction samples of adjacent blocks. As previously described, the pattern may be formed by adjacent samples from the top and left adjacent blocks, or the pattern may be formed by additionally using information indicating whether adjacent samples correspond to zero or non-zero residuals. The pattern size can also be adapted to the block size or noise level. The prediction samples used for the template may be obtained after performing some or all of the intermediate prediction processes. The corresponding pattern in the reference image is then generated using the reconstructed samples.

[0134] С использованием шаблонов промежуточное предсказание на основе шаблона затем выполняется. На этапе 1620 FRUC выполняется, чтобы получить вектор движения. На этапе 1630 весовой коэффициент и смещение получаются для LIC. Параметры, полученные из этапов 1620 и 1630, могут быть использованы, чтобы генерировать предсказание для текущего блока на этапе 1640. Другие методики предсказания, такие как OBMC, могут также быть использованы в генерировании предсказания. На этапе 1650 остатки предсказания для текущего блока могут генерироваться посредством вычитания блока предсказания из исходного блока. Остатки предсказания могут затем быть квантованы, преобразованы и энтропийно закодированы.[0134] Using templates, intermediate prediction based on the template is then performed. At block 1620, FRUC is performed to obtain a motion vector. At 1630, a weight and bias are obtained for the LIC. The parameters obtained from blocks 1620 and 1630 may be used to generate a prediction for the current block at block 1640. Other prediction techniques, such as OBMC, may also be used in generating the prediction. At 1650, prediction residuals for the current block may be generated by subtracting the prediction block from the original block. The prediction residuals can then be quantized, transformed and entropy encoded.

[0135] Фиг.17 изображает примерный способ 1700 для декодирования блока с использованием промежуточного предсказания на основе шаблона согласно одному варианту осуществления. Способ 1700 начинается на этапе 1705 инициализации. На этапе инициализации декодер может осуществлять доступ к дискретного отсчетам предсказания соседних блоков, которые могут быть использованы, чтобы формировать шаблон, CBF соседних блоков и квантованные коэффициенты преобразования для текущего блока. На этапе 1710 шаблон для текущего блока формируется на основе дискретных отсчетов предсказания соседних блоков. Для того чтобы битовый поток был верно декодирован, шаблон на стороне декодера должен формироваться тем же самым образом, что и на стороне кодера. Соответствующий шаблон в опорном изображении затем формируется с использованием восстановленных дискретных отсчетов.[0135] FIG. 17 depicts an exemplary method 1700 for decoding a block using template-based intermediate prediction, according to one embodiment. Method 1700 begins at initialization block 1705. During the initialization step, the decoder may access discrete neighboring block prediction samples, which may be used to generate the template, neighboring block CBFs, and quantized transform coefficients for the current block. At 1710, a template for the current block is generated based on discrete prediction samples of adjacent blocks. In order for the bitstream to be correctly decoded, the template on the decoder side must be formed in the same way as on the encoder side. The corresponding pattern in the reference image is then generated using the reconstructed samples.

[0136] С использованием шаблонов промежуточное предсказание на основе шаблона затем выполняется. На этапе 1720 FRUC выполняется, чтобы получить вектор движения. На этапе 1730 весовой коэффициент и смещение получаются для LIC. Параметры, полученные из этапов 1720 и 1730, могут быть использованы, чтобы генерировать предсказание для текущего блока на этапе 1740. Другие методики промежуточного предсказания, такие как OBMC, могут также быть использованы в генерировании предсказания. На этапе 1750 текущий блок может декодироваться посредством прибавления блока предсказания к остаткам предсказания текущего блока.[0136] Using templates, intermediate prediction based on the template is then performed. At 1720, FRUC is executed to obtain a motion vector. At 1730, a weight and bias are obtained for the LIC. The parameters obtained from steps 1720 and 1730 may be used to generate a prediction for the current block at 1740. Other intermediate prediction techniques, such as OBMC, may also be used in generating the prediction. At 1750, the current block may be decoded by adding the prediction block to the prediction residuals of the current block.

[0137] В примерах с фиг.16 и фиг.17 FRUC и LIC используются для генерирования блока предсказания. Другие методики кодирования на основе шаблона могут также выполняться для того, чтобы способствовать предсказанию (и/или восстановления) текущего блока. Следует заметить, что способ кодирования или декодирования может продолжаться только с FRUC (без LIC), только с LIC (без FRUC), с обоими из FRUC и LIC или, в более общем случае, с любой возможной комбинацией способов кодирования на основе шаблона, как описано ранее.[0137] In the examples of FIG. 16 and FIG. 17, FRUC and LIC are used to generate a prediction block. Other pattern-based coding techniques may also be performed to help predict (and/or reconstruct) the current block. It should be noted that the encoding or decoding method can continue with FRUC only (no LIC), LIC only (no FRUC), both of FRUC and LIC, or more generally with any possible combination of template-based encoding methods, such as described earlier.

[0138] Различные способы и другие аспекты, описанные в этой заявке, могут быть использованы, чтобы модифицировать модули, например промежуточное предсказание, и/или модули (162, 104, 112, 262, 212) преобразования кодера 100 и декодера 200 видео, как показано на фиг.2 и фиг.3. Кроме того, настоящие аспекты не ограничиваются VVC или HEVC и могут применяться, например, к другим стандартам и рекомендациям и расширению любых таких стандартов и рекомендаций.[0138] Various methods and other aspects described in this application can be used to modify modules, such as intermediate prediction, and / or modules (162, 104, 112, 262, 212) of the video encoder 100 and decoder 200, as shown in figure 2 and figure 3. In addition, these aspects are not limited to VVC or HEVC and may apply, for example, to other standards and recommendations and extensions of any such standards and recommendations.

[0139] Различные числовые значения используются в настоящей заявке, например размер блока, используемый, чтобы определять размер шаблона. Конкретные значения обеспечены для примерных целей, и описанные аспекты не ограничиваются этими конкретными значениями.[0139] Various numerical values are used in this application, such as the block size used to determine the size of the template. Specific values are provided for exemplary purposes, and the described aspects are not limited to these specific values.

[0140] Различные осуществления включают в себя декодирование. "Декодирование", используемое в этой заявке, может охватывать все или часть процессов, выполняемых, например, в принятой закодированной последовательности для того, чтобы произвести окончательный выходной сигнал, подходящий для отображения. В различных вариантах осуществления такие процессы включают в себя один или несколько из процессов, обычно выполняемых декодером, например энтропийное декодирование, обратное квантование, обратное преобразование и дифференциальное декодирование. Подразумевается ли термин "декодирование" как ссылка конкретно на поднабор операций или же в общем на более широкий процесс декодирования, будет ясно на основе контекста конкретных описаний и предполагается как легко понятное специалистам в данной области техники.[0140] Various implementations include decoding. "Decoding" used in this application may cover all or part of the processes performed, for example, in the received encoded sequence in order to produce the final output signal suitable for display. In various embodiments, such processes include one or more of the processes typically performed by a decoder, such as entropy decoding, inverse quantization, inverse transform, and differential decoding. Whether the term "decoding" is intended to refer specifically to a subset of operations, or more generally to a broader decoding process, will be clear based on the context of the specific descriptions and is assumed to be easily understood by those skilled in the art.

[0141] Различные осуществления используют кодирование. Аналогично вышеприведенному рассмотрению о "декодировании", "кодирование", используемое в этой заявке, может охватывать все или часть процессов, выполняемых, например, над входной видеопоследовательностью для того, чтобы произвести закодированный битовый поток. В различных вариантах осуществления такие процессы включают в себя один или несколько из процессов, обычно выполняемых кодером, например разделение, дифференциальное кодирование, преобразование, квантование и энтропийное кодирование.[0141] Various implementations use coding. Similar to the discussion of "decoding" above, "encoding" used in this application may cover all or part of the processes performed on, for example, an input video sequence in order to produce an encoded bitstream. In various embodiments, such processes include one or more of the processes typically performed by an encoder, such as splitting, differential coding, transformation, quantization, and entropy coding.

[0142][0142]

[0143] Хотя признаки и элементы описаны выше в конкретных комбинациях, обычный специалист в данной области техники поймет, что каждый признак или элемент может быть использован поодиночке или в любой комбинации с другими признаками и элементами. Дополнительно, способы, описанные здесь, могут осуществляться в компьютерной программе, программных средствах или программно-аппаратных средствах, находящихся на машиночитаемом носителе для исполнения компьютером или процессором. Примеры долговременных машиночитаемых носителей информации включают в себя, но не ограничиваются, постоянную память (ROM), оперативную память (RAM), реестр, кэш-память, полупроводниковые устройства памяти, магнитные носители, такие как внутренние жесткие диски и сменные диски, магнитооптические носители и оптические носители, такие как диски CD-ROM, и универсальные цифровые диски (DVD). Процессор в ассоциации с программными средствами может быть использован, чтобы осуществлять кодер видео, декодер видео или и то, и другое, радиочастотный приемопередатчик для использования в UE, WTRU, терминале, базовой станции, RNC или любом хост-компьютере.[0143] While the features and elements are described above in specific combinations, one of ordinary skill in the art will appreciate that each feature or element may be used alone or in any combination with other features and elements. Additionally, the methods described herein may be carried out in a computer program, software, or firmware residing on a computer-readable medium for execution by a computer or processor. Examples of non-volatile computer-readable media include, but are not limited to, Read Only Memory (ROM), Random Access Memory (RAM), registry, cache memory, semiconductor memory devices, magnetic media such as internal hard drives and removable drives, magneto-optical media, and optical media such as CD-ROMs and digital versatile discs (DVDs). A processor in association with software may be used to implement a video encoder, a video decoder, or both, an RF transceiver for use in a UE, WTRU, terminal, base station, RNC, or any host computer.

[0144] Кроме того, в вариантах осуществления, описанных выше, платформы обработки, вычислительные системы, средства управления и другие устройства, содержащие процессоры, указаны. Эти устройства могут содержать по меньшей мере один центральный процессор ("CPU") и память. В соответствии с практиками специалистов в данной области техники компьютерного программирования, ссылка на действия и символические представления операций или инструкций может выполняться различными CPU и средствами памяти. Такие действия и операции или инструкции могут упоминаться как "исполняемые", "исполняемые компьютером" или "исполняемые CPU".[0144] In addition, in the embodiments described above, processing platforms, computing systems, controls, and other devices containing processors are specified. These devices may include at least one central processing unit ("CPU") and memory. In accordance with the practices of those skilled in the art of computer programming, reference to actions and symbolic representations of operations or instructions may be performed by various CPU and memory media. Such actions and operations or instructions may be referred to as "executable", "computer-executable", or "CPU-executable".

[0145] Обычный специалист в данной области техники поймет, что действия и символически представленные операции или инструкции включают в себя манипуляцию электрических сигналов посредством CPU. Электрическая система представляет биты данных, которые могут приводить к получающемуся в результате преобразованию или уменьшению электрических сигналов и сохранению битов данных в местоположениях памяти в системе памяти, чтобы тем самым реконфигурировать или другим образом изменять операцию CPU, а также другую обработку сигналов. Местоположения памяти, где биты данных сохраняются, являются физическими местоположениями, которые имеют конкретные электрические, магнитные или оптические свойства, соответствующие битам данных или представляющие их. Следует понимать, что примерные варианты осуществления не ограничиваются вышеупомянутыми платформами или CPU и что другие платформы и CPU могут поддерживать обеспеченные способы.[0145] One of ordinary skill in the art will appreciate that actions and symbolically represented operations or instructions involve the manipulation of electrical signals by the CPU. The electrical system represents data bits that can result in electrical signal conversion or reduction and storage of the data bits in memory locations within the memory system to thereby reconfigure or otherwise alter CPU operation as well as other signal processing. Memory locations where data bits are stored are physical locations that have particular electrical, magnetic, or optical properties corresponding to or representing the data bits. It should be understood that the exemplary embodiments are not limited to the aforementioned platforms or CPUs, and that other platforms and CPUs may support the methods provided.

[0146] Биты данных могут также храниться на машиночитаемом носителе, включающем в себя магнитные диски, оптические диски и любую другую энергозависимую (например, оперативное запоминающее устройство ("RAM")) или энергонезависимую (например, постоянную память ("ROM")) систему массовой памяти, читаемую CPU. Машиночитаемый носитель может включать в себя взаимодействующие или взаимосоединенные машиночитаемые носители, которые существуют исключительно в системе обработки или распределены по множеству взаимосоединенных систем обработки, которые могут быть локальными или удаленными для системы обработки. Следует понимать, что репрезентативные варианты осуществления не ограничиваются вышеупомянутыми средствами памяти и что другие платформы и средства памяти могут поддерживать описанные способы.[0146] The data bits may also be stored on a computer-readable medium, including magnetic disks, optical disks, and any other volatile (eg, random access memory ("RAM")) or non-volatile (eg, read only memory ("ROM")) system. mass memory readable by the CPU. The computer-readable medium may include co-operating or interconnected computer-readable media that exists exclusively within the processing system or distributed across a plurality of interconnected processing systems, which may be local or remote to the processing system. It should be understood that representative embodiments are not limited to the aforementioned memory media and that other platforms and memory media may support the methods described.

[0147] В иллюстративном варианте осуществления любые из операций, процессов и т. д., описанных здесь, могут осуществляться в виде машиночитаемых инструкций, сохраненных на машиночитаемом носителе. Машиночитаемые инструкции могут исполняться процессором мобильного блока, сетевого элемента и/или любого другого вычислительного устройства.[0147] In an exemplary embodiment, any of the operations, processes, etc. described herein may be performed as computer-readable instructions stored on a computer-readable medium. Machine readable instructions may be executed by a processor of a mobile unit, a network element, and/or any other computing device.

[0148] Использование аппаратных средств или программных средств в общем случае является (но не всегда, поскольку в конкретных контекстах выбор между аппаратными средствами и программными средствами может становиться существенным) проектным решением, представляющим компромисс между издержками и эффективностью. Могут существовать различные средства, посредством которых процессы и/или системы и/или другие технологии, описанные здесь, могут осуществляться (например, аппаратные средства, программные средства и/или программно-аппаратные средства), и предпочтительное средство может варьироваться в зависимости от контекста, в котором процессы и/или системы и/или другие технологии применяются. Например, если разработчик определяет, что скорость и точность представляют первостепенную важность, разработчик может делать выбор в пользу, главным образом, аппаратного и/или программно-аппаратного средства. Если гибкость представляют первостепенную важность, разработчик может делать выбор в пользу, главным образом, программного осуществления. В качестве альтернативы, разработчик может делать выбор в пользу некоторых комбинаций аппаратных средств, программных средств и/или программно-аппаратных средств.[0148] The use of hardware or software is generally (but not always, as the choice between hardware and software can become significant in particular contexts) a design decision representing a trade-off between cost and efficiency. There may be various means by which the processes and/or systems and/or other technologies described herein may be carried out (for example, hardware, software and/or firmware), and the preferred means may vary depending on the context, in which processes and/or systems and/or other technologies are applied. For example, if the developer determines that speed and accuracy are of paramount importance, the developer may opt for primarily hardware and/or firmware. If flexibility is paramount, the developer may opt for a primarily software implementation. Alternatively, the developer may choose to use some combination of hardware, software, and/or firmware.

[0149] Вышеприведенное подробное описание изложило различные варианты осуществления устройств и/или процессов посредством использования структурных схем, блок-схем и/или примеров. Поскольку такие структурные схемы, блок-схемы и/или примеры содержат одну или несколько функций и/или операций, будет понятно специалистам в области техники, что каждая функция и/или операция в таких структурных схемах, блок-схемах или примерах может осуществляться, по отдельности и/или в совокупности, широким диапазоном аппаратных средств, программных средств, программно-аппаратных средств или практически любой их комбинации. Подходящие процессоры включают в себя, в качестве примера, универсальный процессор, специализированный процессор, стандартный процессор, процессор цифровых сигналов (DSP), множество микропроцессоров, один или несколько микропроцессоров в ассоциации с ядром DSP, средство управления, микроконтроллер, специализированные интегральные цепи (ASIC), стандартные части специализированных интегральных цепей (ASSP), цепи программируемых пользователем вентильных матриц (FPGA), интегральную цепь (IC) любого другого типа и/или машину состояний.[0149] The above detailed description has set forth various embodiments of devices and/or processes through the use of block diagrams, block diagrams, and/or examples. Since such block diagrams, block diagrams and/or examples contain one or more functions and/or operations, it will be clear to experts in the field of technology that each function and/or operation in such block diagrams, block diagrams or examples can be performed, according to individually and/or in the aggregate, a wide range of hardware, software, firmware, or virtually any combination thereof. Suitable processors include, by way of example, a general purpose processor, an application specific processor, a standard processor, a digital signal processor (DSP), a plurality of microprocessors, one or more microprocessors in association with a DSP core, a controller, a microcontroller, application specific integrated circuits (ASICs) , custom ASSPs, Field Programmable Gate Arrays (FPGAs), any other type of integrated circuit (IC), and/or state machine.

[0150] Хотя признаки и элементы обеспечены выше в конкретных комбинациях, обычный специалист в данной области техники поймет, что каждый признак или элемент может быть использован поодиночке или в любой комбинации с другими признаками и элементами. Настоящее раскрытие не должно ограничиваться в смысле конкретных вариантов осуществления, описанных в этой заявке, которые предназначены для иллюстраций различных аспектов. Множество модификаций и вариаций может быть сделано без выхода за пределы его сущности и объема, которые будут очевидны специалистам в данной области техники. Никакой элемент, действие или инструкция, используемые в описании настоящей заявки, не должны толковаться как критичные или необходимые для изобретения, если они явным образом не обеспечены как таковые. Функционально эквивалентные способы и устройства в рамках объема раскрытия, дополнительно к перечисленным здесь, будут очевидны специалистам в данной области техники из вышеупомянутых описаний. Такие модификации и вариации предполагаются как находящиеся в пределах объема прилагаемой формулы изобретения. Настоящее раскрытие должно быть ограничено только терминами пунктов прилагаемой формулы изобретения вместе с полным объемом эквивалентов, для которых такие пункты формулы являются основанием. Следует понимать, что это раскрытие не ограничивается конкретными способами или системами.[0150] Although features and elements are provided above in specific combinations, one of ordinary skill in the art will appreciate that each feature or element may be used alone or in any combination with other features and elements. The present disclosure should not be limited in the sense of the specific embodiments described in this application, which are intended to be illustrative of various aspects. Many modifications and variations may be made without departing from its spirit and scope, which will be apparent to those skilled in the art. No element, act or instruction used in the description of this application should be construed as being critical or necessary to the invention unless they are expressly provided as such. Functionally equivalent methods and apparatuses within the scope of the disclosure, in addition to those listed here, will be apparent to those skilled in the art from the above descriptions. Such modifications and variations are intended to be within the scope of the appended claims. The present disclosure is to be limited only by the terms of the appended claims together with the full scope of the equivalents for which such claims are the basis. It should be understood that this disclosure is not limited to specific methods or systems.

[0151] Также следует понимать, что терминология, используемая здесь, предназначена только для целей описания конкретных вариантов осуществления и не подразумевается как ограничивающая.[0151] It should also be understood that the terminology used here is for the purpose of describing particular embodiments only and is not intended to be limiting.

[0152] В конкретных репрезентативных вариантах осуществления несколько частей изобретения, описанного здесь, могут осуществляться посредством специализированных интегральных цепей (ASIC), программируемых пользователем вентильных матриц (FPGA), процессоров цифровых сигналов (DSP) и/или других интегрированных форматов. Однако специалисты в данной области техники поймут, что некоторые аспекты вариантов осуществления, раскрываемых здесь, в целом или частично могут быть эквивалентно осуществлены в интегральных цепях в виде одной или нескольких компьютерных программ, запущенных на одном или нескольких компьютерах (например, в виде одной или нескольких программ, запущенных на одной или нескольких компьютерных системах), в виде одной или нескольких программ, запущенных на одном или нескольких процессорах (например, в виде одной или нескольких программ, запущенных на одном или нескольких микропроцессорах), в виде программно-аппаратных средств или в виде практически любой комбинации перечисленного, и что проектирование цепей и/или написание кода для программных средств и/или программно-аппаратных средств будет находиться в пределах навыков специалиста в данной области техники в свете этого раскрытия. Дополнительно, специалисты в данной области техники поймут, что механизмы изобретения, описанного здесь, могут распространяться как программный продукт во множестве различных форм и что иллюстративный вариант осуществления изобретения, описанного здесь, применим независимо от конкретного типа носителя сигнала, используемого, чтобы фактически осуществлять распространение. Примеры носителя сигнала включают в себя, но не ограничиваются, следующее: носитель записываемого типа, такой как гибкий диск, накопитель на жестком диске, CD, DVD, магнитную ленту, компьютерную память и т. д., и носитель типа передачи, такой как цифровой и/или аналоговый носитель связи (например, оптоволоконный кабель, волновод, линию проводной связи, линию беспроводной связи и т. д.).[0152] In specific representative embodiments, several parts of the invention described herein may be implemented by application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), digital signal processors (DSPs), and/or other integrated formats. However, those skilled in the art will appreciate that certain aspects of the embodiments disclosed herein may, in whole or in part, equivalently be implemented in integrated circuits as one or more computer programs running on one or more computers (e.g., as one or more programs running on one or more computer systems), as one or more programs running on one or more processors (for example, as one or more programs running on one or more microprocessors), as firmware, or in virtually any combination of the foregoing, and that circuit design and/or coding for the software and/or firmware would be within the skill of one of ordinary skill in the art in light of this disclosure. Additionally, those skilled in the art will appreciate that the mechanisms of the invention described herein may be distributed as a software product in a variety of different forms and that an illustrative embodiment of the invention described herein is applicable regardless of the particular type of signal carrier used to actually effect the distribution. Examples of signal media include, but are not limited to, the following: a recordable type media such as floppy disk, hard disk drive, CD, DVD, magnetic tape, computer memory, etc., and transmission type media such as digital and/or analog communication media (eg, fiber optic cable, waveguide, wired link, wireless link, etc.).

[0153] Описанное здесь изобретение иногда иллюстрирует различные компоненты, содержащиеся в или соединенные с различными другими компонентами. Следует понимать, что такие изображенные архитектуры являются лишь примерами и что фактически может осуществляться много других архитектур, которые достигают тех же самых функциональных возможностей. В концептуальном смысле любая компоновка компонентов для достижения тех же самых функциональных возможностей в сущности "связана" так, чтобы желаемые функциональные возможности могли достигаться. Таким образом, любые два компонента здесь, скомбинированные для достижения конкретных функциональных возможностей, могут рассматриваться как "связанные" друг с другом так, чтобы желаемые функциональные возможности достигались, независимо от архитектур или промежуточных компонентов. Аналогичным образом, любые два компонента, связанные так, могут также рассматриваться как "операционно соединенные" или "операционно объединенные" друг с другом для достижения желаемых функциональных возможностей, и любые два компонента с возможностью такой ассоциации могут также рассматриваться как "операционно объединяемые" друг с другом для достижения желаемых функциональных возможностей. Конкретные примеры операционно объединяемых компонентов включают в себя, но не ограничиваются, физически совмещаемые компоненты, и/или компоненты с возможностью физического взаимодействия, и/или беспроводным образом взаимодействующие компоненты, и/или компоненты с возможностью беспроводного взаимодействия, и/или логически взаимодействующие компоненты, и/или компоненты с возможностью логического взаимодействия.[0153] The invention described herein sometimes illustrates various components contained in or combined with various other components. It should be understood that such depicted architectures are merely examples and that many other architectures may actually be implemented that achieve the same functionality. In a conceptual sense, any arrangement of components to achieve the same functionality is essentially "linked" so that the desired functionality can be achieved. Thus, any two components here that are combined to achieve specific functionality can be considered to be "linked" to each other so that the desired functionality is achieved, regardless of architectures or intermediate components. Likewise, any two components so associated may also be considered to be "operably connected" or "operably connected" to each other to achieve the desired functionality, and any two components capable of being so associated may also be considered to be "operably connected" to each other. another to achieve the desired functionality. Specific examples of operably interoperable components include, but are not limited to, physically compatible components and/or physically interoperable components and/or wirelessly interoperable components and/or wirelessly interoperable components and/or logically interoperable components, and/or components with the possibility of logical interaction.

[0154] В отношении использования здесь по существу любых терминов во множественном и/или единственном числе, специалисты в данной области техники могут перевести их из множественного числа в единственное и/или из единственного числа во множественное в соответствии с контекстом и/или применением. Различные преобразования единственного/множественного числа могут быть в явной форме предложены здесь в целях ясности.[0154] With respect to the use of essentially any plural and/or singular terms herein, those skilled in the art may translate them from the plural to the singular and/or from the singular to the plural according to context and/or application. Various singular/plural conversions may be explicitly suggested here for the sake of clarity.

[0155] Будет понятно специалистам в области техники, что в общем случае термины, используемые здесь и в особенности в прилагаемой формуле изобретения (например, основном тексте пунктов прилагаемой формулы изобретения), в общем случае подразумеваются как "открытые" термины (например, термин "включающий в себя" должен интерпретироваться как "включающий в себя, но не ограниченный включаемым", термин "имеющий" должен интерпретироваться как "имеющий по меньшей мере", термин "включает в себя" должен интерпретироваться как "включает в себя, но не ограничивается включаемым" и т. д.). Будет дополнительно понятно специалистам в области техники, что если конкретное число представленного изложения пункта формулы предполагается, такое предположение будет явным образом перечислено в пункте формулы, и в отсутствии такого перечисления такое предположение отсутствует. Например, там, где только один элемент предполагается, термин "единственный" или подобный может быть использован. В качестве помощи для понимания следующая прилагаемая формула изобретения и/или описания здесь могут содержать использование предварительных фраз "по меньшей мере один" и "один или несколько", чтобы представить изложение пунктов. Однако использование таких фраз не должно толковаться как подразумевающее, что начальное изложения пункта в единственном числе ограничивает любой конкретный пункт, содержащий такое начальное изложение пункта, вариантами осуществления, содержащими только одно такое изложение, даже когда тот же самый пункт включает в себя предварительные фразы "один или несколько" или "по меньшей мере один" и формулирование в единственном числе (например, формулирование в единственном числе должно интерпретироваться как означающее "по меньшей мере один" или "один или несколько"). Дополнительно, даже если конкретное количество предваренного изложения пункта явным образом излагается, специалисты в данной области техники поймут, что такое изложение должно интерпретироваться как означающее по меньшей мере изложенное число (например, простое изложение "два изложения" без других модификаторов означает по меньшей мере два изложения или два или более изложений). Кроме того, в тех случаях, где условное обозначение, аналогичное "по меньшей мере одно из A, B и C и т. д." используется, в общем случае такое построение подразумевается в смысле, в котором специалист в данной области техники поймет условное обозначение (например, "система, имеющая по меньшей мере одно из A, B и C" будет включать в себя, но не ограничиваться, системы, которые имеют только A, только B, только C, A и B вместе, A и C вместе, B и C вместе и/или A, B и C вместе и т. д.). В тех случаях, где условное обозначение, аналогичное "по меньшей мере одно из A, B или C и т. д." используется, в общем случае такое построение подразумевается в смысле, в котором специалист в данной области техники поймет условное обозначение (например, "система, имеющая по меньшей мере одно из A, B или C" будет включать в себя, но не ограничиваться, системы, которые имеют только A, только B, только C, A и B вместе, A и C вместе, B и C вместе и/или A, B и C вместе и т. д.). Будет дополнительно понятно специалистам в области техники, что практически любое разделяющее слово и/или словосочетание, представляющее два или более альтернативных терминов либо в описании, либо в формуле, либо на чертежах, должно пониматься как предполагающее возможности включения в себя одного из терминов, любого из терминов или обоих термина. Например, фраза "A или B" будет понятна как включающая в себя возможности "A", или "B", или "A и B". Дополнительно, термин "любой из", за которым следует перечисление множества элементов и/или множество категорий элементов, используемых здесь, имеет целью включить в себя "любой из", "любая комбинация", "любое множество" и/или "любая комбинация множеств" элементов и/или категорий элементов по отдельности или в сочетании с другими элементами и/или другими категориями элементов. Кроме того, используемый здесь термин "набор" или "группа" подразумевается как включающий в себя любое количество элементов, включающее в себя ноль. Дополнительно, используемый здесь термин "количество" подразумевается как включающий в себя любое количество, включающее в себя ноль.[0155] It will be understood by those skilled in the art that, in general, terms used herein and especially in the appended claims (e.g., the body text of the appended claims) are generally meant to be "open" terms (e.g., the term " including" shall be interpreted as "including but not limited to the included", the term "having" shall be interpreted as "having at least", the term "includes" shall be interpreted as "includes but is not limited to the included " etc.). Those of skill in the art will further appreciate that if a particular number of the stated statement of a claim is intended, that assumption will be explicitly listed in the claim, and in the absence of such a listing, there is no such assumption. For example, where only one element is intended, the term "single" or similar may be used. As an aid to understanding, the following appended claims and/or descriptions herein may contain the use of the provisional phrases "at least one" and "one or more" to introduce a statement of claims. However, the use of such phrases should not be construed as implying that a singular opening clause restricts any particular clause containing such an initial clause to embodiments containing only one such statement, even when the same clause includes the provisional phrases "one or more" or "at least one" and a singular formulation (eg, a singular formulation should be interpreted to mean "at least one" or "one or more"). Additionally, even if a specific amount of provisional clause statement is explicitly stated, those skilled in the art will appreciate that such statement is to be interpreted as meaning at least the number stated (e.g., a simple statement of "two statements" without other modifiers means at least two statements or two or more statements). Also, where a symbol similar to "at least one of A, B, and C, etc." is used, in general, such a construction is meant in the sense that one skilled in the art will understand the convention (e.g., "a system having at least one of A, B, and C" would include, but not be limited to, systems, that have only A, only B, only C, A and B together, A and C together, B and C together and/or A, B and C together, etc.). Where a symbol similar to "at least one of A, B, or C, etc." is used, in general, such a construction is meant in the sense in which a person skilled in the art will understand the convention (for example, "a system having at least one of A, B, or C" would include, but not be limited to, systems, that have only A, only B, only C, A and B together, A and C together, B and C together and/or A, B and C together, etc.). It will be further understood by those skilled in the art that virtually any separating word and/or phrase representing two or more alternative terms, either in the description, or in the claims, or in the drawings, should be understood to imply the possibility of including one of the terms, any of terms or both terms. For example, the phrase "A or B" would be understood to include the possibilities "A" or "B" or "A and B". Additionally, the term "any of" followed by a listing of a plurality of elements and/or a plurality of element categories used herein is intended to include "any of", "any combination", "any plurality" and/or "any combination of plurality of "elements and/or categories of elements alone or in combination with other elements and/or other categories of elements. In addition, as used herein, the term "set" or "group" is intended to include any number of elements, including zero. Additionally, as used herein, the term "amount" is intended to include any number including zero.

[0156] Дополнительно, когда признаки или аспекты раскрытия описаны в терминах групп Маркуша, специалисты в данной области техники поймут, что раскрытие также, таким образом, описано в терминах любого отдельного члена или подгруппы членов группы Маркуша.[0156] Additionally, when features or aspects of a disclosure are described in terms of Markush groups, those skilled in the art will appreciate that the disclosure is also thus described in terms of any individual member or subgroup of members of a Markush group.

[0157] Как будет понятно специалисту в данной области техники, для любой и всех целей, например в плане обеспечения письменного описания, все диапазоны, раскрываемые здесь, также охватывают любой и все их возможные поддиапазоны и комбинации поддиапазонов. Любой упомянутый диапазон может быть легко понят как достаточно описывающий и обеспечивающий возможность разбиения того же самого диапазона на по меньшей мере равные половины, трети, четверти, пятые части, десятые части и т. д. В качестве неограничивающего примера, каждый диапазон, рассмотренный здесь, может быть легко разбит на нижнюю треть, среднюю треть и верхнюю треть и т. д. Как также будет понятно специалисту в данной области техники, все термины, такие как "вплоть до", "по меньшей мере", "больше чем", "меньше чем" и т. п., включают в себя названное число и ссылаются на диапазоны, которые могут впоследствии быть разбиты на поддиапазоны, как рассмотрено выше. Наконец, как будет понятно специалисту в данной области техники, диапазон включает в себя каждый отдельный элемент. Таким образом, например, группа, имеющая 1-3 соты, ссылается на группы, имеющие 1, 2 или 3 соты. Подобным образом, группа, имеющая 1-5 сот, ссылается на группы, имеющие 1, 2, 3, 4 или 5 сот, и так далее.[0157] As will be understood by one of skill in the art, for any and all purposes, such as in terms of providing a written description, all ranges disclosed herein also cover any and all of their possible subranges and combinations of subranges. Any range mentioned can be readily understood to be sufficient to describe and enable the same range to be partitioned into at least equal halves, thirds, quarters, fifths, tenths, etc. As a non-limiting example, each range discussed herein can be easily broken down into lower third, middle third, and upper third, etc. As will also be appreciated by one skilled in the art, all terms such as "up to", "at least", "greater than", " less than", etc., include the named number and refer to ranges that may subsequently be sub-ranged as discussed above. Finally, as one of skill in the art will appreciate, the range includes every single element. Thus, for example, a group having 1-3 cells refers to groups having 1, 2, or 3 cells. Similarly, a group having 1-5 cells refers to groups having 1, 2, 3, 4, or 5 cells, and so on.

[0158] Кроме того, формулу изобретения не следует читать как ограниченную обеспеченным порядком или элементами, если не указано обратное. Дополнительно, использование термина "средство для" в любом пункте формулы подразумевается как привлекающее спецификацию 35 U.S.C. §112, ¶ 6 или формат формулы "средство плюс функция", и любой пункт формулы без термина "средство для" так не подразумевается.[0158] In addition, the claims should not be read as being limited to the order or elements provided, unless otherwise indicated. Additionally, use of the term "agent for" in any claim is intended to invoke Specification 35 U.S.C. §112, ¶ 6 or the remedy-plus-function formula format, and any claim without the term "a remedy for" is not meant to be so.

[0159] Предполагается, что системы могут осуществляться в программных средствах на микропроцессорах/универсальных компьютерах (не показаны). В конкретных вариантах осуществления одна или несколько из функций различных компонентов может осуществляться в программных средствах, которые управляют универсальным компьютером.[0159] It is contemplated that the systems may be implemented in software on microprocessors/mainframe computers (not shown). In particular embodiments, one or more of the functions of the various components may be implemented in software that controls the general purpose computer.

[0160] Дополнительно, хотя изобретение иллюстрируется и описывается здесь со ссылками на конкретные варианты осуществления, изобретение не подразумевается как ограниченное показанными подробностями. В действительности, различные модификации могут быть сделаны в деталях внутри объема и диапазона эквивалентов пунктов формулы и без выхода за пределы изобретения.[0160] Additionally, although the invention is illustrated and described herein with reference to specific embodiments, the invention is not intended to be limited to the details shown. Indeed, various modifications may be made in detail within the scope and range of equivalents of the claims and without departing from the scope of the invention.

Claims (62)

1. Способ декодирования видео, содержащего текущее изображение и по меньшей мере первое опорное изображение, причем способ содержит этапы, на которых, для по меньшей мере текущего блока в текущем изображении:1. A method for decoding a video containing a current image and at least a first reference image, the method comprising the steps of, for at least the current block in the current image: генерируют соответственное предсказанное значение для каждого дискретного отсчета в области шаблона, смежной с текущим блоком;generate a corresponding predicted value for each discrete sample in the area of the template adjacent to the current block; выполняют промежуточное (inter) предсказание на основе шаблона для текущего блока с использованием (1) предсказанных значений по меньшей мере поднабора дискретных отсчетов в области шаблона и (2) соответствующих значений дискретных отсчетов в по меньшей мере одной области опорного шаблона в по меньшей мере первом опорном изображении, при этом промежуточное предсказание на основе шаблона включает в себя любой из этапов, на которых:perform intermediate (inter) prediction based on the template for the current block using (1) predicted values of at least a subset of samples in the template region and (2) corresponding sample values in at least one region of the reference pattern in at least the first reference image, wherein the intermediate prediction based on the template includes any of the steps in which: определяют по меньшей мере один параметр промежуточного предсказания на основе шаблона, причем промежуточное предсказание на основе шаблона выполняется с использованием этого определенного параметра промежуточного предсказания на основе шаблона,determining at least one template-based intermediate prediction parameter, wherein the template-based intermediate prediction is performed using the determined template-based intermediate prediction parameter, сортируют множество доступных параметров промежуточного предсказания на основе шаблона и выполняют промежуточное предсказание на основе шаблона для текущего блока с использованием выбранного одного из доступных параметров промежуточного предсказания на основе шаблона, причем индекс, указывающий выбранный один из доступных параметров промежуточного предсказания на основе шаблона, сигнализируется в битовом потоке, иsorting the plurality of available template-based intermediate prediction parameters, and performing the template-based intermediate prediction for the current block using the selected one of the available template-based intermediate prediction parameters, wherein an index indicating the selected one of the available template-based intermediate prediction parameters is signaled in bit stream, and выполняют выбор на основе шаблона из по меньшей мере двух потенциально подходящих предикторов вектора движения и выполняют локальный поиск на основе шаблона относительно выбранных потенциально подходящих предикторов вектора движения, чтобы выбрать предиктор вектора движения; иperforming a pattern-based selection of at least two potential candidate motion vector predictors and performing a local pattern-based search on the selected potential candidate motion vector predictors to select a motion vector predictor; And прибавляют соответственное ненулевое остаточное значение к по меньшей мере одному из предсказанных значений в области шаблона, чтобы генерировать соответственное восстановленное значение дискретного отсчета.adding a corresponding non-zero residual value to at least one of the predicted values in the template region to generate a corresponding reconstructed sample value. 2. Способ по п.1, в котором соответственное предсказанное значение для каждого дискретного отсчета в области шаблона – непосредственно из предсказания с компенсацией движения.2. The method of claim 1, wherein the corresponding predicted value for each sample in the pattern region is directly from the motion compensated prediction. 3. Способ по п.1, в котором соответственное предсказанное значение для каждого дискретного отсчета в области шаблона генерируется с использованием предсказания с компенсацией движения и компенсации движения блока с наложением (OBMC).3. The method of claim 1, wherein a respective predicted value for each sample in the pattern region is generated using motion compensated prediction and overlay block motion compensation (OBMC). 4. Способ по п.1, дополнительно содержащий этап, на котором выбирают поднабор дискретных отсчетов в области шаблона так, чтобы он включал в себя только дискретные отсчеты, имеющие нулевые остаточные значения.4. The method of claim 1, further comprising selecting a subset of samples in the pattern region such that it includes only samples having zero residuals. 5. Способ по п.4, в котором при упомянутом выборе поднабора дискретных отсчетов выбирают только дискретные отсчеты в соответственном блоке, имеющем флаг, указывающий, что никакой остаток не кодируется для этого соответственного блока.5. The method of claim 4, wherein said selection of a subset of discrete samples selects only the discrete samples in a respective block having a flag indicating that no remainder is encoded for that respective block. 6. Способ по п.4, в котором область шаблона содержит по меньшей мере две подобласти, причем дискретные отсчеты в подобласти выбираются, только если все дискретные отсчеты в этой подобласти имеют нулевые остаточные значения.6. The method of claim 4, wherein the template region contains at least two sub-regions, wherein the samples in the sub-region are selected only if all of the samples in that sub-region have zero residuals. 7. Способ по п.1, в котором восстановление значений дискретных отсчетов в области шаблона и выполнение промежуточного предсказания на основе шаблона для текущего блока выполняются параллельно.7. The method of claim 1, wherein restoring sample values in the template region and performing intermediate prediction based on the template for the current block are performed in parallel. 8. Способ по п.1, в котором по меньшей мере один параметр промежуточного предсказания на основе шаблона для текущего блока определяется посредством применения весовых коэффициентов, связанных с предсказанными значениями по меньшей мере поднабора дискретных отсчетов в области шаблона, причем весовые коэффициенты основываются на остаточных абсолютных величинах соответственных дискретных отсчетов в области шаблона, с большими весовыми коэффициентами для более низких остаточных абсолютных величин.8. The method of claim 1, wherein at least one template-based intermediate prediction parameter for the current block is determined by applying weights associated with predicted values of at least a subset of discrete samples in the template region, wherein the weights are based on absolute residuals. values of the corresponding discrete samples in the template area, with larger weights for lower residual absolute values. 9. Способ по п.8, в котором первый весовой коэффициент используется для дискретных отсчетов с ненулевыми абсолютными величинами остатков, и второй весовой коэффициент используется для дискретных отсчетов с абсолютными величинами остатков, равными нулю, причем второй весовой коэффициент выше первого весового коэффициента.9. The method of claim 8, wherein the first weighting factor is used for discrete samples with non-zero absolute residual values, and the second weighting factor is used for discrete samples with absolute residual values equal to zero, and the second weighting factor is higher than the first weighting factor. 10. Способ по п.1, дополнительно содержащий этап, на котором регулируют предсказанные значения по меньшей мере поднабора дискретных отсчетов в области шаблона, причем отрегулированные предсказанные значения используются в выполнении промежуточного предсказания на основе шаблона для текущего блока.10. The method of claim 1, further comprising adjusting the predicted values of at least a subset of the samples in the template region, the adjusted predicted values being used in performing intermediate prediction based on the template for the current block. 11. Способ по п.10, в котором регулирование содержит этап, на котором прибавляют остаточный компонент предсказания DC к предсказанным значениям.11. The method of claim 10, wherein the adjustment comprises adding a residual DC prediction component to the predicted values. 12. Способ по п.10, в котором регулирование предсказанных значений выполняется только для значений дискретных отсчетов в блоках, закодированных с использованием либо DCT-II, либо DCT-V.12. The method of claim 10, wherein the predicted value adjustment is performed only for the values of discrete samples in blocks encoded using either DCT-II or DCT-V. 13. Способ кодирования видео, содержащего текущее изображение и по меньшей мере первое опорное изображение, причем способ содержит этапы, на которых, для по меньшей мере текущего блока в текущем изображении:13. A method for encoding a video containing a current picture and at least a first reference picture, the method comprising, for at least the current block in the current picture: генерируют соответственное предсказанное значение для каждого дискретного отсчета в области шаблона, смежной с текущим блоком;generate a corresponding predicted value for each discrete sample in the area of the template adjacent to the current block; выполняют промежуточное (inter) предсказание на основе шаблона для текущего блока с использованием (1) предсказанных значений по меньшей мере поднабора дискретных отсчетов в области шаблона и (2) соответствующих значений дискретных отсчетов в по меньшей мере одной области опорного шаблона в по меньшей мере первом опорном изображении, при этом промежуточное предсказание на основе шаблона включает в себя любой из этапов, на которых:perform intermediate (inter) prediction based on the template for the current block using (1) predicted values of at least a subset of samples in the template region and (2) corresponding sample values in at least one region of the reference pattern in at least the first reference image, wherein the intermediate prediction based on the template includes any of the steps in which: определяют по меньшей мере один параметр промежуточного предсказания на основе шаблона, причем промежуточное предсказание на основе шаблона выполняется с использованием этого определенного параметра промежуточного предсказания на основе шаблона,determining at least one template-based intermediate prediction parameter, wherein the template-based intermediate prediction is performed using the determined template-based intermediate prediction parameter, сортируют множество доступных параметров промежуточного предсказания на основе шаблона и выполняют промежуточное предсказание на основе шаблона для текущего блока с использованием выбранного одного из доступных параметров промежуточного предсказания на основе шаблона, причем индекс, указывающий выбранный один из доступных параметров промежуточного предсказания на основе шаблона, сигнализируется в битовом потоке, иsorting the plurality of available template-based intermediate prediction parameters, and performing the template-based intermediate prediction for the current block using the selected one of the available template-based intermediate prediction parameters, wherein an index indicating the selected one of the available template-based intermediate prediction parameters is signaled in bit stream, and выполняют выбор на основе шаблона из по меньшей мере двух потенциально подходящих предикторов вектора движения и выполняют локальный поиск на основе шаблона относительно выбранных потенциально подходящих предикторов вектора движения, чтобы выбрать предиктор вектора движения; иperforming a pattern-based selection of at least two potential candidate motion vector predictors and performing a local pattern-based search on the selected potential candidate motion vector predictors to select a motion vector predictor; And прибавляют соответственное ненулевое остаточное значение к по меньшей мере одному из предсказанных значений в области шаблона, чтобы генерировать соответственное восстановленное значение дискретного отсчета.adding a corresponding non-zero residual value to at least one of the predicted values in the template region to generate a corresponding reconstructed sample value. 14. Способ по п.13, в котором соответственное предсказанное значение для каждого дискретного отсчета в области шаблона – непосредственно из предсказания с компенсацией движения.14. The method of claim 13, wherein the respective predicted value for each discrete sample in the pattern region is directly from the motion compensated prediction. 15. Способ по п.13, в котором соответственное предсказанное значение для каждого дискретного отсчета в области шаблона генерируется с использованием предсказания с компенсацией движения и компенсации движения блока с наложением (OBMC).15. The method of claim 13, wherein a respective predicted value for each sample in the pattern region is generated using motion compensated prediction and overlay block motion compensation (OBMC). 16. Способ по п.13, дополнительно содержащий этап, на котором выбирают поднабор дискретных отсчетов в области шаблона так, чтобы он включал в себя только дискретные отсчеты, имеющие нулевые остаточные значения.16. The method of claim 13, further comprising selecting a subset of samples in the pattern region such that it includes only samples having zero residuals. 17. Способ по п.16, в котором при упомянутом выборе поднабора дискретных отсчетов выбирают только дискретные отсчеты в соответственном блоке, имеющем флаг, указывающий, что никакой остаток не кодируется для этого соответственного блока.17. The method of claim 16, wherein said selection of a subset of discrete samples selects only the discrete samples in the respective block having a flag indicating that no remainder is encoded for that respective block. 18. Способ по п.16, в котором область шаблона содержит по меньшей мере две подобласти, причем дискретные отсчеты в подобласти выбираются, только если все дискретные отсчеты в этой подобласти имеют нулевые остаточные значения.18. The method of claim 16, wherein the template region contains at least two sub-regions, wherein the samples in the sub-region are selected only if all of the samples in that sub-region have zero residuals. 19. Способ по п.13, в котором восстановление значений дискретных отсчетов в области шаблона и выполнение промежуточного предсказания на основе шаблона для текущего блока выполняются параллельно.19. The method of claim 13, wherein restoring sample values in the pattern region and performing intermediate prediction based on the pattern for the current block are performed in parallel. 20. Способ по п.13, в котором по меньшей мере один параметр промежуточного предсказания на основе шаблона для текущего блока определяется посредством применения весовых коэффициентов, связанных с предсказанными значениями по меньшей мере поднабора дискретных отсчетов в области шаблона, причем весовые коэффициенты основываются на остаточных абсолютных величинах соответственных дискретных отсчетов в области шаблона, с большими весовыми коэффициентами для более низких остаточных абсолютных величин.20. The method of claim 13, wherein at least one template-based intermediate prediction parameter for the current block is determined by applying weights associated with predicted values of at least a subset of samples in the template region, wherein the weights are based on absolute residuals. values of the corresponding discrete samples in the template area, with larger weights for lower residual absolute values. 21. Способ по п.20, в котором первый весовой коэффициент используется для дискретных отсчетов с ненулевыми абсолютными величинами остатков, и второй весовой коэффициент используется для дискретных отсчетов с абсолютными величинами остатков, равными нулю, причем второй весовой коэффициент выше первого весового коэффициента.21. The method of claim 20, wherein the first weighting factor is used for discrete samples with non-zero absolute residual values, and the second weighting factor is used for discrete samples with absolute residual values equal to zero, and the second weighting factor is higher than the first weighting factor. 22. Способ по п.13, дополнительно содержащий этап, на котором регулируют предсказанные значения по меньшей мере поднабора дискретных отсчетов в области шаблона, причем отрегулированные предсказанные значения используются в выполнении промежуточного предсказания на основе шаблона для текущего блока.22. The method of claim 13, further comprising adjusting the predicted values of at least a subset of samples in the template region, the adjusted predicted values being used in performing intermediate prediction based on the template for the current block. 23. Способ по п.22, в котором регулирование содержит этап, на котором прибавляют остаточный компонент предсказания DC к предсказанным значениям.23. The method of claim 22, wherein the adjustment comprises adding a residual DC prediction component to the predicted values. 24. Способ по п.22, в котором регулирование предсказанных значений выполняется только для значений дискретных отсчетов в блоках, закодированных с использованием либо DCT-II, либо DCT-V.24. The method of claim 22, wherein the predicted value adjustment is performed only for the values of discrete samples in blocks encoded using either DCT-II or DCT-V. 25. Устройство для декодирования видео, содержащее процессор и память, выполненные с возможностью:25. Device for video decoding, containing a processor and memory, configured to: генерировать соответственное предсказанное значение для каждого дискретного отсчета в области шаблона, смежной с текущим блоком в текущем изображении;generate a corresponding predicted value for each discrete sample in the template area adjacent to the current block in the current image; выполнять промежуточное (inter) предсказание на основе шаблона для текущего блока с использованием (1) предсказанных значений по меньшей мере поднабора дискретных отсчетов в области шаблона и (2) соответствующих значений дискретных отсчетов в по меньшей мере одной области опорного шаблона в по меньшей мере первом опорном изображении, при этом промежуточное предсказание на основе шаблона включает в себя любое из:perform intermediate (inter) prediction based on the template for the current block using (1) predicted values of at least a subset of samples in the template region and (2) corresponding sample values in at least one region of the reference pattern in at least the first reference image, wherein the intermediate prediction based on the template includes any of: определения по меньшей мере одного параметра промежуточного предсказания на основе шаблона, причем промежуточное предсказание на основе шаблона выполняется с использованием этого определенного параметра промежуточного предсказания на основе шаблона,determining at least one template-based intermediate prediction parameter, wherein the template-based intermediate prediction is performed using the determined template-based intermediate prediction parameter, сортировки множества доступных параметров промежуточного предсказания на основе шаблона и выполнения промежуточного предсказания на основе шаблона для текущего блока с использованием выбранного одного из доступных параметров промежуточного предсказания на основе шаблона, причем индекс, указывающий выбранный один из доступных параметров промежуточного предсказания на основе шаблона, сигнализируется в битовом потоке, иsorting a plurality of available pattern-based intermediate prediction parameters; and performing pattern-based intermediate prediction for the current block using the selected one of the available pattern-based intermediate prediction parameters, wherein an index indicating the selected one of the available pattern-based intermediate prediction parameters is signaled in a bitwise stream, and выполнения выбора на основе шаблона из по меньшей мере двух потенциально подходящих предикторов вектора движения и выполнения локального поиска на основе шаблона относительно выбранных потенциально подходящих предикторов вектора движения, чтобы выбрать предиктор вектора движения; иperforming a pattern-based selection of at least two potential candidate motion vector predictors and performing a local pattern-based search on the selected potential candidate motion vector predictors to select a motion vector predictor; And прибавлять ненулевое остаточное значение к по меньшей мере одному из предсказанных значений в области шаблона, чтобы восстанавливать соответственное значение восстановленного дискретного отсчета.add a non-zero residual value to at least one of the predicted values in the template region to restore the corresponding value of the recovered sample. 26. Устройство по п.25, при этом устройство дополнительно выполнено с возможностью выбирать поднабор дискретных отсчетов в области шаблона, чтобы он включал в себя только дискретные отсчеты, имеющие нулевые остаточные значения.26. The apparatus of claim 25, wherein the apparatus is further configured to select a subset of the samples in the pattern region to include only the samples having zero residuals. 27. Устройство по п.25, при этом восстановление значений дискретных отсчетов в области шаблона и выполнение промежуточного предсказания на основе шаблона для текущего блока выполняются параллельно. 27. The device according to claim 25, wherein restoring the values of discrete samples in the template area and performing intermediate prediction based on the template for the current block are performed in parallel. 28. Устройство по п.25, при этом по меньшей мере один параметр промежуточного предсказания на основе шаблона для текущего блока определяется посредством применения весовых коэффициентов, связанных с предсказанными значениями по меньшей мере поднабора дискретных отсчетов в области шаблона, причем весовые коэффициенты основываются на абсолютных величинах остатков соответственных дискретных отсчетов в области шаблона, с большими весовыми коэффициентами для более низких абсолютных величин остатков.28. The apparatus of claim 25, wherein at least one template-based intermediate prediction parameter for the current block is determined by applying weights associated with predicted values of at least a subset of discrete samples in the template region, the weights being based on absolute values. residuals of the corresponding discrete samples in the template area, with larger weighting factors for lower absolute values of the residuals. 29. Устройство по п.28, при этом первый весовой коэффициент используется для дискретных отсчетов с ненулевыми абсолютными величинами остатков, и второй весовой коэффициент используется для дискретных отсчетов с абсолютными величинами остатков, равными нулю, причем второй весовой коэффициент выше первого весового коэффициента.29. The device according to claim 28, wherein the first weighting factor is used for discrete samples with non-zero absolute residual values, and the second weighting factor is used for discrete samples with absolute residual values equal to zero, and the second weighting factor is higher than the first weighting factor. 30. Устройство по п.25, при этом устройство дополнительно выполнено с возможностью регулировать предсказанные значения по меньшей мере поднабора дискретных отсчетов в области шаблона, причем отрегулированные предсказанные значения используются при выполнении промежуточного предсказания на основе шаблона для текущего блока.30. The apparatus of claim 25, wherein the apparatus is further configured to adjust predicted values of at least a subset of discrete samples in the template region, the adjusted predicted values being used in performing intermediate prediction based on the template for the current block. 31. Устройство по п.30, при этом регулирование содержит прибавление остаточного компонента предсказания DC к предсказанным значениям.31. The apparatus of claim 30, wherein the adjustment comprises adding a DC prediction residual component to the predicted values. 32. Устройство для кодирования видео, содержащее процессор и память, выполненные с возможностью:32. Device for video encoding, containing a processor and memory, configured to: генерировать соответственное предсказанное значение для каждого дискретного отсчета в области шаблона, смежной с текущим блоком в текущем изображении;generate a corresponding predicted value for each discrete sample in the template area adjacent to the current block in the current image; выполнять промежуточное (inter) предсказание на основе шаблона для текущего блока с использованием (1) предсказанных значений по меньшей мере поднабора дискретных отсчетов в области шаблона и (2) соответствующих значений дискретных отсчетов в по меньшей мере одной области опорного шаблона в по меньшей мере первом опорном изображении, при этом промежуточное предсказание на основе шаблона включает в себя любое из:perform intermediate (inter) prediction based on the template for the current block using (1) predicted values of at least a subset of samples in the template region and (2) corresponding sample values in at least one region of the reference pattern in at least the first reference image, wherein the intermediate prediction based on the template includes any of: определения по меньшей мере одного параметра промежуточного предсказания на основе шаблона, причем промежуточное предсказание на основе шаблона выполняется с использованием этого определенного параметра промежуточного предсказания на основе шаблона,determining at least one template-based intermediate prediction parameter, wherein the template-based intermediate prediction is performed using the determined template-based intermediate prediction parameter, сортировки множества доступных параметров промежуточного предсказания на основе шаблона и выполнения промежуточного предсказания на основе шаблона для текущего блока с использованием выбранного одного из доступных параметров промежуточного предсказания на основе шаблона, причем индекс, указывающий выбранный один из доступных параметров промежуточного предсказания на основе шаблона, сигнализируется в битовом потоке, иsorting a plurality of available pattern-based intermediate prediction parameters; and performing pattern-based intermediate prediction for the current block using the selected one of the available pattern-based intermediate prediction parameters, wherein an index indicating the selected one of the available pattern-based intermediate prediction parameters is signaled in a bitwise stream, and выполнения выбора на основе шаблона из по меньшей мере двух потенциально подходящих предикторов вектора движения и выполнения локального поиска на основе шаблона относительно выбранных потенциально подходящих предикторов вектора движения, чтобы выбрать предиктор вектора движения; иperforming a pattern-based selection of at least two potential candidate motion vector predictors and performing a local pattern-based search on the selected potential candidate motion vector predictors to select a motion vector predictor; And прибавлять ненулевое остаточное значение к по меньшей мере одному из предсказанных значений в области шаблона, чтобы восстанавливать соответственное значение восстановленного дискретного отсчета.add a non-zero residual value to at least one of the predicted values in the template region to restore the corresponding value of the recovered sample. 33. Устройство по п.32, при этом устройство дополнительно выполнено с возможностью выбирать поднабор дискретных отсчетов в области шаблона, чтобы он включал в себя только дискретные отсчеты, имеющие нулевые остаточные значения.33. The apparatus of claim 32, wherein the apparatus is further configured to select a subset of the samples in the pattern region to include only the samples having zero residuals. 34. Устройство по п.32, при этом восстановление значений дискретных отсчетов в области шаблона и выполнение промежуточного предсказания на основе шаблона для текущего блока выполняются параллельно. 34. The device according to claim 32, wherein restoring the values of discrete samples in the template area and performing intermediate prediction based on the template for the current block are performed in parallel. 35. Устройство по п.32, при этом по меньшей мере один параметр промежуточного предсказания на основе шаблона для текущего блока определяется посредством применения весовых коэффициентов, связанных с предсказанными значениями по меньшей мере поднабора дискретных отсчетов в области шаблона, причем весовые коэффициенты основываются на абсолютных величинах остатков соответственных дискретных отсчетов в области шаблона, с большими весовыми коэффициентами для более низких абсолютных величин остатков.35. The apparatus of claim 32, wherein at least one template-based intermediate prediction parameter for the current block is determined by applying weights associated with predicted values of at least a subset of discrete samples in the template region, the weights being based on absolute values. residuals of the corresponding discrete samples in the template area, with larger weighting factors for lower absolute values of the residuals. 36. Устройство по п.35, при этом первый весовой коэффициент используется для дискретных отсчетов с ненулевыми абсолютными величинами остатков, и второй весовой коэффициент используется для дискретных отсчетов с абсолютными величинами остатков, равными нулю, причем второй весовой коэффициент выше первого весового коэффициента.36. The apparatus of claim 35, wherein the first weighting factor is used for discrete samples with non-zero absolute residual values, and the second weighting factor is used for discrete samples with absolute residual values equal to zero, and the second weighting factor is higher than the first weighting factor. 37. Устройство по п.32, при этом устройство дополнительно выполнено с возможностью регулировать предсказанные значения по меньшей мере поднабора дискретных отсчетов в области шаблона, причем отрегулированные предсказанные значения используются при выполнении промежуточного предсказания на основе шаблона для текущего блока.37. The apparatus of claim 32, wherein the apparatus is further configured to adjust predicted values of at least a subset of discrete samples in the template region, the adjusted predicted values being used in performing intermediate prediction based on the template for the current block. 38. Устройство по п.37, при этом регулирование содержит этап, на котором прибавляют остаточный компонент предсказания DC к предсказанным значениям.38. The apparatus of claim 37, wherein the adjustment comprises adding a residual DC prediction component to the predicted values.
RU2020128729A 2018-03-30 2019-03-22 Methods for intermediate prediction based on pattern, based on reduction in encoding and decoding delay RU2789522C2 (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201862650956P 2018-03-30 2018-03-30
US62/650,956 2018-03-30
US201862656247P 2018-04-11 2018-04-11
US62/656,247 2018-04-11
PCT/US2019/023557 WO2019190907A1 (en) 2018-03-30 2019-03-22 Template-based inter prediction techniques based on encoding and decoding latency reduction

Publications (2)

Publication Number Publication Date
RU2020128729A RU2020128729A (en) 2022-05-04
RU2789522C2 true RU2789522C2 (en) 2023-02-06

Family

ID=

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
STEFFEN KAMP et al., Description of video coding technology proposal by RWTH Aachen University, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, JCTVC-A112, 1st Meeting: Dresden, 15-23 April, 2010. JIANLE CHEN et al., Algorithm Description of Joint Exploration Test Model 7 (JEM 7), ISO/IEC JTC1/SC29/WG11, N17055, Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, JVET-G1001-v1, 7th Meeting: Torino, 13-21 July 2017, page 13 - page 28. US 2014105298 A1 - 2014.04.17. RU 2487489 С2 - 2013.07.10. WO 2017084512 A1 - 2017.05.26. *

Similar Documents

Publication Publication Date Title
US11991351B2 (en) Template-based inter prediction techniques based on encoding and decoding latency reduction
US11973974B2 (en) Methods and apparatus for reducing the coding latency of decoder-side motion refinement
US11582458B2 (en) Adaptive motion vector precision for affine motion model based video coding
JP7311589B2 (en) Complexity Reduction and Bitwidth Control for Bidirectional Optical Flow
KR102612975B1 (en) Systems, devices and methods for improving inter prediction using optical flow
US20240107024A1 (en) Affine motion model derivation method
JP2022536967A (en) Accuracy Refinement for Motion Compensation by Optical Flow
RU2789522C2 (en) Methods for intermediate prediction based on pattern, based on reduction in encoding and decoding delay
US20230007283A1 (en) Methods and apparatus for performing real-time vvc decoding
RU2811563C2 (en) Systems, devices and methods for improving interprediction using optical flow
RU2803479C2 (en) Adaptive accuracy of the motion vector for video signal coding based on afine motion model
US20220132136A1 (en) Inter prediction bandwidth reduction method with optical flow compensation