RU2812698C2 - Method of using interpolation filters to predict motion vector based on history - Google Patents
Method of using interpolation filters to predict motion vector based on history Download PDFInfo
- Publication number
- RU2812698C2 RU2812698C2 RU2021129533A RU2021129533A RU2812698C2 RU 2812698 C2 RU2812698 C2 RU 2812698C2 RU 2021129533 A RU2021129533 A RU 2021129533A RU 2021129533 A RU2021129533 A RU 2021129533A RU 2812698 C2 RU2812698 C2 RU 2812698C2
- Authority
- RU
- Russia
- Prior art keywords
- motion
- interpolation filter
- candidate
- prediction
- video
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 349
- 230000033001 locomotion Effects 0.000 title claims abstract description 340
- 239000013598 vector Substances 0.000 title claims abstract description 142
- 238000006243 chemical reaction Methods 0.000 claims abstract description 51
- 238000012545 processing Methods 0.000 claims abstract description 42
- 230000009466 transformation Effects 0.000 claims description 29
- 239000000126 substance Substances 0.000 abstract 1
- 238000003672 processing method Methods 0.000 description 42
- 238000005516 engineering process Methods 0.000 description 33
- 238000010586 diagram Methods 0.000 description 24
- 238000004590 computer program Methods 0.000 description 20
- 230000002457 bidirectional effect Effects 0.000 description 19
- 230000004927 fusion Effects 0.000 description 18
- 238000000638 solvent extraction Methods 0.000 description 17
- 230000008569 process Effects 0.000 description 14
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 13
- 230000003287 optical effect Effects 0.000 description 8
- 230000002123 temporal effect Effects 0.000 description 8
- 235000010627 Phaseolus vulgaris Nutrition 0.000 description 7
- 244000046052 Phaseolus vulgaris Species 0.000 description 7
- 241000023320 Luma <angiosperm> Species 0.000 description 6
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 6
- 230000011664 signaling Effects 0.000 description 6
- 238000005192 partition Methods 0.000 description 5
- 230000003044 adaptive effect Effects 0.000 description 4
- 230000006835 compression Effects 0.000 description 4
- 238000007906 compression Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 239000012634 fragment Substances 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000000926 separation method Methods 0.000 description 3
- 238000009966 trimming Methods 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 101150114515 CTBS gene Proteins 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000006837 decompression Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000009849 deactivation Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 238000007670 refining Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Abstract
Description
Настоящий патентный документ относится к способам, устройствам и системам для обработки видео.This patent document relates to methods, devices and systems for video processing.
Уровень техникиState of the art
Несмотря на все достижения в области сжатия видео, цифровое видео по-прежнему занимает наибольшую долю полосы частот в сети Интернет и в других цифровых сетях связи. Поскольку число присоединенных пользовательских устройств, способных принимать и представлять видео на дисплее, увеличивается, ожидается, что потребности в полосе для использования цифровым видео будут продолжать расти.Despite all the advances in video compression, digital video still takes up the largest share of bandwidth on the Internet and other digital communications networks. As the number of connected user devices capable of receiving and presenting video on a display increases, bandwidth requirements for digital video use are expected to continue to increase.
Раскрытие сущности изобретенияDisclosure of the invention
Описаны устройства, системы и способы, относящиеся к обработке цифрового видео и, в частности, к определению векторов движения. Описываемые способы могут быть применены к существующим стандартам кодирования видео (например, к стандарту высокоэффективного видео кодирования (High Efficiency Video Coding (HEVC)) или к стандарту универсального видео кодирования (Versatile Video Coding (VVC))) и к стандартам будущего для кодирования видео или к видеокодекам.Devices, systems and methods related to digital video processing and, in particular, to the determination of motion vectors are described. The described methods can be applied to existing video coding standards (for example, High Efficiency Video Coding (HEVC) standard or Versatile Video Coding (VVC) standard) and to future standards for video coding or to video codecs.
Согласно одному из репрезентативных аспектов предлагаемая технология может быть использована для обеспечения способа обработки видео. Способ содержит этап, на котором выполняют преобразование между текущим видеоблоком видео и кодированным представлением видео, причем кодированное представление содержит первый параметр, указывающий точность информации о движении из набора множества уровней точности для текущего видеоблока, который не использует точность по умолчанию для информации о движении, и/или второй параметр, идентифицирующий, используется ли для преобразования альтернативный интерполяционный фильтр с точностью в половину пикселя, при этом каждый из первого параметра и/или второго параметра ассоциирован с одним или более бинами, и кодирование на основе контекстной модели используется только для первого бина из указанных одного или более бинов в указанном кодированном представлении.In one exemplary aspect, the proposed technology can be used to provide a video processing method. The method comprises performing a conversion between a current video block of video and an encoded representation of the video, wherein the encoded representation comprises a first parameter indicating the accuracy of the motion information from a set of multiple accuracy levels for the current video block that does not use a default accuracy for the motion information, and /or a second parameter identifying whether an alternative half-pixel precision interpolation filter is used for the transformation, wherein each of the first parameter and/or the second parameter is associated with one or more bins, and context model-based encoding is used only for the first bin of specified one or more bins in the specified encoded representation.
Согласно другому аспекту предлагаемая технология может быть использована для обеспечения способа обработки видео. Способ содержит этапы, на которых определяют, для преобразования между текущим видеоблоком видео и кодированным представлением видео, информацию о движении с использованием интерполяционного фильтра, причем информация о движении имеет точность M целых пикселей или точность 1/N долю пикселя, где M и N являются положительными целыми числами и N не равно 2; и выполняют преобразование на основе информации о движении; причем поле синтаксиса в кодированном представлении соответствует интерполяционному фильтру. According to another aspect, the proposed technology can be used to provide a video processing method. The method comprises determining, for conversion between a current video block of video and an encoded video representation, motion information using an interpolation filter, wherein the motion information has a precision of M whole pixels or a precision of 1/N fraction of a pixel, where M and N are positive integers and N is not equal to 2; and perform conversion based on the motion information; wherein the syntax field in the encoded representation corresponds to the interpolation filter.
Согласно другому аспекту предлагаемая технология может быть использована для обеспечения способа обработки видео. Способ содержит этапы, на которых генерируют, для преобразования между текущим видеоблоком видео и кодированным представлением видео, первого кандидата движения на основе одного или более кандидатов движения в списке кандидатов движения и одного или более интерполяционных фильтров, ассоциированных с указанным одним или более кандидатами движения; причем интерполяционный фильтр назначается первому кандидату движения согласно правилу, зависящему от указанного одного или более интерполяционных фильтров, ассоциированных с указанным одним или более кандидатами движения; вставляют первого кандидата движения в список кандидатов движения; и выполняют преобразование на основе списка кандидатов движения. According to another aspect, the proposed technology can be used to provide a video processing method. The method comprises generating, for conversion between the current video block of video and the encoded video representation, a first motion candidate based on one or more motion candidates in a list of motion candidates and one or more interpolation filters associated with the one or more motion candidates; wherein the interpolation filter is assigned to the first motion candidate according to a rule depending on the one or more interpolation filters associated with the one or more motion candidates; inserting the first motion candidate into the motion candidate list; and performing the transformation based on the list of motion candidates.
Согласно другому аспекту предлагаемая технология может быть использована для обеспечения способа обработки видео. Способ содержит этапы, на которых ассоциируют, с каждым из множества блоков, содержащих первый блок в первой видеообласти и второй блок во второй видеообласти видео, информацию о движении, содержащую информацию о соответствующем интерполяционном фильтре, используемом для интерполяции информации о разности векторов движения для каждого из указанного множества блоков; и выполняют преобразование между видео и кодированным представлением видео с использованием информации о движении.According to another aspect, the proposed technology can be used to provide a video processing method. The method comprises associating, with each of a plurality of blocks comprising a first block in a first video region and a second block in a second video region of the video, motion information comprising information about a corresponding interpolation filter used to interpolate motion vector difference information for each of a specified plurality of blocks; and performing a conversion between the video and the encoded video representation using the motion information.
Согласно другому аспекту предлагаемая технология может быть использована для обеспечения способа обработки видео. Способ содержит этап, на котором выполняют преобразование между текущим видеоблоком видео и кодированным представлением видео, причем текущий видеоблок представлен в указанном кодированном представлении с использованием режима объединения или режима объединения с использованием разности векторов движения (merge with motion vector difference (MMVD)), при этом используется интерполяционный фильтр, имеющий точность 1/N, для интерполяции блока прогнозирования, ассоциированного с текущим видеоблоком, в соответствии с правилом, где N – положительное целое число; а правило определяет условие для наследования информации об интерполяции в случае, когда интерполяционный фильтр представляет собой альтернативный интерполяционный фильтр, отличный от интерполяционного фильтра по умолчанию.According to another aspect, the proposed technology can be used to provide a video processing method. The method comprises performing a transformation between a current video block of video and an encoded representation of the video, wherein the current video block is represented in said encoded representation using a merge mode or a merge mode using a motion vector difference (MMVD), wherein an interpolation filter having a precision of 1/N is used to interpolate the prediction block associated with the current video block in accordance with the rule where N is a positive integer; and the rule specifies a condition for inheriting interpolation information in the case where the interpolation filter is an alternative interpolation filter other than the default interpolation filter.
Согласно другому аспекту предлагаемая технология может быть использована для обеспечения способа обработки видео. Способ содержит этапы, на которых обрабатывают текущий видеоблок в процессе преобразования между видео, содержащим текущий видеоблок, и кодированным представлением видео; и сравнивают и избирательно обновляют список объединяемых кандидатов с использованием информации о движении для текущего видеоблока, причем информация о движении содержит информацию интерполяционного фильтра; при этом информация интерполяционного фильтра содержит параметры интерполяционного фильтра, используемого для интерполяции значений разностей векторов движения, применяемых для представления текущего видеоблока в виде кодированного представления. According to another aspect, the proposed technology can be used to provide a video processing method. The method comprises processing a current video block in a conversion process between a video containing the current video block and an encoded representation of the video; and comparing and selectively updating the list of merging candidates using motion information for the current video block, wherein the motion information includes interpolation filter information; wherein the interpolation filter information comprises parameters of an interpolation filter used to interpolate motion vector difference values used to represent the current video block as a coded representation.
Согласно одному из репрезентативных аспектов предлагаемая технология может быть использована для обеспечения способа обработки видео. Способ содержит этапы, на которых поддерживают, до преобразования между текущим видеоблоком видеообласти и кодированным представлением видео, по меньшей мере одну таблицу для режима прогнозирования вектора движения на основе предыстории (history-based motion vector prediction (HMVP)), причем таблица прогнозирования HMVP содержит одну или более позиций, соответствующих информации о движении для одного или более ранее обработанных блоков; и выполняют преобразование с использованием указанной по меньшей мере одной таблицы прогнозирования HMVP,при этом информация о движении для каждой позиции выполнена так, чтобы содержать информацию интерполяционного фильтра для указанного одного или более ранее обработанных блоков, причем информация интерполяционного фильтра указывает интерполяционные фильтры, используемые для интерполяции блоков прогнозирования на основе указанного одного или более ранее обработанных блоков.In one exemplary aspect, the proposed technology can be used to provide a video processing method. The method comprises maintaining, prior to conversion between the current video domain video block and the encoded video representation, at least one table for a history-based motion vector prediction (HMVP) mode, wherein the HMVP prediction table contains one or more positions corresponding to motion information for one or more previously processed blocks; and performing a conversion using said at least one HMVP prediction table, wherein the motion information for each position is configured to include interpolation filter information for said one or more previously processed blocks, wherein the interpolation filter information indicates interpolation filters used for the interpolation prediction blocks based on said one or more previously processed blocks.
Согласно одному из репрезентативных аспектов предлагаемая технология может быть использована для обеспечения способа обработки видео. Способ содержит этапы, на которых поддерживают, до преобразования между текущим видеоблоком видеообласти и кодированным представлением видео, по меньшей мере одну таблицу прогнозирования вектора движения на основе предыстории (HMVP), содержащей одну или более позиций, соответствующих информации о движении одного или более ранее обработанных блоков, причем информация о движении для каждой позиции выполнена так, чтобы содержать информацию интерполяционного фильтра для указанного одного или более ранее обработанных блоков; строят, для указанного преобразования, список кандидатов движения, который содержит объединяемого кандидата для прогнозирования HMVP, причем указанный кандидат для прогнозирования HMVP определяется путем «наследования» одной из позиций таблицы прогнозирования HMVP, включающей в себя соответствующую информацию интерполяционного фильтра, ассоциированную с указанной одной позицией; и выполняют преобразование на основе списка кандидатов движения.In one exemplary aspect, the proposed technology can be used to provide a video processing method. The method comprises maintaining, prior to conversion between the current video region video block and the encoded video representation, at least one history-based motion vector prediction (HMVP) table containing one or more positions corresponding to motion information of one or more previously processed blocks. , wherein the motion information for each position is configured to include interpolation filter information for said one or more previously processed blocks; constructing, for said transformation, a motion candidate list that contains a mergeable HMVP prediction candidate, wherein said HMVP prediction candidate is determined by “inheriting” one of the positions of the HMVP prediction table including corresponding interpolation filter information associated with said one position; and performing the transformation based on the list of motion candidates.
Согласно одному из репрезентативных аспектов предлагаемая технология может быть использована для обеспечения способа обработки видео. Способ содержит этапы, на которых принимают решение о режиме кодирования, используемом для представления текущего видеоблока видео в кодированном представлении видео; и кодируют текущий видеоблок в кодированное представление в соответствии с указанным режимом кодирования, причем использование точности в половину пикселя для представления информации о движении не активизировано для текущего видеоблока вследствие использования указанного режима кодирования. In one exemplary aspect, the proposed technology can be used to provide a video processing method. The method comprises deciding on an encoding mode used to represent the current video video block in an encoded video representation; and encoding the current video block into a coded representation in accordance with said encoding mode, wherein the use of half-pixel precision for representing motion information is not enabled for the current video block due to the use of said encoding mode.
Согласно одному из репрезентативных аспектов предлагаемая технология может быть использована для обеспечения способа обработки видео. Способ содержит этапы, на которых выполняют синтаксический анализ кодированного представления видео для определения, что текущий видеоблок видео кодирован с использованием режима кодирования; и генерируют декодированное представление текущего видеоблока из указанного кодированного представления в соответствии с указанным режимом кодирования, при этом использование точности в половину пикселя для представления информации о движении не активизировано для текущего видеоблока вследствие использования указанного режима кодирования.In one exemplary aspect, the proposed technology can be used to provide a video processing method. The method comprises: parsing an encoded video representation to determine that the current video block of video is encoded using an encoding mode; and generating a decoded representation of the current video block from said encoded representation in accordance with said encoding mode, wherein the use of half-pixel precision for representing motion information is not enabled for the current video block due to the use of said encoding mode.
Согласно одному из репрезентативных аспектов предлагаемая технология может быть использована для обеспечения способа обработки видео. Способ содержит этапы, на которых определяют, для текущего видеоблока, обработанного с применением режима обобщенного двунаправленного прогнозирования (generalized Bi-prediction (GBi)), использование первого весового коэффициента и второго, отличного от первого, весового коэффициента соответственно для первого блока прогнозирования и для второго блока прогнозирования, причем первый весовой коэффициент и второй весовой коэффициент выбираются из наборов весовых коэффициентов; и выполняют преобразование между текущим видеоблоком видео и кодированным представлением видео на основе результата указанного определения, при этом первый набор весовых коэффициентов, используемый для режима межкадрового прогнозирования, отличается от второго набора весовых коэффициентов, используемого для аффинного режима межкадрового прогнозирования.In one exemplary aspect, the proposed technology can be used to provide a video processing method. The method comprises stages of determining, for the current video block processed using the generalized bi-prediction (GBi) mode, the use of a first weighting coefficient and a second, different from the first, weighting coefficient, respectively, for the first prediction block and for the second a prediction block, wherein the first weight coefficient and the second weight coefficient are selected from the sets of weight coefficients; and performing a conversion between the current video video block and the encoded video representation based on the result of said determination, wherein the first set of weights used for the inter-prediction mode is different from the second set of weights used for the affine inter-prediction mode.
Согласно одному из репрезентативных аспектов предлагаемая технология может быть использована для обеспечения способа обработки видео. Способ содержит этапы, на которых определяют, для преобразования между множеством видеоединиц видеообласти видео и кодированным представлением указанного множества видеоединиц, информацию относительно интерполяционного фильтра в зависимости от режима кодирования видеоединицы, причем интерполяционный фильтр используется для интерполяции значений разностей векторов движения в кодированном представлении и имеет точность M целых пикселей или точность в 1/N долю пикселя, где M и N являются положительными целыми числами; и выполняют преобразование с использованием указанного интерполяционного фильтра.In one exemplary aspect, the proposed technology can be used to provide a video processing method. The method comprises the steps of determining, for conversion between a plurality of video units of a video domain and a coded representation of said plurality of video units, information regarding an interpolation filter depending on the encoding mode of the video unit, wherein the interpolation filter is used to interpolate the values of motion vector differences in the coded representation and has an accuracy of M integer pixels or precision of 1/N fraction of a pixel, where M and N are positive integers; and performing the transformation using the specified interpolation filter.
Согласно одному из репрезентативных аспектов предлагаемая технология может быть использована для обеспечения способа кодирования видео. Способ содержит этапы, на которых принимают решение о режиме кодирования, используемом для представления текущего видеоблока видео в кодированном представлении этого видео; и кодируют текущий видеоблок в кодированное представление в соответствии с указанным режимом кодирования, при этом использование альтернативных фильтров с точностью в половину пикселя в дополнение к фильтру по умолчанию с точностью в половину пикселя для представления информации о движении не активизировано для текущего видеоблока вследствие использования указанного режима кодирования. In one exemplary aspect, the proposed technology can be used to provide a video encoding method. The method comprises deciding on the encoding mode used to represent the current video block of video in an encoded representation of that video; and encoding the current video block into a coded representation in accordance with said encoding mode, wherein the use of alternative half-pixel precision filters in addition to the default half-pixel precision filter for representing motion information is not enabled for the current video block due to use of said encoding mode .
Согласно одному из репрезентативных аспектов предлагаемая технология может быть использована для обеспечения способа декодирования видео. Способ содержит этапы, на которых выполняют синтаксический анализ кодированного представления видео для определения, что текущий видеоблок видео кодирован с использованием режима кодирования; и генерируют декодированное представление текущего видеоблока на основе указанного кодированного представления в соответствии с указанным режимом кодирования, причем использование альтернативных фильтров с точностью в половину пикселя в дополнение к фильтру по умолчанию с точностью в половину пикселя для представления информации о движении не активизировано для указанного текущего видеоблока вследствие использования указанного режима кодирования.In one exemplary aspect, the proposed technology can be used to provide a video decoding method. The method comprises: parsing an encoded video representation to determine that the current video block of video is encoded using an encoding mode; and generating a decoded representation of the current video block based on said encoded representation in accordance with said encoding mode, wherein the use of alternative half-pixel filters in addition to the default half-pixel filter for representing motion information is not enabled for said current video block due to using the specified encoding mode.
Согласно одному из репрезентативных аспектов предлагаемая технология может быть использована для обеспечения способа кодирования видео. Способ содержит этапы, на которых определяют, вследствие использования альтернативного интерполяционного фильтра, активизированного для видеоблока видео, что режим кодирования не допустим для кодирования указанного видеоблока в кодированное представление видео; и генерируют кодированное представление видеоблока на основе указанного определения, причем указанный альтернативный интерполяционный фильтр используется для интерполяции блоков межкадрового прогнозирования для текущего видеоблока.In one exemplary aspect, the proposed technology can be used to provide a video encoding method. The method comprises determining, due to the use of an alternative interpolation filter enabled for a video video block, that an encoding mode is not valid for encoding said video block into an encoded video representation; and generating an encoded representation of the video block based on said definition, wherein said alternative interpolation filter is used to interpolate inter-frame prediction blocks for the current video block.
Согласно одному из репрезентативных аспектов предлагаемая технология может быть использована для обеспечения способа декодирования видео. Способ содержит этапы, на которых определяют, вследствие использования альтернативного интерполяционного фильтра, активизированного для видеоблока видео, что использование режима кодирования для представления указанного видеоблока в кодированном представлении видео не допускается; и генерируют декодированный видеоблок посредством синтаксического анализа кодированного представления на основе указанного определения.In one exemplary aspect, the proposed technology can be used to provide a video decoding method. The method comprises determining, due to the use of an alternative interpolation filter enabled for a video video block, that the use of an encoding mode to represent said video block in the encoded video representation is not permitted; and generating a decoded video block by parsing the encoded representation based on the specified definition.
Далее, согласно одному из репрезентативных аспектов любой из раскрытых способов представляет собой реализацию на стороне кодирующего устройства.Further, in one exemplary aspect, any of the disclosed methods is an encoder-side implementation.
Кроме того, согласно репрезентативному аспекту любой из раскрытых способов представляет собой реализацию на стороне декодирующего устройства.Moreover, according to an exemplary aspect, any of the disclosed methods is a decoder-side implementation.
Один из описываемых выше способов реализован в виде выполняемого процессором кода и сохранен на читаемом компьютером носителе для хранения программ.One of the methods described above is implemented as processor-executable code and stored on a computer-readable program storage medium.
Согласно еще одному из репрезентативных аспектов предложено устройство в видеосистеме, содержащее процессор и энергонезависимое запоминающее устройство с записанными в нем командами. Команды, при исполнении процессором вызывают выполнение процессором любого из раскрытых способов.According to yet another exemplary aspect, there is provided a device in a video system comprising a processor and a non-volatile storage device with instructions stored therein. Instructions, when executed by the processor, cause the processor to execute any of the disclosed methods.
Приведенные выше и другие аспекты и признаки предлагаемой технологии описаны более подробно на чертежах, в описании и в формуле изобретении.The above and other aspects and features of the proposed technology are described in more detail in the drawings, description and claims.
Краткое описание чертежейBrief description of drawings
Фиг. 1 показывает иллюстрацию структуры блока типа дерева квадратов плюс двоичное дерево (Quadtree plus binary tree (QTBT)).Fig. 1 shows an illustration of a Quadtree plus binary tree (QTBT) block structure.
Фиг. 2 показывает пример построения списка объединяемых кандидатов.Fig. 2 shows an example of constructing a list of merged candidates.
Фиг. 3 показывает пример позиций пространственных кандидатов.Fig. 3 shows an example of spatial candidate positions.
Фиг. 4 показывает пример пар кандидатов, подвергаемых контролю избыточности пространственных объединяемых кандидатов.Fig. 4 shows an example of candidate pairs subject to redundancy control of spatial merged candidates.
Фиг. 5A и 5B показывает примеры позиций второй единицы прогнозирования (prediction unit (PU)) на основе размера и формы текущего блока.Fig. 5A and 5B show examples of positions of a second prediction unit (PU) based on the size and shape of the current block.
Фиг. 6 показывает пример масштабирования вектора движения для временных объединяемых кандидатов.Fig. 6 shows an example of motion vector scaling for temporary fusion candidates.
Фиг. 7 показывает пример позиций кандидатов для временных объединяемых кандидатов.Fig. 7 shows an example of candidate positions for temporary merged candidates.
Фиг. 8 показывает пример создания объединяемого кандидата с комбинированным двунаправленным прогнозированием.Fig. 8 shows an example of creating a merging candidate with combined bidirectional prediction.
Фиг. 9 показывает пример построения кандидатов для прогнозирования векторов движения.Fig. 9 shows an example of constructing candidates for predicting motion vectors.
Фиг. 10 показывает пример масштабирования вектора движения для пространственных кандидатов векторов движения.Fig. 10 shows an example of motion vector scaling for spatial motion vector candidates.
Фиг. 11A и 11B представляют блок-схемы примеров аппаратной платформы для реализации способов декодирования визуальных медиа или кодирования визуальных медиа, описываемых в настоящем документе.Fig. 11A and 11B are block diagrams of exemplary hardware platforms for implementing the visual media decoding or visual media encoding methods described herein.
Фиг. 12A и 12B показывают логические схемы примеров способов обработки видео на основе некоторых вариантов реализации предлагаемой технологии.Fig. 12A and 12B show logic diagrams of example video processing methods based on some embodiments of the proposed technology.
Фиг. 13A – 13C показывают логические схемы примеров способов обработки видео на основе некоторых вариантов реализации предлагаемой технологии.Fig. 13A - 13C show logic diagrams of example video processing methods based on some implementations of the proposed technology.
Фиг. 14A и 14B показывают логические схемы примеров способов обработки видео на основе некоторых вариантов реализации предлагаемой технологии.Fig. 14A and 14B show logic diagrams of example video processing methods based on some embodiments of the proposed technology.
Фиг. 15A – 15D показывают логические схемы примеров способов обработки видео на основе некоторых вариантов реализации предлагаемой технологии.Fig. 15A - 15D show logic diagrams of example video processing methods based on some implementations of the proposed technology.
Фиг. 16A – 16D показывают логические схемы примеров способов обработки видео на основе некоторых вариантов реализации предлагаемой технологии.Fig. 16A - 16D show logic diagrams of example video processing methods based on some implementations of the proposed technology.
Осуществление изобретенияCarrying out the invention
1. Кодирование видео в стандарте кодирования HEVC/H.2651. Video encoding in HEVC/H.265 encoding standard
Стандарты кодирования видео развивались главным образом через разработку хорошо известных стандартов ITU-T и ISO/IEC. Союз ITU-T выпустил стандарты H.261 и H.263, организация ISO/IEC выпустила стандарты MPEG-1 и MPEG-4 Visual, а также эти две организации совместно выпустили стандарты H.262/MPEG-2 Video и H.264/MPEG-4 Advanced Video Coding (AVC) (усовершенствованное видео кодирование) и H.265/HEVC. Со времени стандарта H.262, стандарты кодирования видео основаны на гибридной структуре кодирования видео, использующей временное прогнозирование плюс преобразовательное кодирование. Для исследований в области технологий кодирования видео будущего, которые будут разработаны после технологии кодирования HEVC, группа экспертов по кодированию видео (VCEG) и группа экспертов по кинематографии (MPEG) в 2015 г. совместно основали Объединенную группу исследований в области видео (Joint Video Exploration Team (JVET)). С тех пор группа JVET разработала множество способов и ввела их в эталонное программное обеспечение, называемое Совместной исследовательской моделью (Joint Exploration Model (JEM)). В апреле 2018 г. группа VCEG (Q6/16) и отдел ISO/IEC JTC1 SC29/WG11 (MPEG) создали объединенную группу экспертов в области видео (Joint Video Expert Team (JVET)) для работ над стандартом VVC, имея целью добиться снижения требуемой скорости передачи битов данных на 50% по сравнению с кодированием HEVC. Video coding standards have evolved primarily through the development of the well-known ITU-T and ISO/IEC standards. ITU-T has released H.261 and H.263, ISO/IEC has released MPEG-1 and MPEG-4 Visual, and the two have jointly released H.262/MPEG-2 Video and H.264/ MPEG-4 Advanced Video Coding (AVC) and H.265/HEVC. Since the H.262 standard, video coding standards have been based on a hybrid video coding structure using temporal prediction plus transform coding. To research future video encoding technologies that will be developed after HEVC encoding technology, the Video Coding Experts Group (VCEG) and the Motion Picture Experts Group (MPEG) jointly founded the Joint Video Exploration Team in 2015 (JVET)). Since then, the JVET team has developed many techniques and incorporated them into reference software called the Joint Exploration Model (JEM). In April 2018, VCEG (Q6/16) and ISO/IEC JTC1 SC29/WG11 (MPEG) formed the Joint Video Expert Team (JVET) to work on the VVC standard, with the goal of reducing required data bit rate by 50% compared to HEVC encoding.
2.1. Структура блоков на основе дерева квадратов плюс двоичного дерева (QTBT) с единицами CTU большего размера2.1. Square tree plus binary tree (QTBT) block structure with larger CTUs
В стандарте кодирования HEVC, единицу дерева кодирования (CTU) разбивают на единицы кодирования (CU) с использованием структуры дерева квадратов, обозначенной в качестве дерева кодирования, с целью адаптации к разнообразным локальным характеристикам. Решение о том, следует ли кодировать какую-либо область изображения с использованием межкадрового (временного) или внутрикадрового (пространственного) прогнозирования, принимается на уровне единиц CU. Каждая единица CU может быть далее разбита на одну, две или четыре единицы PU в соответствии с типом разбиения на единицы PU. Внутри одной единицы PU, применяется одна и та же процедура прогнозирования и относящуюся к этому информацию передают декодирующему устройству на основе единиц PU. После получения блока остатка посредством применения процедуры прогнозирования на основе типа разбиения на единицы PU, единица CU может быть разбита на единицы преобразования (transform unit (TU)) в соответствии с другой структурой дерева квадратов, аналогичной дереву кодирования для рассматриваемой единицы CU. Одним из главных признаков структуры кодирования HEVC является то, что она имеет несколько концепций разбиения, включая разбиение на единицы CU, единицы PU и единицы TU.In the HEVC coding standard, a coding tree unit (CTU) is partitioned into coding units (CU) using a square tree structure, designated as a coding tree, to adapt to various local characteristics. The decision of whether a particular image region should be encoded using inter-frame (temporal) or intra-frame (spatial) prediction is made at the CU level. Each CU can be further partitioned into one, two or four PUs according to the type of PU partition. Within one PU, the same prediction procedure is applied and information related thereto is transmitted to the decoder based on the PUs. After obtaining a residual block by applying a prediction procedure based on the type of PU partitioning, the CU can be partitioned into transform units (TUs) according to another square tree structure similar to the encoding tree for the CU in question. One of the main features of the HEVC encoding structure is that it has several partitioning concepts, including partitioning into CU units, PU units and TU units.
На фиг. 1 показана иллюстрация структуры блоков типа дерево квадратов плюс двоичное дерево (Quadtree plus binary tree (QTBT)). Структура дерева QTBT устраняет концепцию нескольких типов разбиения, т.е. она устраняет разделение концепций разбиения на единицы CU, единицы PU и единицы TU и поддерживает большую гибкость форм разбиения на единицы CU. В структуре блоков дерева QTBT единица CU может иметь квадратную или прямоугольную форму. Как показано на фиг. 1, единицу дерева кодирования (coding tree unit (CTU)) сначала разбивают в структуре дерева квадратов. Концевые узлы дерева квадратов далее разбивают в структуре двоичного дерева. Разбиение по схеме двоичного дерева имеет два типа, а именно – симметричное горизонтальное разбиение и симметричное вертикальное разбиение. Концевые узлы двоичного дерева также называются единицами кодирования (coding unit (CU)), и такая сегментация используется для процедур прогнозирования и преобразования без какого-либо дальнейшего разбиения. Это означает, что в структуре блоков кодирования типа дерева QTBT единицы CU, единицы PU и единицы TU имеют одинаковый размер блоков. В модели JEM, единица CU иногда состоит из блоков кодирования (coding block (CB)) разных цветовых составляющих, например, одна единица CU содержит один блок CB яркостной составляющей и два блока CB цветностных составляющих в случае P-срезов и B-срезов в цветностном формате 4:2:0, и иногда состоит из блоков CB одной составляющей, например, одна единица CU содержит только один блок CB яркостной составляющей или только два блока CB цветностной составляющей в случае I-срезов.In fig. Figure 1 shows an illustration of a Quadtree plus binary tree (QTBT) block structure. The QTBT tree structure eliminates the concept of multiple types of partitioning, i.e. it eliminates the separation of CU, PU, and TU partitioning concepts and supports greater flexibility in CU partitioning forms. In the block structure of the QTBT tree, the CU can be square or rectangular in shape. As shown in FIG. 1, a coding tree unit (CTU) is first partitioned into a square tree structure. The leaf nodes of the square tree are further split into a binary tree structure. Binary tree partitioning has two types, namely symmetric horizontal partitioning and symmetric vertical partitioning. The leaf nodes of a binary tree are also called coding units (CUs), and this segmentation is used for prediction and transformation procedures without any further partitioning. This means that in the QTBT tree type coding block structure, CUs, PUs and TUs have the same block size. In the JEM model, a CU sometimes consists of coding blocks (CBs) of different color components, for example, one CU unit contains one luma CB block and two chrominance CB blocks in the case of P-cuts and B-cuts in chrominance. format 4:2:0, and sometimes consists of CB blocks of a single component, for example, one CU unit contains only one luma CB block, or only two chrominance CB blocks in the case of I-cuts.
Для схемы разбиения по дереву QTBT определены следующие параметры:The following parameters are defined for the QTBT tree partitioning scheme:
- размер единицы CTU: размер корневого узла в дереве квадратов, такая же концепция, как при кодировании HEVC,- CTU unit size: size of the root node in the tree of squares, same concept as HEVC encoding,
- размер MinQTSize: минимальный допустимый размер концевого узла дерева квадратов,- MinQTSize size: the minimum allowed size of the end node of a tree of squares,
- размер MaxBTSize: максимальный допустимый размер корневого узла двоичного дерева,- MaxBTSize size: the maximum allowed size of the root node of a binary tree,
- глубина MaxBTDepth: максимальная допустимая глубина двоичного дерева,- MaxBTDepth depth: maximum allowed binary tree depth,
- размер MinBTSize: минимальный допустимый размер концевого узла двоичного дерева.- MinBTSize size: the minimum allowed size of a leaf node of a binary tree.
В одном из примеров структуры разбиения по схеме дерева QTBT, размер единицы CTU установлен равным 128×128 отсчетов яркостной составляющей с двумя соответствующими блоками размером 64×64 каждый отсчетов цветностной составляющей, размер MinQTSize установлен равным 16×16, размер MaxBTSize установлен равным 64×64, размер MinBTSize (и для ширины, и для высоты) установлен равным 4×4, и глубина MaxBTDepth установлена равной 4. Сначала к единице CTU применяют разбиение по схеме дерева квадратов для генерации концевых узлов дерева квадратов. Эти концевые узлы дерева квадратов могут иметь размер от 16×16 т.е. от размера MinQTSize) до 128×128 (т.е. до размера единицы CTU). Если размер концевого узла дерева квадратов равен 128×128, этот узел не должен быть далее разбит по схеме двоичного дерева, поскольку этот размер превышает значение MaxBTSize (т.е. 64×64). В противном случае, концевой узел дерева квадратов может быть дальше разбит по схеме двоичного дерева. Поэтому, такой концевой узел дерева квадратов также является корневым узлом для двоичного дерева и имеет равную 0 глубину двоичного дерева. Когда глубина двоичного дерева достигнет значения MaxBTDepth (т.е. 4), никакое дальнейшее разбиение не рассматривается. Когда узел двоичного дерева имеет ширину, равную MinBTSize (т.е. 4), никакое дальнейшее горизонтальное разбиение не рассматривается. Аналогично, когда узел двоичного дерева имеет высоту, равную MinBTSize, никакое дальнейшее вертикальное разбиение не рассматривается. После этого концевые узлы двоичного дерева обрабатывают посредством процедур прогнозирования и преобразования без какого-либо дальнейшего разбиения. В модели JEM, максимальный размер единицы CTU равен 256×256 отсчетов яркостной составляющей.In one example of a QTBT tree partition structure, the CTU size is set to 128x128 luma samples with two corresponding blocks of 64x64 chrominance samples each, MinQTSize is set to 16x16, MaxBTSize is set to 64x64 , the MinBTSize (for both width and height) is set to 4x4, and the MaxBTDepth depth is set to 4. First, a quadtree partition is applied to the CTU to generate the leaf nodes of the quadtree. These end nodes of the tree of squares can range in size from 16x16 i.e. from MinQTSize size) to 128×128 (i.e. up to the size of the CTU unit). If the size of a leaf node of a square tree is 128x128, that node should not be further split into a binary tree because the size exceeds MaxBTSize (i.e. 64x64). Otherwise, the end node of the square tree can be further split into a binary tree. Therefore, such a leaf node of the square tree is also the root node for the binary tree and has a binary tree depth of 0. When the binary tree depth reaches MaxBTDepth (i.e. 4), no further splitting is considered. When a binary tree node has a width equal to MinBTSize (i.e. 4), no further horizontal splitting is considered. Likewise, when a binary tree node has a height equal to MinBTSize, no further vertical splitting is considered. The leaf nodes of the binary tree are then processed through prediction and transformation procedures without any further partitioning. In the JEM model, the maximum CTU size is 256x256 luminance samples.
Фиг. 1 (слева) иллюстрирует пример разбиения блоков с использованием дерева QTBT, а фиг. 1 (справа) иллюстрирует соответствующее представление дерева. Сплошные линии обозначают разбиение по схеме дерева квадратов, а штриховые показывают разбиение по схеме двоичного дерева. В каждом разбиении узла (т.е. неконцевого) двоичного дерева, сообщают в виде сигнализации один флаг, чтобы обозначить, какой именно тип разбиения (т.е. горизонтальный или вертикальный) используется, где 0 обозначает горизонтальное разбиение и 1 обозначает вертикальное разбиение. Для разбиения по схеме дерева квадратов нет необходимости указывать тип разбиения, поскольку при разбиении по схеме дерева квадратов всегда разбивают блок и горизонтально, и вертикально для получения 4 субблоков одинакового размера.Fig. 1 (left) illustrates an example of block splitting using a QTBT tree, and FIG. Figure 1 (right) illustrates the corresponding tree representation. Solid lines indicate quadratic tree partitioning, while dashed lines indicate binary tree partitioning. At each split of a node (i.e., non-leaf) binary tree, one flag is signaled to indicate which type of split (i.e., horizontal or vertical) is used, where 0 indicates a horizontal split and 1 indicates a vertical split. For square tree partitioning, there is no need to specify the type of partition, since square tree partitioning always splits the block both horizontally and vertically to produce 4 subblocks of the same size.
Кроме того, схема разбиения по дереву QTBT поддерживает способность яркостной и цветностной составляющих иметь раздельные структуры дерева QTBT. В настоящий момент, для P-срезов и B-срезов, блоки CTB для яркостной составляющей и цветностной составляющей в одной единице CTU совместно используют одну и ту же структуру дерева QTBT. Однако для I-срезов, блок CTB яркостной составляющей разбивают на единицы CU по схеме одной структуры QTBT, а блоки CTB цветностной составляющей разбивают на единицы CU цветностной составляющей с применением другой структуры QTBT. Это означает, что единица CU в I-срезе состоит из блока кодирования яркостной составляющей или из блоков кодирования двух цветностных составляющих, и единица CU в P-срезе или в B-срезе состоит из блоков кодирования всех трех цветовых составляющих.In addition, the QTBT tree partitioning scheme supports the ability of the luma and chrominance components to have separate QTBT tree structures. Currently, for P-slices and B-slices, the luma and chrominance CTBs in the same CTU share the same QTBT tree structure. However, for I-slices, the luma CTB is split into CUs using one QTBT structure, and the chrominance CTBs are split into chrominance CUs using a different QTBT structure. This means that a CU in an I-slice consists of a luminance component coding block or two chroma component coding blocks, and a CU in a P-slice or a B-slice consists of coding blocks of all three chroma components.
В стандарте кодирования HEVC, межкадровое кодирование для блоков небольшого размера ограничено, чтобы уменьшить число обращений к памяти при компенсации движения, так что двунаправленное прогнозирование не поддерживается для блоков размером 4×8 и 8×4, и межкадровое прогнозирование не поддерживается для блоков размером 4×4. При использовании структуры дерева QTBT в модели JEM, эти ограничения снимаются.In the HEVC coding standard, inter-frame coding for small block sizes is limited to reduce the number of memory accesses for motion compensation, so bidirectional prediction is not supported for 4x8 and 8x4 block sizes, and inter-frame prediction is not supported for 4x block sizes. 4. By using the QTBT tree structure in the JEM model, these restrictions are removed.
2.2. Межкадровое прогнозирование в стандарте кодирования HEVC/H.2652.2. Interframe prediction in HEVC/H.265 coding standard
Каждая единица межкадрового прогнозирования PU имеет параметры движения для одного или двух списков опорных изображений. Совокупность параметров движения содержит вектор движения и индекс опорного изображения. Об использовании одного или двух списков опорных изображений может быть также сообщено в виде сигнализации с применением параметра inter_pred_idc. Векторы движения могут быть в явной форме закодированы в виде приращений относительно предикторов.Each inter-prediction unit PU has motion parameters for one or two reference picture lists. The set of motion parameters contains a motion vector and a reference image index. The use of one or two reference picture lists may also be signaled using the inter_pred_idc parameter. Motion vectors can be explicitly encoded as increments relative to the predictors.
Когда единица CU кодирована в режиме пропуска, с этой единицей CU ассоциирована одна единица PU, и при этом нет ни значительных коэффициентов остатка, ни кодированного приращения вектора движения или индекса опорного изображения. Режим объединения специфицирован таким образом, что параметры движения для текущей единицы PU получают из соседних единиц PU, включая пространственные и временные кандидаты. Режим объединения может быть применен к любой единице PU межкадрового прогнозирования, не только в режиме пропуска. Альтернативой режима для объединения является передача параметров движения в явном виде, где векторы движения (более точно, разницы векторов движения относительно предиктора вектора движения), соответствующий индекс опорного изображения для каждого списка опорных изображений и показатель использования списка опорных изображений передают в виде сигнализации в явной форме для каждой единицы PU. Этот тип режима называется в настоящем описании усовершенствованным прогнозированием вектора движения (advanced motion vector prediction (AMVP)).When a CU is encoded in the skip mode, there is one PU associated with the CU, and there are no significant residual coefficients or encoded motion vector increment or reference picture index. The fusion mode is specified such that the motion parameters for the current PU are obtained from neighboring PUs, including spatial and temporal candidates. The combining mode can be applied to any inter-prediction PU, not just the skip mode. An alternative to the mode for combining is to communicate the motion parameters explicitly, where the motion vectors (more precisely, the motion vector differences relative to the motion vector predictor), the corresponding reference picture index for each reference picture list, and the reference picture list usage indicator are signaled explicitly for each PU unit. This type of mode is referred to herein as advanced motion vector prediction (AMVP).
Когда сигнализация указывает, что следует использовать один из двух списков опорных изображений, единицу PU создают из одного блока отсчетов. Это называется «однонаправленным прогнозированием» (‘uni-prediction’). Однонаправленное прогнозирование доступно для срезов обоих видов – P-среза (P-slice) или среза со ссылкой на предыдущий срез (предсказанного среза) и B-среза (B-slice) или среза со ссылками на предыдущий и последующий срезы (или двунаправлено интерполированного среза).When signaling indicates that one of the two reference picture lists should be used, a PU is created from one block of samples. This is called 'uni-prediction'. Unidirectional prediction is available for both types of slices - P-slice or slice with reference to the previous slice (predicted slice) and B-slice or slice with reference to previous and subsequent slices (or bidirectionally interpolated slice ).
Когда сигнализация указывает, что следует использовать оба списка опорных изображений, единицу PU создают из двух блоков отсчетов. Это называется «двунаправленной интерполяцией (прогнозированием)» (‘bi-prediction’). Двунаправленное прогнозирование доступно только для B-срезов.When signaling indicates that both reference picture lists should be used, a PU is created from two sample blocks. This is called 'bi-prediction'. Bidirectional prediction is only available for B-slices.
Следующий текст содержит подробности относительно режимов межкадрового прогнозирования, специфицированных в стандарте кодирования HEVC. Описание начинается с режима объединения.The following text contains details regarding the inter-frame prediction modes specified in the HEVC coding standard. The description begins with the merge mode.
2.2.1. Режим объединения2.2.1. Merge mode
2.2.1.1. Определение кандидатов для режима объединения 2.2.1.1. Defining Candidates for Aggregation Mode
Когда единицу PU прогнозируют с использованием режима объединения, индекс, указывающий на позицию в списке объединяемых кандидатов, выделяют путем синтаксического анализа из потока битов данных и используют для извлечения информации о движении. Процедура построения указанного списка специфицирована в стандарте кодирования HEVC и может быть суммирована в соответствии со следующей последовательностью этапов:When a PU is predicted using the merging mode, an index indicating a position in the merging candidate list is parsed from the data bit stream and used to extract motion information. The procedure for constructing this list is specified in the HEVC encoding standard and can be summarized according to the following sequence of steps:
• Этап 1: Получение первоначального списка кандидатов• Stage 1: Obtaining an initial list of candidates
○ Этап 1.1: Получение пространственных кандидатов○ Step 1.1: Obtaining spatial candidates
○ Этап 1.2: Контроль избыточности для пространственных кандидатов○ Step 1.2: Redundancy control for spatial candidates
○ Этап 1.3: Получение временных кандидатов○ Stage 1.3: Obtaining temporary candidates
• Этап 2: Вставка дополнительных кандидатов• Step 2: Inserting additional candidates
○ Этап 2.1: Создание двунаправлено прогнозированных кандидатов○ Step 2.1: Generate Bidirectionally Predicted Candidates
○ Этап 2.2: Вставка кандидатов с нулевым движением○ Step 2.2: Inserting Zero Motion Candidates
Эти этапы схематично показаны на фиг. 2. Для получения пространственных объединяемых кандидатов, выбирают максимум четверых объединяемых кандидатов из совокупности кандидатов, расположенных в пяти различных позициях. Для получения временных объединяемых кандидатов выбирают максимум одного объединяемого кандидата из двух кандидатов. Поскольку в декодирующем устройстве предполагается постоянное число кандидатов для каждой единицы PU, если число кандидатов, полученное после этапа 1, не достигает максимального числа объединяемых кандидатов (MaxNumMergeCand), передаваемого в форме сигнализации в заголовке среза, генерируют дополнительных кандидатов. Поскольку число кандидатов является постоянным, индекс наилучшего объединяемого кандидата кодируют с использованием усеченной унарной бинаризации (truncated unary binarization (TU)). Если размер единицы CU равен 8, все единицы PU из текущей единицы CU совместно используют один список объединяемых кандидатов, который идентичен списку объединяемых кандидатов для единицы прогнозирования размером 2N×2N.These steps are shown schematically in FIG. 2. To obtain spatial merging candidates, a maximum of four merging candidates are selected from the pool of candidates located at five different positions. To obtain temporary merge candidates, a maximum of one merge candidate is selected from two candidates. Since the decoder assumes a constant number of candidates for each PU, if the number of candidates obtained after step 1 does not reach the maximum number of candidates to be merged (MaxNumMergeCand) signaled in the slice header, additional candidates are generated. Since the number of candidates is constant, the index of the best merging candidate is encoded using truncated unary binarization (TU). If the CU size is 8, all PUs from the current CU share one merge candidate list, which is identical to the merge candidate list for a 2N×2N prediction unit.
В последующем, операции, ассоциированные с приведенными выше этапами, описаны подробно.In the following, operations associated with the above steps are described in detail.
2.2.1.2. Определение пространственных кандидатов2.2.1.2. Identification of spatial candidates
При получении пространственных объединяемых кандидатов выбирают максимум четырех объединяемых кандидатов из совокупности кандидатов, расположенных в позициях, показанных на фиг. 3. Кандидатов выбирают в следующем порядке A1, B1, B0, A0 и B2. Позицию B2 учитывают только тогда, когда какая-либо из единиц PU, которые должны быть в позициях A1, B1, B0, A0, недоступна (например, потому, что эта единица принадлежит другому срезу или другой плитке) или кодирована с применением внутрикадрового прогнозирования. После добавления кандидата в позиции A1 добавление остальных кандидатов должно происходить с контролем избыточности, что обеспечивает исключение кандидатов с одинаковой информацией о движении из списка, так что эффективность кодирования улучшается. Для уменьшения вычислительной сложности не все возможные пары кандидатов рассматривают в процессе упомянутого контроля избыточности. Напротив, учитывают только пары, связанные стрелкой на фиг. 4, и какого-либо кандидата добавляют в список только в том случае, если соответствующий кандидат, использованный для контроля избыточности, не имеет такую же самую информацию о движении. Другим источником дублированной информации о движении является “вторая единица PU”, ассоциированная с разбиениями, отличными от 2Nx2N. В качестве примера, Фиг. 5 показывает вторую единицу PU для случаев N×2N и 2N×N, соответственно. Когда текущую единицу PU разбивают как N×2N, кандидат в позиции A1 не учитывается при построении списка. На деле, добавление этого кандидата приведет к тому, что две единицы прогнозирования будут иметь одинаковую информацию о движении, что является избыточным с точки зрения требования иметь только одну единицу PU в единице кодирования. Аналогично, позицию B1 не учитывают, когда текущую единицу PU разбивают как 2N×N.When obtaining spatial fusion candidates, a maximum of four fusion candidates are selected from the plurality of candidates located at the positions shown in FIG. 3. Candidates are selected in the following order: A 1, B 1, B 0, A 0 and B 2 . Position B 2 is only taken into account when any of the PU units that should be in positions A 1 , B 1 , B 0 , A 0 is not available (for example, because this unit belongs to another slice or another tile) or is encoded using intra-frame prediction. After adding a candidate at position A 1 , the addition of the remaining candidates must be done with redundancy control, which ensures that candidates with the same motion information are excluded from the list, so that coding efficiency is improved. To reduce computational complexity, not all possible candidate pairs are considered in the redundancy check process mentioned above. In contrast, only the pairs connected by the arrow in FIG. 4, and any candidate is added to the list only if the corresponding candidate used for redundancy control does not have the same traffic information. Another source of duplicate motion information is the “second PU” associated with partitions other than 2Nx2N. As an example, FIG. 5 shows the second PU for the N×2N and 2N×N cases, respectively. When the current PU is partitioned as N×2N, the candidate at position A 1 is not taken into account when constructing the list. In fact, adding this candidate will result in two prediction units having the same motion information, which is redundant in terms of the requirement to have only one PU in a coding unit. Likewise, position B 1 is not taken into account when the current PU is partitioned as 2N×N.
2.2.1.3. Определение временных кандидатов2.2.1.3. Identification of temporary candidates
На этом этапе в список добавляют только одного кандидата. В частности, при получении этого временного объединяемого кандидата, формируют масштабированный вектор движения на основе расположенной в этом же месте единицы PU, принадлежащей изображению, имеющему наименьшую разницу порядковых номеров картинки (Picture Order Count (POC)) относительно текущего изображения в рассматриваемом списке опорных изображений. О списке опорных изображений, который должен быть использован для получения расположенной в том же месте единицы PU, сигнализируют в явной форме в заголовке среза. Масштабированный вектор движения для временного объединяемого кандидата получают, как показывает штриховая линия на фиг. 6, путем масштабирования из вектора движения для расположенной в том же месте единицы PU с использованием расстояний по порядковым номерам (POC-расстояний), tb и td, где расстояние tb определяют как разницу номеров POC между опорным изображением для текущего изображения и самим текущим изображением и расстояние td определяют как разницу номеров POC между опорным изображением для расположенного в том же месте изображения и самим расположенным в том же месте изображением. Индекс опорного изображения для временного объединяемого кандидата устанавливают равным нулю. Практическая реализация процедуры масштабирования описана в спецификации стандарта кодирования HEVC. Для B-среза получают два вектора движения, один для списка 0 опорных изображений и другой для списка 1 опорных изображений, и комбинируют эти векторы для получения двунаправлено прогнозируемого объединяемого кандидата.At this stage, only one candidate is added to the list. In particular, upon receiving this temporary fusion candidate, a scaled motion vector is generated based on the PU located at the same location, belonging to the image having the smallest difference in Picture Order Count (POC) relative to the current image in the reference picture list under consideration. The list of reference pictures that should be used to obtain a co-located PU is signaled explicitly in the slice header. The scaled motion vector for the temporary fusion candidate is obtained as shown by the dashed line in FIG. 6, by scaling from the motion vector for a co-located PU using sequence number distances (POC distances), tb and td, where the distance tb is defined as the difference in POC numbers between the reference image for the current image and the current image itself, and the distance td is defined as the difference in POC numbers between the reference image for the colocated image and the colocated image itself. The reference image index for the temporary merge candidate is set to zero. The practical implementation of the scaling procedure is described in the HEVC encoding standard specification. For a B-slice, two motion vectors are obtained, one for reference picture list 0 and the other for reference picture list 1, and these vectors are combined to obtain a bidirectionally predicted fusion candidate.
В расположенной в том же месте единице PU (Y), принадлежащей опорному кадру, позицию для временного кандидата выбирают между кандидатами C0 и C1, как показано на фиг. 7. Если единица PU в позиции C0 недоступна, кодирована с применением внутрикадрового прогнозирования или находится вне текущей строки единиц CTU, используют позицию C1. В противном случае, для получения временного объединяемого кандидата используют позицию C0.In a co-located PU (Y) belonging to the reference frame, a position for a temporary candidate is selected between candidates C 0 and C 1 , as shown in FIG. 7. If the PU at position C0 is not available, is intra-predictive encoded, or is outside the current string of CTUs, use position C1 . Otherwise, position C 0 is used to obtain a temporary merge candidate.
2.2.1.4. Вставка дополнительных кандидатов2.2.1.4. Inserting Additional Candidates
Помимо пространственно-временных объединяемых кандидатов имеются еще два дополнительных типа объединяемых кандидатов: комбинированный двунаправлено прогнозируемый объединяемый кандидат и нулевой объединяемый кандидат. Комбинированных двунаправлено прогнозируемых объединяемых кандидатов генерируют с использованием пространственных и временных объединяемых кандидатов. Комбинированный двунаправлено прогнозируемый объединяемый кандидат используется только для B-среза. Таких комбинированных двунаправлено прогнозируемых кандидатов генерируют путем комбинирования параметров движения из первого списка опорных изображений для первоначального кандидата с параметрами движения из второго списка опорных изображений для другого кандидата. Если эти две группы параметров формируют разные гипотезы движения, они создадут нового двунаправлено прогнозируемого кандидата. В качестве примера, на фиг. 8 показан случай, где двух кандидатов из исходного списка (слева), имеющих параметры mvL0 и refIdxL0 или mvL1 и refIdxL1, используют для создания комбинированного двунаправлено прогнозируемого объединяемого кандидата, добавляемого в конечный список (справа). Имеются многочисленные правила относительно построения таких комбинаций, учитываемые при генерации таких дополнительных объединяемых кандидатов.In addition to spatio-temporal merging candidates, there are two additional types of merging candidates: the combined bidirectionally predicted merging candidate and the null merging candidate. Combined bidirectionally predicted merge candidates are generated using spatial and temporal merge candidates. The combined bidirectionally predicted merge candidate is used for B-slice only. Such combined bidirectionally predicted candidates are generated by combining motion parameters from a first reference picture list for the original candidate with motion parameters from a second reference picture list for another candidate. If these two groups of parameters form different motion hypotheses, they will create a new bidirectionally predictive candidate. As an example, in FIG. 8 shows a case where two candidates from the source list (left), having parameters mvL0 and refIdxL0 or mvL1 and refIdxL1, are used to create a combined bidirectionally predicted merge candidate added to the final list (right). There are numerous rules regarding the construction of such combinations that are taken into account when generating such additional merging candidates.
Кандидатов с нулевым движением вставляют для заполнения оставшихся позиций в списке объединяемых кандидатов и тем самым достижения максимальной емкости MaxNumMergeCand списка. Эти кандидаты имеют нулевое пространственное смещение, а индекс опорного изображения начинается с нуля и увеличивается каждый раз, когда в список добавляют нового кандидата с нулевым движением. Число опорных кадров, используемых этими кандидатами, равно одному и двум для однонаправленного прогнозирования и двунаправленного прогнозирования, соответственно. Наконец, для этих кандидатов контроль избыточности не осуществляется. Zero-motion candidates are inserted to fill the remaining positions in the list of candidates to be merged and thereby achieve the maximum capacity of the MaxNumMergeCand list. These candidates have zero spatial displacement, and the reference image index starts at zero and is incremented each time a new candidate with zero motion is added to the list. The number of reference frames used by these candidates is one and two for unidirectional prediction and bidirectional prediction, respectively. Finally, there is no redundancy control for these candidates.
2.2.1.5. Области оценки движения для параллельной обработки 2.2.1.5. Motion estimation areas for parallel processing
Для ускорения процедуры кодирования оценку движения можно осуществлять параллельно, благодаря чему векторы движения для всех единиц прогнозирования внутри конкретной рассматриваемой области определяют одновременно. Это определение объединяемых кандидатов из пространственно окружающей области может мешать параллельной обработке, поскольку одна единица прогнозирования не может вывести параметры движения из соседней единицы PU до тех пор, пока ассоциированная оценка движения не будет завершена. Для сглаживания компромисса между эффективностью кодирования и задержкой обработки, процедура HEVC определение области оценки движения (motion estimation region (MER)), размер которой сообщают в виде сигнализации в наборе параметров изображения с использованием синтаксического элемента “log2_parallel_merge_level_minus2”. Когда область MER определена, объединяемые кандидаты, попадающие в одну и ту же область, маркируют как недоступные и потому не учитывают при построении списка.To speed up the encoding procedure, motion estimation can be performed in parallel, whereby motion vectors for all prediction units within a particular region of interest are determined simultaneously. This determination of merging candidates from the spatially surrounding region can interfere with parallel processing because one prediction unit cannot infer motion parameters from an adjacent PU until the associated motion estimation is completed. To smooth the trade-off between encoding efficiency and processing latency, the HEVC procedure defines a motion estimation region (MER), the size of which is signaled in the image parameter set using the “log2_parallel_merge_level_minus2” syntax element. Once a MER region is defined, merging candidates that fall within the same region are marked as unavailable and are therefore not taken into account when constructing the list.
2.2.2. Усовершенствованное прогнозирование вектора движения (AMVP)2.2.2. Advanced Motion Vector Prediction (AMVP)
Прогнозирование AMVP использует пространственно-временную корреляцию вектора движения с соседними единицами PU, что используется для передачи параметров движения в явной форме. Для каждого списка опорных изображений, при построении списка векторов-кандидатов движения сначала проверяют доступность временных соседних единиц PU в позициях слева сверху, исключают избыточных кандидатов и добавляют нулевой вектор, чтобы сделать список кандидатов постоянной длины. Тогда кодирующее устройство может выбрать наилучшего предиктора из списка кандидатов и передать соответствующий индекс, указывающий выбранного кандидата. Аналогично передаче индекса объединения посредством сигнализации, индекс наилучшего вектора-кандидата движения кодируют с использованием усеченной унарной бинаризации. Максимальное значение, подлежащее кодированию, в этом случае равно 2 (см. фиг. 9). В последующих разделах приведены подробности процедуры получения кандидата при прогнозировании вектора движения.AMVP prediction uses the spatiotemporal correlation of the motion vector with neighboring PUs, which is used to convey motion parameters explicitly. For each reference image list, when constructing a candidate motion vector list, first check the availability of temporary neighboring PUs at top left positions, eliminate redundant candidates, and add a null vector to make the candidate list of constant length. The encoder can then select the best predictor from the list of candidates and transmit a corresponding index indicating the selected candidate. Similar to transmitting the pooling index through signaling, the index of the best candidate motion vector is encoded using truncated unary binarization. The maximum value to be encoded in this case is 2 (see FIG. 9). The following sections provide details of the procedure for obtaining a candidate for motion vector prediction.
2.2.2.1. Получение кандидатов при прогнозировании AMVP2.2.2.1. Retrieving Candidates for AMVP Prediction
Фиг. 9 суммирует процедуру получения вектора-кандидата при прогнозировании вектора движения.Fig. 9 summarizes the procedure for obtaining a candidate vector in motion vector prediction.
При прогнозировании векторов движения рассматривают два типа векторов-кандидатов движения: пространственный вектор-кандидат движения и временной вектор-кандидат движения. Для формирования пространственного вектора-кандидата движения в конечном итоге получают два вектора-кандидата движения на основе векторов движения для каждой из единиц PU, расположенных в пяти разных позициях, как было ранее показано на фиг. 3.When predicting motion vectors, two types of candidate motion vectors are considered: a spatial motion vector candidate and a temporal motion vector candidate. To generate a spatial motion candidate vector, two candidate motion vectors are ultimately obtained based on the motion vectors for each of the PUs located at five different positions, as previously shown in FIG. 3.
Для формирования временного вектора-кандидата движения выбирают одного вектора-кандидата движения из двух кандидатов, получаемых на основе двух разных расположенных в одном месте позиций. После создания первого списка пространственно-временных кандидатов из этого списка исключают дублированные векторы-кандидаты движения. Если число потенциальных кандидатов больше двух, векторы-кандидаты движения, для которых индекс опорного изображения в ассоциированном списке опорных изображений больше 1, исключают из этого списка. Если это число пространственно-временных векторов движения кандидатов меньше двух, в список добавляют дополнительный нулевой вектор-кандидат движения.To generate a temporary motion vector candidate, one motion vector candidate is selected from two candidates obtained based on two different co-located positions. After generating the first list of spatiotemporal candidates, duplicate candidate motion vectors are eliminated from this list. If the number of potential candidates is greater than two, candidate motion vectors for which the reference picture index in the associated reference picture list is greater than 1 are excluded from the list. If this number of candidate spatiotemporal motion vectors is less than two, an additional zero candidate motion vector is added to the list.
2.2.2.2. Пространственные векторы-кандидаты движения2.2.2.2. Spatial motion candidate vectors
Для получения пространственных векторов-кандидатов движения, учитывают максимум двух потенциальных кандидатов из совокупности пяти потенциальных кандидатов, получаемых из единиц PU, расположенных в позициях, как это ранее показано на фиг. 3, эти позиции являются такими же, как при объединении движения. Порядок формирования для левой стороны от текущей единицы PU задан как кандидат A0, кандидат A1 и масштабированный кандидат A0, масштабированный кандидат A1. Порядок формирования для верхней стороны от текущей единицы PU задан как кандидат B0, кандидат B1, кандидат B2, масштабированный кандидат B0, масштабированный кандидат B1, масштабированный кандидат B2. Для каждой стороны, поэтому, имеются четыре случая, которые могут быть использованы в качестве векторов-кандидатов движения, где в двух случаях не требуется использовать пространственное масштабирование, и в двух случаях пространственное масштабирование применяется.To obtain the motion candidate spatial vectors, a maximum of two potential candidates are considered from a population of five candidate candidates obtained from the PUs located at the positions, as previously shown in FIG. 3, these positions are the same as when combining movement. The formation order for the left side of the current PU is specified as candidate A 0 , candidate A 1 and scaled candidate A 0 , scaled candidate A 1 . The formation order for the upper side from the current PU is specified as candidate B 0 , candidate B 1 , candidate B 2 , scaled candidate B 0 , scaled candidate B 1 , scaled candidate B 2 . For each side, therefore, there are four cases that can be used as candidate motion vectors, where in two cases spatial scaling is not required to be used, and in two cases spatial scaling is applied.
• Нет пространственного масштабирования• No spatial scaling
- (1) Одинаковый список опорных изображений и одинаковый индекс опорного изображения (одинаковый порядок POC)- (1) Same reference picture list and same reference picture index (same POC order)
- (2) Разные списки опорных изображений, но одинаковое опорное изображение (одинаковый порядок POC) - (2) Different reference picture lists, but same reference picture (same POC order)
• Пространственное масштабирование• Spatial scaling
- (3) Одинаковый список опорных изображений, но разные опорные изображения (разный порядок POC)- (3) Same reference picture list, but different reference pictures (different POC order)
- (4) Разные списки опорных изображений и разные опорные изображения (разный порядок POC)- (4) Different reference picture lists and different reference pictures (different POC order)
Случаи без пространственного масштабирования проверяют первыми, после чего проверяют случаи, позволяющие пространственное масштабирование. Пространственное масштабирование рассматривается, когда порядок POC различается между опорным изображением для соседней единицы PU и опорным изображением для текущей единицы PU независимо от списка опорных изображений. Если все единицы PU кандидатов слева недоступны или кодированы с применением внутрикадрового прогнозирования, допускается масштабирование вектора движения для единицы сверху, чтобы способствовать параллельному определению векторов-кандидатов MV слева и сверху. В противном случае для вектора движения единицы сверху пространственное масштабирование не допускается.Cases without spatial scaling are tested first, followed by cases that allow spatial scaling. Spatial scaling is considered when the POC order differs between the reference picture for a neighboring PU and the reference picture for the current PU regardless of the reference picture list. If all left candidate PUs are not available or are encoded using intra-frame prediction, motion vector scaling for the top unit is allowed to facilitate parallel determination of left and top candidate MV vectors. Otherwise, spatial scaling is not allowed for the unit motion vector from above.
В процессе пространственного масштабирования, вектор движения для соседней единицы PU масштабируют способом, аналогичным временному масштабированию, как показано в примере на фиг. 10. Основное различие состоит в том, что в качестве входных данных используют список опорных изображений и индекс текущей единицы PU; фактическая процедура масштабирования является такой же, как в случае временного масштабирования.In the spatial scaling process, the motion vector for an adjacent PU is scaled in a manner similar to temporal scaling, as shown in the example of FIG. 10. The main difference is that the list of reference images and the index of the current PU are used as input; the actual scaling procedure is the same as in the case of temporary scaling.
2.2.2.3. Временные векторы-кандидаты движения2.2.2.3. Temporal motion candidate vectors
Помимо получения индекса опорного изображения, все процедуры для формирования временных объединяемых кандидатов являются такими же, как и для формирования пространственных векторов-кандидатов движения (см. фиг. 7). Индекс опорного изображения сообщают посредством сигнализации декодирующему устройству.Apart from obtaining the reference image index, all procedures for generating temporal fusion candidates are the same as for generating spatial motion vector candidates (see FIG. 7). The reference picture index is signaled to the decoding device.
2.3. Адаптивное разрешение разности векторов движения (AMVR)2.3. Adaptive Motion Vector Resolution (AMVR)
В стандарте кодирования VVC, для обычного режима межкадрового прогнозирования, разность векторов движения (motion vector difference (MVD)) может быть кодирована в единицах четвертей отсчетов яркостной составляющей, целых отсчетов яркостной составляющей или четверок отсчетов яркостной составляющей. Разрешением разностей MVD управляют на уровне единиц кодирования (CU), и флаги разрешения разностей MVD передают в виде сигнализации условно для каждой единицы CU, которая имеет по меньшей мере одну ненулевую составляющую разности MVD.In the VVC coding standard, for conventional interframe prediction mode, the motion vector difference (MVD) can be encoded in units of quarter luminance samples, whole luminance samples, or quadruple luminance samples. MVD resolution is controlled at the coding unit (CU) level, and MVD resolution flags are signaled conditionally for each CU that has at least one non-zero MVD component.
Для единицы CU, имеющей по меньшей мере одну ненулевую составляющую разности MVD, передают в виде сигнализации первый флаг для указания, используется ли точность в одну четверть отсчета яркостной составляющей для вектора MV в этой единице CU. Когда первый флаг (равный 1) указывает, что точность в четверть отсчета яркостной составляющей не используется для вектора MV, передают в виде сигнализации другой флаг для указания, что используется точность в один отсчет яркостной составляющей или в четыре отсчета яркостной составляющей для вектора MV.For a CU having at least one non-zero difference component MVD, a first flag is signaled to indicate whether one-quarter luminance component precision is used for the MV vector in that CU. When the first flag (equal to 1) indicates that quarter luminance sample precision is not used for the MV vector, another flag is signaled to indicate that one luminance sample precision or four luminance sample precision is used for the MV vector.
Когда первый флаг разрешения разности MVD для какой-то единицы CU равен нулю, или не кодирован для какой-то единицы CU (это означает, что все разности MVD для этой единицы CU являются нулевыми), для этой единицы CU используется точность в четверть отсчета яркостной составляющей для вектора MV. Когда какая-то единица CU использует точность в один отсчет яркостной составляющей для вектора MV или в четыре отсчета яркостной составляющей для вектора MV, прогнозы MVP в списке кандидатов прогнозирования AMVP для этой единицы CU округляют до соответствующей точности.When the first MVD difference enable flag for a CU is zero, or is not encoded for a CU (meaning all MVD differences for that CU are zero), quarter luminance precision is used for that CU. component for the vector MV. When a CU uses a precision of one luminance sample for an MV vector or four luminance samples for an MV vector, the MVP predictions in the AMVP prediction candidate list for that CU are rounded to the appropriate precision.
2.4. Интерполяционные фильтры в стандарте кодирования VVC2.4. Interpolation filters in the VVC coding standard
Для интерполяционной фильтрации яркостной составляющей используют имеющие 8 отводов разделяемые интерполяционные фильтры для отсчетов с точностью в 1/16-pel (1/16 пикселя), как показано в таблице 1.For interpolation filtering of the luminance component, 8-tap separable interpolation filters are used for samples with an accuracy of 1/16-pel (1/16 pixel), as shown in Table 1.
Таблица1. Коэффициенты fL 8 отводов для интерполяции яркостной составляющей с точностью 1/16-pel пикселя.Table 1. Coefficients f L 8 taps for interpolation of the brightness component with an accuracy of 1/16-pel pixel.
дробного отсчетаPosition p
fractional counting
Аналогично, имеющие 4 отвода разделяемые интерполяционные фильтры используются для интерполяции цветностной составляющей с точностью в 1/32-pel (1/32 пикселя) как показано в таблице 2.Similarly, 4-tap separable interpolation filters are used to interpolate the chrominance component with 1/32-pel precision as shown in Table 2.
Таблица 2. Интерполяционные коэффициенты fC 4 отводов для интерполяции цветностной составляющей с точностью 1/32-pel (пикселя).Table 2. Interpolation coefficients f C 4 taps for interpolation of the color component with an accuracy of 1/32-pel (pixel).
Для вертикальной интерполяции каналов цветностной составляющей в формате 4:2:2 и для горизонтальной и вертикальной интерполяции каналов цветностной составляющей в формате 4:4:4 нечетные позиции в таблице 2 не используются, результатом чего является интерполяция цветностной составляющей с точностью 1/16-pel (пикселя).For vertical interpolation of chroma channels in 4:2:2 format and for horizontal and vertical interpolation of chroma channels in 4:4:4 format, odd positions in Table 2 are not used, resulting in chroma interpolation with 1/16-pel accuracy (pixels).
2.5. Альтернативные интерполяционные фильтры с точностью в половину пикселя для яркостной составляющей2.5. Alternative interpolation filters with half-pixel precision for luminance component
В стандарте JVET-N0309, предложены альтернативные фильтры с точностью в половину пикселя.The JVET-N0309 standard offers alternative filters with half-pixel accuracy.
Подключение интерполяционного фильтра с точностью в половину пикселя производится в зависимости от точности вектора движения. В дополнение к существующим режимам с разрешением AMVR с точностью в четверть пикселя, полный пиксель и 4 пикселя введен новый режим разрешения AMVR с точностью в половину пикселя. Только в случае равной половине пикселя точности вектора движения может быть выбран альтернативный интерполяционный фильтр с точностью в половину пикселя для яркостной составляющей.The connection of an interpolation filter with an accuracy of half a pixel is made depending on the accuracy of the motion vector. In addition to the existing quarter pixel, full pixel and 4 pixel AMVR resolution modes, a new half pixel AMVR resolution mode has been introduced. Only in the case of half-pixel motion vector precision can an alternative interpolation filter with half-pixel precision for the luminance component be selected.
2.5.1. Режим разрешения AMVR с точностью в половину пикселя2.5.1. AMVR resolution mode with half pixel accuracy
Предложен дополнительный режим с разрешением AMVR для неаффинных необъединенных единиц CU в режиме межкадрового прогнозирования, который позволяет передавать в виде сигнализации разности векторов движения с точностью в половину пикселя. Существующая схема режима с разрешением AMVR из сегодняшнего проекта стандарта кодирования VVC прямолинейно расширена следующим образом: Сразу же вслед за синтаксическим элементом amvr_flag, если флаг amvr_flag == 1, следует новый моделируемый в соответствии с контекстом двоичный синтаксический элемент hpel_amvr_flag, который обозначает использование нового режима разрешения AMVR с точностью в половину пикселя, если hpel_amvr_flag == 1. В противном случае, т.е. если флаг hpel_amvr_flag == 0, выбор между режима разрешения AMVR с точностью в полный пиксель или в 4 пикселя обозначен синтаксическим элементом amvr_precision_flag, как в сегодняшнем стандарте кодирования VVC.An additional mode with AMVR resolution is proposed for non-affine non-combined CUs in inter-frame prediction mode, which allows motion vector differences to be signaled with half-pixel accuracy. The existing AMVR resolution mode scheme from today's draft VVC encoding standard is straightforwardly extended as follows: Immediately following the amvr_flag syntax element, if amvr_flag == 1, there is a new context-modeled binary syntax element hpel_amvr_flag that denotes use of the new resolution mode AMVR with half-pixel precision if hpel_amvr_flag == 1. Otherwise, i.e. if hpel_amvr_flag == 0, the choice between full-pixel or 4-pixel AMVR resolution modes is indicated by the amvr_precision_flag syntax element, as in today's VVC encoding standard.
2.5.2. Альтернативные интерполяционные фильтры с точностью в половину пикселя для яркостной составляющей2.5.2. Alternative interpolation filters with half-pixel precision for luminance component
Для неаффинной, необъединяемой кодированной в режиме межкадрового прогнозирования единицы CU, использующей точность вектора движения в половину пикселя (т.е. режим с разрешением AMVR в половину пикселя), переключение между интерполяционным фильтром яркостной составляющей с точностью в половину пикселя для кодирования HEVC/VVC и одной или несколькими альтернативными интерполяциями с точностью в половину пикселя осуществляется на основе значения нового синтаксического элемента if_idx. Этот синтаксический элемент if_idx передают в виде сигнализации только в случае режима разрешения AMVR с точностью в половину пикселя. В случае режима пропуска/объединения с использованием пространственного объединяемого кандидата значение синтаксического элемента if_idx «наследуется» от соседнего блока.For a non-affine, non-combined inter-prediction encoded CU using half-pixel motion vector precision (i.e., half-pixel AMVR mode), switches between a half-pixel precision luminance interpolation filter for HEVC/VVC encoding and one or more alternative interpolations with half-pixel precision are performed based on the value of the new if_idx syntax element. This if_idx syntax element is signaled only in the case of AMVR half-pixel resolution mode. In the case of skip/merge mode using a spatial merge candidate, the value of the if_idx syntax element is “inherited” from the adjacent block.
2.5.2.1. Тест 1: Один альтернативный интерполяционный фильтр с точностью в половину пикселя2.5.2.1. Test 1: One alternate interpolation filter with half-pixel precision
В этом тестовом случае, используется один интерполяционный фильтр с 6 отводами в качестве альтернативы обычному интерполяционному фильтру с точностью в половину пикселя для стандарта кодирования HEVC/VVC. Следующая таблица показывает отображение между значением синтаксического элемента if_idx и выбранным интерполяционным фильтром с точностью в половину пикселя для яркостной составляющей:In this test case, a single 6-tap interpolation filter is used as an alternative to the conventional half-pixel precision interpolation filter for the HEVC/VVC encoding standard. The following table shows the mapping between the value of the if_idx syntax element and the selected interpolation filter with half-pixel precision for the luminance component:
2.5.2.2. Тест 2: Два альтернативных интерполяционных фильтра с точностью в половину пикселя2.5.2.2. Test 2: Two alternative interpolation filters with half-pixel precision
В этом тестовом случае, используются два интерполяционных фильтра с 8 отводами в качестве альтернативы обычному интерполяционному фильтру с точностью в половину пикселя для стандарта кодирования HEVC/VVC. Следующая таблица показывает отображение между значением синтаксического элемента if_idx и выбранным интерполяционным фильтром с точностью в половину пикселя для яркостной составляющей:In this test case, two 8-tap interpolation filters are used as an alternative to the conventional half-pixel precision interpolation filter for the HEVC/VVC encoding standard. The following table shows the mapping between the value of the if_idx syntax element and the selected interpolation filter with half-pixel precision for the luminance component:
Параметр amvr_precision_idx передают в виде сигнализации для индикации, использует ли текущая единица CU вектор MV с точностью 1/2-pel, 1-pel или 4-pel. Здесь нужно кодировать 2 бина.The amvr_precision_idx parameter is signaled to indicate whether the current CU uses the MV vector with 1/2-pel, 1-pel or 4-pel precision. Here you need to encode 2 bins.
Параметр hpel_if_idx передают в виде сигнализации для индикации, используется интерполяционный фильтр по умолчанию с точностью в половину пикселя или альтернативные интерполяционные фильтры с точностью в половину пикселя. Когда используются 2 альтернативных интерполяционных фильтра с точностью в половину пикселя, нужно кодировать 2 бина.The hpel_if_idx parameter is signaled to indicate whether the default half-pixel precision interpolation filter or alternative half-pixel precision interpolation filters are being used. When 2 alternative half-pixel precision interpolation filters are used, 2 bins need to be encoded.
2.6. Обобщенное двунаправленное прогнозирование2.6. Generalized Bidirectional Prediction
В случае обычного двунаправленного прогнозирования предикторы из списков L0 и L1 усредняют для генерации конечного предиктора с использованием одинакового весового коэффициента 0.5. Формула генерации предиктора показана как в уравнении Equ. (3)In the case of conventional bidirectional prediction, the predictors from lists L0 and L1 are averaged to generate the final predictor using the same weighting factor of 0.5. The predictor generation formula is shown as in Equation Equ. (3)
PTraditionalBiPred = (PL0 + PL1 + RoundingOffset) >> shiftNum, … (1)P TraditionalBiPred = (P L0 + P L1 + RoundingOffset) >> shiftNum, … (1)
В уравнении Equ. (3), PTraditionalBiPred обозначает конечный предиктор для обычного двунаправленного прогнозирования, PL0 и PL1 обозначают предикторы из списков L0 и L1, соответственно, и RoundingOffset и shiftNum используются для нормировки конечного предиктора.In the equation Equ. (3), PTraditionalBiPred denotes the final predictor for conventional bidirectional prediction, PL0 And PL1 denote the predictors from lists L0 and L1, respectively, and RoundingOffset and shiftNum are used to normalize the final predictor.
Обобщенное двунаправленное прогнозирование (GBI) предложено для того, чтобы позволить применять разные весовые коэффициенты к предикторам из списков L0 и L1. Генерация предиктора показана в уравнении Equ. (4).Generalized bidirectional prediction (GBI) is proposed to allow different weights to be applied to predictors from the L0 and L1 lists. The generation of the predictor is shown in Equation Equ. (4).
PGBi = ( (1-w1)* PL0 + w1 * PL1 + RoundingOffsetGBi) >> shiftNumGBi, … (2)P GBi = ( (1-w 1 )* P L0 + w 1 * P L1 + RoundingOffset GBi ) >> shiftNum GBi , … (2)
В уравнении Equ. (4), PGBi обозначает конечный предиктор при прогнозировании GBi. Коэффициенты (1-w1) и w1 обозначают выбранные весовые коэффициенты для прогнозирования GBI, применяемые к предикторам из списков L0 и L1, соответственно. Параметры RoundingOffsetGBi и shiftNumGBi используются для нормировки конечного предиктора при прогнозировании GBi.In the equation Equ. (4), P GBi denotes the final predictor in GBi prediction. The coefficients (1-w 1 ) and w 1 denote the selected GBI prediction weights applied to the predictors from lists L0 and L1, respectively. The parameters RoundingOffset GBi and shiftNum GBi are used to normalize the final predictor when predicting GBi.
В качестве весового коэффициента w1 поддерживаются значения {-1/4, 3/8, 1/2, 5/8, 5/4}. Здесь поддерживаются один набор равных весовых коэффициентов и четыре набора неравных весовых коэффициентов. В случае равных весовых коэффициентов процедура генерации конечного предиктора является точно такой же, как в режиме обычного двунаправленного прогнозирования. Для случаев истинного двунаправленного прогнозирования в условиях произвольного доступа (random access (RA)) число наборов-кандидатов весовых коэффициентов уменьшено до трех.The supported values for the weighting coefficient w 1 are {-1/4, 3/8, 1/2, 5/8, 5/4}. Here, one set of equal weights and four sets of unequal weights are supported. In the case of equal weighting coefficients, the procedure for generating the final predictor is exactly the same as in the conventional bidirectional forecasting mode. For true bidirectional random access (RA) prediction cases, the number of candidate weight sets is reduced to three.
Для режима усовершенствованного прогнозирования вектора движения (AMVP) сигнализацию о выборе весовых коэффициентов для прогнозирования GBI передают в явном виде на уровне единиц CU, если эта единица CU кодирована посредством двунаправленного прогнозирования. Для режима объединения выбор весовых коэффициентов наследуется от объединяемого кандидата.For Advanced Motion Vector Prediction (AMVP) mode, the selection of weights for GBI prediction is explicitly signaled at the CU level if the CU is bidirectionally coded. For merge mode, the choice of weights is inherited from the candidate being merged.
3. Проблемы в обычных реализациях3. Problems with conventional implementations
Альтернативные интерполяционные фильтры с точностью в половину пикселя могут быть унаследованы в режиме объединения с использованием разности векторов движения (MMVD) даже если точность вектора MV, полученного в этом режиме MMVD не равна 1/2-pel, что не разумно.Alternative half-pixel precision interpolation filters can be inherited in the motion vector difference (MMVD) fusion mode even if the MV vector precision obtained in that MMVD mode is not 1/2-pel accurate, which is not reasonable.
При кодировании параметров amvr_precision_idx и hpel_if_idx, все бины кодируют контекстно-зависимым способом.When encoding the amvr_precision_idx and hpel_if_idx parameters, all bins are encoded in a context-sensitive manner.
4. Примеры вариантов и способов 4. Examples of options and methods
Варианты, подробно описанные ниже, следует считать примерами для пояснения общих концепций. Эти варианты не следует интерпретировать в узком смысле. Более того, варианты можно комбинировать любым способом.The options detailed below should be considered examples to clarify general concepts. These options should not be interpreted in a narrow sense. Moreover, the options can be combined in any way.
Способ определения вектора движения на стороне декодирующего устройства (decoder-side motion vector derivation (DMVD)) используется для представления двунаправленного оптического потока (BDOF (bi-direction optical flow)) или уточнения векторов движения на стороне декодирующего устройства (DMVR (decoder-side motion vector refinement)) и/или других инструментов, ассоциированных с уточнением вектора движения или прогнозируемых отсчетов в декодирующем устройстве.The decoder-side motion vector derivation (DMVD) method is used to represent bi-directional optical flow (BDOF) or decoder-side motion vector refinement (DMVR). vector refinement)) and/or other tools associated with refining the motion vector or predicted samples in a decoding device.
В последующем тексте термин «интерполяционный фильтр по умолчанию» может обозначать фильтр, определяемый в стандарте кодирования HEVC/VVC. Вновь вводимые интерполяционные фильтры (такие, как фильтры, предлагаемые в документе JVET-N0309) в последующем описании могут также называться альтернативными интерполяционными фильтрами.In the following text, the term "default interpolation filter" may refer to a filter defined in the HEVC/VVC encoding standard. Newly introduced interpolation filters (such as those proposed in JVET-N0309) may also be referred to as alternative interpolation filters in the following description.
1. Альтернативные интерполяционные фильтры с точностью 1/N-pel могут быть использованы для разных N, при N не равно 2.1. Alternative interpolation filters with an accuracy of 1/N-pel can be used for different N, when N is not equal to 2.
a. В одном из примеров, N может быть равно 4, 16 и т.д.a. In one example, N could be 4, 16, etc.
b. В одном из примеров, индекс интерполяционных фильтров с точностью 1/N-pel может быть сообщен в виде сигнализации в режиме разрешения AMVR.b. In one example, the index of interpolation filters with 1/N-pel precision may be signaled in AMVR resolution mode.
i. В качестве альтернативы, кроме того, индекс интерполяционных фильтров с точностью 1/N-pel тоже быть сообщен в виде сигнализации только тогда, когда рассматриваемый блок выбрал точность 1/N-pel для вектора MV/разности MVD.i. Alternatively, in addition, the index of the 1/N-pel precision interpolation filters should also be signaled only when the block in question has selected 1/N-pel precision for the MV vector/MVD difference.
c. В одном из примеров, альтернативные интерполяционные фильтры с точностью 1/N-pel могут не быть унаследованы в режиме объединения и/или в режиме MMVD.c. In one example, alternative 1/N-pel precision interpolation filters may not be inherited in merge mode and/or MMVD mode.
i. В качестве альтернативы, кроме того, только интерполяционный фильтр по умолчанию с точностью 1/N-pel может быть использован в режиме объединения и/или в режиме MMVD.i. Alternatively, in addition, only the default 1/N-pel precision interpolation filter can be used in fusion mode and/or MMVD mode.
d. В одном из примеров, альтернативные интерполяционные фильтры с точностью 1/N-pel могут быть унаследованы в режиме объединения.d. In one example, alternative 1/N-pel precision interpolation filters can be inherited in merging mode.
e. В одном из примеров, альтернативные интерполяционные фильтры с точностью 1/N-pel могут быть унаследованы в режиме MMVD.e. In one example, alternative 1/N-pel precision interpolation filters can be inherited in MMVD mode.
i. В одном из примеров, альтернативные интерполяционные фильтры с точностью 1/N-pel могут быть унаследованы в режиме MMVD, когда конечные выведенные векторы MV имеют точность 1/N-pel, т.е. ни один из компонентов векторов MV не имеет более высокую точность.i. In one example, alternative 1/N-pel precision interpolation filters can be inherited in MMVD mode, where the final output MV vectors are 1/N-pel precision, i.e. no component of the MV vectors has higher accuracy.
ii. В одном из примеров, альтернативные интерполяционные фильтры с точностью 1/N-pel могут быть унаследованы в режиме MMVD, когда K (K >=1) компонентов конечных выведенных векторов MV имеют точность 1/N-pel.ii. In one example, alternative 1/N-pel precision interpolation filters can be inherited in MMVD mode when the K (K >=1) components of the final output MV vectors are 1/N-pel precision.
f. В одном из примеров, альтернативные интерполяционные фильтры с точностью 1/N-pel могут быть унаследованы в режиме MMVD и/или в режиме объединения, однако альтернативные интерполяционные фильтры с точностью 1/N-pel используются только при компенсации движения. Индекс альтернативных интерполяционных фильтров с точностью 1/N-pel может не быть сохранен для рассматриваемого блока и может не быть использован для следующих кодируемых блоков.f. In one example, alternative 1/N-pel interpolation filters can be inherited in MMVD mode and/or merging mode, but alternative 1/N-pel interpolation filters are used only in motion compensation. An index of alternative interpolation filters with 1/N-pel precision may not be stored for the block in question and may not be used for subsequent blocks to be encoded.
2. Индикация интерполяционных фильтров (таких как интерполяционный фильтр по умолчанию с точностью в половину пикселя (half-pel), альтернативные интерполяционные фильтры с точностью в половину пикселя) может быть сохранена вместе с другой информацией о движении, такой как векторы движения, опорные индексы.2. Indication of interpolation filters (such as default half-pel interpolation filter, alternative half-pel interpolation filters) can be stored along with other motion information such as motion vectors, reference indices.
a. В одном из примеров, для одного блока, подлежащего кодирования/декодированию, когда производится обращение и доступ к 2-ому блоку, расположенному в другой области (такой как другие строки единиц CTU, в другой единице VPDU), интерполяционные фильтры, ассоциированные с этим 2-ым блоком, не допускается использовать для кодирования/декодирования текущего блока.a. In one example, for one block to be encoded/decoded, when a 2nd block located in a different area (such as other CTU rows in another VPDU) is accessed, the interpolation filters associated with this 2 th block, cannot be used for encoding/decoding the current block.
3. Альтернативные интерполяционные фильтры с точностью в половину пикселя могут не быть унаследованы в режиме объединения или/и в режиме MMVD.3. Alternative half-pixel precision interpolation filters may not be inherited in fusion mode and/or MMVD mode.
a. В одном из примеров, альтернативные интерполяционные фильтры с точностью в половину пикселя могут не быть унаследованы в режиме MMVD. a. In one example, alternative half-pixel precision interpolation filters may not be inherited in MMVD mode.
i. В качестве альтернативы, кроме того, интерполяционный фильтр по умолчанию с точностью в половину пикселя в стандарте кодирования VVC всегда может быть использован для режима MMVD.i. Alternatively, in addition, the default half-pixel precision interpolation filter in the VVC encoding standard can always be used for MMVD mode.
ii. В качестве альтернативы, альтернативные интерполяционные фильтры с точностью в половину пикселя могут быть унаследованы в режиме MMVD. Иными словами, для режима MMVD, может быть унаследован альтернативный интерполяционный фильтр с точностью в половину пикселя, ассоциированный с базовым объединяемым кандидатом.ii. Alternatively, alternative half-pixel precision interpolation filters can be inherited in MMVD mode. In other words, for MMVD mode, an alternative half-pixel precision interpolation filter associated with the base fusion candidate may be inherited.
b. В одном из примеров, альтернативные интерполяционные фильтры с точностью в половину пикселя могут быть унаследованы в режиме MMVD при определенных условиях. b. In one example, alternative half-pixel precision interpolation filters can be inherited in MMVD mode under certain conditions.
i. В одном из примеров, альтернативные интерполяционные фильтры с точностью в половину пикселя могут быть унаследованы, когда конечные выведенные векторы MV имеют точность 1/2-pel, т.е. ни один из компонентов векторов MV не имеет более высокую точность, такую как точность 1/4-pel, точность 1/16.i. In one example, alternative half-pixel precision interpolation filters can be inherited when the final output MV vectors are 1/2-pel precision, i.e. none of the MV vector components have higher precision, such as 1/4-pel precision, 1/16 precision.
ii. В одном из примеров, альтернативные интерполяционные фильтры с точностью в половину пикселя могут быть унаследованы в режиме MMVD, когда K (K >=1) компонентов конечных выведенных векторов MV имеют точность 1/2-pel.ii. In one example, alternative half-pixel precision interpolation filters can be inherited in MMVD mode when the K (K >=1) components of the final output MV vectors are 1/2-pel precision.
c. В одном из примеров, альтернативные интерполяционные фильтры с точностью в половину пикселя могут быть унаследованы в режиме MMVD или/и в режиме объединения, однако альтернативные интерполяционные фильтры с точностью в половину пикселя используются только при компенсации движения. Индекс интерполяционных фильтров по умолчанию с точностью в половину пикселя, вместо индекса альтернативных интерполяционных фильтров с точностью в половину пикселя, может быть сохранен для рассматриваемого блока и может быть использован для последующих кодируемых блоков.c. In one example, alternative half-pixel interpolation filters can be inherited in MMVD mode and/or fusion mode, however, alternative half-pixel interpolation filters are used only in motion compensation. An index of default half-pixel precision interpolation filters, instead of an index of alternative half-pixel precision interpolation filters, may be stored for the block in question and can be used for subsequent encoded blocks.
d. Приведенные выше способы могут быть применимы в других случаях, где могут быть применены несколько интерполяционных фильтров с точностью 1/N-pel.d. The above methods may be applicable in other cases where multiple interpolation filters with 1/N-pel precision can be applied.
4. Информация интерполяционного фильтра может быть сохранена в таблице прогнозирования вектора движения на основе предыстории (HMVP) и может быть унаследована объединяемым кандидатом в режиме прогнозирования HMVP. В некоторых вариантах, таблицу прогнозирования HMVP избирательно обновляют после преобразования между видеоблоком видеообласти и кодированным представлением. Решение обновлять ли таблицу, т.е. избирательность при обновлении таблицы, основано на определении, после преобразования видеоблока, имеется ли используемый при преобразовании кандидат движения, подходящий для обновления таблицы прогнозирования HMVP (например, путем применения усечения и т.п.).4. The interpolation filter information can be stored in a history-based motion vector prediction (HMVP) table, and can be inherited by the merging candidate in the HMVP prediction mode. In some embodiments, the HMVP prediction table is selectively updated after conversion between the video domain video block and the encoded representation. The decision whether to update the table, i.e. table update selectivity is based on determining, after transforming a video block, whether there is a motion candidate used in the transformation that is suitable for updating the HMVP prediction table (eg, by applying truncation, etc.).
a. В одном из примеров, при вставке нового кандидата в преобразовательную таблицу прогнозирования HMVP можно учитывать информацию интерполяционного фильтра. Например, два кандидата с одинаковой информацией о движении, но с различной информацией интерполяционного фильтра могут считаться двумя разными кандидатами.a. In one example, interpolation filter information may be taken into account when inserting a new candidate into the HMVP prediction lookup table. For example, two candidates with the same motion information but different interpolation filter information can be considered two different candidates.
b. В одном из примеров, при вставке нового кандидата в преобразовательную таблицу прогнозирования HMVP два кандидата с одинаковой информацией о движении, но с различной информацией интерполяционного фильтра могут считаться одинаковыми кандидатами.b. In one example, when inserting a new candidate into the HMVP prediction lookup table, two candidates with the same motion information but different interpolation filter information may be considered the same candidates.
5. При вставке объединяемых кандидатов в список объединяемых кандидатов, информацию интерполяционного фильтра можно учитывать в процессе усечения.5. When inserting merging candidates into the merging candidate list, the interpolation filter information can be taken into account in the trimming process.
a. В одном из примеров, два объединяемых кандидата с разными интерполяционными фильтрами могут рассматриваться как два разных объединяемых кандидатов.a. In one example, two merge candidates with different interpolation filters may be treated as two different merge candidates.
b. В одном из примеров, при вставке объединяемых кандидатов для прогнозирования HMVP в список объединения информация интерполяционного фильтра может учитываться в процессе усечения.b. In one example, when inserting merged HMVP prediction candidates into the merge list, interpolation filter information may be taken into account during the trimming process.
c. В одном из примеров, при вставке объединяемых кандидатов для прогнозирования HMVP в список объединения информация интерполяционного фильтра может не учитываться в процессе усечения.c. In one example, when inserting merge candidates for HMVP prediction into the merge list, the interpolation filter information may not be taken into account in the trimming process.
6. При генерации попарно объединяемых кандидатов или/и комбинированных объединяемых кандидатов или/и кандидатов с нулевыми векторами движения или/и других кандидатов по умолчанию, можно учитывать информацию интерполяционного фильтра вместо того, чтобы всегда использовать интерполяционный фильтр по умолчанию.6. When generating pairwise fusion candidates and/or combined fusion candidates and/or candidates with zero motion vectors and/or other default candidates, it is possible to take interpolation filter information into account instead of always using the default interpolation filter.
a. В одном из примеров, если оба кандидата (участвующие в генерации попарно объединяемых кандидатов или/и комбинированных объединяемых кандидатов) используют один и тот же альтернативный интерполяционный фильтр, такой интерполяционный фильтр может быть унаследован в попарно объединяемых кандидатах или/и в комбинированных объединяемых кандидатах.a. In one example, if both candidates (participating in the generation of pairwise merged candidates and/or combined merged candidates) use the same alternative interpolation filter, such interpolation filter may be inherited in the pairwise merged candidates and/or combined merged candidates.
b. В одном из примеров, если один из двух кандидатов (участвующих в генерации попарно объединяемых кандидатов или/и комбинированных объединяемых кандидатов) не использует интерполяционный фильтр по умолчанию, интерполяционный фильтр для этого кандидата может быть унаследован в попарно объединяемых кандидатах или/и комбинированных объединяемых кандидатах.b. In one example, if one of the two candidates (participating in the generation of pairwise pooled candidates and/or combined pooled candidates) does not use a default interpolation filter, the interpolation filter for that candidate may be inherited in the pairwise pooled candidates and/or combined pooled candidates.
c. В одном из примеров, если один из двух кандидатов (участвующих в генерации попарно объединяемых кандидатов или/и комбинированных объединяемых кандидатов) не использует интерполяционный фильтр по умолчанию, интерполяционный фильтр для этого кандидата может быть унаследован в комбинированных объединяемых кандидатах. Однако такой интерполяционный фильтр может быть использован только для соответствующего направления прогнозирования.c. In one example, if one of two candidates (participating in generating pairwise merge candidates and/or combined merge candidates) does not use a default interpolation filter, the interpolation filter for that candidate may be inherited in the combined merge candidates. However, such an interpolation filter can only be used for the corresponding prediction direction.
d. В одном из примеров, если два кандидата (участвующие в генерации комбинированных объединяемых кандидатов) используют разные интерполяционные фильтры, их интерполяционные фильтры оба могут быть унаследованы в комбинированных объединяемых кандидатах. В таком случае, разные интерполяционные фильтры могут быть использованы для разных направлений прогнозирования.d. In one example, if two candidates (involved in generating the combined merge candidates) use different interpolation filters, their interpolation filters may both be inherited in the combined merge candidates. In this case, different interpolation filters can be used for different prediction directions.
e. В одном из примеров, не более K (K>=0) попарно объединяемых кандидатов или/и комбинированных объединяемых кандидатов могут использовать альтернативные интерполяционные фильтры.e. In one example, at most K (K>=0) pairwise merge candidates and/or combined merge candidates may use alternative interpolation filters.
f. В одном из примеров, интерполяционные фильтры всегда используются для попарно объединяемых кандидатов или/и комбинированных объединяемых кандидатов.f. In one example, interpolation filters are always used for pairwise join candidates and/or combined join candidates.
7. Предлагается не активизировать использование точности в половину пикселя для векторов движения/разностей векторов движения, когда текущий блок кодируют в режиме копирования IBC.7. It is proposed not to enable the use of half-pixel precision for motion vectors/motion vector differences when the current block is encoded in IBC copy mode.
a. В качестве альтернативы, кроме того, нет необходимости передавать в виде сигнализации индикацию использования точности в половину пикселя для MV/MVD. a. Alternatively, it is also not necessary to signal the use of half-pixel precision for MV/MVD.
b. В одном из примеров, альтернативный интерполяционный фильтр с точностью в половину пикселя всегда не активизируют, если текущий блок кодируют в режиме копирования IBC. b. In one example, the alternate half-pixel precision interpolation filter is always not activated if the current block is encoded in IBC copy mode.
c. В качестве альтернативы, кроме того, нет необходимости передавать в виде сигнализации индикацию интерполяционного фильтра с точностью в половину пикселя.c. Alternatively, it is also not necessary to signal an indication of the interpolation filter with half-pixel precision.
d. В одном из примеров, условие, что текущий блок кодируют в режиме копирования IBC, может быть заменено условием, что текущий блок кодируют в некотором режиме. Такой режим может быть определен как треугольный режим, режим объединения и т.п. Один из примеров режимов соответствует режиму кодирования, в котором текущий блок разбивают на две части, где каждая часть ассоциирована с одним кандидатом движения, и двух кандидатов движения определяют из одного и того же списка кандидатов движения. d. In one example, the condition that the current block is encoded in an IBC copy mode may be replaced by the condition that the current block is encoded in some mode. Such a mode can be defined as a triangular mode, a union mode, etc. One example of modes corresponds to an encoding mode in which the current block is divided into two parts, where each part is associated with one motion candidate, and two motion candidates are determined from the same list of motion candidates.
8. При кодировании параметров amvr_precision_idx и/или hpel_if_idx, только первый бин может быть кодирован контекстно-зависимым способом.8. When encoding amvr_precision_idx and/or hpel_if_idx parameters, only the first bin can be encoded in a context-sensitive manner.
a. В качестве альтернативы, кроме того, другие бины могут быть подвергнуты обходному кодированию.a. Alternatively, in addition, other bins may be bypassed.
b. В одном из примеров, первый бин параметра amvr_precision_idx может быть подвергнут обходному кодированию.b. In one example, the first bin of the amvr_precision_idx parameter may be bypass encoded.
c. В одном из примеров, первый бин параметра hpel_if_idx может быть подвергнут обходному кодированию.c. In one example, the first bin of the hpel_if_idx parameter may be bypass encoded.
d. В одном из примеров, только 1 контекст может быть использован для кодирования первого бина параметра amvr_precision_idx.d. In one example, only 1 context can be used to encode the first bin of the amvr_precision_idx parameter.
e. В одном из примеров, только 1 контекст может быть использован для кодирования первого бина параметра hpel_if_idx.e. In one example, only 1 context can be used to encode the first bin of the hpel_if_idx parameter.
f. В одном из примеров, все бины параметра amvr_precision_idx могут совместно использовать один и тот же контекст.f. In one example, all amvr_precision_idx parameter beans can share the same context.
g. В одном из примеров, все бины параметра hpel_if_idx могут совместно использовать один и тот же контекст.g. In one example, all hpel_if_idx parameter beans can share the same context.
9. Некоторые инструменты кодирования могут быть недопустимыми, когда используются альтернативные интерполяционные фильтры.9. Some encoding tools may not be valid when alternative interpolation filters are used.
a. В одном из примеров, двунаправленный оптический поток (BDOF) может быть недопустим, когда используются альтернативные интерполяционные фильтры.a. In one example, bidirectional optical flow (BDOF) may not be acceptable when alternative interpolation filters are used.
b. В одном из примеров, уточнение DMVR или/и определение DMVD может быть недопустимым, когда используются альтернативные интерполяционные фильтры.b. In one example, DMVR refinement and/or DMVD determination may be invalid when alternative interpolation filters are used.
c. В одном из примеров, комбинированный режим кодирования с внутрикадровым и межкадровым прогнозированием (CIIP (combined inter-intra prediction)) может быть недопустим, когда используются альтернативные интерполяционные фильтры.c. In one example, combined inter-intra prediction (CIIP) coding mode may not be valid when alternative interpolation filters are used.
i. В одном из примеров, флаг режима прогнозирования CIIP может быть пропущен или признан «ложным», когда объединяемый кандидат «наследует» альтернативные интерполяционные фильтры.i. In one example, the CIIP prediction mode flag may be omitted or set to "false" when the candidate being merged "inherits" alternative interpolation filters.
ii. В качестве альтернативы, когда флаг режима прогнозирования CIIP является истинным, может быть всегда использован интерполяционный фильтр по умолчанию.ii. Alternatively, when the CIIP prediction mode flag is true, the default interpolation filter may always be used.
d. В одном из примеров, режим с симметричной разностью векторов движения (SMVD (symmetric motion vector difference)) может быть недопустим, когда используются альтернативные интерполяционные фильтры.d. In one example, symmetric motion vector difference (SMVD) mode may not be valid when alternative interpolation filters are used.
i. В одном из примеров, когда используется режим разностей SMVD, всегда применяются интерполяционные фильтры по умолчанию, и не передают в виде сигнализации синтаксические элементы, относящиеся к альтернативным интерполяционным фильтрам.i. In one example, when the SMVD difference mode is used, the default interpolation filters are always applied, and syntax elements related to alternative interpolation filters are not signaled.
ii. В качестве альтернативы, когда синтаксические элементы, относящиеся к альтернативным интерполяционным фильтрам, указывают, что используются альтернативные интерполяционные фильтры, синтаксические элементы, относящиеся к режиму разностей SMVD, можно не передавать в виде сигнализации, и режим разностей SMVD не используется.ii. Alternatively, when syntax elements related to alternative interpolation filters indicate that alternative interpolation filters are used, syntax elements related to the SMVD difference mode may not be signaled and the SMVD difference mode is not used.
e. В одном из примеров, преобразование субблоков (SBT (subblock transform)) может быть недопустимо, когда используются альтернативные интерполяционные фильтры.e. In one example, subblock transform (SBT) may not be valid when alternative interpolation filters are used.
i. В одном из примеров, когда используется преобразование SBT, всегда применяются интерполяционные фильтры по умолчанию, и синтаксические элементы, относящиеся к альтернативным интерполяционным фильтрам, не передают в виде сигнализации.i. In one example, when the SBT transform is used, the default interpolation filters are always applied, and syntax elements related to alternative interpolation filters are not signaled.
ii. В качестве альтернативы, когда синтаксические элементы, относящиеся к альтернативным интерполяционным фильтрам, указывают, что используются альтернативные интерполяционные фильтры, синтаксические элементы, относящиеся к преобразованию SBT, могут не передавать в виде сигнализации, и преобразование SBT не применяется.ii. Alternatively, when syntax elements related to alternative interpolation filters indicate that alternative interpolation filters are used, syntax elements related to the SBT transform may not be signaled and the SBT transform is not applied.
f. В одном из примеров, треугольное прогнозирование и другие режимы кодирования, в которых блок разделяют на две части, могут быть недопустимыми, когда используются альтернативные интерполяционные фильтры. В некоторых вариантах, когда блок разделен на две части, каждая часть ассоциирована с одним кандидатом движения и двух кандидатов движения определяют из одного и того же списка кандидатов движения. f. In one example, triangular prediction and other coding modes in which a block is divided into two parts may be invalid when alternative interpolation filters are used. In some embodiments, when a block is divided into two parts, each part is associated with one motion candidate and two motion candidates are determined from the same list of motion candidates.
i. В одном из примеров, информация интерполяционного фильтра может не быть унаследована в режиме треугольного прогнозирования, и только интерполяционные фильтры по умолчанию могут быть использованы.i. In one example, interpolation filter information may not be inherited in the triangular prediction mode, and only default interpolation filters can be used.
g. В качестве альтернативы, треугольное прогнозирование и другие режимы кодирования, в которых блок разделяют на две части, могут быть допустимыми, когда используются альтернативные интерполяционные фильтры. В некоторых вариантах, когда блок разделен на две части, каждая часть ассоциирована с одним кандидатом движения и двух кандидатов движения определяют из одного и того же списка кандидатов движения.g. Alternatively, triangular prediction and other coding modes in which a block is divided into two parts may be valid when alternative interpolation filters are used. In some embodiments, when a block is divided into two parts, each part is associated with one motion candidate and two motion candidates are determined from the same list of motion candidates.
i. В одном из примеров, информация интерполяционного фильтра может быть унаследована в режиме треугольного прогнозирования.i. In one example, interpolation filter information may be inherited in a triangular prediction mode.
h. В качестве альтернативы, для инструмента кодирования, упомянутого выше, если он активизирован, тогда альтернативный интерполяционный фильтр с точностью в половину пикселя может быть не активизирован.h. Alternatively, for the encoding tool mentioned above, if it is activated, then the alternative half-pixel precision interpolation filter may not be activated.
10. К векторам MV с точностью N-pel может быть применен фильтр.10. A filter can be applied to MV vectors with N-pel precision.
a. В одном из примеров, N может быть равно 1, 2 или 4 и т.п.a. In one example, N may be 1, 2 or 4, etc.
b. В одном из примеров, указанный фильтр может быть фильтром нижних частот.b. In one example, said filter may be a low pass filter.
c. В одном из примеров, указанный фильтр может представлять собой одномерный (1-d) фильтр.c. In one example, said filter may be a one-dimensional (1-d) filter.
i. Например, указанный фильтр может представлять собой одномерный (1-d) горизонтальный фильтр.i. For example, said filter may be a one-dimensional (1-d) horizontal filter.
ii. Например, указанный фильтр может представлять собой одномерный (1-d) вертикальный фильтр.ii. For example, said filter may be a one-dimensional (1-d) vertical filter.
d. В одном из примеров, в виде сигнализации может быть сообщен флаг для индикации, используется такой фильтр или нет.d. In one example, a flag may be signaled to indicate whether such a filter is in use or not.
i. В качестве альтернативы, кроме того, такой флаг может быть сообщен в виде сигнализации только в том случае, когда для блока используется точность N-pel для разности MVD (сообщается в виде сигнализации в режиме разрешения AMVR).i. Alternatively, in addition, such a flag may be signaled only when the block uses N-pel precision for the MVD difference (signaled in AMVR enable mode).
11. Для обычного режима межкадрового прогнозирования и аффинного режима в режиме прогнозирования GBI могут быть использованы разные наборы весовых коэффициентов.11. For the normal inter-frame prediction mode and the affine mode in the GBI prediction mode, different sets of weighting coefficients can be used.
a. В одном из примеров, наборы весовых коэффициентов, используемые для обычного режима межкадрового прогнозирования и аффинного режима, могут быть сообщены в виде сигнализации в наборе SPS/заголовке группы плиток /заголовке среза/наборе VPS/наборе PPS и т.п.a. In one example, the weight coefficient sets used for the conventional inter-prediction mode and the affine mode may be signaled in the SPS set/tile group header/slice header/VPS set/PPS set and the like.
b. В одном из примеров, наборы весовых коэффициентов, используемые для обычного режима межкадрового прогнозирования и аффинного режима, могут быть определены заранее в кодирующем устройстве и в декодирующем устройстве.b. In one example, the sets of weights used for the conventional inter-prediction mode and the affine mode may be predetermined at the encoder and decoder.
12. Как определить/выбрать альтернативные интерполяционные фильтры, может зависеть от информации о режиме кодирования.12. How to define/select alternative interpolation filters may depend on the encoding mode information.
a. В одном из примеров, для аффинного режима и для неаффинного режима допустимые наборы альтернативных интерполяционных фильтров могут быть разными.a. In one example, the valid sets of alternative interpolation filters may be different for the affine mode and for the non-affine mode.
b. В одном из примеров, для режима копирования IBC и для режима, не являющегося режимом копирования IBC, допустимые наборы альтернативных интерполяционных фильтров могут быть разными.b. In one example, for an IBC copy mode and a non-IBC copy mode, the valid sets of alternative interpolation filters may be different.
5. Примеры реализации предлагаемой технологии 5. Examples of implementation of the proposed technology
На фиг. 11A представлена блок-схема устройства 1100 для обработки видео. Устройство 1100 может быть использовано для реализации одного или нескольких описываемых здесь способов. Это устройство 1100 может представлять собой смартфон, планшетный компьютер, обычный компьютер, приемник Интернет вещей (Internet of Things (IoT)) и т.д. Устройство 1100 может содержать один или несколько процессоров 1102, одно или несколько запоминающих устройств 1104 и аппаратуру 1106 для обработки видео. Процессор (ы) 1102 может быть конфигурирован для реализации одного или нескольких способов, описываемых в настоящем документе. Запоминающее устройство (устройства) 1104 может быть использовано для сохранения данных и кода, применяемых для реализации способов и технологий, описываемых здесь. Аппаратура 1106 для обработки видео может быть использована для реализации, в аппаратной схеме, некоторых технологий, описываемых в настоящем документе, и может частично или полностью быть частью процессоров 1102 (например, представлять собой графическое процессорное ядро GPU или другую схему обработки сигнала).In fig. 11A is a block diagram of a video processing apparatus 1100. Apparatus 1100 may be used to implement one or more of the methods described herein. This device 1100 may be a smartphone, a tablet computer, a desktop computer, an Internet of Things (IoT) receiver, etc. Device 1100 may include one or more processors 1102, one or more storage devices 1104, and video processing hardware 1106. Processor(s) 1102 may be configured to implement one or more of the methods described herein. Storage device(s) 1104 may be used to store data and code used to implement the methods and technologies described herein. Video processing hardware 1106 may be used to implement, in hardware, some of the technologies described herein, and may be part or all of the processors 1102 (eg, a GPU or other signal processing circuitry).
На фиг. 11B представлен другой пример блок-схемы системы обработки видео, в которой может быть реализована предлагаемая технология. На фиг. 11B представлена блок-схема, показывающая пример системы 4100 обработки видео, где могут быть реализованы разнообразные способы, описываемые здесь. Различные варианты реализации могут содержать некоторые или все компоненты системы 4100. Система 4100 может иметь вход 4102 для приема контента видео. Этот контент видео может быть принят в исходном или в несжатом формате, например, 8 или 10-битовые многокомпонентные значения пикселей, либо может быть в сжатом или кодированном формате. Вход 4102 может представлять сетевой интерфейс, интерфейс шины периферийных устройств или интерфейс запоминающего устройства. К примерам сетевых интерфейсов относятся проводные интерфейсы, такие как Этернет, пассивная оптическая сеть (passive optical network (PON)) и т.д., и беспроводные интерфейсы, такие как Wi-Fi или сотовые интерфейсы. In fig. 11B shows another example block diagram of a video processing system in which the proposed technology may be implemented. In fig. 11B is a block diagram showing an example of a video processing system 4100 where various methods described herein may be implemented. Various implementations may include some or all of the components of the system 4100. The system 4100 may have an input 4102 for receiving video content. This video content may be received in a native or uncompressed format, such as 8 or 10-bit multi-pixel pixel values, or may be in a compressed or encoded format. Input 4102 may represent a network interface, a peripheral bus interface, or a storage device interface. Examples of network interfaces include wired interfaces such as Ethernet, passive optical network (PON), etc., and wireless interfaces such as Wi-Fi or cellular interfaces.
Система 4100 может содержать кодирующий компонент 4104, которые может осуществлять разнообразные способы кодирования, описываемые в настоящем документе. Кодирующий компонент 4104 может уменьшить среднюю частоту передачи битов данных видео, поступающего от входа 4102 к выходу кодирующего компонента 4104 для получения кодированного представления видео. Поэтому такие способы кодирования иногда называют способами сжатия (компрессии) видео или способами транскодирования видео. Выходной сигнал кодирующего компонента 4104 может быть либо сохранен, либо передан по присоединенной линии связи, как это представлено компонентом 4106. Это сохраненное или переданное в потоке битов данных (или кодированное) представление видео, принятого на вход 4102, может быть использовано компонентом 4108 для генерации значений пикселей или представляемого на дисплее видео, которое передают интерфейсу 4110 дисплея. Процесс генерации наблюдаемого пользователем видео из представления в форме потока битов данных иногда называется расширением (или декомпрессией) видео. Кроме того, хотя определенные операции обработки видео называются операциями или инструментами «кодирования», должно быть понятно, что инструменты или операции кодирования используются в кодирующем устройстве, а соответствующие инструменты или операции декодирования, обращающие результаты кодирования будут производиться в декодирующем устройстве. System 4100 may include an encoding component 4104 that can implement a variety of encoding techniques described herein. The encoding component 4104 may reduce the average bit rate of the video data supplied from the input 4102 to the output of the encoding component 4104 to obtain an encoded representation of the video. Therefore, such encoding methods are sometimes called video compression methods or video transcoding methods. The output of encoding component 4104 may be either stored or transmitted over an attached link, as represented by component 4106. This stored or bitstreamed (or encoded) representation of the video received at input 4102 may be used by component 4108 to generate values of pixels or video presented on the display, which are transmitted to the display interface 4110. The process of generating user-viewable video from a data bitstream representation is sometimes called video expansion (or decompression). In addition, although certain video processing operations are referred to as "encoding" operations or tools, it should be understood that the encoding tools or operations are used in the encoding device, and the corresponding decoding tools or operations that reverse the encoding results will be performed in the decoding device.
К примерам интерфейса шины периферийных устройств или интерфейса дисплея относятся универсальная последовательная шина (universal serial bus (USB)) или мультимедийный интерфейс высокой четкости (high definition multimedia interface (HDMI)) или Displayport, и т.д. К примерам интерфейса запоминающих устройств относятся интерфейс усовершенствованного последовательного соединения (SATA (serial advanced technology attachment)), интерфейс периферийных устройств (PCI), интерфейс IDE и другие подобные интерфейсы. Способы, описываемые в настоящем документе, могут быть реализованы в разнообразных электронных устройствах, таких как мобильные телефоны, портативные компьютеры, смартфоны или другие устройства, способные осуществлять цифровую обработку данных и/или представлять видео на дисплее.Examples of peripheral bus interface or display interface include universal serial bus (USB) or high definition multimedia interface (HDMI) or Displayport, etc. Examples of storage interfaces include the serial advanced technology attachment (SATA) interface, the peripheral device interface (PCI), the IDE interface, and other similar interfaces. The methods described herein may be implemented in a variety of electronic devices, such as mobile phones, laptop computers, smartphones, or other devices capable of digital processing and/or displaying video.
Некоторые варианты предлагаемой технологии содержат принятие решения или определение, что следует активизировать инструмент или режим обработки видео. В одном из примеров, когда инструмент или режим обработки видео активизирован, кодирующее устройство будет использовать или осуществлять этот инструмент или режим при обработке блока видео, но может не обязательно модифицировать получаемый в результате поток битов данных на основе использования этого инструмента или режима. Иными словами, процедура преобразования от блока видео к представлению этого видео в форме потока битов данных будет использовать указанный инструмент или режим обработки видео, когда этот инструмент или режим активизирован на основе результата указанного принятия решения или определения. В другом примере, когда инструмент или режим обработки видео активизирован, декодирующее устройство будет обрабатывать поток битов данных с использованием знания, что этот поток битов данных был модифицирован на основе указанного инструмента или режима обработки видео. Иными словами, процедура преобразования из представления видео в форме потока битов данных в блок этого видео будет осуществлена с использованием инструмента или режима обработки видео, который был активизирован на основе указанного решения или определения.Some embodiments of the proposed technology involve making a decision or determining that a video processing tool or mode should be activated. In one example, when a video processing tool or mode is enabled, the encoder will use or implement the tool or mode when processing a block of video, but may not necessarily modify the resulting data bitstream based on the use of the tool or mode. In other words, the conversion procedure from a block of video to a representation of that video in the form of a stream of data bits will use the specified video processing tool or mode when the tool or mode is activated based on the result of the specified decision or determination. In another example, when a video processing tool or mode is activated, the decoding device will process the data bit stream using the knowledge that the data bit stream has been modified based on the specified video processing tool or mode. In other words, the conversion procedure from a data bit stream representation of a video to a block of that video will be carried out using a video processing tool or mode that has been activated based on said decision or determination.
Некоторые варианты предлагаемой технологии содержат принятие решения или определение, что следует отменить активизацию инструмента или режима обработки видео. В одном из примеров, когда инструмент или режим обработки видео не активизирован, кодирующее устройство не будет использовать этот инструмент или режим при преобразовании блока видео в его представление в форме потока битов данных. В другом примере, когда указанный инструмент или режим обработки видео не активизирован, декодирующее устройство будет обрабатывать поток битов данных с использованием знания, что поток битов данных не был модифицирован с использованием инструмента или режима обработки видео, активизация которого была отменена на основе указанного режима или определения.Some embodiments of the proposed technology involve deciding or determining that a tool or video processing mode should be deactivated. In one example, when a video processing tool or mode is not enabled, the encoder will not use the tool or mode when converting a block of video to its bitstream representation. In another example, when the specified video processing tool or mode is not activated, the decoding device will process the data bit stream using the knowledge that the data bit stream has not been modified using the video processing tool or mode that was deactivated based on the specified mode or determination .
В настоящем документе термин «обработка видео» может обозначать кодирование видео, декодирование видео, сжатие видео или расширение (декомпрессию) видео. Например, алгоритмы сжатия видео могут быть применены в процессе преобразования от пиксельного представления видео в соответствующее представление в форме потока битов данных или наоборот. Представление текущего видеоблока в форме потока битов данных может, например, соответствовать битам, которые либо расположены в одном месте, либо распределены в разных местах в потоке битов данных, как это определено в синтаксисе. Например, макроблок может быть кодирован в терминах преобразованных и кодированных остаточных значений ошибок, а также использования битов в заголовках и в других полях в потоке битов данных.As used herein, the term "video processing" may refer to video encoding, video decoding, video compression, or video expansion (decompression). For example, video compression algorithms may be applied in the process of converting from a pixel representation of video to a corresponding representation in the form of a stream of data bits, or vice versa. The representation of the current video block in the form of a data bitstream may, for example, correspond to bits that are either located in one location or distributed in different locations in the data bitstream, as defined in the syntax. For example, a macroblock may be encoded in terms of converted and encoded error residuals, as well as the use of bits in headers and other fields in the data bitstream.
Следует понимать, что рассмотренные здесь способы и технологии дадут преимущества для вариантов кодирующего устройства для видео и/или декодирующего устройства для видео, встроенных в устройства для обработки видео, такие как смартфоны, портативные компьютеры, настольные компьютеры и другие подобные устройства, позволяя пользователю использовать технологии, описываемые в настоящем документе.It should be understood that the methods and technologies discussed herein will benefit video encoder and/or video decoder options embedded in video processing devices such as smartphones, laptops, desktop computers, and other similar devices, allowing the user to utilize the technologies described in this document.
На фиг. 12A представлена логическая схема примера способа 1210 обработки видео. Этот способ 1210 содержит, на этапе 1212, осуществление преобразования между текущим видеоблоком видео и кодированным представлением этого видео. В некоторых вариантах, это кодированное представление содержит первый параметр, обозначающий точность информация о движении из набора нескольких уровней точности для текущего видеоблока, который не использует уровень точности по умолчанию для информации о движении, и/или второй параметр, идентифицирующий, что для преобразования используется альтернативный интерполяционный фильтр с точностью в половину пикселя. В некоторых вариантах, каждый из этих параметров – первый параметр и/или второй параметр, ассоциирован с одним или более бинами, причем для первого бина из указанного одного или более бинов в кодированном представлении используется только кодирование на основе контекстной модели. В некоторых вариантах, текущий видеоблок представлен в соответствующем кодированном представлении с использованием режима объединения или режима объединения с использованием разности векторов движения (MMVD), где интерполяционный фильтр с точностью 1/N используется для интерполяции блока прогнозирования, ассоциированного с текущим видеоблоком в соответствии с некоторым правилом, где N – положительное целое число; здесь указанное правило определяет условие для наследования информации об интерполяции в случае, когда интерполяционный фильтр представляет собой альтернативный интерполяционный фильтр, отличный от интерполяционного фильтра по умолчанию.In fig. 12A is a logic diagram of an example video processing method 1210. This method 1210 includes, at step 1212, performing a conversion between the current video block of a video and an encoded representation of that video. In some embodiments, this encoded representation comprises a first parameter indicating the precision of the motion information from a set of multiple precision levels for the current video block that does not use the default precision level for the motion information, and/or a second parameter identifying that an alternative one is used for the transformation interpolation filter with half-pixel precision. In some embodiments, each of these parameters, the first parameter and/or the second parameter, is associated with one or more bins, wherein for the first bin of the one or more bins in the encoded representation, only context model-based encoding is used. In some embodiments, the current video block is represented in an appropriate encoded representation using a combining mode or a motion vector difference (MMVD) combining mode, where a 1/N interpolation filter is used to interpolate a prediction block associated with the current video block in accordance with some rule , where N is a positive integer; here, the specified rule specifies a condition for inheriting interpolation information in the case where the interpolation filter is an alternative interpolation filter other than the default interpolation filter.
На фиг. 12B представлена логическая схема примера способа 1220 обработки видео. Этот способ 1220 содержит, на этапе 1222, определение, для преобразования между текущим видеоблоком видео и кодированным представлением этого видео, информации о движении с использованием интерполяционного фильтра, эта информация о движении имеет точность M целых пикселей или точность в 1/N долю пикселя, где M и N – положительные целые числа и N не равно 2. Способ 1220 далее содержит, на этапе 1224, осуществление преобразования на основе найденной информации о движении. In fig. 12B is a logic diagram of an example video processing method 1220. This method 1220 comprises, at step 1222, determining, to transform between the current video block of video and an encoded representation of that video, motion information using an interpolation filter, this motion information having a precision of M whole pixels or a precision of 1/N fraction of a pixel, where M and N are positive integers and N is not equal to 2. Method 1220 further comprises, at step 1224, performing a conversion based on the found motion information.
На фиг. 13A представлена логическая схема примера способа 1310 обработки видео. Этот способ 1310 содержит, на этапе 1312, генерацию, для преобразования между текущим видеоблоком видео и кодированным представлением этого видео, первого кандидата движения на основе одного или нескольких кандидатов движения из списка кандидатов движения и одного или нескольких интерполяционных фильтров, ассоциированных с этими одним или несколькими кандидатами движения, где интерполяционный фильтр назначают первому кандидату движения в соответствии с некоторым правилом, которое зависит от одного или нескольких интерполяционных фильтров, ассоциированных с одним или несколькими кандидатами движения. Способ 1310 далее содержит, на этапе 1314, вставку первого кандидата движения в список кандидатов движения. Способ 1310 далее содержит, на этапе 1316, осуществление преобразования на основе списка кандидатов движения. In fig. 13A is a logic diagram of an example video processing method 1310. This method 1310 comprises, at step 1312, generating, for conversion between the current video block of a video and an encoded representation of that video, a first motion candidate based on one or more motion candidates from a list of motion candidates and one or more interpolation filters associated with those one or more motion candidates, wherein an interpolation filter is assigned to the first motion candidate in accordance with some rule that depends on one or more interpolation filters associated with the one or more motion candidates. Method 1310 further comprises, at step 1314, inserting the first motion candidate into the list of motion candidates. Method 1310 further comprises, at step 1316, performing a conversion based on the motion candidate list.
На фиг. 13B представлена логическая схема примера способа 1320 обработки видео. Этот способ 1320 содержит, на этапе 1322, ассоциирование, с каждым из совокупности нескольких блоков, содержащей первый блок в первой видеообласти и второй блок во второй видеообласти видео, информации о движении, содержащей информацию о соответствующем интерполяционном фильтре, используемом для интерполяции информации о разностях векторов движения для каждого из совокупности нескольких блоков. Способ 1320 далее содержит, на этапе 1324, осуществление преобразования между видео и кодированным представлением этого видео с использованием указанной информации о движении.In fig. 13B is a logic diagram of an example video processing method 1320. This method 1320 comprises, at step 1322, associating, with each of a plurality of multiple blocks comprising a first block in a first video region and a second block in a second video video region, motion information comprising information about a corresponding interpolation filter used to interpolate the vector difference information. movements for each of a set of several blocks. Method 1320 further comprises, at step 1324, performing a conversion between the video and an encoded representation of that video using said motion information.
На фиг. 13C представлена логическая схема примера способа 1330 обработки видео. Этот способ 1330 содержит, на этапе 1332, обработку текущего видеоблока в процессе преобразования между видео, содержащим текущий видеоблок, и кодированным представлением этого видео. Способ 1330 далее содержит, на этапе 1334, сравнение и избирательное обновление списка объединяемых кандидатов с информацией о движении текущего видеоблока. В некоторых вариантах, эта информация о движении содержит информацию интерполяционного фильтра, где эта информация интерполяционного фильтра содержит параметры интерполяционного фильтра, используемые для интерполяции значений разностей векторов движения, используемых для представления текущего видеоблока в кодированном представлении. In fig. 13C illustrates a logic diagram of an example video processing method 1330. This method 1330 includes, at step 1332, processing the current video block in the process of converting between the video containing the current video block and an encoded representation of that video. Method 1330 further comprises, at step 1334, comparing and selectively updating the list of merge candidates with motion information of the current video block. In some embodiments, this motion information comprises interpolation filter information, where the interpolation filter information comprises interpolation filter parameters used to interpolate motion vector difference values used to represent the current video block in the encoded representation.
На фиг. 14A представлена логическая схема примера способа 1410 обработки видео. Этот способ 1410 содержит, на этапе 1412, поддержание, прежде преобразования между текущим видеоблоком видеообласти и кодированным представлением видео, по меньшей мере одной таблицы прогнозирования вектора движения на основе предыстории (HMVP), где эта таблица прогнозирования HMVP содержит одну или несколько позиций, соответствующих информации о движении одного или нескольких ранее обработанных блоков. Способ 1410 далее содержит, на этапе 1414, осуществление преобразования с использованием по меньшей мере одной таблицы прогнозирования HMVP. В некоторых вариантах, информация о движении для каждой позиции конфигурирована так, что она содержит информацию интерполяционного фильтра для одного или нескольких ранее обработанных блоков. В некоторых вариантах, информация интерполяционного фильтра обозначает интерполяционные фильтры, используемые для интерполяции блоков прогнозирования из совокупности одного или нескольких ранее обработанных блоков.In fig. 14A is a logic diagram of an example video processing method 1410. This method 1410 comprises, at step 1412, maintaining, prior to conversion between the current video domain video block and the encoded video representation, at least one history-based motion vector prediction (HMVP) table, where the HMVP prediction table contains one or more positions corresponding to the information about the movement of one or more previously processed blocks. Method 1410 further comprises, at step 1414, performing a conversion using at least one HMVP prediction table. In some embodiments, the motion information for each position is configured to include interpolation filter information for one or more previously processed blocks. In some embodiments, the interpolation filter information denotes interpolation filters used to interpolate prediction blocks from a population of one or more previously processed blocks.
На фиг. 14B представлена логическая схема примера способа 1420 обработки видео. Этот способ 1420 содержит, на этапе 1422, поддержание, прежде преобразования между текущим видеоблоком видеообласти и кодированным представлением видео, по меньшей мере одной таблицы прогнозирования вектора движения на основе предыстории (HMVP), содержащей одну или несколько позиций, соответствующих информации о движении одного или нескольких ранее обработанных блоков, и где информация о движении для каждой позиции конфигурирована так, чтобы содержать информацию интерполяционного фильтра одного или нескольких ранее обработанных блоков. Способ 1420 далее содержит, на этапе 1424, построение, для преобразования, списка кандидатов движения, содержащего объединяемого кандидата для прогнозирования HMVP, где этого кандидата для прогнозирования HMVP определяют путем наследования одной позиции из таблицы прогнозирования HMVP, содержащей соответствующую информацию интерполяционного фильтра, ассоциированного с этой позицией. Способ 1420 далее содержит, на этапе 1426, осуществление преобразования на основе списка кандидатов движения.In fig. 14B is a logic diagram of an example video processing method 1420. This method 1420 comprises, at step 1422, maintaining, prior to conversion between the current video region video block and the encoded video representation, at least one history-based motion vector prediction (HMVP) table containing one or more positions corresponding to motion information of one or more previously processed blocks, and wherein the motion information for each position is configured to contain interpolation filter information of one or more previously processed blocks. Method 1420 further comprises, at step 1424, constructing, for conversion, a list of motion candidates containing a mergeable HMVP prediction candidate, where this HMVP prediction candidate is determined by inheriting one position from an HMVP prediction table containing corresponding interpolation filter information associated with that position. Method 1420 further comprises, at step 1426, performing a conversion based on the motion candidate list.
На фиг. 15A представлена логическая схема примера способа 1510 обработки видео. Этот способ 1510 содержит, на этапе 1512, принятие решения о режиме кодирования, используемом для представления текущего видеоблока видео в кодированном представлении этого видео. Способ 1510 далее содержит, на этапе 1514, кодирование текущего видеоблока и его преобразование в кодированное представление в соответствии с указанным режимом кодирования, где использование точности в половину пикселя для представления информации о движении не активизировано для текущего видеоблока вследствие использования указанного режима кодирования. In fig. 15A is a logic diagram of an example video processing method 1510. This method 1510 includes, at step 1512, deciding on the encoding mode used to represent the current video block of video in the encoded representation of that video. Method 1510 further comprises, at step 1514, encoding the current video block and converting it into an encoded representation in accordance with said encoding mode, where the use of half-pixel precision to represent motion information is not enabled for the current video block due to use of said encoding mode.
На фиг. 15B представлена логическая схема примера способа 1520 обработки видео. Этот способ 1520 содержит, на этапе 1522, синтаксический анализ кодированного представления видео с целью определения, что текущий видеоблок этого видео кодирован с использованием некоторого режима кодирования. Способ 1520 далее содержит, на этапе 1524, генерацию декодированного представления текущего видеоблока из кодированного представления в соответствии с указанным режимом кодирования, где использование точности в половину пикселя для представления информации о движении не активизировано для текущего видеоблока вследствие использования указанного режима кодирования.In fig. 15B is a logic diagram of an example video processing method 1520. This method 1520 comprises, at step 1522, parsing an encoded representation of a video to determine that the current video block of that video is encoded using some encoding mode. The method 1520 further comprises, at step 1524, generating a decoded representation of the current video block from the encoded representation in accordance with the specified encoding mode, where the use of half-pixel precision for representing motion information is not enabled for the current video block due to the use of the specified encoding mode.
На фиг. 15C представлена логическая схема примера способа 1530 обработки видео. Этот способ 1530 содержит, на этапе 1532, определение, для текущего видеоблока, обрабатываемого в режиме обобщенного двунаправленного прогнозирования (GBi), что следует использовать первый весовой коэффициент и второй, отличный от первого весовой коэффициент для первого блока прогнозирования и для второго блока прогнозирования, соответственно, эти первый весовой коэффициент и второй весовой коэффициент выбирают из наборов весовых коэффициентов. Способ 1530 далее содержит, на этапе 1534, осуществление преобразования между текущим видеоблоком видео и кодированным представлением этого видео на основе результатов определения. В некоторых вариантах, первый набор весовых коэффициентов, используемый для режима межкадрового прогнозирования, отличается от второго набора весовых коэффициентов, используемого для аффинного режима межкадрового прогнозирования.In fig. 15C illustrates a logic diagram of an example video processing method 1530. This method 1530 comprises, at step 1532, determining, for the current video block being processed in the generalized bidirectional prediction (GBi) mode, that a first weight coefficient and a second different weight coefficient should be used for the first prediction block and for the second prediction block, respectively. , the first weight and the second weight are selected from sets of weights. Method 1530 further comprises, at step 1534, performing a transformation between the current video block of video and an encoded representation of that video based on the determination results. In some embodiments, the first set of weights used for the inter-prediction mode is different from the second set of weights used for the affine inter-prediction mode.
На фиг. 15D представлена логическая схема примера способа 1540 обработки видео. Этот способ 1540 содержит, на этапе 1542, определение, для преобразования между несколькими видео единицами видеообласти видео и кодированным представлением этих нескольких видео единиц, информации относительно интерполяционного фильтра в зависимости от режима кодирования видео единицы, этот интерполяционный фильтр используется для интерполяции значений разностей векторов движения в кодированном представлении и имеет точность M целых пикселей или точность в 1/N долю пикселя, где M и N – положительные целые числа. Способ 1540 далее содержит, на этапе 1544, осуществление преобразования с использованием указанного интерполяционного фильтра.In fig. 15D is a logic diagram of an example video processing method 1540. This method 1540 comprises, at step 1542, determining, for conversion between multiple video units of a video area and an encoded representation of these multiple video units, information regarding an interpolation filter depending on the encoding mode of the video unit, this interpolation filter is used to interpolate the values of the motion vector differences in encoded representation and has a precision of M integer pixels or a precision of 1/N fraction of a pixel, where M and N are positive integers. Method 1540 further comprises, at step 1544, performing a transformation using said interpolation filter.
На фиг. 16A представлена логическая схема примера способа 1610 обработки видео. Этот способ 1610 содержит, на этапе 1612, принятие решения о режиме кодирования, используемом для представления текущего видеоблока видео в кодированном представлении этого видео. Способ 1610 далее содержит, на этапе 1614, кодирование этого текущего видеоблока с преобразованием его в кодированное представление в соответствии с указанным режимом кодирования. В некоторых вариантах, использование альтернативных фильтров с точностью в половину пикселя в дополнение к фильтру по умолчанию с точностью в половину пикселя для представления информации о движении не активизировано для текущего видеоблока вследствие использования указанного режима кодирования. In fig. 16A is a logic diagram of an example video processing method 1610. This method 1610 includes, at step 1612, deciding on the encoding mode used to represent the current video block of video in the encoded representation of that video. Method 1610 further comprises, at step 1614, encoding this current video block and converting it into an encoded representation in accordance with the specified encoding mode. In some embodiments, the use of alternative half-pixel filters in addition to the default half-pixel filter to represent motion information is not enabled for the current video block due to the use of the specified encoding mode.
На фиг. 16B представлена логическая схема примера способа 1620 обработки видео. Этот способ 1620 содержит, на этапе 1622, синтаксический анализ кодированного представления видео для определения, что текущий видеоблок этого видео кодирован с использованием некоторого режима кодирования. Способ 1620 далее содержит, на этапе 1624, генерацию декодированного представления текущего видеоблока из его кодированного представления в соответствии с найденным режимом кодирования. В некоторых вариантах, использование альтернативных фильтров с точностью в половину пикселя в дополнение к фильтру по умолчанию с точностью в половину пикселя для представления информации о движении не активизировано для текущего видеоблока вследствие использования указанного режима кодирования.In fig. 16B is a logic diagram of an example video processing method 1620. This method 1620 includes, at step 1622, parsing the encoded video representation to determine that the current video block of that video is encoded using some encoding mode. Method 1620 further comprises, at step 1624, generating a decoded representation of the current video block from its encoded representation in accordance with the detected encoding mode. In some embodiments, the use of alternative half-pixel filters in addition to the default half-pixel filter to represent motion information is not enabled for the current video block due to the use of the specified encoding mode.
На фиг. 16C представлена логическая схема примера способа 1630 обработки видео. Этот способ 1630 содержит, на этапе 1632, определение, вследствие того, что для некоторого видеоблока видео активизировано использование альтернативного интерполяционного фильтра, что некоторый режим кодирования недопустим для кодирования этого видеоблока и преобразования его в кодированное представление видео. Способ 1630 далее содержит, на этапе 1634, генерацию кодированного представления видеоблока на основе результата указанного определения, где альтернативный интерполяционный фильтр используется для интерполяции блоков при межкадровом прогнозирование текущего видеоблока.In fig. 16C illustrates a logic diagram of an example video processing method 1630. This method 1630 comprises, at step 1632, determining, due to the fact that the use of an alternative interpolation filter is enabled for a certain video block of video, that a certain encoding mode is not valid for encoding that video block and converting it into an encoded video representation. Method 1630 further comprises, at step 1634, generating an encoded representation of the video block based on the result of said determination, where an alternative interpolation filter is used to interpolate blocks in the inter-frame prediction of the current video block.
На фиг. 16D представлена логическая схема примера способа 1640 обработки видео. Этот способ 1640 содержит, на этапе 1642, определение, вследствие того, что для некоторого видеоблока видео активизировано использование альтернативного интерполяционного фильтра, что использование некоторого режима кодирования для представления некого видеоблока в кодированном представлении видео недопустимо. Способ 1640 далее содержит, на этапе 1644, генерацию декодированного видеоблока посредством синтаксического анализа кодированного представления на основе результата определения.In fig. 16D is a logic diagram of an example video processing method 1640. This method 1640 includes, at step 1642, determining, due to the fact that the use of an alternative interpolation filter is enabled for a certain video block, that the use of a certain encoding mode to represent a certain video block in the encoded video representation is not valid. Method 1640 further comprises, at step 1644, generating a decoded video block by parsing the encoded representation based on the determination result.
Разнообразные способы и варианты могут быть описаны с использованием следующего постатейного формата.A variety of methods and embodiments may be described using the following clause-by-clause format.
Первая группа статей описывает некоторые признаки и аспекты способов, описываемых в предыдущем разделе.The first group of articles describes some features and aspects of the methods described in the previous section.
1. Способ обработки видео, содержащий определение, для текущего видеоблока, одного набора информации о движении на основе применения по меньшей мере одного интерполяционного фильтра к группе соседних блоков, где этот по меньшей мере один интерполяционный фильтр может быть конфигурирован для точности в целое число пикселей или для точности на уровне долей пикселя для одного набора информации о движении; и осуществление преобразования между текущим видеоблоком и представлением этого текущего видеоблока в форме потока битов данных, где это преобразование содержит этап уточнения векторов движения на стороне декодирующего устройства (DMVR) с целью уточнения указанного одного набора информации о движении, сообщенного в виде сигнализации в представлении в форме потока битов данных.1. A video processing method comprising determining, for a current video block, one set of motion information based on applying at least one interpolation filter to a group of adjacent blocks, wherein the at least one interpolation filter can be configured to have an integer number of pixel precision or for sub-pixel precision for a single set of motion information; and performing a transformation between the current video block and a representation of that current video block in the form of a stream of data bits, where this transformation comprises a decoder-side motion vector refinement (DMVR) step to refine said one set of motion information signaled in the representation in the form stream of data bits.
2. Способ согласно статье 1, отличающийся тем, что когда один набор информации о движении ассоциирован с режимом адаптивное разрешение вектора движения (AMVR), индекс по меньшей мере одного интерполяционного фильтра сообщают в виде сигнализации в представлении в форме потока битов данных.2. The method according to Clause 1, characterized in that when one set of motion information is associated with an adaptive motion vector resolution (AMVR) mode, the index of the at least one interpolation filter is signaled in a data bit stream representation.
3. Способ согласно статье 1, отличающийся тем, что когда указанный один набор информации о движении ассоциирован с режимом объединения, индекс по меньшей мере одного интерполяционного фильтра наследуется от предыдущего видеоблока.3. The method according to Article 1, characterized in that when said one set of motion information is associated with a combining mode, the index of the at least one interpolation filter is inherited from the previous video block.
4. Способ согласно статье 1, отличающийся тем, что когда указанный один набор информации о движении ассоциирован с режимом объединения с использованием разности векторов движения (MMVD), индекс по меньшей мере одного интерполяционного фильтра наследуется от предыдущего видеоблока.4. The method according to Clause 1, characterized in that when said one set of motion information is associated with a motion vector difference (MMVD) combining mode, the index of the at least one interpolation filter is inherited from the previous video block.
5. Способ согласно статье 1, отличающийся тем, что указанный по меньшей мере один интерполяционный фильтр соответствует фильтру по умолчанию с точностью на уровне долей пикселя, и отличающийся тем, что указанный один набор информации о движении ассоциирован с режимом объединения с использованием разности векторов движения (MMVD).5. The method of Clause 1, wherein said at least one interpolation filter corresponds to a default filter with sub-pixel precision, and wherein said one set of motion information is associated with a motion vector difference fusion mode ( MMVD).
6. Способ согласно какой-либо из статей 2 – 4, отличающийся тем, что коэффициенты по меньшей мере одного интерполяционного фильтра для текущего видеоблока наследуются от предыдущего видеоблока.6. A method according to any of Articles 2 - 4, characterized in that the coefficients of at least one interpolation filter for the current video block are inherited from the previous video block.
7. Способ согласно какой-либо из статей 1 – 6, отличающийся тем, что точность на уровне долей пикселя для указанного одного набора информации о движении составляет 1/4 пикселя или 1/16 пикселя. 7. A method according to any of Clauses 1 to 6, wherein the sub-pixel precision for said one set of motion information is 1/4 pixel or 1/16 pixel.
8. Способ согласно какой-либо из статей 1 – 7, отличающийся тем, что один или несколько компонентов указанного одного набора информации о движении имеют точность на уровне долей пикселя.8. A method according to any of clauses 1 to 7, characterized in that one or more components of said single set of motion information have sub-pixel precision.
9. Способ согласно статье 1, отличающийся тем, что указанный по меньшей мере один интерполяционный фильтр представлен с использованием 6 коэффициентов или 8 коэффициентов.9. The method according to article 1, characterized in that said at least one interpolation filter is represented using 6 coefficients or 8 coefficients.
10. Способ согласно статье 5, отличающийся тем, что индекс указанного по меньшей мере одного интерполяционного фильтра ассоциирован исключительно с текущим видеоблоком и не ассоциирован с последующими видеоблоками 10. The method according to Article 5, characterized in that the index of said at least one interpolation filter is associated exclusively with the current video block and is not associated with subsequent video blocks
11. Способ согласно статье 1, отличающийся тем, что информацию относительно указанного по меньшей мере одного интерполяционного фильтра сохраняют вместе с указанным одним набором информации о движении.11. The method according to Article 1, characterized in that information regarding said at least one interpolation filter is stored together with said one set of motion information.
12. Способ согласно статье 11, отличающийся тем, что информация относительно указанного по меньшей мере одного интерполяционного фильтра идентифицирует указанный по меньшей мере один интерполяционный фильтр как фильтр по умолчанию.12. The method according to article 11, characterized in that information regarding said at least one interpolation filter identifies said at least one interpolation filter as the default filter.
13. Способ согласно статье 1, отличающийся тем, что предотвращают использование коэффициентов по меньшей мере одного интерполяционного фильтра для текущего видеоблока интерполяционным фильтром для другого видеоблока.13. The method according to article 1, characterized in that the coefficients of at least one interpolation filter for the current video block are prevented from being used by the interpolation filter for another video block.
14. Способ согласно какой-либо из статей 1 – 13, отличающийся тем, что указанный по меньшей мере один интерполяционный фильтр соответствует нескольким фильтрам, где каждый фильтр из совокупности этих нескольких фильтров ассоциирован с точностью на уровне долей пикселя из одного набора информации о движении.14. A method according to any one of articles 1 to 13, characterized in that said at least one interpolation filter corresponds to several filters, where each filter of the plurality of these several filters is associated with a precision at the level of fractions of a pixel from one set of motion information.
15. Способ согласно какой-либо из статей 1-14, отличающийся тем, что точность каждого компонента из указанного одного набора информации о движении равна или ниже точности на уровне долей пикселя этого одного набора информации о движении.15. A method according to any of Clauses 1 to 14, wherein the accuracy of each component of said one set of motion information is equal to or lower than the sub-pixel level accuracy of that one set of motion information.
16. Способ согласно какой-либо из статей 1-15, отличающийся тем, что характеристики указанного по меньшей мере одного интерполяционного фильтра сохранены в преобразовательной таблице прогнозирования вектора движения на основе предыстории (HMVP).16. The method according to any one of Articles 1 to 15, characterized in that the characteristics of the at least one interpolation filter are stored in a conversion table of a history-based motion vector prediction (HMVP).
17. Способ согласно статье 16, дополнительно содержащий:17. The method according to Article 16, additionally containing:
после обнаружения, что информация о движении для другого видеоблока является такой же, как указанный один набор информации о движении для текущего видеоблока, вставку этого одного набора информации о движении в таблицу прогнозирования HMVP без вставки информации о движении другого видеоблока.after detecting that the motion information for the other video block is the same as the specified one set of motion information for the current video block, inserting this one set of motion information into the HMVP prediction table without inserting the motion information of the other video block.
18. Способ согласно статье 16, дополнительно содержащий: после обнаружения, что информация о движении для другого видеоблока является такой же, как указанный один набор информации о движении для текущего видеоблока, вставку, в таблицу прогнозирования HMVP, этого одного набора информации о движении для текущего видеоблока и информации о движении для другого видеоблока.18. The method according to clause 16, further comprising: upon detecting that the motion information for another video block is the same as said one set of motion information for the current video block, inserting, into the HMVP prediction table, that one set of motion information for the current video block and motion information for another video block.
19. Способ согласно какой-либо из статей 17 – 18, отличающийся тем, что указанный другой видеоблок ассоциирован с интерполяционным фильтром, и отличающийся тем, что указанная вставка основана, по меньшей мере частично, на указанном по меньшей мере одном интерполяционном фильтре для текущего видеоблока и/или интерполяционном фильтре для другого видеоблока.19. A method according to any of Articles 17 to 18, characterized in that said other video block is associated with an interpolation filter, and characterized in that said insertion is based, at least in part, on said at least one interpolation filter for the current video block and/or an interpolation filter for another video block.
20. Способ согласно какой-либо из статей 17 – 19, отличающийся тем, что указанные текущий видеоблок и другой видеоблок соответствуют спаренным кандидатам или комбинированным объединяемым кандидатам. 20. A method according to any of Articles 17 to 19, characterized in that said current video block and the other video block correspond to paired candidates or combined merged candidates.
21. Способ согласно какой-либо из статей 17 – 20, отличающийся тем, что указанный по меньшей мере один интерполяционный фильтр для текущего видеоблока и указанный интерполяционный фильтр для другого видеоблока являются одинаковыми.21. A method according to any of Articles 17 - 20, characterized in that the specified at least one interpolation filter for the current video block and the specified interpolation filter for another video block are the same.
22. Способ согласно какой-либо из статей 17 – 20, отличающийся тем, указанный по меньшей мере один интерполяционный фильтр для текущего видеоблока и указанный интерполяционный фильтр для другого видеоблока являются разными.22. A method according to any of Articles 17 to 20, characterized in that the specified at least one interpolation filter for the current video block and the specified interpolation filter for another video block are different.
23. Способ согласно статье 1, отличающийся тем, что текущий видеоблок кодируют в режиме внутрикадрового копирования блоков (IBC), и отличающийся тем, что использование точности на уровне долей пикселя при представлении указанного одного набора информации о движении не активизировано.23. The method according to Clause 1, characterized in that the current video block is encoded in an intra-block copy (IBC) mode, and characterized in that the use of sub-pixel precision in representing said one set of motion information is not enabled.
24. Способ согласно какой-либо из статей 1 – 23, отличающийся тем, что использование указанного по меньшей мере одного интерполяционного фильтра не активизировано.24. A method according to any of Articles 1 to 23, characterized in that the use of said at least one interpolation filter is not activated.
25. Способ согласно статье 1, отличающийся тем, что указанный по меньшей мере один интерполяционный фильтр ассоциирован с флагом amvr_precision_idx flag и/или флагом hpel_if_idx.25. The method according to article 1, characterized in that said at least one interpolation filter is associated with the amvr_precision_idx flag and/or the hpel_if_idx flag.
26. Способ согласно статье 25, отличающийся тем, что флаг amvr_precision_idx и/или флаг hpel_if_idx ассоциированы с бинами, подвергнутыми обходному кодированию, или бинами, кодированными контекстно-зависимым способом.26. The method according to clause 25, characterized in that the amvr_precision_idx flag and/or the hpel_if_idx flag are associated with bypass encoded beans or beans encoded in a context-sensitive manner.
27. Способ согласно статье 26, отличающийся тем, что первый бин представляет собой бин, подвергнутый обходному кодированию, или бин, кодированный контекстно-зависимым способом. 27. The method according to article 26, characterized in that the first bin is a bypass encoded bin or a bin encoded in a context-sensitive manner.
28. Способ согласно какой-либо из статей 25-27, отличающийся тем, что все бины совместно используют один и тот же контекст. 28. A method according to any of Articles 25-27, characterized in that all beans share the same context.
29. Способ согласно статье 1, отличающийся тем, что один или несколько этапов обработки видео не активизируют на основе использования по меньшей мере одного интерполяционного фильтра.29. The method according to article 1, characterized in that one or more video processing steps are not activated based on the use of at least one interpolation filter.
30. Способ согласно статье 29, отличающийся тем, что совокупность указанных одного или нескольких этапов обработки видео содержит этап уточнения векторов движения на стороне декодирующего устройства (DMVR), этап двунаправленного оптического потока (BDOF), этап комбинированного межкадрового-внутрикадрового прогнозирования (CIIP), этап применения режима симметричной разности векторов движения (SMVD), этап преобразования субблоков (SBT) или этап треугольного прогнозирования.30. The method according to Article 29, characterized in that the set of said one or more video processing stages comprises a decoder-side motion vector refinement (DMVR) stage, a bidirectional optical flow (BDOF) stage, a combined inter-intra-frame prediction (CIIP) stage, a symmetric motion vector difference (SMVD) mode application step, a subblock transform (SBT) step, or a triangular prediction step.
31. Способ согласно статье 30, отличающийся тем, что указанный по меньшей мере один интерполяционный фильтр соответствует фильтру по умолчанию.31. The method according to article 30, characterized in that said at least one interpolation filter corresponds to a default filter.
32. Способ согласно какой-либо из статей 30 – 31, отличающийся тем, что отмена активизации одного или нескольких этапов содержит отказ от активизации, в представлении в форме потока битов данных, индикации этих одного или нескольких этапов обработки видео.32. A method according to any of Articles 30 to 31, characterized in that the deactivation of one or more stages comprises a refusal to activate, in the form of a stream of data bits, an indication of these one or more video processing stages.
33. Способ согласно какой-либо из статей 30 – 31, отличающийся тем, что отмена активизации одного или нескольких этапов содержит отказ от активизации наследования указанного по меньшей мере одного интерполяционного фильтра для текущего видеоблока другим видеоблоком.33. A method according to any of Articles 30 - 31, characterized in that the cancellation of the activation of one or more stages includes a refusal to activate the inheritance of the specified at least one interpolation filter for the current video block by another video block.
34. Способ согласно статье 1, отличающийся тем, что точность указанного одного набора информации о движении на уровне целых пикселей соответствует 1 пикселю, 2 пикселям или 4 пикселям.34. The method according to Article 1, characterized in that the accuracy of said one set of motion information at the whole pixel level corresponds to 1 pixel, 2 pixels or 4 pixels.
35. Способ согласно статье 34, отличающийся тем, что указанный по меньшей мере один интерполяционный фильтр представляет собой фильтр нижних частот.35. The method according to article 34, characterized in that said at least one interpolation filter is a low-pass filter.
36. Способ согласно статье 34, отличающийся тем, что указанный по меньшей мере one интерполяционный фильтр представляет собой одномерный фильтр.36. The method according to article 34, characterized in that said at least one interpolation filter is a one-dimensional filter.
37. Способ согласно статье 36, отличающийся тем, что указанный одномерный фильтр представляет собой горизонтальный фильтр или вертикальный фильтр.37. The method according to Article 36, characterized in that said one-dimensional filter is a horizontal filter or a vertical filter.
38. Способ согласно статье 34, отличающийся тем, что специальный флаг в представлении в форме потока битов данных обозначает, используется ли указанный по меньшей мере один интерполяционный фильтр или нет.38. The method according to article 34, characterized in that a special flag in a representation in the form of a stream of data bits indicates whether said at least one interpolation filter is used or not.
39. Способ согласно какой-либо из статей 1 – 38, отличающийся тем, что текущий видеоблок ассоциирован с режимом адаптивного разрешения вектора движения (AMVR).39. A method according to any of articles 1 to 38, characterized in that the current video block is associated with an adaptive motion vector resolution (AMVR) mode.
40. Способ согласно какой-либо из статей 1 – 39, отличающийся тем, что указанный по меньшей мере один интерполяционный фильтр для режима межкадрового прогнозирования для текущего видеоблока отличается от фильтра для режима обобщенного двунаправленного прогнозирования (GBI) для текущего видеоблока.40. The method according to any of articles 1 to 39, characterized in that the at least one interpolation filter for the inter-frame prediction mode for the current video block is different from the filter for the generalized bidirectional prediction (GBI) mode for the current video block.
41. Способ согласно какой-либо из статей 1 – 40, отличающийся тем, что указанный по меньшей мере один интерполяционный фильтр задан предварительно.41. A method according to any of Articles 1 to 40, characterized in that said at least one interpolation filter is preset.
42. Способ согласно какой-либо из статей 1 – 41, отличающийся тем, что представление в форме потока битов данных содержит набор параметров видео (VPS), набор параметров изображения (PPS), заголовок изображения, заголовок группы плиток или заголовок среза, ассоциированный с текущим видеоблоком. 42. A method according to any of articles 1 to 41, characterized in that the representation in the form of a data bitstream contains a video parameter set (VPS), a picture parameter set (PPS), a picture header, a tile group header, or a slice header associated with current video block.
43. Способ согласно какой-либо одной или нескольким статьям 1 – 42, отличающийся тем, что указанная процедура обработки видео представляет собой реализацию на стороне кодирующего устройства.43. A method according to any one or more articles 1 to 42, characterized in that the specified video processing procedure is an implementation on the side of the encoder.
44. Способ согласно какой-либо одной или нескольким статьям 1 – 42, отличающийся тем, что указанная процедура обработки видео представляет собой реализацию на стороне декодирующего устройства.44. A method according to any one or more articles 1 to 42, characterized in that the specified video processing procedure is an implementation on the side of the decoding device.
45. Устройство в видео системе, содержащее процессор и энергонезависимое запоминающее устройство с записанными в нем командами, при выполнении которых процессор осуществляет способ согласно какой-либо из статей 1 – 44.45. A device in a video system containing a processor and a non-volatile storage device with commands recorded in it, upon execution of which the processor implements a method in accordance with any of Articles 1 – 44.
46. Компьютерный программный продукт, сохраняемый на читаемых компьютером энергонезависимых носителях, этот компьютерный программный продукт содержит программный код для осуществления способа согласно какой-либо одной или нескольким из статей 1 – 45.46. A computer program product stored on computer-readable non-volatile media, this computer program product contains program code for implementing a method according to any one or more of Articles 1 to 45.
Вторая группа статей описывает некоторые признаки и аспекты способов, описываемых в предыдущем разделе, включая, например, Примеры реализаций 1, 8 и 10.The second group of articles describes some features and aspects of the methods described in the previous section, including, for example, Example Implementations 1, 8 and 10.
1. Способ обработки видео, содержащий: осуществление преобразования между текущим видеоблоком видео и кодированным представлением этого видео, где это кодированное представление содержит первый параметр, указывающий точность информации о движении из набора нескольких уровней точности для текущего видеоблока, который не использует точность по умолчанию для информации о движении, и/или второй параметр, который идентифицирует, используется ли альтернативный интерполяционный фильтр с точностью в половину пикселя для преобразования, и где каждый из этих параметров – первый параметр и/или второй параметр, ассоциирован с одним или более бинами, и кодирование на основе контекстной модели используется только для первого бина из указанного одного или более бинов в кодированном представлении.1. A video processing method, comprising: performing a transformation between a current video block of a video and an encoded representation of that video, wherein the encoded representation comprises a first parameter indicating the precision of motion information from a set of multiple precision levels for the current video block that does not use a default precision for the information motion, and/or a second parameter that identifies whether an alternative half-pixel precision interpolation filter is used for the transformation, and where each of these parameters is the first parameter and/or the second parameter associated with one or more bins, and the encoding is based on the context model is used only for the first bin of the specified one or more bins in the encoded representation.
2. Способ согласно статье 1, отличающийся тем, что информация о движении содержит по меньшей мере одно из: прогнозируемый вектор движения, разность векторов движения и вектор движения.2. The method according to Article 1, characterized in that the motion information contains at least one of: a predicted motion vector, a difference in motion vectors, and a motion vector.
3. Способ согласно статье 1, отличающийся тем, что первый параметр представляет собой amvr_precision_idx.3. The method according to article 1, characterized in that the first parameter is amvr_precision_idx.
4. Способ согласно статье 1, отличающийся тем, что точность информации о движении по умолчанию составляет 1/4-отсчета яркостной составляющей.4. The method according to Article 1, characterized in that the accuracy of the motion information by default is 1/4 of the brightness component.
5. Способ согласно статье 1, отличающийся тем, что набор нескольких уровней точности содержит по меньшей мере одно из: 1/16-отсчета яркостной составляющей, 1/2-отсчета яркостной составляющей, 1 отсчет яркостной составляющей и/или 4 отсчета яркостной составляющей.5. The method according to article 1, characterized in that the set of several accuracy levels contains at least one of: 1/16-sample luminance component, 1/2-sample luminance component, 1 sample luminance component and/or 4 samples luminance component.
6. Способ согласно статье 1, отличающийся тем, что текущий блок кодируют в режиме межкадрового прогнозирования, в аффинном режиме межкадрового прогнозирования или в режиме внутрикадрового копирования блоков.6. The method according to Article 1, characterized in that the current block is encoded in the inter-frame prediction mode, in the affine inter-frame prediction mode or in the intra-frame block copying mode.
7. Способ согласно статье 1, отличающийся тем, что один контекст используется для первого бина первого параметра.7. The method according to Article 1, characterized in that one context is used for the first bin of the first parameter.
8. Способ согласно статье 1, отличающийся тем, что остальные бины подвергают обходному кодированию. 8. The method according to Article 1, characterized in that the remaining bins are subject to bypass coding.
9. Способ согласно статье 1, отличающийся тем, что первый бин первого параметра и второй бин второго параметра подвергают обходному кодированию.9. The method according to Article 1, characterized in that the first bin of the first parameter and the second bin of the second parameter are bypass encoded.
10. Способ согласно статье 1, отличающийся тем, что один контекст используется для первого бина второго параметра. 10. The method according to Article 1, characterized in that one context is used for the first bin of the second parameter.
11. Способ согласно статье 1, отличающийся тем, что один контекст совместно используется всеми бинами первого параметра.11. The method according to Article 1, characterized in that one context is shared by all beans of the first parameter.
12. Способ согласно статье 1, отличающийся тем, что один контекст совместно используется всеми бинами второго параметра. 12. The method according to Article 1, characterized in that one context is shared by all beans of the second parameter.
13. Способ согласно статье 1, отличающийся тем, что второй параметр имеет первое значение, указывающее использование интерполяционного фильтра по умолчанию с точностью в половину пикселя.13. The method according to article 1, characterized in that the second parameter has a first value indicating the use of a default interpolation filter with half-pixel precision.
14. Способ согласно статье 1, отличающийся тем, что второй параметр имеет второе значение, указывающее использование альтернативного интерполяционного фильтра с точностью в половину пикселя.14. The method according to article 1, characterized in that the second parameter has a second value indicating the use of an alternative interpolation filter with half-pixel precision.
15. Способ согласно статье 13, отличающийся тем, что интерполяционный фильтр по умолчанию с точностью в половину пикселя имеет набор коэффициентов [-1, 4, -11, 40, 40, -11, 4, -1].15. The method according to Article 13, characterized in that the default interpolation filter with an accuracy of half a pixel has a set of coefficients [-1, 4, -11, 40, 40, -11, 4, -1].
16. Способ согласно статье 1, отличающийся тем, что альтернативный интерполяционный фильтр с точностью в половину пикселя имеет набор коэффициентов [0, 3, 9, 20, 20, 9, 3, 0].16. The method according to article 1, characterized in that the alternative interpolation filter with an accuracy of half a pixel has a set of coefficients [0, 3, 9, 20, 20, 9, 3, 0].
17. Способ обработки видео, содержащий: определение, для преобразования между текущим видеоблоком видео и кодированным представлением этого видео, информации о движении с использованием интерполяционного фильтра, эта информация о движении имеет точность M целых пикселей или точность в 1/N долю пикселя, где M и N –положительные целые числа и N не равно 2; и осуществление преобразования на основе информации о движении; где поле синтаксиса в кодированном представлении соответствует интерполяционному фильтру. 17. A video processing method, comprising: determining, to transform between a current video block of video and an encoded representation of that video, motion information using an interpolation filter, the motion information having a precision of M whole pixels or a precision of 1/N fraction of a pixel, where M and N are positive integers and N is not equal to 2; and performing conversion based on traffic information; where the syntax field in the encoded representation corresponds to the interpolation filter.
18. Способ согласно статье 17, отличающийся тем, что N равно 4. В качестве альтернативы, в некоторых вариантах N равно 16.18. A method according to Article 17, characterized in that N is 4. Alternatively, in some embodiments, N is 16.
19. Способ согласно статье 17, отличающийся тем, что, поскольку текущий видеоблок кодирован в режиме с адаптивным разрешением разности векторов движения (AMVR), кодированное представление содержит индекс интерполяционного фильтра.19. The method according to Article 17, characterized in that since the current video block is encoded in an adaptive motion vector resolution (AMVR) mode, the encoded representation contains an index of the interpolation filter.
20. Способ согласно статье 17, отличающийся тем, что, поскольку текущий видеоблок кодирован в режиме объединения и/или в режиме объединения с использованием разности векторов движения (MMVD), индекс интерполяционного фильтра не наследуется от предыдущего видеоблока.20. The method according to Article 17, characterized in that since the current video block is encoded in the combining mode and/or in the motion vector difference (MMVD) combining mode, the index of the interpolation filter is not inherited from the previous video block.
21. Способ согласно статье 17, отличающийся тем, что, поскольку текущий видеоблок кодирован в режиме объединения и/или в режиме объединения с использованием разности векторов движения (MMVD), поле синтаксиса указывает интерполяционный фильтр по умолчанию. 21. The method according to Article 17, characterized in that since the current video block is encoded in a combining mode and/or in a motion vector difference (MMVD) combining mode, the syntax field specifies a default interpolation filter.
22. Способ согласно статье 17, отличающийся тем, что для текущего видеоблока, кодированного в режиме объединения и/или в режиме объединения с использованием разности векторов движения (MMVD), индекс интерполяционного фильтра наследуется от предыдущего видеоблока.22. The method according to Article 17, characterized in that for the current video block encoded in the combining mode and/or in the motion vector difference (MMVD) combining mode, the index of the interpolation filter is inherited from the previous video block.
23. Способ согласно статье 22, отличающийся тем, что информация о движении имеет точность на уровне долей пикселя.23. The method according to Article 22, characterized in that the motion information has an accuracy of fractions of a pixel.
24. Способ согласно статье 22, отличающийся тем, что информация о движении содержит один или несколько компонентов с точностью на уровне долей пикселя.24. The method according to article 22, characterized in that the motion information contains one or more components with precision at the level of fractions of a pixel.
25. Способ согласно статье 22, отличающийся тем, что индекс интерполяционного фильтра ассоциирован исключительно с текущим видеоблоком и не ассоциирован с последующими видеоблоками.25. The method according to article 22, characterized in that the interpolation filter index is associated exclusively with the current video block and is not associated with subsequent video blocks.
26. Способ согласно статье 17, отличающийся тем, что M равно 1, 2 или 4.26. Method according to Article 17, characterized in that M is 1, 2 or 4.
27. Способ согласно статье 17, отличающийся тем, что интерполяционный фильтр представляет собой фильтр нижних частот.27. The method according to article 17, characterized in that the interpolation filter is a low-pass filter.
28. Способ согласно статье 17, отличающийся тем, что интерполяционный фильтр представляет собой одномерный фильтр.28. The method according to Article 17, characterized in that the interpolation filter is a one-dimensional filter.
29. Способ согласно статье 28, отличающийся тем, что указанный одномерный фильтр представляет собой горизонтальный фильтр или вертикальный фильтр.29. The method according to Article 28, characterized in that said one-dimensional filter is a horizontal filter or a vertical filter.
30. Способ согласно статье 17, отличающийся тем, что кодированное представление избирательно содержит флаг, указывающий, активизирован ли интерполяционный фильтр, имеющий точность M целых пикселей.30. The method according to article 17, characterized in that the encoded representation selectively includes a flag indicating whether an interpolation filter having a precision of M whole pixels is activated.
31. Способ согласно статье 30, отличающийся тем, что указанный флаг передают в виде сигнализации, если и только если текущий видеоблок кодируют с использованием векторов движения с точностью в целое число пикселей. 31. The method according to Article 30, characterized in that said flag is signaled if and only if the current video block is encoded using motion vectors with integer pixel precision.
32. Способ согласно какой-либо из статей 1 – 31, отличающийся тем, что процедура преобразования содержит генерацию видео на основе кодированного представления.32. A method according to any of Articles 1 to 31, characterized in that the conversion procedure comprises generating video based on the encoded representation.
33. Способ согласно какой-либо из статей 1 – 31, отличающийся тем, что процедура преобразования содержит генерацию кодированного представления на основе видео.33. A method according to any of Articles 1 to 31, characterized in that the conversion procedure comprises generating an encoded representation based on the video.
34. Устройство в видео системе, содержащее процессор и энергонезависимое запоминающее устройство с записанными в нем командами, при выполнении которых процессор осуществляет способ согласно какой-либо из статей 1 – 33.34. A device in a video system containing a processor and a non-volatile storage device with commands recorded in it, upon execution of which the processor implements a method in accordance with any of Articles 1 – 33.
35. Компьютерный программный продукт, сохраняемый на читаемых компьютером энергонезависимых носителях, этот компьютерный программный продукт содержит программный код для осуществления способа согласно какой-либо одной или нескольким из статей 1 – 35.35. A computer program product stored on computer-readable non-volatile media, this computer program product contains program code for implementing a method according to any one or more of Articles 1 to 35.
Третья группа статей описывает некоторые признаки и аспекты способов, описываемых в предыдущем разделе, включая, например, Примеры реализаций 2, 3, 5 и 6. The third group of articles describes some features and aspects of the methods described in the previous section, including, for example, Example Implementations 2, 3, 5 and 6.
1. Способ обработки видео, содержащий: генерацию, для преобразования между текущим видеоблоком видео и кодированным представлением этого видео, первого кандидата движения на основе одного или нескольких кандидатов движения из списка кандидатов движения и одного или нескольких интерполяционных фильтров, ассоциированных с одним или несколькими кандидатами движения; где первому кандидату движения назначают интерполяционный фильтр в соответствии с неким правилом, которое зависит от одного или нескольких интерполяционных фильтров, ассоциированных с одним или несколькими кандидатами движения, вставку первого кандидата движения в список кандидатов движения; и осуществление преобразования на основе списка кандидатов движения. 1. A video processing method comprising: generating, for conversion between a current video block of video and an encoded representation of that video, a first motion candidate based on one or more motion candidates from a list of motion candidates and one or more interpolation filters associated with the one or more motion candidates ; where the first motion candidate is assigned an interpolation filter in accordance with a rule that depends on one or more interpolation filters associated with the one or more motion candidates, inserting the first motion candidate into the list of motion candidates; and performing conversion based on the motion candidate list.
2. Способ согласно статье 1, отличающийся тем, что указанный первый кандидат движения соответствует по меньшей мере одному из – одному из попарно объединяемых кандидатов, комбинируемому объединяемому кандидату, кандидату с нулевым вектором движения и/или другими кандидатами по умолчанию.2. The method according to Article 1, characterized in that said first motion candidate corresponds to at least one of the pairwise merging candidates, the combinable merging candidate, the zero motion vector candidate, and/or other default candidates.
3. Способ согласно статье 1, отличающийся тем, что каждый кандидат движения ассоциирован с индексом интерполяционного фильтра с точностью в половину пикселя, и интерполяционный фильтр с точностью в половину пикселя для первого кандидата движения определяют на основе индексов интерполяционных фильтров с точностью в половину пикселя по меньшей мере для двух кандидатов движения.3. The method according to Article 1, characterized in that each motion candidate is associated with a half-pixel precision interpolation filter index, and the half-pixel precision interpolation filter for the first motion candidate is determined based on the indexes of at least half-pixel precision interpolation filters least for two motion candidates.
4. Способ согласно статье 1, отличающийся тем, что, для двух кандидатов движения, ассоциированных с одним и тем же интерполяционным фильтром с точностью в половину пикселя, указанное правило специфицирует, что тот же самый интерполяционный фильтр с точностью в половину пикселя унаследован первым кандидатом движения.4. The method according to Clause 1, characterized in that, for two motion candidates associated with the same half-pixel precision interpolation filter, said rule specifies that the same half-pixel precision interpolation filter is inherited by the first motion candidate .
5. Способ согласно статье 4, отличающийся тем, что тот же самый интерполяционный фильтр соответствует альтернативному интерполяционному фильтру с точностью в половину пикселя, ассоциированному с равным 1 индексом интерполяционного фильтра с точностью в половину пикселя, альтернативный интерполяционный фильтр с точностью в половину пикселя, отличный от интерполяционного фильтра по умолчанию с точностью в половину пикселя, ассоциирован с равным 0 индексом интерполяционного фильтра с точностью в половину пикселя.5. The method according to Article 4, characterized in that the same interpolation filter corresponds to an alternative half-pixel precision interpolation filter associated with an index of equal 1 half-pixel precision interpolation filter, an alternative half-pixel precision interpolation filter other than The default half-pixel interpolation filter is associated with a half-pixel interpolation filter index of 0.
6. Способ согласно статье 1, отличающийся тем, что для одного из кандидатов движения, не ассоциированного с интерполяционным фильтром по умолчанию, указанное правило специфицирует, что этот интерполяционный фильтр унаследован первым кандидатом движения.6. The method according to Article 1, characterized in that for one of the motion candidates not associated with a default interpolation filter, said rule specifies that this interpolation filter is inherited by the first motion candidate.
7. Способ согласно статье 6, отличающийся тем, что указанный интерполяционный фильтр используется только для соответствующего направления прогнозирования.7. The method according to Article 6, characterized in that the specified interpolation filter is used only for the corresponding prediction direction.
8. Способ согласно статье 1, отличающийся тем, что, когда два кандидата движения ассоциированы с разными интерполяционными фильтрами, указанное правило специфицирует, что эти разные интерполяционные фильтры унаследованы первым кандидатом движения. 8. The method according to Clause 1, characterized in that when two motion candidates are associated with different interpolation filters, said rule specifies that these different interpolation filters are inherited by the first motion candidate.
9. Способ согласно статье 1, отличающийся тем, что для разных направлений прогнозирования используют разные интерполяционные фильтры. 9. The method according to Article 1, characterized in that different interpolation filters are used for different forecasting directions.
10. Способ согласно статье 1, отличающийся тем, что номер первого кандидата движения, назначенный которому интерполяционный фильтр соответствует альтернативному интерполяционному фильтру, не больше K, где K не меньше 0.10. The method according to Article 1, characterized in that the number of the first motion candidate assigned to which the interpolation filter corresponds to the alternative interpolation filter is not more than K, where K is not less than 0.
11. Способ согласно статье 1, отличающийся тем, что интерполяционный фильтр по умолчанию всегда используется для первого кандидата движения. 11. The method according to Article 1, characterized in that the default interpolation filter is always used for the first motion candidate.
12. Способ обработки видео, содержащий: ассоциирование, с каждым из совокупности нескольких блоков, содержащей первый блок в первой видеообласти и второй блок во второй видеообласти видео, информации о движении, содержащей информацию о соответствующем интерполяционном фильтре, используемом для интерполяции информации о разностях векторов движения для каждого из указанной совокупности нескольких блоков; и осуществление преобразования между видео и кодированным представлением видео с использованием информации о движении. 12. A video processing method comprising: associating, with each of a plurality of multiple blocks comprising a first block in a first video area and a second block in a second video video area, motion information containing information about a corresponding interpolation filter used to interpolate motion vector difference information for each of the specified set of several blocks; and performing a conversion between the video and the encoded video representation using the motion information.
13. Способ согласно статье 12, отличающийся тем, что информация о движении содержит информацию, указывающую использование интерполяционного фильтра по умолчанию для движения.13. The method according to Article 12, characterized in that the motion information contains information indicating the use of a default interpolation filter for motion.
14. Способ согласно статье 12, отличающийся тем, что указанная информация о движении идентифицирует альтернативный интерполяционный фильтр, отличный от интерполяционного фильтра по умолчанию.14. The method according to article 12, characterized in that said motion information identifies an alternative interpolation filter other than the default interpolation filter.
15. Способ согласно статье 12, отличающийся тем, что указанная информация о движении содержит один или несколько векторов движения и один или несколько индексов опорных кадров. 15. The method according to Article 12, characterized in that said motion information contains one or more motion vectors and one or more reference frame indices.
16. Способ согласно какой-либо из статей 12 – 15, отличающийся тем, что указанные первая видеообласть и вторая видеообласть представляют собой строки единиц дерева кодирования. 16. A method according to any of Articles 12 to 15, characterized in that said first video area and second video area are strings of coding tree units.
17. Способ согласно какой-либо из статей 12 – 15, отличающийся тем, что указанные первая видеообласть и вторая видеообласть представляют собой единицы данных виртуального конвейера 17. A method according to any of Articles 12 to 15, characterized in that said first video area and second video area are virtual pipeline data units
18. Способ согласно какой-либо из статей 12 – 17, отличающийся тем, что указанные первая видеообласть и вторая видеообласть являются разными областями. 18. A method according to any of Articles 12 to 17, characterized in that said first video area and second video area are different areas.
19. Способ согласно какой-либо из статей 12 – 18, отличающийся тем, что второй блок кодируют или декодируют посредством доступа к первому блоку, и отличающийся тем, что информация о движении формируется согласно некоторому правилу, специфицирующему, что не допускается, чтобы интерполяционный фильтр, используемый для второго блока, был таким же, как интерполяционный фильтр, используемый для первого блока, в случае, когда первая видеообласть отличается от второй видеообласти. 19. A method according to any of Articles 12 to 18, characterized in that the second block is encoded or decoded by accessing the first block, and characterized in that the motion information is generated according to some rule specifying that the interpolation filter is not allowed , used for the second block was the same as the interpolation filter used for the first block, in the case where the first video region is different from the second video region.
20. Способ согласно какой-либо из статей 12 – 17, отличающийся тем, что первая видеообласть и вторая видеообласть одинаковы. 20. A method according to any of Articles 12 to 17, characterized in that the first video area and the second video area are the same.
21. Способ обработки видео, содержащий: осуществление преобразования между текущим видеоблоком видео и кодированным представлением этого видео, где текущий видеоблок представляют в этом кодированном представлении с использованием режима объединения или режима объединения с использованием разности векторов движения (MMVD), где интерполяционный фильтр с точностью 1/N используется для интерполяции блока прогнозирования, ассоциированного с текущим видеоблоком, в соответствии с некоторым правилом, где N – положительное целое число; где указанное правило определяет условие для наследования информации об интерполяции, когда интерполяционный фильтр представляет собой альтернативный интерполяционный фильтр, отличный от интерполяционного фильтра по умолчанию.21. A video processing method, comprising: performing a transformation between a current video block of a video and an encoded representation of that video, where the current video block is represented in the encoded representation using a fusion mode or a motion vector difference (MMVD) fusion mode, wherein an interpolation filter with a precision of 1 /N is used to interpolate the prediction block associated with the current video block according to some rule, where N is a positive integer; where the specified rule specifies a condition for inheriting interpolation information when the interpolation filter is an alternative interpolation filter other than the default interpolation filter.
22. Способ согласно статье 21, отличающийся тем, что указанное правило определяет, когда следует не допустить наследования коэффициентов альтернативного интерполяционного фильтра. 22. The method according to Article 21, characterized in that said rule determines when inheritance of the coefficients of an alternative interpolation filter should be prevented.
23. Способ согласно статье 21, отличающийся тем, что синтаксический элемент в кодированном представлении всегда обозначает интерполяционный фильтр по умолчанию.23. The method according to Article 21, characterized in that the syntactic element in the encoded representation always designates a default interpolation filter.
24. Способ согласно статье 21, отличающийся тем, что указанное правило определяет, когда следует допустить наследование коэффициентов альтернативного интерполяционного фильтра. 24. The method according to Article 21, characterized in that said rule determines when inheritance of the coefficients of an alternative interpolation filter should be allowed.
25. Способ согласно статье 24, отличающийся тем, что коэффициенты альтернативного интерполяционного фильтра наследуются, когда конечные выведенные векторы движения имеют точность в половину пикселя (1/2-pel) и отсутствуют компоненты вектора движения, обладающие более высокой точностью.25. The method of Clause 24, wherein the coefficients of the alternative interpolation filter are inherited when the final output motion vectors have half-pixel precision (1/2-pel) and there are no higher precision motion vector components.
26. Способ согласно статье 24, отличающийся тем, что коэффициенты альтернативного интерполяционного фильтра наследуются, когда конечные выведенные векторы движения имеют один или несколько компонентов, обладающих точностью в половину пикселя (1/2-pel).26. The method of Clause 24, wherein the coefficients of the alternative interpolation filter are inherited when the final output motion vectors have one or more components having half-pixel precision (1/2-pel).
27. Способ согласно статье 24, отличающийся тем, что альтернативный интерполяционный фильтр используется только для компенсации движения.27. Method according to Article 24, characterized in that the alternative interpolation filter is used only for motion compensation.
28. Способ согласно статье 24, отличающийся тем, что индекс интерполяционного фильтра по умолчанию сохраняется для текущего видеоблока и используется кодированными блоками, следующими после текущего видеоблока. 28. The method according to article 24, characterized in that the default interpolation filter index is stored for the current video block and used by encoded blocks following the current video block.
29. Способ обработки видео, содержащий: обработку текущего видеоблока в процессе преобразования между видео, содержащим этот текущий видеоблок, и кодированным представлением этого видео; и сравнение и избирательное обновление списка объединяемых кандидатов с использованием информации о движении текущего видеоблока, где такая информация о движении содержит информацию интерполяционного фильтра; где эта информация интерполяционного фильтра содержит параметры интерполяционного фильтра, используемого для интерполяции значений разностей векторов движения, применяемых для представления текущего видеоблока в кодированном представлении. 29. A method for processing video, comprising: processing a current video block in a conversion process between a video containing the current video block and an encoded representation of that video; and comparing and selectively updating the list of merging candidates using motion information of the current video block, where such motion information comprises interpolation filter information; where this interpolation filter information contains parameters of the interpolation filter used to interpolate the values of the motion vector differences used to represent the current video block in the encoded representation.
30. Способ согласно статье 29, отличающийся тем, что два объединяемых кандидата, ассоциированных с разными интерполяционными фильтрами, рассматриваются как два разных объединяемых кандидата.30. The method according to Article 29, characterized in that two merging candidates associated with different interpolation filters are treated as two different merging candidates.
31. Способ согласно статье 29, отличающийся тем, что процедура сравнения и избирательного обновления списка объединяемых кандидатов содержит вставку объединяемого кандидата с прогнозированием вектора движения на основе предыстории (HMVP) в список объединяемых кандидатов с учетом информации интерполяционного фильтра.31. The method according to Article 29, wherein the procedure for comparing and selectively updating the merging candidate list comprises inserting a history-based motion vector prediction (HMVP) merging candidate into the merging candidate list taking into account interpolation filter information.
32. Способ согласно статье 29, отличающийся тем, что процедура сравнения и избирательного обновления списка объединяемых кандидатов содержит вставку объединяемого кандидата с прогнозированием вектора движения на основе предыстории (HMVP) в список объединяемых кандидатов без учета информации интерполяционного фильтра.32. The method according to Article 29, wherein the procedure for comparing and selectively updating the list of merging candidates comprises inserting a merging candidate with history-based motion vector prediction (HMVP) into the list of merging candidates without taking into account interpolation filter information.
33. Способ согласно какой-либо из статей 1 – 32, отличающийся тем, что интерполяционный фильтр по умолчанию для движения имеет набор коэффициентов [-1, 4, -11, 40, 40, -11, 4, -1].33. A method according to any of Articles 1 – 32, characterized in that the default interpolation filter for motion has a set of coefficients [-1, 4, -11, 40, 40, -11, 4, -1].
34. Способ согласно какой-либо из статей 1 – 32, отличающийся тем, что альтернативный интерполяционный фильтр имеет набор коэффициентов [0, 3, 9, 20, 20, 9, 3, 0].34. A method according to any of Articles 1 – 32, characterized in that the alternative interpolation filter has a set of coefficients [0, 3, 9, 20, 20, 9, 3, 0].
35. Способ согласно какой-либо из статей 1 – 34, отличающийся тем, что процедура преобразования содержит генерацию кодированного представления из текущего видеоблока. 35. A method according to any of Articles 1 to 34, characterized in that the conversion procedure comprises generating an encoded representation from the current video block.
36. Способ согласно какой-либо из статей 1 – 34, отличающийся тем, что процедура преобразования содержит генерацию текущего видеоблока из кодированного представления.36. A method according to any of Articles 1 to 34, characterized in that the conversion procedure comprises generating the current video block from the encoded representation.
37. Устройство в видео системе, содержащее процессор и энергонезависимое запоминающее устройство с записанными в нем командами, при выполнении которых процессор осуществляет способ согласно какой-либо из статей 1 – 36.37. A device in a video system containing a processor and a non-volatile storage device with commands recorded in it, upon execution of which the processor implements a method in accordance with any of Articles 1 to 36.
38. Компьютерный программный продукт, сохраняемый на читаемых компьютером энергонезависимых носителях, этот компьютерный программный продукт содержит программный код для осуществления способа согласно какой-либо одной или нескольким из статей 1 – 36.38. A computer program product stored on computer-readable non-volatile media, this computer program product contains program code for implementing a method according to any one or more of Articles 1 to 36.
Четвертая группа статей описывает некоторые признаки и аспекты способов, описываемых в предыдущем разделе, включая, например, Пример реализации 4.The fourth group of articles describes some features and aspects of the methods described in the previous section, including, for example, Implementation Example 4.
1. Способ обработки видео, содержащий: поддержание, прежде преобразования между текущим видеоблоком видео и кодированным представлением этого видео, по меньшей мере одной таблицы прогнозирования вектора движения на основе предыстории (HMVP), где эта таблица прогнозирования HMVP содержит одну или несколько позиций, соответствующих информации о движении одного или нескольких ранее обработанных блоков; и осуществление преобразования с использованием по меньшей мере одной таблицы прогнозирования HMVP; и где информация о движении из каждой позиции конфигурирована, чтобы содержать информацию интерполяционного фильтра для одного или нескольких ранее обработанных блоков, где информация интерполяционного фильтра указывает интерполяционные фильтры, используемые для интерполяции блоков прогнозирования одного или нескольких ранее обработанных блоков. 1. A video processing method, comprising: maintaining, prior to conversion between a current video block of video and an encoded representation of that video, at least one history-based motion vector prediction (HMVP) table, wherein the HMVP prediction table contains one or more positions corresponding to the information about the movement of one or more previously processed blocks; and performing a conversion using the at least one HMVP prediction table; and wherein the motion information from each position is configured to contain interpolation filter information for one or more previously processed blocks, wherein the interpolation filter information indicates interpolation filters used to interpolate prediction blocks of the one or more previously processed blocks.
2. Способ обработки видео, содержащий: поддержание, прежде преобразования между текущим видеоблоком видео и кодированным представлением этого видео, по меньшей мере одной таблицы прогнозирования вектора движения на основе предыстории (HMVP), содержащий одну или несколько позиций, соответствующих информации о движении одного или нескольких ранее обработанных блоков, и где информация о движении для каждой позиции конфигурирована так, чтобы содержать информацию интерполяционного фильтра для одного или нескольких ранее обработанных блоков; построение, для преобразования, списка кандидатов движения, содержащего объединяемого кандидата для прогнозирования HMVP, где этого кандидата для прогнозирования HMVP получают путем наследования одной позиции из таблицы прогнозирования HMVP, включая соответствующую информацию интерполяционного фильтра, ассоциированную с этой одной позицией; и осуществление преобразования на основе списка кандидатов движения. 2. A video processing method, comprising: maintaining, prior to conversion between a current video block of video and an encoded representation of that video, at least one history-based motion vector prediction (HMVP) table containing one or more positions corresponding to motion information of one or more previously processed blocks, and where the motion information for each position is configured to contain interpolation filter information for one or more previously processed blocks; constructing, for transformation, a motion candidate list containing a merging HMVP prediction candidate, where the HMVP prediction candidate is obtained by inheriting one position from the HMVP prediction table, including corresponding interpolation filter information associated with that one position; and performing conversion based on the motion candidate list.
3. Способ согласно статье 1 или 2, способ дополнительно содержит обновление, избирательно после преобразования, таблицы прогнозирования HMVP.3. The method according to article 1 or 2, the method further comprises updating, selectively after transformation, the HMVP prediction table.
4. Способ согласно статье 1 или 2, способ дополнительно содержит обновление избирательно таблицы прогнозирования HMVP с использованием информации о движении, полученной в процессе преобразования для текущего видеоблока, где информация о движении, полученная для текущего видеоблока, содержит информацию интерполяционного фильтра для этого текущего видеоблока.4. The method according to clause 1 or 2, the method further comprises selectively updating the HMVP prediction table using motion information obtained in the conversion process for the current video block, where the motion information obtained for the current video block contains interpolation filter information for that current video block.
5. Способ согласно статье 3 или 4, отличающийся тем, что процедура обновления содержит определение, следует ли вставить нового кандидата в таблицу прогнозирования HMVP, без учета информации интерполяционного фильтра.5. The method according to clause 3 or 4, characterized in that the update procedure comprises determining whether a new candidate should be inserted into the HMVP prediction table without taking into account the interpolation filter information.
6. Способ согласно статье 4, отличающийся тем, что новый кандидат и позиция в таблице прогнозирования HMVP прежде обновления, имеющие разную информацию интерполяционного фильтра, но одинаковую часть или всю остальную информацию о движении, исключая информацию интерполяционного фильтра, рассматриваются как один и тот же кандидат. 6. The method according to Article 4, characterized in that the new candidate and the position in the HMVP prediction table before the update having different interpolation filter information but the same part or all of the remaining motion information excluding the interpolation filter information are considered to be the same candidate .
7. Способ согласно статье 3 или 4, отличающийся тем, что процедура обновления содержит определение, следует ли вставить нового кандидата в таблицу прогнозирования HMVP, путем рассмотрения информации интерполяционного фильтра.7. The method according to Clause 3 or 4, wherein the update procedure comprises determining whether a new candidate should be inserted into the HMVP prediction table by considering interpolation filter information.
8. Способ согласно статье 7, отличающийся тем, что новый кандидат и позиция в таблице прогнозирования HMVP прежде обновления, имеющие одинаковую часть или всю остальную информацию о движении, исключая информацию интерполяционного фильтра, рассматриваются как два разных кандидата. 8. The method according to Clause 7, characterized in that the new candidate and the position in the HMVP prediction table before the update having the same part or all of the remaining motion information excluding the interpolation filter information are considered as two different candidates.
9. Способ согласно какой-либо из статей 5 – 8, отличающийся тем, что указанного нового кандидата получают на основе информации о движении для текущего видеоблока;9. The method according to any of Articles 5 to 8, characterized in that said new candidate is obtained based on the motion information for the current video block;
10. Способ согласно какой-либо из статей 5 – 8, отличающийся тем, что процедура обновления содержит, для нового кандидата, отличного от позиций в таблице прогнозирования HMVP, добавление такого нового кандидата в эту таблицу прогнозирования HMVP.10. A method according to any of clauses 5 to 8, characterized in that the update procedure comprises, for a new candidate other than positions in the HMVP prediction table, adding such new candidate to that HMVP prediction table.
11. Способ согласно какой-либо из статей 5 – 8, отличающийся тем, что процедура обновления содержит, для нового кандидата, совпадающего с одной из позиций таблицы прогнозирования HMVP, исключение этой позиции из таблицы прогнозирования HMVP и добавление такого нового кандидата в указанную таблицу прогнозирования HMVP.11. A method according to any of Articles 5 to 8, characterized in that the update procedure comprises, for a new candidate matching one of the positions of the HMVP prediction table, excluding this position from the HMVP prediction table and adding such a new candidate to the specified prediction table HMVP.
12. Способ согласно какой-либо из статей 1 – 11, отличающийся тем, что информация интерполяционного фильтра содержит индекс интерполяционного фильтра с точностью в половину отсчета, который указывает использование альтернативного интерполяционного фильтра или интерполяционного фильтра по умолчанию. 12. A method according to any of Clauses 1 to 11, wherein the interpolation filter information includes a half-count interpolation filter index that indicates the use of an alternative interpolation filter or a default interpolation filter.
13. Способ согласно статье 12, отличающийся тем, что индекс интерполяционного фильтра с точностью в половину отсчета равен 0 для индикации использования интерполяционного фильтра по умолчанию.13. The method of Clause 12, wherein the half-sample interpolation filter index is 0 to indicate use of the default interpolation filter.
14. Способ согласно статье 12, отличающийся тем, что индекс интерполяционного фильтра с точностью в половину отсчета равен 1 для индикации использования альтернативного интерполяционного фильтра.14. The method according to Article 12, characterized in that the half-count interpolation filter index is 1 to indicate the use of an alternative interpolation filter.
15. Способ согласно статье 12, отличающийся тем, что интерполяционный фильтр по умолчанию имеет набор коэффициентов [-1, 4, -11, 40, 40, -11, 4, -1].15. The method according to Article 12, characterized in that the default interpolation filter has a set of coefficients [-1, 4, -11, 40, 40, -11, 4, -1].
16. Способ согласно статье 12, отличающийся тем, что the альтернативный интерполяционный фильтр имеет набор коэффициентов [0, 3, 9, 20, 20, 9, 3, 0].16. The method according to Article 12, characterized in that the alternative interpolation filter has a set of coefficients [0, 3, 9, 20, 20, 9, 3, 0].
17. Способ согласно какой-либо из статей 1 – 16, отличающийся тем, что процедура преобразования содержит генерацию кодированного представления из текущего видеоблока. 17. A method according to any of Articles 1 to 16, characterized in that the conversion procedure comprises generating an encoded representation from the current video block.
18. Способ согласно какой-либо из статей 1 – 16, отличающийся тем, что процедура преобразования содержит генерацию текущего видеоблока из кодированного представления.18. A method according to any of Articles 1 to 16, characterized in that the conversion procedure comprises generating the current video block from the encoded representation.
19. Устройство в видео системе, содержащее процессор и энергонезависимое запоминающее устройство с записанными в нем командами, при выполнении которых процессор осуществляет способ согласно какой-либо из статей 1 – 18.19. A device in a video system containing a processor and a non-volatile storage device with commands recorded in it, upon execution of which the processor implements a method in accordance with any of Articles 1 to 18.
20. Компьютерный программный продукт, сохраняемый на читаемых компьютером энергонезависимых носителях, этот компьютерный программный продукт содержит программный код для осуществления способа согласно какой-либо одной или нескольким из статей 1 – 18.20. A computer program product stored on computer-readable non-volatile media, this computer program product contains program code for implementing a method according to any one or more of Articles 1 to 18.
Пятая группа статей описывает некоторые признаки и аспекты способов, описываемых в предыдущем разделе, включая, например, Примеры реализации 7 и 11-12.The fifth group of articles describes some features and aspects of the methods described in the previous section, including, for example, Implementation Examples 7 and 11-12.
1. Способ кодирования видео, содержащий: принятие решения о режиме кодирования, используемом для представления текущего видеоблока видео в кодированном представлении этого видео; и кодирование текущего видеоблока с преобразованием в кодированное представление в соответствии с режимом кодирования, где использование точности в половину пикселя для представления информации о движении не активизируют для текущего видеоблока вследствие использования указанного режима кодирования. 1. A method for encoding video, comprising: deciding on an encoding mode used to represent the current video block of video in an encoded representation of that video; and encoding the current video block into a coded representation according to an encoding mode, where the use of half-pixel precision for representing motion information is not enabled for the current video block due to the use of said encoding mode.
2. Способ декодирования видео, содержащий: синтаксический анализ кодированного представления видео с целью определения, что текущий видеоблок видео кодирован с использованием некоторого режима кодирования; и генерацию декодированного представления текущего видеоблока на основе указанного кодированного представления согласно указанному режиму кодированию, где использование точности в половину пикселя для представления информации о движении не активизировано для текущего видеоблока вследствие использования указанного режима кодирования.2. A method for decoding video, comprising: parsing an encoded video representation to determine that the current video video block is encoded using some encoding mode; and generating a decoded representation of the current video block based on said encoded representation according to said encoding mode, where the use of half-pixel precision for representing motion information is not enabled for the current video block due to the use of said encoding mode.
3. Способ согласно статье 1 или 2, отличающийся тем, что указанная информация о движении соответствует одному или нескольким векторам движения для текущего видеоблока. 3. The method according to article 1 or 2, characterized in that said motion information corresponds to one or more motion vectors for the current video block.
4. Способ согласно статье 1 или 2, отличающийся тем, что указанная информация о движении соответствует одному или более значениям разностей векторов движения для текущего видеоблока.4. The method according to article 1 or 2, characterized in that said motion information corresponds to one or more motion vector difference values for the current video block.
5. Способ согласно статье 1 или 2, отличающийся тем, что указанная информация о движении соответствует одному или нескольким векторам движения для текущего видеоблока и одному или более значениям разностей векторов движения для текущего видеоблока. 5. The method according to article 1 or 2, characterized in that said motion information corresponds to one or more motion vectors for the current video block and one or more motion vector difference values for the current video block.
6. Способ согласно какой-либо из статей 1 – 4, отличающийся тем, что, вследствие использования указанного режима кодирования указанное кодированное представление исключает биты и/или бины для передачи в виде сигнализации, применимо ли разрешение в половину пикселя к текущему видеоблоку. 6. A method according to any of Articles 1 to 4, characterized in that, due to the use of said encoding mode, said encoded representation excludes bits and/or bins for signaling whether the half-pixel resolution is applicable to the current video block.
7. Способ согласно какой-либо из статей 1 – 6, отличающийся тем, что указанный режим кодирования соответствует режиму с внутрикадровым копированием блоков (IBC), который генерирует блок прогнозирования с использованием по меньшей мере блочного вектора, указывающего на видео кадр, содержащий текущий видеоблок, с целью кодирования этого текущего видеоблока.7. A method according to any of Articles 1 to 6, characterized in that said encoding mode corresponds to an intra-block copy (IBC) mode that generates a prediction block using at least a block vector pointing to a video frame containing the current video block , for the purpose of encoding this current video block.
8. Способ согласно статье 7, отличающийся тем, что индикацию интерполяционного фильтра с точностью в половину пикселя не передают в виде сигнализации.8. The method according to Article 7, characterized in that the indication of the interpolation filter with an accuracy of half a pixel is not transmitted as an alarm.
9. Способ согласно статье 1, отличающийся тем, что указанный режим кодирования соответствует режиму, в котором текущий видеоблок разбивают на две части, каждая часть ассоциирована с одним кандидатом движения, и из одного и того же списка кандидатов движения выводят двух кандидатов движения. 9. The method according to Article 1, characterized in that said encoding mode corresponds to a mode in which the current video block is divided into two parts, each part is associated with one motion candidate, and two motion candidates are derived from the same list of motion candidates.
10. Способ согласно статье 9, отличающийся тем, что указанный режим кодирования соответствует треугольному режиму прогнозирования. 10. The method according to Article 9, characterized in that said coding mode corresponds to a triangular prediction mode.
11. Способ согласно статье 1, отличающийся тем, что указанный режим кодирования соответствует режиму объединения, в котором текущий видеоблок и соседние блоки совместно используют информацию о движении. 11. The method according to Article 1, characterized in that said encoding mode corresponds to a combining mode in which the current video block and neighboring blocks share motion information.
12. Способ обработки видео, содержащий: определение, что для текущего видеоблока, обрабатываемого с использованием режима обобщенного двунаправленного прогнозирования (GBi), следует использовать первый весовой коэффициент и второй, отличный от первого весовой коэффициент для первого блока прогнозирования и второго блока прогнозирования, соответственно, эти первый весовой коэффициент и второй весовой коэффициент выбирают из наборов весовых коэффициентов; и осуществление преобразования между текущим видеоблоком видео и кодированным представлением этого видео с использованием конечного предиктора, где первый набор весовых коэффициентов, используемый для режима межкадрового прогнозирования, отличается от второго набора весовых коэффициентов, используемого для аффинного режима межкадрового прогнозирования.12. A video processing method, comprising: determining that for a current video block processed using a generalized bidirectional prediction (GBi) mode, a first weight coefficient and a second different weight coefficient should be used for the first prediction block and the second prediction block, respectively, the first weight and the second weight are selected from sets of weights; and performing a transformation between the current video block of a video and an encoded representation of that video using the final predictor, wherein the first set of weights used for the inter-prediction mode is different from the second set of weights used for the affine inter-prediction mode.
13. Способ согласно статье 12, отличающийся тем, что сумма первого весового коэффициента и второго весового коэффициента равна 1. 13. The method according to Article 12, characterized in that the sum of the first weighting coefficient and the second weighting coefficient is equal to 1.
14. Способ согласно статье 12, отличающийся тем, что указанные наборы весовых коэффициентов сообщают в виде сигнализации в наборе параметров последовательности (SPS), наборе параметров видео (VPS), наборе параметров изображения (PPS), заголовке изображения, заголовке группы плиток или заголовке среза, ассоциированного с текущим видеоблоком.14. The method of Clause 12, wherein said sets of weights are signaled in a Sequence Parameter Set (SPS), Video Parameter Set (VPS), Picture Parameter Set (PPS), Image Header, Tile Group Header, or Slice Header associated with the current video block.
15. Способ согласно статье 12, отличающийся тем, что указанные наборы весовых коэффициентов задают предварительно.15. The method according to Article 12, characterized in that the specified sets of weighting coefficients are pre-set.
16. Способ обработки видео, содержащий: определение, для преобразования между несколькими видео единицами видеообласти видео и кодированным представлением этих нескольких видео единиц, информации относительно интерполяционного фильтра в зависимости от режима кодирования видео единицы, этот интерполяционный фильтр используется для интерполяции значений разностей векторов движения в кодированном представлении и имеет точность M целых пикселей или точность 1/N долю пикселя, где M и N – положительные целые числа; и осуществление преобразования с использованием этого интерполяционного фильтра.16. A video processing method, comprising: determining, for converting between multiple video units of a video region and an encoded representation of these multiple video units, information regarding an interpolation filter depending on the encoding mode of the video unit, this interpolation filter is used to interpolate the values of motion vector differences in the encoded representation and has a precision of M integer pixels or a precision of 1/N fraction of a pixel, where M and N are positive integers; and performing the conversion using this interpolation filter.
17. Способ согласно статье 16, отличающийся тем, что процедура определения осуществляет определение первого набора коэффициентов интерполяционного фильтра для видео единицы, кодированной в аффинном режиме, и отличающийся тем, что процедура определения осуществляет определение второго, отлично от первого набора коэффициентов интерполяционного фильтра для другой видео единицы, кодированной в неаффинном режиме.17. A method according to Article 16, characterized in that the determination procedure determines a first set of interpolation filter coefficients for a video unit encoded in affine mode, and characterized in that the determination procedure determines a second, different from the first set of interpolation filter coefficients for another video unit encoded in non-affine mode.
18. Способ согласно статье 16, отличающийся тем, что процедура определения осуществляет определение первого набора коэффициентов интерполяционного фильтра для видео единицы, кодированной в режиме копирования IBC, и отличающийся тем, что процедура определения осуществляет определение второго, отличного от первого набора коэффициентов для интерполяции другой видео единицы, кодированной не в режиме IBC.18. The method according to Article 16, characterized in that the determination procedure determines a first set of interpolation filter coefficients for a video unit encoded in the IBC copy mode, and characterized in that the determination procedure determines a second, different from the first set of coefficients for interpolation of another video unit not encoded in IBC mode.
19. Способ согласно какой-либо из статей 1 – 18, отличающийся тем, что процедура преобразования содержит генерацию кодированного представления на основе текущего видеоблока. 19. A method according to any of Articles 1 to 18, characterized in that the conversion procedure comprises generating an encoded representation based on the current video block.
20. Способ согласно какой-либо из статей 1 – 18, отличающийся тем, что процедура преобразования содержит генерацию текущего видеоблока на основе кодированного представления.20. A method according to any of Articles 1 to 18, characterized in that the conversion procedure comprises generating the current video block based on the encoded representation.
21. Устройство в видео системе, содержащее процессор и энергонезависимое запоминающее устройство с записанными в нем командами, при выполнении которых процессор осуществляет способ согласно какой-либо из статей 1 – 20.21. A device in a video system containing a processor and a non-volatile storage device with commands recorded in it, upon execution of which the processor implements a method in accordance with any of Articles 1 - 20.
22. Компьютерный программный продукт, сохраняемый на читаемых компьютером энергонезависимых носителях, этот компьютерный программный продукт содержит программный код для осуществления способа согласно какой-либо одной или нескольким из статей 1 – 20.22. A computer program product stored on computer-readable non-volatile media, this computer program product contains program code for implementing a method according to any one or more of Articles 1 to 20.
Шестая группа статей описывает некоторые признаки и аспекты способов, описываемых в предыдущем разделе, включая, например, Пример реализации 9.The sixth group of articles describes some features and aspects of the methods described in the previous section, including, for example, Implementation Example 9.
1. Способ кодирования видео, содержащий: принятие решения о режиме кодирования, используемом для представления текущего видеоблока видео в форме кодированного представления видео; и кодирование текущего видеоблока с преобразованием в кодированное представление в соответствии с режимом кодирования, где использование альтернативных фильтров с точностью в половину пикселя в дополнение к фильтру по умолчанию с точностью в половину пикселя для представления информации о движении не активизировано для текущего видеоблока вследствие использования указанного режима кодирования. 1. A video encoding method, comprising: deciding on an encoding mode used to represent a current video video block in the form of an encoded video representation; and encoding the current video block into a coded representation according to an encoding mode, wherein the use of alternative half-pixel filters in addition to the default half-pixel filter to represent motion information is not enabled for the current video block due to the use of said encoding mode. .
2. Способ декодирования видео, содержащий: синтаксический анализ кодированного представления видео для определения, что текущий видеоблок видео кодирован с использованием некого режима кодирования; и генерацию декодированного представления текущего видеоблока на основе кодированного представления в соответствии с указанным режимом кодирования, где использование альтернативных фильтров с точностью в половину пикселя в дополнение к фильтру по умолчанию с точностью в половину пикселя для представления информации о движении не активизировано для текущего видеоблока вследствие использования указанного режима кодирования.2. A method for decoding video, comprising: parsing an encoded video representation to determine that the current video block of video is encoded using a certain encoding mode; and generating a decoded representation of the current video block based on the encoded representation in accordance with the specified encoding mode, where the use of alternative half-pixel filters in addition to the default half-pixel filter for representing motion information is not enabled for the current video block due to the use of the specified coding mode.
3. Способ согласно статье 1 или 2, отличающийся тем, что указанный режим кодирования соответствует режиму треугольного прогнозирования, в котором видеоблок разбит на несколько частей, по меньшей мере одна из которых имеет непрямоугольную форму. 3. The method according to article 1 or 2, characterized in that said encoding mode corresponds to a triangular prediction mode, in which the video block is divided into several parts, at least one of which has a non-rectangular shape.
4. Способ согласно статье 3, отличающийся тем, что информация относительно альтернативного фильтра с точностью в половину пикселя не наследуется в режиме треугольного прогнозирования, и используется только фильтр по умолчанию с точностью в половину пикселя.4. The method according to Clause 3, wherein information regarding the alternative half-pixel filter is not inherited in the triangular prediction mode, and only the default half-pixel filter is used.
5. Способ согласно статье 1 или 2, отличающийся тем, что указанный режим кодирования соответствует двунаправленному оптическому потоку (BDOF), в котором текущий блок прогнозируют двунаправленным способом.5. The method according to Article 1 or 2, characterized in that said encoding mode corresponds to bidirectional optical flow (BDOF) in which the current block is predicted in a bidirectional manner.
6. Способ согласно статье 1 или 2, отличающийся тем, что указанный режим кодирования соответствует режиму уточнения векторов движения на стороне декодирующего устройства (DMVR), в котором уточняют информацию прогнозирования на основе информации о движении, полученной на стороне декодирующего устройства.6. The method according to Article 1 or 2, characterized in that said encoding mode corresponds to a decoder-side motion vector refinement (DMVR) mode in which prediction information is refined based on motion information obtained at the decoder side.
7. Способ согласно статье 1 или 2, отличающийся тем, что указанный режим кодирования соответствует режиму определения вектора движения на стороне декодирующего устройства (DMVD), что определяет информацию о движении на стороне декодирующего устройства. 7. The method according to Article 1 or 2, characterized in that said encoding mode corresponds to a decoder-side motion vector determination (DMVD) mode, which determines motion information at the decoder side.
8. Способ согласно статье 1 или 2, отличающийся тем, что указанный режим кодирования соответствует комбинированному режиму межкадрового-внутрикадрового прогнозирования (CIIP), в котором комбинируют межкадровое и внутрикадровое прогнозирование для генерации конечного прогнозированного сигнала. 8. The method according to Clause 1 or 2, wherein said encoding mode corresponds to a combined inter-intra prediction (CIIP) mode in which inter-frame and intra-frame prediction are combined to generate a final predicted signal.
9. Способ согласно статье 1 или 2, отличающийся тем, что указанный режим кодирования соответствует режиму симметричной разности векторов движения (SMVD), в котором симметрично обрабатывают разность векторов движения. 9. The method according to Article 1 or 2, characterized in that said encoding mode corresponds to a symmetric motion vector difference (SMVD) mode in which the motion vector difference is processed symmetrically.
10. Способ согласно статье 1 или 2, отличающийся тем, что указанный режим кодирования соответствует режиму SBT (преобразование субблоков), который трансформирует субблок в преобразованный блок.10. The method according to Article 1 or 2, characterized in that said encoding mode corresponds to an SBT (Sub-Block Transform) mode, which transforms a sub-block into a transformed block.
11. Способ кодирования видео, содержащий: определение, что поскольку использование альтернативного интерполяционного фильтра активизировано для видеоблока видео, некий режим кодирования недопустим для кодирования видеоблока с преобразованием в кодированное представление видео; и генерацию кодированного представления видеоблока на основе результата определения, где альтернативный интерполяционный фильтр используется для интерполяции блоков межкадрового прогнозирования для текущего видеоблока.11. A video encoding method, comprising: determining that because the use of an alternative interpolation filter is enabled for a video video block, a certain encoding mode is not valid for encoding the video block into a coded video representation; and generating an encoded representation of the video block based on the determination result, where the alternative interpolation filter is used to interpolate inter-frame prediction blocks for the current video block.
12. Способ декодирования видео, содержащий: определение, что поскольку использование альтернативного интерполяционного фильтра активизировано для видеоблока видео, использование некоего режима кодирования для представления этого видеоблока в кодированном представлении видео недопустимо; и генерацию декодированного видеоблока посредством синтаксического анализа кодированного представления на основе результата определения.12. A method for decoding video, comprising: determining that since the use of an alternative interpolation filter is enabled for a video block, the use of a certain encoding mode to represent that video block in the encoded video representation is invalid; and generating a decoded video block by parsing the encoded representation based on the determination result.
13. Способ согласно статье 11 или 12, отличающийся тем, что указанный альтернативный интерполяционный фильтр представляет собой альтернативный интерполяционный фильтр с точностью в половину отсчета.13. The method according to article 11 or 12, characterized in that said alternative interpolation filter is an alternative interpolation filter with half-sample accuracy.
14. Способ согласно статье 11, отличающийся тем, что процедура определения осуществляет определение, что следует не допускать режим кодирования, соответствующий режиму кодирования, в котором текущий видеоблок разделяют на две части, каждая часть ассоциирована с одним кандидатом движения, и из одного и того же списка кандидатов движения выводят двух кандидатов движения.14. The method according to Article 11, characterized in that the determination procedure determines that a coding mode corresponding to a coding mode in which the current video block is divided into two parts, each part associated with one motion candidate, and from the same of the motion candidate list, two motion candidates are output.
15. Способ согласно статье 14, отличающийся тем, что указанный режим кодирования соответствует режиму треугольного прогнозирования.15. The method according to Article 14, characterized in that said coding mode corresponds to a triangular prediction mode.
16. Способ согласно статье 13 или 14, отличающийся тем, что информация относительно альтернативного интерполяционного фильтра не наследуется в указанном режиме кодирования, а используется только интерполяционный фильтр по умолчанию с точностью в половину отсчета. 16. The method according to article 13 or 14, characterized in that information regarding the alternative interpolation filter is not inherited in the specified encoding mode, but only the default interpolation filter with half-sample accuracy is used.
17. Способ согласно статье 11 или 12, отличающийся тем, что процедура определения осуществляет определение, что следует не допустить режим кодирования, соответствующий двунаправленному оптическому потоку (BDOF), в котором (режиме) текущий блок подвергают двунаправленному прогнозированию. 17. The method according to Clause 11 or 12, wherein the determination procedure determines that a coding mode corresponding to bidirectional optical flow (BDOF) in which the current block is subjected to bidirectional prediction should be prevented.
18. Способ согласно статье 17, отличающийся тем, что процедура определения осуществляет определение, что следует не допустить режим кодирования, соответствующий процедуре уточнения векторов движения на стороне декодирующего устройства (DMVR), которая уточняет информацию о прогнозировании на основе информации о движении, полученной на стороне декодирующего устройства.18. The method according to Article 17, characterized in that the determination procedure determines that an encoding mode corresponding to a decoder-side motion vector refinement (DMVR) procedure that refines prediction information based on motion information obtained at the side should be prevented. decoding device.
19. Способ согласно статье 12, отличающийся тем, что процедура определения осуществляет определение, что следует не допустить режим кодирования, соответствующий процедуре определения вектора движения на стороне декодирующего устройства (DMVD), которая определяет информацию о движении на стороне декодирующего устройства. 19. The method according to Article 12, characterized in that the determination procedure determines that an encoding mode corresponding to a decoder-side motion vector determination (DMVD) procedure that determines motion information at the decoder side should be prevented.
20. Способ согласно статье 11, отличающийся тем, что процедура определения осуществляет определение, что следует не допустить режим кодирования, соответствующий режиму комбинированного межкадрового-внутрикадрового прогнозирования (CIIP), в котором комбинируют межкадровое и внутрикадровое прогнозирование для генерации конечного прогнозируемого сигнала. 20. The method according to Clause 11, wherein the determination procedure determines that a coding mode corresponding to a combined inter-frame prediction (CIIP) mode in which inter-frame and intra-frame prediction are combined to generate a final prediction signal should be prevented.
21. Способ согласно статье 20, отличающийся тем, что флаг комбинированного режима прогнозирования CIIP пропускают и признают ложным в случае, когда объединяемый кандидат наследует интерполяционный фильтр.21. The method according to clause 20, characterized in that the CIIP combined prediction mode flag is omitted and declared false in the case where the candidate being combined inherits the interpolation filter.
22. Способ согласно статье 20, отличающийся тем, что интерполяционный фильтр по умолчанию всегда используется, когда флаг режима комбинированного прогнозирования CIIP является истинным.22. The method according to clause 20, characterized in that the default interpolation filter is always used when the CIIP composite prediction mode flag is true.
23. Способ согласно статье 11, отличающийся тем, что процедура определения осуществляет определение, что следует не допустить режим кодирования, соответствующий использованию режима SMVD (симметричная разность векторов движения), который симметрично обрабатывает разности векторов движения. 23. The method according to Article 11, characterized in that the determination procedure determines that a coding mode corresponding to the use of an SMVD (symmetrical motion vector difference) mode that symmetrically processes motion vector differences should be prevented.
24. Способ согласно статье 23, отличающийся тем, что интерполяционный фильтр по умолчанию всегда используется при применении режима SMVD симметричных разностей и отличающийся тем, что синтаксический элемент относительно этого интерполяционного фильтра не передают в виде сигнализации. 24. The method according to clause 23, characterized in that the default interpolation filter is always used when applying the SMVD mode of symmetric differences, and characterized in that the syntax element regarding this interpolation filter is not signaled.
25. Способ согласно статье 23, отличающийся тем, что синтаксический элемент, относящийся к интерполяционному фильтру, указывает, что интерполяционный фильтр не используется, а синтаксический элемент, относящийся к режиму SMVD симметричных разностей, не передают в виде сигнализации, и режим SMVD не используется. 25. The method according to Article 23, characterized in that the syntax element related to the interpolation filter indicates that the interpolation filter is not used, and the syntax element related to the symmetric difference mode SMVD is not signaled, and the SMVD mode is not used.
26. Способ согласно статье 12, отличающийся тем, что процедура определения осуществляет определение, что следует не допустить режим кодирования, соответствующий процедуре SBT (преобразование субблоков), которая трансформирует субблок и превращает его в преобразованный блок. 26. The method according to Article 12, characterized in that the determination procedure determines that an encoding mode corresponding to an SBT (subblock transformation) procedure that transforms a subblock and turns it into a transformed block should be prevented.
27. Способ согласно статье 26, отличающийся тем, что интерполяционный фильтр по умолчанию всегда используется в режиме преобразования SBT, и синтаксический элемент, относящийся к интерполяционному фильтру, не передают в виде сигнализации. 27. The method according to clause 26, characterized in that the default interpolation filter is always used in the SBT transform mode, and the syntax element related to the interpolation filter is not signaled.
28. Способ согласно статье 26, отличающийся тем, что синтаксический элемент, относящийся к интерполяционному фильтру, указывает, что интерполяционный фильтр не используется, синтаксический элемент, относящийся к преобразованию SBT, не передают в виде сигнализации, и режим преобразования SBT не используется. 28. The method according to Article 26, characterized in that the syntax element related to the interpolation filter indicates that the interpolation filter is not used, the syntax element related to the SBT transformation is not signaled, and the SBT transformation mode is not used.
29. Способ согласно статье 11, отличающийся тем, что процедура генерации кодированного представления содержит генерацию этого кодированного представления посредством кодирования видеоблока с использованием режима треугольного кодирования, в каком видеоблок разбивают на несколько фрагментов, так что по меньшей мере один из этих фрагментов является непрямоугольным. 29. The method according to Article 11, wherein the procedure for generating a coded representation comprises generating the coded representation by encoding a video block using a triangular encoding mode, in which the video block is divided into several fragments such that at least one of these fragments is non-rectangular.
30. Способ согласно статье 29, отличающийся тем, что информацию относительно интерполяционного фильтра наследуют в режиме треугольного кодирования.30. The method according to Article 29, characterized in that information regarding the interpolation filter is inherited in a triangular encoding mode.
31. Способ согласно статье 11, отличающийся тем, что процедура генерации кодированного представления содержит генерацию этого кодированного представления путем исключения синтаксических элементов, сигнализирующих использование режима кодирования.31. The method according to Article 11, characterized in that the procedure for generating an encoded representation comprises generating the encoded representation by eliminating syntactic elements signaling the use of an encoding mode.
32. Способ согласно статье 12, отличающийся тем, что процедура синтаксического анализа кодированного представления содержит синтаксический анализ этого кодированного представления в отсутствие синтаксических элементов, сигнализирующих использование режима кодирования.32. A method according to Article 12, characterized in that the procedure for parsing an encoded representation comprises parsing that encoded representation in the absence of syntactic elements signaling the use of an encoding mode.
33. Устройство в видео системе, содержащее процессор и энергонезависимое запоминающее устройство с записанными в нем командами, при выполнении которых процессор осуществляет способ согласно какой-либо из статей 1 – 32.33. A device in a video system containing a processor and a non-volatile storage device with commands recorded in it, upon execution of which the processor implements a method in accordance with any of Articles 1 to 32.
34. Компьютерный программный продукт, сохраняемый на читаемых компьютером энергонезависимых носителях, этот компьютерный программный продукт содержит программный код для осуществления способа согласно какой-либо одной или нескольким из статей 1 – 32.34. A computer program product stored on computer-readable non-volatile media, this computer program product contains program code for implementing a method according to any one or more of Articles 1 to 32.
В некоторых вариантах, описанные выше способы могут быть реализованы посредством устройства, содержащего процессор, конфигурируемый для осуществления соответствующего способа. In some embodiments, the methods described above may be implemented by a device comprising a processor configured to implement the corresponding method.
Предлагаемые и другие решения, примеры, варианты, модули и функциональные операции, описываемые в этом документе, могут быть реализованы в цифровой электронной схеме или в компьютерном загружаемом программном обеспечении, встроенном программном обеспечении или аппаратуре, включая структуры, рассматриваемые в настоящем документе, и их структурные эквиваленты, либо в комбинации одного или нескольких перечисленных компонентов. Рассмотренные и другие варианты могут быть реализованы в одном или нескольких компьютерных программных продуктах, т.е. в одном или нескольких модулях компьютерных программных команд, закодированных на читаемом компьютером носителе информации для выполнения посредством устройства обработки данных или для управления работой этого устройства обработки данных. Этот читаемый компьютером носитель может представлять собой машиночитаемое устройство для хранения информации, машиночитаемую подложку для хранения информации, запоминающее устройство, композицию объектов, генерирующую машиночитаемый распространяющийся сигнал, или комбинацию одного или нескольких перечисленных объектов. Термин «устройство обработки данных» охватывает все устройства, аппаратуру и машины для обработки данных, включая, например, программируемый процессор, компьютер, либо нескольких процессоров или компьютеров. Такое устройство может содержать, в дополнение к аппаратуре, код, создающий среду для выполнения рассматриваемой компьютерной программы, например, код, составляющий встроенное программное обеспечение процессора, стек протоколов, систему управления базой данных, операционную систему или комбинацию одного или нескольких перечисленных объектов. Распространяющийся сигнал представляет собой искусственно генерируемый сигнал, например, генерируемый машиной электрический, оптический или электромагнитный сигнал, генерируемый для кодирования информации с целью передачи подходящему приемному устройству.The proposed and other solutions, examples, embodiments, modules and functional operations described in this document may be implemented in digital electronic circuitry or in computer downloadable software, firmware or hardware, including the structures discussed herein and their structural equivalents, or in combination of one or more of the listed components. The considered and other options can be implemented in one or more computer software products, i.e. in one or more modules of computer program instructions encoded on a computer-readable storage medium for execution by a data processing device or for controlling the operation of that data processing device. The computer-readable medium may be a computer-readable storage device, a computer-readable storage substrate, a storage device, a composition of objects generating a computer-readable propagated signal, or a combination of one or more of these. The term "data processing device" covers all devices, apparatus and machines for processing data, including, for example, a programmable processor, a computer, or multiple processors or computers. Such a device may contain, in addition to hardware, code that provides an environment for executing the computer program in question, such as code constituting processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of these. A propagating signal is an artificially generated signal, such as a machine-generated electrical, optical, or electromagnetic signal, generated to encode information for transmission to a suitable receiving device.
Компьютерная программа (также известная как программа, программное обеспечение, программное приложение, сценарий (скрипт) или код) может быть написана на каком-либо языке программирования, включая компилируемые или интерпретируемые языки, и может быть развернута в любой форме, включая автономную программу или в виде модуля, компонента, подпрограммы или другой единицы, подходящей для использования в компьютерной среде. Компьютерная программа необязательно соответствует файлу в файловой системе. Программа может быть сохранена в части файла, который содержит также другие программы или данные (например, один или несколько сценариев сохраняются в документе на языке разметки), в одном файле, специально предназначенном только для рассматриваемой программы, или в нескольких координированных файлах (например, в файлах, сохраняющих один или несколько модулей, подпрограмм или фрагментов кода). Компьютерная программа может быть развернута для выполнения на одном компьютере или на нескольких компьютерах, расположенных в одном пункте или распределенных по нескольким пунктам и соединенных посредством сети связи.A computer program (also known as a program, software, software application, script or code) may be written in any programming language, including compiled or interpreted languages, and may be deployed in any form, including a stand-alone program or in form of a module, component, subroutine, or other unit suitable for use in a computer environment. A computer program does not necessarily correspond to a file on a file system. A program may be stored in a portion of a file that also contains other programs or data (for example, one or more scripts are stored in a markup language document), in a single file specifically dedicated only to the program in question, or in multiple coordinated files (for example, files that save one or more modules, subroutines or code fragments). A computer program may be deployed for execution on a single computer or on multiple computers located at a single location or distributed over multiple locations and connected through a communications network.
Процедуры и логические схемы, описываемые в настоящем документе, могут быть осуществлены одним или несколькими программируемыми процессорами, выполняющими одну или несколько компьютерных программ для реализации функций путем оперирования над входными данными и генерации выходных данных. Эти процедуры и логические схемы могут также быть осуществлены посредством, и аппаратура может также быть реализована в виде, логической схемы специального назначения, например, программируемой пользователем вентильной матрицы (FPGA (field programmable gate array)) или специализированной интегральной схемы (ASIC (application specific integrated circuit)).The procedures and logic described herein may be implemented by one or more programmable processors executing one or more computer programs to implement functions by operating on input data and generating output data. These procedures and logic circuits may also be implemented by, and the hardware may also be implemented in, the form of special-purpose logic circuitry, such as a field programmable gate array (FPGA) or application specific integrated circuit (ASIC). circuit)).
К процессорам, подходящим для выполнения компьютерной программы, относятся, например, микропроцессоры общего и специального назначения и какие-либо один или несколько процессоров цифрового компьютера какого-либо типа. В общем случае, процессор будет принимать команды и данные из постоянного запоминающего устройства и/или из запоминающего устройства с произвольной выборкой. Основными элементами компьютера являются процессор для выполнения команд и одно или несколько запоминающих устройств для сохранения команд и данных. В общем случае, компьютер должен также содержать или быть оперативно связанным для приема данных и/или для передачи данных, одно или несколько запоминающих устройств большой емкости для хранения данных, например, магнитные устройства, магнитооптические диски или оптические диски. Однако компьютеру необязательно иметь такие устройства. К читаемым компьютером носителям для сохранения команд компьютерных программ и данных относятся все формы энергонезависимых запоминающих устройств и носителей информации, включая, например, полупроводниковые запоминающие устройства, например, стираемое, программируемое постоянное запоминающее устройство (СППЗУ (EPROM)), электрически стираемое программируемое постоянное запоминающее устройство (ЭСППЗУ (EEPROM)) и устройства флэш-памяти; магнитные диски, например, встроенные жесткие диски или съемные диски; магнитооптические диски; и диски CD ROM и DVD-ROM. Процессор и запоминающее устройство могут быть дополнены или встроены в логическую схему специального назначения. Processors suitable for executing a computer program include, for example, general purpose and special purpose microprocessors and any one or more digital computer processors of any type. In general, the processor will receive instructions and data from read only memory and/or random access memory. The main elements of a computer are a processor for executing commands and one or more storage devices for storing commands and data. In general, a computer will also include, or be operatively coupled to receive data and/or transmit data, one or more mass storage devices for storing data, such as magnetic devices, magneto-optical disks, or optical disks. However, the computer does not need to have such devices. Computer-readable media for storing computer program instructions and data includes all forms of non-volatile storage devices and storage media, including, for example, semiconductor storage devices, such as erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM) and flash memory devices; magnetic disks, such as built-in hard drives or removable drives; magneto-optical disks; and CD ROMs and DVD-ROMs. The processor and storage device can be augmented or embedded in special-purpose logic circuitry.
Хотя настоящий патентный документ содержит много конкретных деталей, их не следует толковать в качестве ограничений объема какого-либо предмета изобретения или того, что может быть заявлено в Формуле изобретения, а всего лишь как описание признаков, которые могут быть специфичны для конкретных вариантов конкретных способов. Некоторые признаки, описываемые в настоящем патентном документе в контексте раздельных вариантов, могут также быть реализованы в сочетании в одном варианте. Напротив, различные признаки, описываемые в контексте одного варианта, могут также быть реализованы в нескольких вариантах по отдельности или в какой-либо подходящей субкомбинации. Более того, хотя признаки могут быть описаны выше как действующие в некоторых комбинациях и даже первоначально заявлены таковыми, один или несколько признаков из заявленной комбинации могут, в некоторых случаях, быть исключены из такой комбинации, и заявленная комбинация может быть превращена в субкомбинацию или в вариацию субкомбинации.Although this patent document contains many specific details, they should not be construed as limiting the scope of any subject matter of the invention or what may be claimed, but merely as a description of features that may be specific to particular embodiments of particular methods. Certain features described in this patent document in the context of separate embodiments may also be implemented in combination in a single embodiment. Conversely, various features described in the context of one embodiment may also be implemented in multiple embodiments individually or in some suitable subcombination. Moreover, although features may be described above as operating in certain combinations, and even originally stated as such, one or more features from a claimed combination may, in some cases, be excluded from such combination, and the claimed combination may be made into a subcombination or variation subcombinations.
Аналогично, хотя операции показаны на чертежах в конкретном порядке, это не следует понимать как требование, чтобы такие операции всегда осуществлялись именно в показанном конкретном порядке, или в последовательном порядке, или чтобы все показанные операции были выполнены, для достижения желаемого результата. Более того, разделение разнообразных компонентов системы в описываемых в настоящем патентном документе вариантах не следует понимать как требование такого разделения во всех вариантах.Likewise, although operations are shown in a particular order in the drawings, this should not be understood to require that such operations always be performed in the particular order shown, or in a sequential order, or that all operations shown be performed in order to achieve the desired result. Moreover, the separation of the various system components in the embodiments described herein should not be understood to require such separation in all embodiments.
Здесь описано только небольшое число реализаций и примеров, но и другие варианты реализации, усовершенствования и вариации могут быть сделаны на основе того, что описано и иллюстрируется в настоящем патентном документе.Only a small number of implementations and examples are described herein, but other implementations, improvements and variations may be made based on what is described and illustrated herein.
Claims (31)
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNPCT/CN2019/080754 | 2019-04-01 |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2021129533A RU2021129533A (en) | 2023-04-11 |
RU2812698C2 true RU2812698C2 (en) | 2024-01-31 |
Family
ID=
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106464863A (en) * | 2014-04-01 | 2017-02-22 | 联发科技股份有限公司 | Method of adaptive interpolation filtering in video coding |
RU2669005C2 (en) * | 2014-01-03 | 2018-10-05 | МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи | Block vector prediction in video and image coding/decoding |
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2669005C2 (en) * | 2014-01-03 | 2018-10-05 | МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи | Block vector prediction in video and image coding/decoding |
CN106464863A (en) * | 2014-04-01 | 2017-02-22 | 联发科技股份有限公司 | Method of adaptive interpolation filtering in video coding |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102600746B1 (en) | Using interpolation filters for history-based motion vector prediction | |
JP2022506152A (en) | Side information signal notification method for inter-prediction using geometric division | |
JP7359942B2 (en) | Selective use of alternative interpolation filters in video processing | |
WO2021219144A1 (en) | Entropy coding for partition syntax | |
RU2812698C2 (en) | Method of using interpolation filters to predict motion vector based on history |