RU2785090C2 - Device and method for removal of blocking artifacts - Google Patents

Device and method for removal of blocking artifacts Download PDF

Info

Publication number
RU2785090C2
RU2785090C2 RU2021105840A RU2021105840A RU2785090C2 RU 2785090 C2 RU2785090 C2 RU 2785090C2 RU 2021105840 A RU2021105840 A RU 2021105840A RU 2021105840 A RU2021105840 A RU 2021105840A RU 2785090 C2 RU2785090 C2 RU 2785090C2
Authority
RU
Russia
Prior art keywords
block
edge
image
image block
coding block
Prior art date
Application number
RU2021105840A
Other languages
Russian (ru)
Other versions
RU2021105840A (en
Inventor
Ананд Мехер КОТРА
Цзяньлэ Чэнь
Семих ЕСЕНЛИК
Бяо ВАН
Хань ГАО
Чжицзе ЧЖАО
Original Assignee
Хуавей Текнолоджиз Ко., Лтд.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Хуавей Текнолоджиз Ко., Лтд. filed Critical Хуавей Текнолоджиз Ко., Лтд.
Publication of RU2021105840A publication Critical patent/RU2021105840A/en
Application granted granted Critical
Publication of RU2785090C2 publication Critical patent/RU2785090C2/en

Links

Images

Abstract

FIELD: image processing.
SUBSTANCE: no more than MA values of samples of the first image block, adjacent to a block edge, are modified, and no more than MB values of samples of the second image block, adjacent to a block edge, are modified; or no more than MA values of samples of the second image block, adjacent to the block edge, are modified, and no more than MB values of samples of the first encoding block, adjacent to a block edge, are modified, wherein MA≠MB.
EFFECT: creation of an effective and precise filter for removal of blocking artifacts of an image encoding device.
49 cl, 5 tbl, 20 dwg

Description

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

Варианты осуществления настоящего изобретения относятся к области обработки изображений, например, кодированию статических изображений и/или видеоизображений. В частности, варианты реализации изобретения раскрывают усовершенствованный фильтр удаления блочности.Embodiments of the present invention relate to the field of image processing, such as still image and/or video coding. In particular, embodiments of the invention disclose an improved deblocking filter.

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

В широком спектре приложений цифрового изображения применяется кодирование изображения (кодирование и декодирование), например, для приложений цифрового телевещания, передачи видео через интернет и мобильные сети, диалоговых приложений в реальном времени, таких как видеочат, видеоконференцсвязь, DVD и Blu-ray дисков, систем сбора и редактирования видеоконтента и для видеокамер безопасности.A wide range of digital imaging applications use image coding (encoding and decoding), such as digital television applications, video transmission over the Internet and mobile networks, real-time conversational applications such as video chat, video conferencing, DVD and Blu-ray discs, systems collecting and editing video content and for security cameras.

В 1990 году после разработки в H.261 стандарте блочного гибридного подхода к кодированию видео, были разработаны новые способы и инструменты кодирования видео, которые легли в основу новых стандартов кодирования видео. Одной из задач большинства стандартов кодирования видео было снижение битовой скорости по сравнению с его предшественником без снижения качества изображения. Дополнительные стандарты кодирования видео содержат MPEG-1 видео, MPEG-2 видео, ITU-T H.262/MPEG-2, ITU-T H.263, ITU-T H.264/MPEG-4, часть 10, усовершенствованное кодирование видео (AVC), ITU-T H.265, высокоэффективное кодирование видео (HEVC), ITU-T H.266/универсальное кодирование видео (VVC) и расширения, например, масштабируемость и/или трехмерные (3D) расширения этих стандартов.In 1990, after the block hybrid approach to video coding was developed in the H.261 standard, new video coding methods and tools were developed, which formed the basis of new video coding standards. One of the goals of most video coding standards was to reduce the bit rate compared to its predecessor without compromising image quality. Additional video coding standards include MPEG-1 video, MPEG-2 video, ITU-T H.262/MPEG-2, ITU-T H.263, ITU-T H.264/MPEG-4 Part 10 Advanced Video Coding (AVC), ITU-T H.265, High Efficiency Video Coding (HEVC), ITU-T H.266/Versatile Video Coding (VVC), and extensions such as scalability and/or 3D extensions to these standards.

Общим для схем блочного кодирования изображений является то, что вдоль краев блоков могут появляться краевые артефакты. Эти артефакты возникают из-за независимого кодирования блоков кодирования. Эти краевые артефакты часто легко видны пользователю. Задачей блочного кодирования изображений является уменьшение краевых артефактов ниже порогового значения видимости. Данная техническая задача решается посредством фильтрации удаления блочности. Такая фильтрация удаления блочности выполняется, с одной стороны, на стороне декодирования для удаления видимых краевых артефактов, но также и на стороне кодирования для предотвращения появления краевых артефактов в изображение при кодировании. В частности, для блока изображения (такого как блок преобразования (TU), блок предсказания (PU), блок кодирования (CU)), который использует инструменты субблоков, фильтрация удаления блочности может представлять собой сложную задачу.Common to block image coding schemes is that edge artifacts can appear along the edges of the blocks. These artifacts arise from independent coding of coding blocks. These edge artifacts are often easily visible to the user. The goal of block image coding is to reduce edge artifacts below a visibility threshold. This technical problem is solved by deblocking filtering. Such deblocking filtering is performed on the one hand on the decoding side to remove visible edge artifacts, but also on the encoding side to prevent edge artifacts from appearing in the image during encoding. In particular, for an image block (such as a transform unit (TU), a prediction unit (PU), a coding unit (CU)) that uses sub-block tools, deblocking filtering may be a difficult task.

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

Ввиду вышеупомянутой технической задачи варианты реализации настоящего изобретения направлены на улучшение обычной фильтрации удаления блочности. Варианты реализации настоящего изобретения предлагают устройство фильтра удаления блочности, кодер, декодер и соответствующие способы, которые могут выполнять фильтрацию удаления блочности с уменьшенным временем обработки. Кроме того, удаление блочности должен быть эффективным и точным.In view of the above technical problem, embodiments of the present invention aim to improve conventional deblocking filtering. Embodiments of the present invention provide a deblocking filter apparatus, an encoder, a decoder, and related methods that can perform deblocking filtering with reduced processing time. In addition, deblocking must be efficient and accurate.

Варианты осуществления изобретения определены признаками независимых пунктов формулы изобретения и дополнительные полезные реализации вариантов осуществления определены признаками зависимых пунктов формулы изобретения.Embodiments of the invention are defined by the features of the independent claims and additional useful implementations of the embodiments are defined by the features of the dependent claims.

Конкретные варианты осуществления изложены в прилагаемых независимых пунктах формулы изобретения и другие варианты осуществления предложены в зависимых пунктах формулы изобретения.Specific embodiments are set forth in the appended independent claims and other embodiments are suggested in the dependent claims.

Согласно первому аспекту изобретения обеспечивается устройство фильтра удаления блочности. Устройство фильтра удаления блочности предназначено для использования в кодере изображения и/или декодере изображения. Устройство фильтра удаления блочности содержит:According to a first aspect of the invention, a deblocking filter device is provided. The deblocking filter device is intended for use in an image encoder and/or an image decoder. The deblocking filter device comprises:

блок локализации края, выполненный с возможностью определять края между блоками, причем края между блоками содержат край блока (например, CU край или CU границу или TU границу) между первым Р блоком кодирования и вторым Q блоком кодирования и край субблока между субблоками первого Р блока кодирования или второго Q блока кодирования (т. е. первый Р блок кодирования или второй Q блок кодирования имеет субблоки, либо первый Р блок кодирования или второй Q блок кодирования используют инструменты субблока), в котором первый Р блок кодирования имеет размер M × N выборок или N × M выборок, второй Q блок кодирования имеет размер блока L × T выборок или T × L выборок (размер блока любого из двух блоков кодирования также может быть представлен как W * H, в котором W и H указывают ширину и высоту соответствующего блока кодирования), например, N или T являются четным целым числом 2n (т.е. целочисленной степени два, в котором n является целым числом) и больше порогового значения (например, значение 8 или 16 и т. д.);an edge localization unit configured to determine edges between blocks, wherein the edges between blocks comprise a block edge (e.g., a CU edge or a CU boundary or a TU boundary) between a first P coding block and a second Q coding block and a subblock edge between subblocks of the first P coding block or a second Q coding block (i.e., the first P coding block or the second Q coding block has subblocks, or the first P coding block or the second Q coding block use subblock tools), in which the first P coding block has a size of M × N samples, or N × M samples, the second Q coding block has a block size of L × T samples or T × L samples (the block size of either of the two coding blocks can also be represented as W * H, where W and H indicate the width and height of the corresponding coding block ), for example, N or T is an even integer 2 n (i.e. an integer power of two to which n is an integer) and greater than a threshold value (i.e., the value e 8 or 16, etc.);

блок определения удаления блочности, выполненный с возможностью определять, должен ли край блока между первым Р блоком кодирования и вторым Q блоком кодирования быть отфильтрован путем применения первого фильтра (т.е. более длинного отводного фильтра или асимметричного фильтра, или асимметричного отводного фильтра, или асимметричного длинного фильтра); иa deblocking determination unit configured to determine whether a block edge between the first P coding block and the second Q coding block should be filtered by applying a first filter (i.e., a longer tap filter or an asymmetric filter or an asymmetric tap filter or an asymmetric long filter); and

блок фильтрации удаления блочности, выполненный с возможностью применять первый фильтр (т.е. более длинный отводной фильтр или асимметричный фильтр, или асимметричный отводной фильтр, или асимметричный длинный фильтр) к значениям выборок около края блока между первым Р блоком кодирования и вторым Q блоком кодирования, когда определено, что край блока между первым Р блоком кодирования и вторым Q блоком кодирования должен быть отфильтрован путем применения первого фильтра, в котором модифицируются не более число MA значений выборок первого блока кодирования, перпендикулярного и смежного с краем блока на строку, и модифицируется не более число МВ значений выборок второго блока кодирования, перпендикулярного и смежного с краем блока на строку; или модифицируется не более число МА значений выборок второго блока кодирования, смежного с краем блока на строку, и модифицируется не более число МВ значений выборок первого блока кодирования, смежного с краем блока на строку, MA ≠ MB , в частности, MA < MB, например, MA < MB = 7. Например, MA = 3 и MB = 7; или MA = 4 и MB = 7; или MA = 5 и MB = 7 и т. д. Можно понять, что значение MA или MB зависит от значения N или T.a deblocking filter unit configured to apply a first filter (i.e., a longer tap filter, or an asymmetric filter, or an asymmetric tap filter, or an asymmetric long filter) to sample values near a block edge between the first P coding block and the second Q coding block when it is determined that the block edge between the first P coding block and the second Q coding block is to be filtered by applying a first filter in which no more than the number MA of sample values of the first coding block perpendicular to and adjacent to the block edge per line are modified, and not modified more than the number of MB sample values of the second coding block, perpendicular and adjacent to the edge of the block per line; or at most the number MA of sample values of the second coding block adjacent to a block edge per line is modified, and at most the number MB of sample values of the first coding block adjacent to a block edge per line is modified, MA ≠ MB , in particular, MA < MB, e.g. , MA < MB = 7. For example, MA = 3 and MB = 7; or MA = 4 and MB = 7; or MA = 5 and MB = 7, etc. It can be understood that the value of MA or MB depends on the value of N or T.

Если второй блок Q изображения является текущим блоком, который имеет субблоки или использует инструменты субблока, и первый Р блок изображения является соседним блоком текущего блока, соответственно, во втором блоке кодирования, для каждой строки входных выборок, которые перпендикулярны и смежные с краем блока, модифицируется не более число МА выборок для генерирования выходных фильтрованных выборок; в первом блоке кодирования для каждой строки входных выборок, которые перпендикулярны и смежные с краем блока, модифицируется не более MB выборок для генерирования выходных фильтрованных выборок. В примере N или T является четным целым числом 2n, большее 8, M или L является четным целым числом 2n, большее 2 (например, M или L могут иметь следующие значения 4, 8, 16 или 32,…), M отличается от N или M совпадает с N; или L отличается от T, или L совпадает с T; M × N, в котором N > 8 применяется для горизонтальных краев, и N × M, в котором N > 8, применяется для вертикальных краев. В другом примере N или T является четным целым числом 2n, большее 16, M × N, в котором N> 16, применяется для горизонтальных краев, и N × M, в котором N> 16, применяется для вертикальных краев.If the second image block Q is the current block that has subblocks or uses subblock tools, and the first P image block is a neighboring block of the current block, respectively, in the second coding block, for each row of input samples that are perpendicular and adjacent to the edge of the block, the no more than the number of MA samples to generate output filtered samples; in the first coding block, for each row of input samples that are perpendicular and adjacent to the edge of the block, at most MB samples are modified to generate output filtered samples. In the example, N or T is an even integer 2 n greater than 8, M or L is an even integer 2 n greater than 2 (for example, M or L can have the following values 4, 8, 16 or 32,…), M is different from N or M is the same as N; or L is different from T, or L is the same as T; M × N, in which N > 8 applies to horizontal edges, and N × M, in which N > 8, applies to vertical edges. In another example, N or T is an even integer 2n greater than 16, M×N where N>16 is used for horizontal edges, and N×M where N>16 is used for vertical edges.

Далее будет приведено описание разницы между краем блока и краями субблока. Край субблока является краем, который является внутренним по отношению к блоку, который использует инструменты субблока, которые включают в себя инструменты субблока, такие как Affine или расширенное прогнозирование вектора временного движения (ATMVP), и край блока (то есть, край блока кодирования (CU) или край блока кодирования или CU граница) является краем, совместно используемым между двумя блоками кодирования или двумя блоками кодирования или двумя блоками преобразования. Инструменты субблока также могут включать в себя такие инструменты, как инструменты внутреннего суб-раздела (ISP) и преобразования субблока (SBT).Next, a description will be given of the difference between a block edge and sub-block edges. A sub-block edge is an edge that is internal to a block that uses sub-block tools that include sub-block tools such as Affine or advanced temporal motion vector prediction (ATMVP), and a block edge (that is, a coding block edge (CU ) or coding block edge or CU boundary) is an edge shared between two coding blocks or two coding blocks or two transform blocks. Subblock tools may also include tools such as internal subpartition (ISP) and subblock transform (SBT) tools.

Следует отметить, что в настоящем изобретении используется термин «блок», «блок кодирования» или «блок изображения», который может применяться для блоков преобразования (TUs), блоков предсказания (PUs), блоков кодирования (CUs) и т.д. В VVC, обычно, блоки преобразования и блоки кодирования в основном выровнены, за исключением нескольких сценариев, когда используются TU плитка или преобразование субблока (SBT). Можно понять, что в настоящем изобретении термины «блок/блок изображения/блок кодирования/блок преобразования» и «размер блока/размер блока преобразования» могут быть заменены друг на друга. В настоящем изобретении термины «выборка/пиксель» являются взаимозаменяемыми.It should be noted that the present invention uses the term "block", "coding block" or "picture block", which can be used for transform units (TUs), prediction units (PUs), coding units (CUs), and so on. In VVC, usually, transform blocks and encoding blocks are mostly aligned, with the exception of a few scenarios where TU tile or sub-block transform (SBT) is used. It can be understood that in the present invention, the terms "block/image block/coding block/transformation block" and "block size/transformation block size" can be interchanged with each other. In the present invention, the terms "sample/pixel" are used interchangeably.

Изобретение относится как для вертикальных, так и для горизонтальных краев. Для вертикальных краев проверяется ширина первого или второго блока кодирования, а именно, превышает ли ширина 8 выборок (например, 16 или 32). Для горизонтальных краев проверяется высота первого или второго блока кодирования, превышает ли высота 8 выборок (например, 16 или 32). Для вертикальных краев учитывается ширина блока, только для блоков с шириной> = 16 или шириной> 16, применяется более длинный отводной фильтр (а именно, длинный фильтр). Для горизонтальных краев учитывается высота блока, только для блоков с высотой> = 16 или высотой> 16, применяется более длинный отводной фильтр (а именно, длинный фильтр).The invention applies to both vertical and horizontal edges. For vertical edges, the width of the first or second coding block is checked, namely whether the width is greater than 8 samples (eg 16 or 32). For horizontal edges, the height of the first or second coding block is checked to see if the height is greater than 8 samples (eg, 16 or 32). For vertical edges, the block width is taken into account, only for blocks with a width >= 16 or a width > 16, a longer tap filter is applied (namely, a long filter). For horizontal edges, the block height is taken into account, only for blocks with a height >= 16 or a height > 16, a longer drain filter (namely, a long filter) is applied.

Следует отметить, что первый фильтр (то есть, более длинный отводной фильтр или асимметричный фильтр, или асимметричный отводной фильтр, или асимметричный длинный фильтр) является фильтром, который использует DA выборки для принятия решения о фильтрации на одной стороне края блока и использует DB выборки для решения о фильтрации на другой стороне края блока, и MB выборки модифицируются на одной стороне края блока (CU edge или TU edge), в то время, как MA выборки модифицируются на другой стороне края блока (CU edge или TU edge), в котором MA ≠ MB, в частности, MA <MB, например, MA <MB = 7, например, MA = 3 и MB = 7, или MA = 4 и MB = 7, или MA = 5 и MB = 7. В общем, DA = MA + 1 и DB = MB + 1. Первый фильтр может быть асимметричным фильтром, который модифицирует разное количество выборок на каждой стороне края блока (например, CU edge или TU edge).It should be noted that the first filter (i.e., longer tap filter or asymmetric filter or asymmetric tap filter or asymmetric long filter) is a filter that uses the fetch DA to make a filtering decision on one side of the block edge and uses the fetch DB to filter decisions on the other side of the block edge, and MB samples are updated on one side of the block edge (CU edge or TU edge), while MA samples are updated on the other side of the block edge (CU edge or TU edge), in which the MA ≠ MB, in particular MA < MB, e.g. MA < MB = 7, e.g. MA = 3 and MB = 7, or MA = 4 and MB = 7, or MA = 5 and MB = 7. In general, DA = MA + 1 and DB = MB + 1. The first filter can be an asymmetric filter that modifies a different number of samples on each side of the block edge (eg CU edge or TU edge).

Это позволяет по-разному обрабатывать две стороны края блока и, следовательно, в способе можно не допустить фильтрацию перекрытий между краем блока и краем субблока и, таким образом, может гарантировать, что удаление блочности может выполняться параллельно. Таким образом, значительно сокращается время обработки для фильтрации удаления блочности. This allows the two sides of the box edge to be treated differently, and therefore, the method can prevent overlap filtering between the box edge and the sub-box edge, and thus can ensure that deblocking can be performed in parallel. Thus, the processing time for deblocking filtering is greatly reduced.

Следует отметить, что устройство фильтра может включать в себя процессор, выполненный с возможностью выполнять фильтрацию и модификацию. Кроме того, это также может гарантировать возможность параллельно выполнять удаление блочности, особенно края между блоками, в которых любой из блоков использует инструменты субблока.It should be noted that the filter device may include a processor configured to perform filtering and modification. In addition, it can also guarantee the ability to perform deblocking in parallel, especially the edges between blocks in which any of the blocks use subblock tools.

В возможной форме реализации устройства согласно первому аспекту как таковому, в котором внутри первого блока кодирования находиться край субблока между субблоками и внутри второго блока кодирования находиться край субблока между субблоками (т.е. блок кодирования и второй блок кодирования имеют субблоки), блок определения удаления блочности дополнительно выполнен с возможностью определять присутствует ли край блока между первым блоком кодирования и вторым блоком кодирования, который должен быть отфильтрован путем применения второго фильтра (например, HEVC сильного фильтра); иIn a possible form of implementation of the device according to the first aspect as such, in which, within the first coding block, there is a subblock edge between subblocks, and within the second coding block, there is a subblock edge between subblocks (i.e., the coding block and the second coding block have subblocks), the deletion determination block the blockiness is further configured to determine whether there is a block edge between the first coding block and the second coding block to be filtered by applying a second filter (eg, HEVC strong filter); and

блок фильтрации удаления блочности дополнительно выполнен с возможностью применять второй фильтр (например, HEVC сильный фильтр) к значениям выборок около края блока, когда определено, что край блока между первым блоком кодирования и вторым блоком кодирования должен быть отфильтрован с помощью применения второго фильтра (например, HEVC сильного фильтра), в котором модифицируется число МА' значений выборок первого блока кодирования, смежного с краем блока, и модифицируется число МВ' значений выборок второго блока кодирования, смежного с краем блока, MA' = MB', например, MA'= MB' <7, например, MA'= MB' = 3 или MA'= MB' = 5.the deblocking filter unit is further configured to apply a second filter (e.g., HEVC strong filter) to sample values near a block edge when it is determined that the block edge between the first coding block and the second coding block is to be filtered by applying the second filter (e.g., HEVC strong filter) in which the number MA' of sample values of the first coding block adjacent to the block edge is modified, and the number MB' of sample values of the second coding block adjacent to the block edge is modified, MA' = MB', for example, MA'= MB ' < 7, e.g. MA'= MB' = 3 or MA'= MB' = 5.

Следует отметить, что второй фильтр может быть HEVC сильным фильтром, в котором модифицируются MA' выборки (например, 3) на одной стороне края блока (CU edge) и модифицируются MB' выборки (например, 3) на другой стороне края блока (CU edge). В другом примере второй фильтр является сильным фильтром, который может модифицировать не более трех выборок по обе стороны от края. В HEVC два фильтра определены как фильтр удаления блочности: обычный фильтр и сильный фильтр. Обычный фильтр модифицирует не более двух выборок по обе стороны края. В сильном фильтре выполняется три дополнительных проверок между выборками по краю.It should be noted that the second filter may be a HEVC strong filter that modifies MA' samples (eg 3) on one side of the block edge (CU edge) and modifies MB' samples (eg 3) on the other side of the block edge (CU edge). ). In another example, the second filter is a strong filter that can modify at most three samples on either side of the edge. In HEVC, two filters are defined as a deblocking filter: a regular filter and a strong filter. The normal filter modifies no more than two samples on either side of the edge. The strong filter performs three additional checks between samples along the edge.

В возможной форме реализации устройства согласно первому аспекту как таковому, в котором, при отсутствии края субблока между субблоками внутри второго блока кодирования, но край субблока между субблоками находится внутри первого блока кодирования (т.е. когда первый блок кодирования имеет субблоки), модифицируется не более число МА значений выборок первого блока кодирования, смежного с краем блока на строку, и модифицируется не более число МВ значений выборок второго блока кодирования, смежного с краем блока на строку, например, MA = 3 и MB = 7, или MA = 4 и MB = 7, или MA = 5 и MB = 7;In a possible form of implementation of the device according to the first aspect as such, in which, if there is no subblock edge between subblocks inside the second coding block, but a subblock edge between subblocks is inside the first coding block (i.e., when the first coding block has subblocks), not more than the number MA of sample values of the first coding block adjacent to the block edge per line, and modified by at most the number MB of sample values of the second coding block adjacent to the edge of the block per line, for example, MA = 3 and MB = 7, or MA = 4 and MB = 7, or MA = 5 and MB = 7;

илиor

при отсутствии внутри первого блока кодирования края субблока между субблоками, но при наличии края субблока между субблоками внутри второго блока кодирования (то есть, когда второй блок кодирования имеет субблоки), модифицируются не более число МА значений выборок второго блока кодирования, смежного с краем блока на строку, и модифицируется не более число МВ значений выборок первого блока кодирования, смежного с краем блока на строку, например, MA = 3 и MB = 7, или MA = 4 и MB = 7, или MA = 5 и MB = 7.if there is no subblock edge between subblocks inside the first coding block, but if there is a subblock edge between subblocks inside the second coding block (that is, when the second coding block has subblocks), no more than the number MA of sample values of the second coding block adjacent to the block edge are modified row, and at most the number of MBs of sample values of the first coding block adjacent to a block edge per row is modified, e.g., MA = 3 and MB = 7, or MA = 4 and MB = 7, or MA = 5 and MB = 7.

В возможной форме реализации устройства согласно любой предшествующей реализации первого аспекта или первого аспекта как такового, блок определения удаления блочности дополнительно выполнен с возможностью определять, должен ли край блока между первым блоком кодирования и вторым блоком кодирования быть фильтрован путем применения первого фильтра (т.е. более длинный отводной фильтр или асимметричный фильтр, или асимметричный отводной фильтр, или асимметричный длинный фильтр) на основанииIn an exemplary embodiment of an apparatus according to any prior implementation of the first aspect, or the first aspect as such, the deblocking determination unit is further configured to determine whether a block edge between the first coding block and the second coding block should be filtered by applying the first filter (i.e. longer bypass filter or asymmetric filter or asymmetric bypass filter or asymmetric long filter) on the base

- не более числа DA значений выборок первого блока кодирования, смежного с краем блока, в качестве значений принятия решения первого фильтра, и- no more than the number DA of sample values of the first coding block adjacent to the edge of the block as the decision values of the first filter, and

- не более числа DB значений выборок второго блока кодирования, смежного с краем блока, в качестве значений принятия решения второго фильтра.- no more than the number DB of sample values of the second coding block adjacent to the edge of the block as decision values of the second filter.

В общем, DA = MA + 1 и DB = MB + 1. Если MA = 3 и MB = 3, DA = DB = 4; или, если MA = 7 и MB = 7, DA = DB = 8; или, если MA = 3 и MB = 7, DA = 4, DB = 8; или, если MA = 4 и MB = 7, DA = 5, DB = 8; или, если MA = 5 и MB = 7, DA = 6, DB = 8.In general, DA = MA + 1 and DB = MB + 1. If MA = 3 and MB = 3, DA = DB = 4; or, if MA = 7 and MB = 7, DA = DB = 8; or, if MA = 3 and MB = 7, DA = 4, DB = 8; or, if MA = 4 and MB = 7, DA = 5, DB = 8; or, if MA = 5 and MB = 7, DA = 6, DB = 8.

Это позволяет очень точно и параллельно определять, на каких краях действительно выполнен удаление блочности и на каких краях не выполнен удаление блочности.This allows you to very accurately and in parallel determine which edges are actually deblocked and which edges are not deblocked.

В возможной форме реализации устройства согласно любой предшествующей реализации первого аспекта или первого аспекта как такового, при наличии края субблока между субблоками внутри второго Q блока кодирования (т.е. если второй Q блок кодирования имеет субблоки), блок определения удаления блочности выполнен с возможностью определять, удовлетворяется ли первое условие, определенное следующим первым уравнением:In an exemplary embodiment of an apparatus according to any prior implementation of the first aspect, or the first aspect as such, if there is a subblock edge between subblocks within the second Q coding block (i.e., if the second Q coding block has subblocks), the deblocking determination unit is configured to determine whether the first condition defined by the following first equation is satisfied:

Figure 00000001
Figure 00000001

Figure 00000002
Figure 00000002

в котором β обозначает параметр порогового значения и qi представляют значения выборок второго Q блока кодирования, i = 0,1,2,3 и pj представляют значения выборок первого Р блока кодирования, j = 0, 3, 4, 7 или j = 0, 2, 3, 5.in which β denotes the threshold parameter and q i represent the sample values of the second Q coding block, i = 0,1,2,3 and p j represent the sample values of the first P coding block, j = 0, 3, 4, 7 or j = 0, 2, 3, 5.

Предлагается новое условие фильтрации. Это значительно сокращает объем памяти строк, необходимый для хранения значений пикселей предшествующих блоков кодирования, необходимых для выполнения удаления блочности на крае блока кодирования.A new filtering condition is proposed. This greatly reduces the amount of line memory required to store the pixel values of the preceding coding blocks needed to perform deblocking at the edge of the coding block.

В возможной форме реализации устройства согласно любой предшествующей реализации первого аспекта или первого аспекта как такового, при наличии края субблока между субблоками внутри первого Р блока кодирования (т.е. если первый Р блок кодирования имеет субблоки), блок определения удаления блочности выполнен с возможностью определять, удовлетворяется ли второе условие, определенное следующим вторым уравнением:In an exemplary embodiment of an apparatus according to any prior implementation of the first aspect, or the first aspect as such, if there is a subblock edge between subblocks within the first P coding block (i.e., if the first P coding block has subblocks), the deblocking determination unit is configured to determine , whether the second condition defined by the following second equation is satisfied:

Figure 00000003
Figure 00000003

Figure 00000004
Figure 00000004

в котором β обозначает параметр порогового значения и pi представляет значения выборок первого P блока кодирования, i = 0,1,2,3 и qj представляют значения выборок второго Q блока кодирования, j = 0, 3, 4, 7 или j = 0, 2, 3, 5.where β denotes the threshold parameter and p i represents the sample values of the first P coding block, i = 0,1,2,3 and q j represent the sample values of the second Q coding block, j = 0, 3, 4, 7, or j = 0, 2, 3, 5.

Предлагается новое условие фильтрации. Это значительно сокращает объем памяти строк, необходимый для хранения значений пикселей предшествующих блоков кодирования, необходимых для выполнения удаления блочности на крае блоков кодирования.A new filtering condition is proposed. This greatly reduces the amount of line memory required to store the pixel values of the preceding coding blocks needed to perform deblocking at the edge of the coding blocks.

В возможной форме реализации устройства согласно любой предшествующей реализации первого аспекта или первого аспекта как такового, параметр β порогового значения определяется на основании параметра квантования, QP, ассоциированного с размером шага квантования множества выборок, илиIn an exemplary embodiment of the apparatus according to any prior implementation of the first aspect, or the first aspect per se, the threshold parameter β is determined based on the quantization parameter, QP, associated with the quantization step size of the plurality of samples, or

параметр β порогового значения определяется на основании параметра квантования, QP, с использованием справочной таблицы.the threshold parameter β is determined based on the quantization parameter, QP, using a look-up table.

В возможной форме реализации устройства согласно любой предшествующей реализации первого аспекта или первого аспекта как такового, при отсутствии края субблока между субблоками внутри первого Р блока кодирования, и при наличии края субблока между субблоками внутри второго Q блока кодирования (т. е. первый Р блок кодирования не имеет субблоки и второй Q блок кодирования имеет субблоки) блок фильтрации удаления блочности выполнен с возможностью определять отфильтрованное значение

Figure 00000005
выборки первой выборки текущей строки или столбца выборок справа или снизу вертикального или горизонтального края (505) между первым блоком изображения P и вторым блоком изображения Q (503a, 503b) выборок на основании следующего уравнения:In a possible form of implementation of the apparatus according to any prior implementation of the first aspect, or the first aspect as such, in the absence of a subblock edge between subblocks within the first P coding block, and in the presence of a subblock edge between subblocks within the second Q coding block (i.e., the first P coding block has no subblocks and the second Q coding block has subblocks), the deblocking filter block is configured to determine the filtered value
Figure 00000005
samples the first sample of the current row or column of samples to the right or bottom of the vertical or horizontal edge (505) between the first image block P and the second image block Q (503a, 503b) samples based on the following equation:

Figure 00000006
Figure 00000006

Figure 00000007
;
Figure 00000007
;

илиor

Figure 00000008
Figure 00000008

Figure 00000009
;
Figure 00000009
;

в котором pi представляет соответствующее значение выборки части текущей строки или столбца выборок первого P блока кодирования и qj представляет соответствующее значение выборки части текущей строки или столбца выборок второго Q блока кодирования, i, j = 0, 1..7.in which p i represents the corresponding sample value of a portion of the current row or column of samples of the first P coding block and q j represents the corresponding sample value of the portion of the current row or column of samples of the second Q coding block, i, j = 0, 1..7.

Предлагаются новые коэффициенты фильтра. Это позволяет использовать два вида коэффициентов фильтра, содержащие HEVC коэффициенты сильного фильтра и коэффициенты асимметричного более длинного отводного фильтра.New filter coefficients are proposed. This allows two kinds of filter coefficients to be used, containing HEVC strong filter coefficients and asymmetric longer tap filter coefficients.

В возможной форме реализации устройства согласно любой предшествующей реализации первого аспекта или первого аспекта как такового, при отсутствии края субблока между субблоками внутри первого Р блока кодирования, и при наличии края субблока между субблоками внутри второго Q блока кодирования (т. е. первый Р блок кодирования не имеет субблоков и второй Q блок кодирования имеет субблоки) блок фильтрации удаления блочности выполнен с возможностью определять отфильтрованное значение

Figure 00000010
выборки второй выборки текущей строки или столбца выборок справа или снизу вертикального или горизонтального края (505) между первым блоком изображения P и вторым блоком изображения Q (503a, 503b) выборок на основании следующего уравнения:In a possible form of implementation of the apparatus according to any prior implementation of the first aspect, or the first aspect as such, in the absence of a subblock edge between subblocks within the first P coding block, and in the presence of a subblock edge between subblocks within the second Q coding block (i.e., the first P coding block has no subblocks and the second Q coding block has subblocks) the deblocking filter block is configured to determine the filtered value
Figure 00000010
samples the second sample of the current row or column of samples to the right or bottom of the vertical or horizontal edge (505) between the first image block P and the second image block Q (503a, 503b) samples based on the following equation:

Figure 00000011
Figure 00000011

Figure 00000012
;
Figure 00000012
;

илиor

Figure 00000013
Figure 00000013

Figure 00000014
;
Figure 00000014
;

в котором pi представляет соответствующее значение выборки части текущей строки или столбца выборок первого P блока кодирования и qj представляет соответствующее значение выборки части текущей строки или столбца выборок второго Q блока кодирования, i, j = 0, 1..7.in which p i represents the corresponding sample value of a portion of the current row or column of samples of the first P coding block and q j represents the corresponding sample value of the portion of the current row or column of samples of the second Q coding block, i, j = 0, 1..7.

Предлагаются новые коэффициенты фильтра. Это позволяет использовать два вида коэффициентов фильтра, содержащие HEVC коэффициенты сильного фильтра и коэффициенты асимметричного более длинного отводного фильтра.New filter coefficients are proposed. This allows two kinds of filter coefficients to be used, containing HEVC strong filter coefficients and asymmetric longer tap filter coefficients.

В возможной форме реализации устройства согласно любой предшествующей реализации первого аспекта или первого аспекта как такового, если внутри первого Р блока кодирования отсутствует край субблока между субблоками, и при наличии края субблока между субблоками внутри второго Q блока кодирования (т. е. первый Р блок кодирования не имеет субблоков и второй Q блок кодирования имеет субблоки) блок фильтрации удаления блочности выполнен с возможностью определять отфильтрованное значение

Figure 00000015
выборки третьей выборки текущей строки или столбца выборок справа или снизу вертикального или горизонтального края (505) между первым блоком изображения P и вторым блоком изображения Q (503a, 503b) выборок на основании следующего уравнения:In an exemplary form of implementation of the arrangement according to any prior implementation of the first aspect, or the first aspect as such, if there is no subblock edge between subblocks within the first P coding block, and if there is a subblock edge between subblocks within the second Q coding block (i.e., the first P coding block has no subblocks and the second Q coding block has subblocks) the deblocking filter block is configured to determine the filtered value
Figure 00000015
samples the third sample of the current row or column of samples to the right or bottom of the vertical or horizontal edge (505) between the first image block P and the second image block Q (503a, 503b) samples based on the following equation:

Figure 00000016
Figure 00000016

Figure 00000017
;
Figure 00000017
;

илиor

Figure 00000018
Figure 00000018

Figure 00000019
;
Figure 00000019
;

в котором pi представляет соответствующее значение выборки части текущей строки или столбца выборок первого P блока кодирования и qj представляет соответствующее значение выборки части текущей строки или столбца выборок второго Q блока кодирования, i, j = 0, 1..7.in which p i represents the corresponding sample value of a portion of the current row or column of samples of the first P coding block and q j represents the corresponding sample value of the portion of the current row or column of samples of the second Q coding block, i, j = 0, 1..7.

Предлагаются новые коэффициенты фильтра. Это позволяет использовать два вида коэффициентов фильтра, содержащие HEVC коэффициенты сильного фильтра и коэффициенты асимметричного более длинного отводного фильтра.New filter coefficients are proposed. This allows two kinds of filter coefficients to be used, containing HEVC strong filter coefficients and asymmetric longer tap filter coefficients.

В возможной форме реализации устройства согласно любой предшествующей реализации первого аспекта или первого аспекта как такового, при отсутствии края субблока между субблоками внутри первого Р блока кодирования, и при наличии края субблока между субблоками внутри второго Q блока кодирования (т.е. первый Р блок кодирования не имеет субблоков и второй Q блок кодирования имеет субблоки) блок фильтрации удаления блочности выполнен с возможностью определять отфильтрованное значение

Figure 00000020
выборки соответствующей выборки текущей строки или столбца выборок слева или вверху вертикального или горизонтального края (505) между первым блоком изображения P и вторым блоком изображения Q (503a, 503b) выборок на основании следующего уравнения:In a possible form of implementation of the apparatus according to any prior implementation of the first aspect, or the first aspect as such, in the absence of a subblock edge between subblocks within the first P coding block, and in the presence of a subblock edge between subblocks within the second Q coding block (i.e., the first P coding block has no subblocks and the second Q coding block has subblocks) the deblocking filter block is configured to determine the filtered value
Figure 00000020
samples the corresponding sample of the current row or column of samples to the left or top of the vertical or horizontal edge (505) between the first image block P and the second image block Q (503a, 503b) samples based on the following equation:

Figure 00000021
Figure 00000021

Figure 00000022
,
Figure 00000022
,

Figure 00000023
Figure 00000023

Figure 00000024
,
Figure 00000024
,

Figure 00000025
Figure 00000025

Figure 00000026
,
Figure 00000026
,

Figure 00000027
Figure 00000027

Figure 00000028
,
Figure 00000028
,

Figure 00000029
Figure 00000029

Figure 00000030
,
Figure 00000030
,

Figure 00000031
Figure 00000031

Figure 00000032
,
Figure 00000032
,

Figure 00000033
Figure 00000033

Figure 00000034
,
Figure 00000034
,

в котором pi представляет соответствующее значение выборки части текущей строки или столбца выборок первого P блока кодирования и qj представляет соответствующее значение выборки части текущей строки или столбца выборок второго Q блока кодирования, i, j = 0, 1..7.in which p i represents the corresponding sample value of a portion of the current row or column of samples of the first P coding block and q j represents the corresponding sample value of the portion of the current row or column of samples of the second Q coding block, i, j = 0, 1..7.

Это позволяет использовать новые коэффициенты асимметричного более длинного отводного фильтра.This allows the use of new asymmetric longer tap filter coefficients.

Согласно второму аспекту обеспечивается устройство фильтра удаления блочности. Устройство фильтра удаления блочности предназначено для использования в кодере изображения и/или декодере изображения. Устройство фильтра удаления блочности содержит:According to a second aspect, a deblocking filter device is provided. The deblocking filter device is intended for use in an image encoder and/or an image decoder. The deblocking filter device comprises:

блок локализации края, выполненный с возможностью определять края между блоками, в котором края между блоками содержат край блока между первым Р блоком кодирования и вторым Q блоком кодирования и край субблока между субблоками первого Р блока кодирования или второго Q блока кодирования (т.е. первый Р блок кодирования или второй Q блок кодирования имеет субблоки, или первый Р блок кодирования или второй Q блок кодирования использует инструменты субблока), в котором первый Р блок кодирования имеет размер блока равный M × N или N × M, второй Q блок кодирования имеет размер блока L × T или T × L, например, N или T является четным целым числом 2n, превышающим пороговое значение (например, 8 или 16 и т.д.);an edge localization unit configured to determine edges between blocks, wherein the edges between blocks comprise a block edge between a first P coding block and a second Q coding block and a sub-block edge between sub-blocks of the first P coding block or the second Q coding block (i.e., the first The P coding block or the second Q coding block has sub-blocks, or the first P coding block or the second Q coding block uses sub-block tools), in which the first P coding block has a block size of M × N or N × M, the second Q coding block has a size block L × T or T × L, for example, N or T is an even integer 2 n that exceeds the threshold value (eg, 8 or 16, etc.);

блок определения удаления блочности, выполненный с возможностью определять, должен ли край блока между первым Р блоком кодирования и вторым Q блоком кодирования быть отфильтрован путем применения первого фильтра (т.е. более длинный отводной фильтр или асимметричный фильтр, или асимметричный отводной фильтр, или асимметричный длинный фильтр); иa deblocking determination unit, configured to determine whether a block edge between the first P coding block and the second Q coding block should be filtered by applying the first filter (i.e., a longer tap filter, or an asymmetric filter, or an asymmetric tap filter, or an asymmetric long filter) and

блок фильтрации удаления блочности, выполненный с возможностью применять третий фильтр к значениям выборок около края блока между первым Р блоком кодирования и вторым Q блоком кодирования, когда определено, что край блока между первым Р блоком кодирования и вторым Q блоком кодирования не должен фильтроваться путем применения первого фильтра, в котором модифицируется не более число МА значений выборок первого блока кодирования, смежного с краем блока на строку, и модифицируются не более число МВ значений выборок второго блока кодирования, смежного с краем блока на строку, MA = MB <7, например MA = MB = 4.a deblocking filtering unit configured to apply a third filter to sample values near a block edge between the first P coding block and the second Q coding block, when it is determined that the block edge between the first P coding block and the second Q coding block is not to be filtered by applying the first a filter that modifies at most the number MA of sample values of the first coding block adjacent to the block edge per line, and modifies at most the number MB of sample values of the second coding block adjacent to the edge of the block per line, MA = MB < 7, for example MA = MB = 4.

В одном примере N или T являются четными целыми числами 2n, большее 8, M или L являются четными целыми числами 2n, большее 2; M отличается от N или M совпадает с N; или L отличается от T, или L совпадает с T;In one example, N or T are even integers 2 n greater than 8, M or L are even integers 2 n greater than 2; M is different from N or M is the same as N; or L is different from T, or L is the same as T;

В одном из примеров третий фильтр может быть HEVC сильным фильтром, который может модифицировать максимум четыре выборки по обе стороны от края блока (CU edge). Другими словами, третий фильтр может быть HEVC сильным фильтром, в котором модифицируются максимум четыре выборки на одной стороне края блока (CU edge), в то время как на другой стороне края блока (CU edge) модифицируются максимум четыре выборки.In one example, the third filter may be a strong HEVC filter that can modify a maximum of four samples on either side of a block edge (CU edge). In other words, the third filter may be a HEVC strong filter in which a maximum of four samples are modified on one side of the block edge (CU edge), while a maximum of four samples are modified on the other side of the block edge (CU edge).

Это позволяет модифицировать небольшое количество значений выборок на двух сторонах края блока и, следовательно, этот способ может не допустить фильтрации перекрытий между краем блока и краем субблока до определенной степени и, таким образом, может гарантировать, что удаление блочности может выполняться параллельно. Таким образом, время обработки для фильтрации удаления блочности может быть сокращено.This allows a small number of sample values to be modified on two sides of a box edge, and therefore, this method can prevent overlap filtering between a box edge and a sub-box edge to a certain extent, and thus can ensure that deblocking can be performed in parallel. Thus, the processing time for deblocking filtering can be shortened.

Согласно третьему аспекту изобретения обеспечивается устройство фильтра удаления блочности. Устройство фильтра удаления блочности предназначено для использования в кодере изображения и/или декодере изображения. Устройство фильтра удаления блочности содержит:According to a third aspect of the invention, a deblocking filter device is provided. The deblocking filter device is intended for use in an image encoder and/or an image decoder. The deblocking filter device comprises:

блок локализации края, выполненный с возможностью определять края между блоками, в котором края между блоками содержат край блока между первым Р блоком кодирования и вторым Q блоком кодирования и край субблока между субблоками первого Р блока кодирования или второго Q блока кодирования (т.е. первый P блок кодирования или второй Q блок кодирования имеет субблоки), в котором первый P блок кодирования имеет размер блока, равный M × N или N × M, второй Q блок кодирования имеет блок размер L × T или T × L, например, N или T является четным целым числом 2n, превышающим пороговое значение (например, 8 или 16 и т. д.);an edge localization unit configured to determine edges between blocks, wherein the edges between blocks comprise a block edge between a first P coding block and a second Q coding block and a sub-block edge between sub-blocks of the first P coding block or the second Q coding block (i.e., the first P coding block or the second Q coding block has sub-blocks), in which the first P coding block has a block size of M × N or N × M, the second Q coding block has a block size of L × T or T × L, for example, N or T is an even integer 2 n greater than a threshold value (eg, 8 or 16, etc.);

блок определения удаления блочности, выполненный с возможностью определять край субблока между субблоками (внутри) первого Р блока кодирования или второго Q блока кодирования, который не должен фильтроваться; другими словами, определять край субблока между субблоками (внутри) первого Р блока кодирования или второго Q блока кодирования, который не подвержен удаление блочностиу; иa deblocking determination unit, configured to determine a subblock edge between subblocks (inside) of the first P coding block or the second Q coding block that is not to be filtered; in other words, determine a sub-block edge between sub-blocks (within) the first P coding block or the second Q coding block that is not subject to deblocking y; and

блок фильтрации удаления блочности, выполненный с возможностью применять четвертый фильтр (нормальный более длинный отводной фильтр) к значениям выборок около края блока между первым Р блоком кодирования и вторым Q блоком кодирования, в котором модифицируется число МА значений выборок первого блока кодирования, смежного с краем блока, и модифицируется число МВ значений выборок второго блока кодирования, смежного с краем блока, MA = MB, например, MA = MB = 7.a deblocking filter unit configured to apply a fourth filter (a normal longer tap filter) to the sample values near the block edge between the first P coding block and the second Q coding block, in which the number MA of sample values of the first coding block adjacent to the block edge is modified , and the number MB of sample values of the second coding block adjacent to the edge of the block, MA = MB, is modified, for example, MA = MB = 7.

В примере N или T являются четным целым числом 2n, большее 8, M или являются четным целым числом 2n, большее 2; M отличается от N или M совпадает с N; или L отличается от T, или L совпадает с T.In the example, N or T is an even integer 2 n greater than 8, M or is an even integer 2 n greater than 2; M is different from N or M is the same as N; or L is different from T, or L is the same as T.

В одном примере четвертый фильтр может быть нормальным более длинным отводным фильтром, который может модифицировать до 7 выборок по обе стороны от края блока (например, CU край или CU граница).In one example, the fourth filter may be a normal longer tap filter that can modify up to 7 samples on either side of a block edge (eg, CU edge or CU border).

Это позволяет не выполнять обработку удаления блочности края субблока между субблоками (внутри) первого Р блока кодирования или второго Q блока кодирования и, следовательно, способ может не допустить фильтрацию перекрытия между краем блока и краем субблока, таким образом, можно гарантировать, что удаление блочности может выполняться параллельно. Таким образом, время обработки для фильтрации удаления блочности значительно сокращается.This makes it possible not to perform sub-block edge deblocking processing between sub-blocks (within) the first P coding block or the second Q coding block, and therefore the method can prevent overlap filtering between the block edge and the sub-block edge, thus it can be ensured that deblocking can run in parallel. Thus, the processing time for deblocking filtering is greatly reduced.

Согласно четвертому аспекту изобретения обеспечивается устройство кодирования видео. Устройство (100) кодирования видео для кодирования изображения видеопотока, в котором устройство (100) кодирования видео содержит:According to a fourth aspect of the invention, a video encoding device is provided. A video encoding device (100) for encoding an image of a video stream, in which the video encoding device (100) comprises:

блок (114) восстановления, выполненный с возможностью восстанавливать изображение; иblock (114) restoration, made with the ability to restore the image; and

устройство (120) фильтра, как описано ранее, для обработки восстановленного изображения в фильтрованное восстановленное изображение.a filter device (120), as previously described, for processing the reconstructed image into a filtered reconstructed image.

Это позволяет очень эффективно и точно кодировать изображение.This allows for very efficient and accurate encoding of the image.

Согласно пятому аспекту изобретения обеспечивается устройство декодирования видео. Устройство (200) декодирования видео для декодирования изображения кодированного видеопотока (303), в котором устройство (200) декодирования видео содержит:According to a fifth aspect of the invention, a video decoding apparatus is provided. A video decoding device (200) for decoding an image of an encoded video stream (303), in which the video decoding device (200) comprises:

блок (214) восстановления, выполненный с возможностью восстанавливать изображение; иblock (214) recovery, made with the ability to restore the image; and

устройство (220) контурного фильтра, как описано ранее, для обработки восстановленного изображения в фильтрованное восстановленное изображение.a loop filter device (220), as previously described, for processing the reconstructed image into a filtered reconstructed image.

Это позволяет особенно точно и эффективно декодировать изображение.This allows the image to be decoded particularly accurately and efficiently.

Согласно шестому аспекту изобретение относится к способу удаления блочности для использования при кодировании изображения и/или декодировании изображения, в котором способ содержит:According to a sixth aspect, the invention relates to a deblocking method for use in image encoding and/or image decoding, wherein the method comprises:

определение краев между блоками, в котором края между блоками содержат край блока между первым P блоком кодирования и вторым Q блоком кодирования и край субблока между субблоками первого Р блока кодирования или второго Q блока кодирования (например, первый Р блок кодирования или второй Q блок кодирования имеет субблоки, или первый Р блок кодирования или второй Q блок кодирования имеет инструменты субблока), в котором первый Р блок кодирования имеет размер блока, равный M × N выборок или N × M выборок, второй Q блок кодирования имеет размер блока, равный L × T выборок или T × L выборок, например, в котором N или T является четным целым числом 2n, превышающим пороговое значение (например, 8, 16 или т.д.);an inter-block edge definition, wherein the inter-block edges comprise a block edge between a first P coding block and a second Q coding block and a sub-block edge between sub-blocks of the first P coding block or the second Q coding block (e.g., the first P coding block or the second Q coding block has subblocks, or the first P coding block or the second Q coding block has subblock tools), in which the first P coding block has a block size of M × N samples or N × M samples, the second Q coding block has a block size of L × T samples or T × L samples, for example, in which N or T is an even integer 2 n greater than a threshold value (eg, 8, 16, or so on);

определение, должен ли быть отфильтрован край блока между первым Р блоком кодирования и вторым Q блоком кодирования путем применения первого фильтра (то есть, более длинный отводной фильтр или асимметричный фильтр, или асимметричный отводной фильтр, или асимметричный длинный фильтр), другими словами, определение, подлежит ли обработке удаления блочности край блока между первым Р блоком кодирования и вторым Q блоком кодирования путем применения первого фильтра (то есть, более длинный отводной фильтр или асимметричный фильтр, или асимметричный отводной фильтр); иdetermining whether the block edge between the first P coding block and the second Q coding block should be filtered by applying a first filter (i.e., a longer tap filter or asymmetric filter or an asymmetric tap filter or an asymmetric long filter), in other words, determining, whether a block edge between the first P coding block and the second Q coding block is subject to deblocking processing by applying the first filter (ie, a longer tap filter or an asymmetric filter or an asymmetric tap filter); and

применение первого фильтра (то есть, более длинный отводной фильтр или асимметричный фильтр, или асимметричный отводной фильтр, или асимметричный длинный фильтр) к значениям выборок около края блока между первым Р блоком кодирования и вторым Q блоком кодирования, когда определено, что край блока между первым Р блоком кодирования и вторым Q блоком кодирования должен быть отфильтрован путем применения первого фильтра, в котором модифицируется не более число МА значений выборок первого блока кодирования, смежного с краем блока на строку, и модифицируется не более число МВ значений выборок второго блока кодирования, смежного с краем блока на строку; или модифицируется не более число МА значений выборок второго блока кодирования, смежного с краем блока на строку, и модифицируется не более число МВ значений выборок первого блока кодирования, смежного с краем блока на строку, MA ≠ MB, в частности, MA <MB, например, MA <MB = 7. Например, MA = 3 и MB = 7, или MA = 4 и MB = 7, или MA = 5 и MB = 7 и т.д.applying a first filter (i.e., a longer tap filter, or an asymmetric filter, or an asymmetric tap filter, or an asymmetric long filter) to the sample values near the block edge between the first P coding block and the second Q coding block, when it is determined that the block edge is between the first The P coding block and the second Q coding block shall be filtered by applying a first filter that modifies no more than the number MA of sample values of the first coding block adjacent to a block edge per line, and modifies no more than the number MB of sample values of the second coding block adjacent to block edge per line; or at most the number MA of sample values of the second coding block adjacent to a block edge per line is modified, and at most the number MB of sample values of the first coding block adjacent to a block edge per line is modified, MA ≠ MB, in particular, MA < MB, e.g. , MA <MB = 7. For example, MA = 3 and MB = 7, or MA = 4 and MB = 7, or MA = 5 and MB = 7, etc.

В примере N или T является четным целым числом 2n, большее 8 (например, N или T равны 16 или 32,…), M или L является четным целым числом 2n, большее 2 (например, M или L равны 4, 8, 16 или 32,…); M отличается от N или M совпадает с N; или L отличается от T, или L совпадает с T.In the example, N or T is an even 2 n integer greater than 8 (for example, N or T is 16 or 32,…), M or L is an even 2 n integer greater than 2 (for example, M or L is 4, 8 , 16 or 32,…); M is different from N or M is the same as N; or L is different from T, or L is the same as T.

В другом примере N или T является четным целым числом 2n, большее 16 (например, N или T равно 32 или 64,…), M или L является четным целым числом 2n, большее 2 (например, M или L равно 4, 8, 16. или 32,…), M отличается от N или M совпадает с N; или L отличается от T, или L совпадает с T; M × N, в котором N> 16 применяется для горизонтальных краев, а N × M, в котором N> 16, применяется для вертикальных краев. In another example, N or T is an even 2n integer greater than 16 (e.g., N or T is 32 or 64,…), M or L is an even 2n integer greater than 2 (e.g., M or L is 4, 8, 16. or 32,…), M is different from N or M is the same as N; or L is different from T, or L is the same as T; M × N, in which N > 16 applies to horizontal edges, and N × M, in which N > 16, applies to vertical edges.

В примере, первый фильтр (то есть, более длинный отводной фильтр или асимметричный фильтр, или асимметричный отводной фильтр) является фильтром, который использует DB выборки для принятия решения о фильтрации на одной стороне края блока и использует DA выборки для принятия решения о фильтрации на другой стороне края блока, и MB выборки модифицируются на упомянутой одной стороне края блока (CU edge или TU edge), в то время как MA выборки модифицируются на упомянутой другой стороне края блока (CU edge или TU edge), MA ≠ MB, в частности, MA <MB, например, MA = 3 и MB = 7, или MA = 4 и MB = 7, или MA = 5 и MB = 7. Первый фильтр может быть асимметричным фильтром, который модифицирует разное количество выборок по обе стороны от края блока (например, CU edge или TU edge).In the example, the first filter (i.e., a longer tap filter, or an asymmetric filter, or an asymmetric tap filter) is a filter that uses a fetch DB to make a filter decision on one side of the block edge, and uses a fetch DA to make a filter decision on the other. side of the block edge, and MB samples are modified on said one side of the block edge (CU edge or TU edge), while MA samples are modified on said other side of the block edge (CU edge or TU edge), MA ≠ MB, in particular, MA < MB, e.g. MA = 3 and MB = 7, or MA = 4 and MB = 7, or MA = 5 and MB = 7. The first filter can be an asymmetric filter that modifies a different number of samples on either side of the block edge (for example, CU edge or TU edge).

Это обеспечивает особенно точную и эффективную обработку удаления блочности. В частности, это позволяет по-разному обрабатывать две стороны края блока и, следовательно, способ позволяет избежать фильтрации наложения между краем блока и краем субблока, таким образом, может быть гарантировано, что удаление блочности может выполняться параллельно. Таким образом, время обработки для фильтрации удаления блочности значительно сокращается.This provides particularly accurate and efficient deblocking processing. In particular, this allows the two sides of a block edge to be treated differently, and hence the method avoids overlap filtering between a block edge and a sub-block edge, thus it can be guaranteed that deblocking can be performed in parallel. Thus, the processing time for deblocking filtering is greatly reduced.

В возможной форме реализации способа согласно шестому аспекту как таковому, при наличии края субблока между субблоками внутри первого блока кодирования, и при наличии края субблока между субблоками внутри второго блока кодирования (например, первый Р блок кодирования и второй Q блок кодирования имеют субблоки или первый Р блок кодирования и второй Q блок кодирования имеют инструменты субблока).In a possible form of implementing the method according to the sixth aspect as such, if there is a subblock edge between subblocks within the first coding block, and if there is a subblock edge between subblocks within the second coding block (for example, the first P coding block and the second Q coding block have subblocks or the first P the coding block and the second Q coding block have sub-block tools).

Способ дополнительно содержит:The method further comprises:

определение, должен ли быть отфильтрован край блока между первым блоком кодирования и вторым блоком кодирования путем применения второго фильтра; иdetermining whether a block edge between the first coding block and the second coding block should be filtered by applying the second filter; and

применение второго фильтра к значениям выборок рядом с краем блока, когда определено, что должен быть отфильтрован край блока между первым блоком кодирования и вторым блоком кодирования путем применения второго фильтра, в котором модифицируется число MA' значений выборок первого блока кодирования, смежного с краем блока, и модифицируется число MB' значений выборок второго блока кодирования, смежного с краем блока, MA' = MB ', например, MA' = MB '= 3, или MA' = MB' = 5.applying a second filter to sample values adjacent to a block edge when it is determined that a block edge between the first coding block and the second coding block is to be filtered by applying a second filter that modifies the number MA' of sample values of the first coding block adjacent to the block edge, and the number MB' of sample values of the second coding block adjacent to the edge of the block is modified, MA'=MB', for example, MA'=MB'=3, or MA'=MB'=5.

В возможной форме реализации способа согласно любой предшествующей реализации шестого аспекта или шестого аспекта как такового, при отсутствии края субблока между субблоками внутри второго блока кодирования (например, первый Р блок кодирования имеет субблоки в то время как второй Q блок кодирования не имеет субблоков), модифицируется не более число МА значений выборок первого блока кодирования, смежного с краем блока, на строку, и модифицируются не более число МВ значений выборок второго блока кодирования смежного с краем блока на строку, MA = 3 и MB = 7 или MA = 4 и MB = 7, MA = 5 и MB = 7;In an exemplary implementation form of the method according to any prior implementation of the sixth aspect, or the sixth aspect as such, in the absence of a subblock edge between subblocks within the second coding block (e.g., the first P coding block has subblocks while the second Q coding block has no subblocks), the not more than the number of MA sample values of the first coding block adjacent to the block edge per line, and modified by at most the number of MB sample values of the second coding block adjacent to the block edge per line, MA = 3 and MB = 7 or MA = 4 and MB = 7, MA=5 and MB=7;

илиor

при отсутствии внутри первого блока кодирования края субблока между субблоками (например, второй Q блок кодирования имеет субблоки, в то время как первый Р блок кодирования не имеет субблоков), модифицируется не более число МА значений выборок второго блок кодирования, смежного с краем блока на строку, и модифицируется не более число МВ выборочных значений первого блока кодирования, смежного с краем блока на строку, MA = 3 и MB = 7, или MA = 4 и MB = 7, МА = 5 и МБ = 7.if there is no subblock edge between subblocks within the first coding block (e.g., the second Q coding block has subblocks while the first P coding block has no subblocks), no more than the number MA of sample values of the second coding block adjacent to the block edge per line is modified , and at most the number of MBs of samples of the first coding block adjacent to the block edge per line, MA = 3 and MB = 7, or MA = 4 and MB = 7, MA = 5 and MB = 7, is modified.

В возможной форме реализации способа согласно любой предшествующей реализации шестого аспекта или шестого аспекта как такового определяется, должен ли быть отфильтрован край блока между первым блоком кодирования и вторым блоком кодирования путем применения первого фильтра на основанииIn an exemplary form of implementation of the method according to any prior implementation of the sixth aspect, or the sixth aspect as such, it is determined whether a block edge between the first coding block and the second coding block is to be filtered by applying a first filter based on

- не более число DA значений выборок первого блока кодирования, смежного с краем блока, в качестве значений принятия решения первой фильтрации, и- no more than the number DA of sample values of the first coding block adjacent to the edge of the block as first filtering decision values, and

- не более число DB значений выборок второго блока кодирования, смежного с краем блока, в качестве значений принятия решения второй фильтрации.- no more than the number DB of sample values of the second coding block adjacent to the edge of the block as second filtering decision values.

В возможной форме реализации способа согласно любой предшествующей реализации шестого аспекта или шестого аспекта как такового, при наличии края субблока между субблоками внутри второго Q блока кодирования (например, второй Q блок кодирования имеет субблоки) определяется, удовлетворяется ли первое условие, определенное следующим первым уравнением:In an exemplary form of implementation of the method according to any prior implementation of the sixth aspect, or the sixth aspect as such, if there is a subblock edge between subblocks within the second Q coding block (e.g., the second Q coding block has subblocks), it is determined whether the first condition defined by the following first equation is satisfied:

Figure 00000001
Figure 00000001

Figure 00000002
Figure 00000002

в котором β обозначает параметр порогового значения и qi представляет значения выборок второго Q блока кодирования, i = 0,1,2,3 и pj представляет значения выборок первого Р блока кодирования, j = 0, 3, 4, 7 или j = 0, 2, 3, 5.in which β denotes the threshold parameter and q i represents the sample values of the second Q coding block, i = 0,1,2,3 and p j represents the sample values of the first P coding block, j = 0, 3, 4, 7, or j = 0, 2, 3, 5.

В возможной форме реализации способа согласно любой предшествующей реализации шестого аспекта или шестого аспекта как такового, при наличии края субблока между субблоками внутри первого Р блока кодирования (например, первый Р блок кодирования имеет субблоки), определяется, удовлетворяется ли второе условие, определенное следующим вторым уравнением:In an exemplary form of implementation of the method according to any prior implementation of the sixth aspect, or the sixth aspect as such, if there is a subblock edge between subblocks within the first P coding block (e.g., the first P coding block has subblocks), it is determined whether the second condition defined by the following second equation is satisfied :

Figure 00000003
Figure 00000003

Figure 00000004
Figure 00000004

в котором β обозначает параметр порогового значения и pi представляет значения выборок первого P блока кодирования, i = 0,1,2,3 и qj представляет значения выборок второго Q блока кодирования, j = 0, 3, 4, 7 или j = 0, 2, 3, 5.in which β denotes the threshold parameter and p i represents the sample values of the first P coding block, i = 0,1,2,3 and q j represents the sample values of the second Q coding block, j = 0, 3, 4, 7, or j = 0, 2, 3, 5.

В возможной форме реализации способа согласно любой предшествующей реализации шестого аспекта или шестого аспекта как такового, в котором определяется параметр β порогового значения на основании параметра квантования, QP, ассоциированного с размером шага квантования множества выборок, илиIn an exemplary form of implementing the method according to any prior implementation of the sixth aspect, or the sixth aspect per se, wherein the threshold value parameter β is determined based on the quantization parameter, QP, associated with the quantization step size of the plurality of samples, or

параметр β порогового значения определяется на основании параметра квантования, QP, с использованием справочной таблицы.the threshold parameter β is determined based on the quantization parameter, QP, using a look-up table.

В возможной форме реализации способа согласно любой предшествующей реализации шестого аспекта или шестого аспекта как такового, в котором, при отсутствии края субблока между субблоками внутри первого Р блока кодирования, и при наличии края субблока между субблоком внутри второго Q блока кодирования (например, первый P блок кодирования не имеет субблоков, а второй Q блок кодирования имеет субблоки), определяется отфильтрованное значение

Figure 00000005
выборки первой выборки текущей строки или столбца выборок справа или снизу вертикального или горизонтального края между между первым P блоком кодирования и вторым Q блоком кодирования выборки на основании следующего уравнения:In an exemplary form of implementing the method according to any prior implementation of the sixth aspect, or the sixth aspect as such, wherein, if there is no subblock edge between subblocks within the first P coding block, and if there is a subblock edge between subblocks within the second Q coding block (e.g., the first P block coding block has no subblocks, and the second Q coding block has subblocks), the filtered value is determined
Figure 00000005
samples of the first sample of the current row or column of samples to the right or bottom of the vertical or horizontal edge between between the first P coding block and the second Q sample coding block based on the following equation:

Figure 00000006
Figure 00000006

Figure 00000007
;
Figure 00000007
;

или,or,

Figure 00000008
Figure 00000008

Figure 00000009
;
Figure 00000009
;

в котором pi представляет соответствующее значение выборки части текущей строки или столбца выборок первого P блока кодирования и qj представляет соответствующее значение выборки части текущей строки или столбца выборок второго Q блока кодирования, i, j = 0, 1..7.in which p i represents the corresponding sample value of a portion of the current row or column of samples of the first P coding block and q j represents the corresponding sample value of the portion of the current row or column of samples of the second Q coding block, i, j = 0, 1..7.

В возможной форме реализации способа согласно любой предшествующей реализации шестого аспекта или шестого аспекта как такового, при отсутствии края субблока между субблоками внутри первого Р блока кодирования, и при наличии края субблока между субблоками внутри второго Q блока кодирования (например, P блок кодирования не имеет субблоков и Q блок кодирования имеет субблоки), определяется отфильтрованное значение

Figure 00000010
выборки второй выборки текущей строки или столбца выборок для правого или нижнего вертикального или горизонтального края между первым P блоком кодирования и вторым Q блоком кодирования выборки на основании следующего уравнения:In an exemplary form of implementing the method according to any prior implementation of the sixth aspect, or the sixth aspect as such, if there is no subblock edge between subblocks within the first P coding block, and if there is a subblock edge between subblocks within the second Q coding block (e.g., the P coding block has no subblocks and Q coding block has subblocks), the filtered value is determined
Figure 00000010
samples of the second sample of the current row or column of samples for the right or bottom vertical or horizontal edge between the first P coding block and the second Q sample coding block based on the following equation:

Figure 00000011
Figure 00000011

Figure 00000012
;
Figure 00000012
;

илиor

Figure 00000013
Figure 00000013

Figure 00000014
;
Figure 00000014
;

в котором pi представляет соответствующее значение выборки части текущей строки или столбца выборок первого P блока кодирования и qj представляет соответствующее значение выборки части текущей строки или столбца выборок второго Q блока кодирования, i, j = 0, 1..7.in which p i represents the corresponding sample value of a portion of the current row or column of samples of the first P coding block and q j represents the corresponding sample value of the portion of the current row or column of samples of the second Q coding block, i, j = 0, 1..7.

В возможной форме реализации способа согласно любой предшествующей реализации шестого аспекта или шестого аспекта как такового, при отсутствии края субблока между субблоками внутри первого Р блока кодирования, и при наличии края субблока между субблоками внутри второго Q блока кодирования (например, P блок кодирования не имеет субблоков и Q блок кодирования имеет субблоки), определяется отфильтрованное значение

Figure 00000015
выборки третьей выборки текущей строки или столбца выборок для правого или нижнего вертикального или горизонтального края между первым P блоком кодирования и вторым Q блоком кодирования выборки на основании следующего уравнения:In an exemplary form of implementing the method according to any prior implementation of the sixth aspect, or the sixth aspect as such, if there is no subblock edge between subblocks within the first P coding block, and if there is a subblock edge between subblocks within the second Q coding block (e.g., the P coding block has no subblocks and Q coding block has subblocks), the filtered value is determined
Figure 00000015
samples of the third sample of the current row or column of samples for the right or bottom vertical or horizontal edge between the first P coding block and the second Q sample coding block based on the following equation:

Figure 00000016
Figure 00000016

Figure 00000017
;
Figure 00000017
;

илиor

Figure 00000018
Figure 00000018

Figure 00000019
;
Figure 00000019
;

в котором pi представляет соответствующее значение выборки части текущей строки или столбца выборок первого P блока кодирования и qj представляет соответствующее значение выборки части текущей строки или столбца выборок второго Q блока кодирования, i, j = 0, 1..7.in which p i represents the corresponding sample value of a portion of the current row or column of samples of the first P coding block and q j represents the corresponding sample value of the portion of the current row or column of samples of the second Q coding block, i, j = 0, 1..7.

В возможной форме реализации способа согласно любой предшествующей реализации шестого аспекта или шестого аспекта как такового, при отсутствии края субблока между субблоками внутри первого Р блока кодирования, и при наличии края субблока между субблоками внутри второго Q блока кодирования (например, P блок кодирования не имеет субблоков и Q блок кодирования имеет субблоки), определяется отфильтрованное значение

Figure 00000020
выборки соответствующей выборки текущей строки или столбца выборок для левого или верхнего вертикального или горизонтального края между первым P блоком кодирования и вторым Q блоком кодирования выборки на основании следующего уравнения:In an exemplary form of implementing the method according to any prior implementation of the sixth aspect, or the sixth aspect as such, if there is no subblock edge between subblocks within the first P coding block, and if there is a subblock edge between subblocks within the second Q coding block (e.g., the P coding block has no subblocks and Q coding block has subblocks), the filtered value is determined
Figure 00000020
samples of the corresponding sample of the current row or column of samples for the left or top vertical or horizontal edge between the first P coding block and the second Q sample coding block based on the following equation:

Figure 00000021
Figure 00000021

Figure 00000022
,
Figure 00000022
,

Figure 00000023
Figure 00000023

Figure 00000024
,
Figure 00000024
,

Figure 00000025
Figure 00000025

Figure 00000026
,
Figure 00000026
,

Figure 00000027
Figure 00000027

Figure 00000028
,
Figure 00000028
,

Figure 00000029
Figure 00000029

Figure 00000030
,
Figure 00000030
,

Figure 00000031
Figure 00000031

Figure 00000032
,
Figure 00000032
,

Figure 00000033
Figure 00000033

Figure 00000034
,
Figure 00000034
,

в котором pi представляет соответствующее значение выборки части текущей строки или столбца выборок первого P блока кодирования и qj представляет соответствующее значение выборки части текущей строки или столбца выборок второго Q блока кодирования, i, j = 0, 1..7.in which p i represents the corresponding sample value of a portion of the current row or column of samples of the first P coding block and q j represents the corresponding sample value of the portion of the current row or column of samples of the second Q coding block, i, j = 0, 1..7.

В возможной форме реализации способа согласно любой предшествующей реализации шестого аспекта или шестого аспекта как такового, если N и T являются четными целыми числами 2n больше 16, MA = 3 и MB = 7 или MA = 4 и MB = 7, или MA = 5 и MB = 7.In a possible implementation form of the method according to any previous implementation of the sixth aspect, or the sixth aspect as such, if N and T are even integers 2 n greater than 16, MA = 3 and MB = 7, or MA = 4 and MB = 7, or MA = 5 and MB = 7.

Согласно седьмому аспекту изобретение относится к способу удаления блочности края блока между первым Р блоком кодирования и вторым Q блоком кодирования изображения для кодирования изображения и/или декодирования изображения,According to a seventh aspect, the invention relates to a method for deblocking a block edge between a first P coding block and a second Q image coding block for image encoding and/or image decoding,

в котором первый Р блок кодирования имеет размер M * N или N * M, второй Q блок кодирования имеет размер L * T или T * L, например, N или T является четным целым числом 2n, большим, чем 8, в частности, N или T являются четным целым числом 2n больше 16, и при наличии края субблока между субблоками первого блока кодирования или второго блока кодирования (т.е. первый блок кодирования или второй блок кодирования имеет субблоки), в котором способ содержит:in which the first P coding block has size M * N or N * M, the second Q coding block has size L * T or T * L, for example, N or T is an even integer 2 n greater than 8, in particular, N or T is an even integer 2n greater than 16, and if there is a subblock edge between subblocks of the first coding block or the second coding block (i.e., the first coding block or the second coding block has subblocks), wherein the method comprises:

в случае, если край субблока между субблоками первого блока кодирования (т.е. первый блок кодирования имеет субблоки или первый блок кодирования использует инструменты субблока, в котором первый блок кодирования является текущим блоком),in case there is a subblock edge between subblocks of the first codingblock (i.e. the first codingblock has subblocks or the first codingblock uses the tools of a subblock in which the first codingblock is the current block),

- модификацию не более число МА значений выборок первого блока кодирования, смежного с краем блока, в качестве выходных значений выборок первого фильтра; и- modifying no more than MA number of sample values of the first coding block adjacent to the edge of the block as output sample values of the first filter; and

- модификацию не более число МВ значений выборок второго блока кодирования, смежного с краем блока, в качестве выходных значений выборок второго фильтра; в котором MA ≠ MB, в частности, MA <MB, например, MA <MB = 7, например, MA = 3 и MB = 7, или MA = 4 и MB = 7, или MA = 5 и MB = 7 и т.д.;- modifying no more than the number of MB of sample values of the second coding block adjacent to the edge of the block, as the output values of the samples of the second filter; where MA ≠ MB, in particular MA < MB, e.g. MA < MB = 7, e.g. MA = 3 and MB = 7, or MA = 4 and MB = 7, or MA = 5 and MB = 7, etc. .d.;

или,or,

в случае, если край субблока между субблоками второго блока кодирования (т.е. второй блок кодирования имеет субблоки или второй блок кодирования использует инструменты субблока, в котором второй блок кодирования является текущим блоком), in case a sub-block edge is between sub-blocks of the second coding block (i.e., the second coding block has sub-blocks, or the second coding block uses the tools of a sub-block in which the second coding block is the current block),

- модификацию не более число МА значений выборок второго блока кодирования, смежного с краем блока, в качестве выходных значений выборок первого фильтра; и- modifying no more than MA number of sample values of the second coding block adjacent to the edge of the block as output sample values of the first filter; and

- модификацию (1404) не более число MB значений выборок первого блока (902, 1302) кодирования, смежных с краем блока, в качестве выходных значений выборок второго фильтра, в котором MA ≠ MB, в частности? MA <MB, например MA <MB = 7, например, MA = 3 и MB = 7, или MA = 4 и MB = 7, или MA = 5 и MB = 7 и т.д.- modifying (1404) no more than the number MB of sample values of the first coding block (902, 1302) adjacent to the edge of the block as the output sample values of the second filter, in which MA ≠ MB, in particular? MA < MB, e.g. MA < MB = 7, e.g. MA = 3 and MB = 7, or MA = 4 and MB = 7, or MA = 5 and MB = 7, etc.

Это обеспечивает особенно точный и эффективный удаление блочности. В частности, обеспечивается разные способы обработки двух сторон края блока и, следовательно, способ позволяет не выполнять фильтрацию наложения между краем блока и краем субблока и, таким образом, обеспечивается параллельная обработка удаления блочности. Таким образом, время обработки для фильтрации удаления блочности значительно сокращается.This provides particularly accurate and efficient deblocking. In particular, different processing methods are provided for two sides of a block edge, and therefore, the method enables overlap filtering between a block edge and a sub-block edge to be performed, and thus parallel deblocking processing is provided. Thus, the processing time for deblocking filtering is greatly reduced.

Согласно восьмому аспекту изобретение относится к способу удаления блочности для использования при кодировании изображения и/или декодировании изображения, в котором способ содержит:According to an eighth aspect, the invention relates to a deblocking method for use in image encoding and/or image decoding, wherein the method comprises:

определение краев между блоками, в котором края между блоками содержат край блока между первым Р блоком кодирования и вторым Q блоком кодирования и край субблока между субблоками первого Р блока кодирования или второго Q блока кодирования, в котором первый Р блок кодирования имеет размер M × N или N × M, второй Q блок кодирования имеет размер L × T или T × L;an inter-block edge definition, wherein the inter-block edges comprise a block edge between a first P coding block and a second Q coding block, and a sub-block edge between sub-blocks of the first P coding block or the second Q coding block, wherein the first P coding block has a size of M×N or N × M, the second Q coding block has a size of L × T or T × L;

определение, должен ли быть отфильтрован край блока между первым Р блоком кодирования и вторым Q блоком кодирования применением первого фильтра (т.е. более длинный отводной фильтр или асимметричный фильтр, или асимметричный отводной фильтр, или асимметричный длинный фильтр); иdetermining whether a block edge between the first P coding block and the second Q coding block is to be filtered by applying the first filter (ie, longer tap filter or asymmetric filter or asymmetric tap filter or asymmetric long filter); and

применение третьего фильтра к значениям выборок около края блока между первым Р блоком кодирования и вторым Q блоком кодирования, когда определено, что край блока между первым Р блоком кодирования и вторым Q блоком кодирования не должен фильтроваться путем применения первого фильтра, в котором модифицируется не более число MA значений выборок первого блока кодирования, смежного с краем блока на строку, и модифицируется не более число MB значений выборок второго блока кодирования, смежного с краем блока, на строку, MA = MB, например, MA = MB <7, например, MA = MB = 4.applying a third filter to the sample values near the block edge between the first P coding block and the second Q coding block, when it is determined that the block edge between the first P coding block and the second Q coding block is not to be filtered by applying a first filter in which at most a number is modified MA sample values of the first coding block adjacent to the block edge per line, and modified by at most the number MB of sample values of the second coding block adjacent to the block edge per line, MA = MB, e.g., MA = MB < 7, e.g., MA = MB = 4.

В одном примере N или T является четным целым числом 2n, большее 8, в частности, N или T является четным целым числом 2n, большее 16, M или L является четным целым числом 2n, большее 2; M отличается от N или M совпадает с N; или L отличается от T, или L совпадает с T.In one example, N or T is an even integer 2 n greater than 8, in particular, N or T is an even integer 2 n greater than 16, M or L is an even integer 2 n greater than 2; M is different from N or M is the same as N; or L is different from T, or L is the same as T.

В примере первый фильтр (т.е. более длинный отводной фильтр или асимметричный фильтр, или асимметричный отводной фильтр, или асимметричный длинный фильтр) представляет собой фильтр, который использует DB выборки для принятия решения о фильтрации на одной стороне края блока и использует DA выборки для принятия решения о фильтрации на другой стороне края блока, и MB выборки модифицируются на упомянутой одной стороне края блока (CU edge или TU edge), в то время, как MA выборки модифицируются на упомянутой другой стороне края блока (CU edge или TU edge), MA ≠ MB, в частности, MA <MB, например, MA <MB = 7, например, MA = 3 и MB = 7, или MA = 4 и MB = 7, или MA = 5 и MB = 7.In the example, the first filter (i.e. longer tap filter or asymmetric filter or asymmetric tap filter or asymmetric long filter) is a filter that uses the fetch DB to make a filtering decision on one side of the block edge and uses the fetch DA to filter decision is made on the other side of the block edge, and MB samples are modified on said one side of the block edge (CU edge or TU edge), while MA samples are modified on said other side of the block edge (CU edge or TU edge), MA ≠ MB, in particular MA < MB, e.g. MA < MB = 7, e.g. MA = 3 and MB = 7, or MA = 4 and MB = 7, or MA = 5 and MB = 7.

В одном из примеров третий фильтр может быть HEVC сильным фильтром, который может модифицировать максимум четыре выборки по обе стороны края блока (CU edge или TU edge). Другими словами, третий фильтр может быть HEVC сильным фильтром, в котором модифицируются максимум четыре выборки на одной стороне края блока (CU edge или TU edge), в то время как модифицируются максимум четыре выборки на другой стороне края блока (CU edge или TU edge).In one example, the third filter may be a HEVC strong filter that can modify a maximum of four samples on either side of a block edge (CU edge or TU edge). In other words, the third filter could be a HEVC strong filter in which a maximum of four samples on one side of the block edge (CU edge or TU edge) are modified, while a maximum of four samples on the other side of the block edge (CU edge or TU edge) are modified. .

Это обеспечивает особенно точный и эффективный удаление блочности.This provides particularly accurate and efficient deblocking.

Согласно девятому аспекту изобретение относится к способу удаления блочности для использования при кодировании изображения и/или декодировании изображения, в котором способ содержит:According to a ninth aspect, the invention relates to a deblocking method for use in image encoding and/or image decoding, wherein the method comprises:

определение краев между блоками, в котором края между блоками содержат край блока между первым Р блоком кодирования и вторым Q блоком кодирования и край субблока между субблоками первого Р блока кодирования или второго Q блока кодирования, в котором первый Р блок кодирования имеет размер M × N или N × M, второй Q блок кодирования имеет размер L × T или T × L;an inter-block edge definition, wherein the inter-block edges comprise a block edge between a first P coding block and a second Q coding block, and a sub-block edge between sub-blocks of the first P coding block or the second Q coding block, wherein the first P coding block has a size of M×N or N × M, the second Q coding block has a size of L × T or T × L;

определение, что край субблока между субблоками первого Р блока кодирования или второго Q блока кодирования не должен фильтроваться (например, определение, что удаление блочности края субблока между субблоками первого Р блока кодирования или второго Q блока кодирования отключен); иdetermining that a subblock edge between subblocks of the first P coding block or the second Q coding block is not to be filtered (eg, determining that deblocking of the subblock edge between subblocks of the first P coding block or the second Q coding block is disabled); and

применение четвертого фильтра (стандартный более удлинённый отводной фильтр) к значениям выборок около края блока между первым Р блоком кодирования и вторым Q блоком кодирования, в котором модифицируются число МА значений выборок первого блока кодирования, смежного с краем блока, и модифицируется число МВ выборочных значений второго блока кодирования, смежного с краем блока, MA = MB, например MA = MB = 7.applying a fourth filter (a standard longer tap filter) to the sample values near the block edge between the first P coding block and the second Q coding block, in which the number MA of sample values of the first coding block adjacent to the edge of the block is modified, and the number MB of sample values of the second is modified of the coding block adjacent to the edge of the block, MA = MB, for example MA = MB = 7.

В одном примере N или T является четным целым числом 2n, большее 8, в частности, N или T является четным целым числом 2n, большее 16, M или L является четным целым числом 2n, большее 2; M отличается от N или M совпадает с N; или L отличается от T, или L совпадает с T.In one example, N or T is an even integer 2 n greater than 8, in particular, N or T is an even integer 2 n greater than 16, M or L is an even integer 2 n greater than 2; M is different from N or M is the same as N; or L is different from T, or L is the same as T.

В одном примере четвертый фильтр может быть нормальным более удлинённым отводным фильтром, который может модифицировать до 7 выборок по обе стороны края блока (например, CU edge или CU boundary).In one example, the fourth filter may be a normal longer tap filter that can modify up to 7 samples on either side of a block edge (eg, CU edge or CU boundary).

Это обеспечивает особенно точный и эффективный удаление блочности.This provides particularly accurate and efficient deblocking.

Согласно десятому аспекту изобретение относится к способу кодирования для кодирования изображения, содержащему ранее или позже описанный способ удаления блочности согласно любой реализации любого аспекта или любого аспекта как такового.According to a tenth aspect, the invention relates to an encoding method for encoding an image, comprising the previously or later described deblocking method according to any implementation of any aspect or any aspect as such.

Это позволяет очень эффективно и точно кодировать изображение.This allows for very efficient and accurate encoding of the image.

Согласно одиннадцатому аспекту изобретение относится к способу декодирования для декодирования изображения, содержащему ранее или позже описанный способ удаления блочности согласно любой реализации любого аспекта или любого аспекта как такового. Это позволяет очень эффективно и точно декодировать изображение.According to an eleventh aspect, the invention relates to a decoding method for decoding an image, comprising the previously or later described deblocking method according to any implementation of any aspect or any aspect as such. This allows for very efficient and accurate image decoding.

Согласно двенадцатому аспекту изобретения обеспечивается устройство фильтра удаления блочности. Устройство фильтра удаления блочности предназначено для использования в кодере изображения и/или декодере изображения. Устройство фильтра удаления блочности содержит:According to a twelfth aspect of the invention, a deblocking filter apparatus is provided. The deblocking filter device is intended for use in an image encoder and/or an image decoder. The deblocking filter device comprises:

блок локализации края, выполненный с возможностью определять края между блоками, в котором края между блоками содержат край блока (например, CU edge) между первым Р блоком кодирования и вторым Q блоком кодирования и край субблока (например, sud-pu edge) между субблоками внутри первого Р блока кодирования и/или второго Q блока кодирования, в котором первый Р блок кодирования имеет размер M × N или N × M, второй Q блок кодирования имеет размер L × T или T × L, например, N или T является четным целым числом 2n, превышающее пороговое значение (например, 8 или 16 и т.д.);an edge localization unit configured to determine inter-block edges, wherein the inter-block edges comprise a block edge (eg, CU edge) between a first P coding block and a second Q coding block, and a sub-block edge (eg, sud-pu edge) between sub-blocks within the first P coding block and/or the second Q coding block, in which the first P coding block has a size of M × N or N × M, the second Q coding block has a size of L × T or T × L, for example, N or T is an even integer number 2 n exceeding the threshold value (for example, 8 or 16, etc.);

блок определения удаления блочности, выполненный с возможностью определять край блока между первым Р блоком кодирования и вторым Q блоком кодирования и должен быть отфильтрован первый набор краев субблока между субблоками внутри первого Р блока кодирования и/или второго Q блока кодирования, и второй набор краев субблока между субблоками внутри первого Р блока кодирования и/или второго Q блока кодирования не должен фильтроваться; иa deblocking determination unit configured to determine a block edge between the first P coding block and the second Q coding block, and the first set of subblock edges between subblocks within the first P coding block and/or the second Q coding block, and the second set of subblock edges between subblocks within the first P coding block and/or the second Q coding block shall not be filtered; and

блок фильтрации удаления блочности, выполненный с возможностью выполнять фильтрацию удаления блочности при значениях выборок около края блока между первым Р блоком кодирования и вторым Q блоком кодирования и выполнять фильтрацию удаления блочности при значениях выборок около каждого из первого набора краев субблока между субблоками внутри первого P блока кодирования и/или второго Q блока кодирования.a deblocking filtering unit configured to perform deblocking filtering on sample values near a block edge between the first P coding block and a second Q coding block, and perform deblocking filtering on sample values near each of the first set of subblock edges between subblocks within the first P coding block and/or a second Q coding block.

Например, блок определения удаления блочности может быть выполнен с возможностью определять край «первого» субблока между субблоками (внутри) первого Р блока кодирования или второго Q блока кодирования, который не должен фильтроваться; другими словами, определяют край «первого» субблока между субблоками (внутри) первого Р блока кодирования или второго Q блока кодирования, для которого обработка удаления блочности отключена.For example, the deblocking determiner may be configured to determine a "first" subblock edge between subblocks (within) the first P coding block or the second Q coding block that is not to be filtered; in other words, a "first" subblock edge between subblocks (inside) of the first P coding block or the second Q coding block for which deblocking processing is disabled is determined.

Например, блок определения удаления блочности может быть выполнен с возможностью определять край «последнего» субблока между субблоками (внутри) первого Р блока кодирования или второго Q блока кодирования, который не должен фильтроваться; другими словами, определяют край «последнего» субблока между субблоками (внутри) первого Р блока кодирования или второго Q блока кодирования для которого обработка удаления блочности отключена.For example, the deblocking determination unit may be configured to determine the edge of the "last" subblock between subblocks (within) the first P coding block or the second Q coding block that is not to be filtered; in other words, determining the edge of the "last" sub-block between sub-blocks (within) the first P coding block or the second Q coding block for which deblocking processing is disabled.

Например, блок определения удаления блочности может быть выполнен с возможностью определять все края субблоков, которые перекрываются с сеткой 16 x 16 для первого Р блока кодирования и/или второго Q блока кодирования, и применять удаление блочности только к этим внутренним краям. Другие внутренние края субблоков не подвергаются обработке удаления блочности. Кроме того, для удаления блочности внутренних краев субблоков, которые перекрываются с сеткой 16 x 16, может быть применен более длинный отводной фильтр можно, в то время как для CU края может быть применен более длинный отводной фильтр.For example, the deblocking determiner may be configured to determine all subblock edges that overlap the 16 x 16 grid for the first P coding block and/or the second Q coding block, and apply deblocking only to those inner edges. The other inner edges of the subblocks are not subjected to deblocking processing. Also, to deblock the inner edges of sub-blocks that overlap with the 16 x 16 grid, a longer tap filter can be applied, while a longer tap filter can be applied to the CU edge.

В возможной форме реализации устройства согласно двенадцатому аспекту как таковому, в котором первый набор краев субблока между субблоками внутри первого блока кодирования и/или второго блока кодирования содержит (состоит из) множество краев субблока, за исключением края первого субблока и края последнего субблока, между субблоками внутри первого Р блока кодирования и/или второго Q блока кодирования, в котором край первого субблока находится ближе всего к одному из первому P блоку кодирования и второму Q блоку кодирования, в котором край последнего субблока является ближайшим к другому из первого Р блока кодирования и второго Q блока кодирования;In a possible form of implementation of the device according to the twelfth aspect as such, wherein the first set of subblock edges between subblocks within the first coding block and/or second coding block comprises (consists of) a plurality of subblock edges, excluding the first subblock edge and the last subblock edge, between the subblocks within the first P coding block and/or the second Q coding block, in which the edge of the first sub-block is closest to one of the first P coding block and the second Q coding block, in which the edge of the last sub-block is closest to the other of the first P coding block and the second Q block coding;

второй набор краев субблока между субблоками внутри первого блока кодирования и/или второго блока кодирования состоит из края первого субблока и края последнего субблока между субблоками внутри первого Р блока кодирования и/или второго Q блока кодирования, в котором край первого субблока находится ближе всего к одному из первому Р блоку кодирования и второму блоку Q кодирования и край последнего субблока находится ближе всего к другому из первого Р блока кодирования и второго Q блока кодирования.the second set of subblock edges between subblocks within the first coding block and/or the second coding block consists of the first subblock edge and the last subblock edge between subblocks within the first P coding block and/or the second Q coding block in which the first subblock edge is closest to one from the first P coding block and the second coding block Q, and the edge of the last sub-block is closest to the other of the first P coding block and the second Q coding block.

В возможной форме реализации устройства согласно двенадцатому аспекту как таковому, в котором блок фильтрации удаления блочности выполнен с возможностью применять пятый фильтр к значениям выборок около каждого из первого набора краев субблока внутри первого Р блока кодирования и/или второго Q блока кодирования, в котором модифицируется не более число NA значений выборок на одной стороне соответствующего одного из первого набора краев субблока внутри первого Р блока кодирования и/или второго Q блока кодирования, и модифицируется не более число NB значений выборок на другой стороне соответствующего одного из первого набора краев субблока, NA, NB = 4.In a possible form of implementation of the apparatus according to the twelfth aspect as such, wherein the deblocking filter unit is configured to apply the fifth filter to sample values near each of the first set of subblock edges within the first P coding block and/or the second Q coding block, in which not more than the number NA of sample values on one side of the corresponding one of the first subblock edge set within the first P coding block and/or the second Q coding block, and at most the number NB of sample values on the other side of the corresponding one of the first subblock edge set, NA, NB = 4.

В возможной форме реализации устройства согласно двенадцатому аспекту как таковому, в котором, при отсутствии края субблока между субблоками внутри первого Р блока кодирования, и при наличии множества краев субблока между субблоками внутри второго Q блока кодирования, блок фильтрации удаления блочности выполнен с возможностью определять отфильтрованное значение

Figure 00000035
выборки соответствующей выборки текущей строки или столбца выборок на соответствующей стороне вертикального или горизонтального края субблока внутри второго Q блока кодирования на основании следующего уравнения, когда принято решение применить пятый фильтр, являющийся HEVC фильтрацией удаления блочности:In a possible form of implementing the apparatus according to the twelfth aspect as such, wherein, in the absence of a subblock edge between subblocks within the first P coding block, and in the presence of a plurality of subblock edges between subblocks within the second Q coding block, the deblocking filter block is configured to determine the filtered value
Figure 00000035
samples of the corresponding sample of the current row or column of samples on the corresponding side of the vertical or horizontal edge of the sub-block within the second Q coding block based on the following equation, when it is decided to apply the fifth filter, which is the HEVC deblocking filtering:

Figure 00000036
Figure 00000036

Figure 00000037
Figure 00000037

Figure 00000038
Figure 00000038

в котором pi представляет соответствующее значение выборки части текущей строки или столбца выборок первого P блока кодирования и qj представляет соответствующее значение выборки части текущей строки или столбца выборок второго Q блока кодирования, i = 0, 1, j = 0, 1..3.in which p i represents the corresponding sample value of the part of the current row or column of samples of the first P coding block and q j represents the corresponding sample value of the part of the current row or column of samples of the second Q coding block, i = 0, 1, j = 0, 1..3 .

В возможной форме реализации устройства согласно двенадцатому аспекту как таковому, в котором первый набор краев субблока между субблоками внутри первого блока кодирования и/или второго блока кодирования содержит (состоит из) один или более краев субблоков, которые перекрываются сеткой 16 × 16 между субблоками внутри первого Р блока кодирования и/или второго Q блока кодирования;In a possible form of implementation of the apparatus according to the twelfth aspect as such, wherein the first set of subblock edges between subblocks within the first coding block and/or the second coding block comprises (consists of) one or more subblock edges that overlap with a 16×16 grid between subblocks within the first P coding block and/or second Q coding block;

второй набор краев субблока между субблоками внутри первого или второго блока кодирования содержит (состоит из) один или более краев субблока, за исключением краев субблока, которые перекрываются сеткой 16 x 16 между субблоками внутри первого Р блока кодирования и/или второго Q блока кодирования.the second set of subblock edges between subblocks within the first or second coding block comprises (consists of) one or more subblock edges, excluding subblock edges that overlap with a 16 x 16 grid between subblocks within the first P coding block and/or the second Q coding block.

В возможной форме реализации устройства согласно двенадцатому аспекту как таковому, в котором блок фильтрации удаления блочности выполнен с возможностью применять шестой фильтр к значениям выборок около каждого из первого набора краев субблока внутри первого Р блока кодирования и/или второго Q блока кодирования, в котором модифицируется не более число NA' значений выборок на одной стороне соответствующего одного из первого набора краев субблока внутри первого Р блока кодирования или второго Q блока кодирования, и модифицируется не более число NB' значений выборок на другой стороне соответствующего одного из первого набора краев субблока, NA' = NB'= 7. Можно понять, что NA' и NB' могут определяться на основании размера блока, другими словами, NA' и NB' зависят от размера блока соответствующего блока. В способе реализации для больших блоков, то есть, размера блока > = 32, максимальное количество измененных выборок может составлять 7 (соответствует длинному фильтру).In a possible form of implementing the apparatus according to the twelfth aspect as such, wherein the deblocking filter unit is configured to apply the sixth filter to sample values near each of the first set of subblock edges within the first P coding block and/or the second Q coding block, in which not more than the number NA' of sample values on one side of the corresponding one of the first subblock edge set within the first P coding block or the second Q coding block, and at most the number NB' of sample values on the other side of the corresponding one of the first subblock edge set, NA' = NB'=7. It can be understood that NA' and NB' may be determined based on the block size, in other words, NA' and NB' depend on the block size of the corresponding block. In the implementation for large blocks, ie, block size >= 32, the maximum number of modified samples can be 7 (corresponding to a long filter).

В возможной форме реализации устройства согласно двенадцатому аспекту как таковому, в котором, при отсутствии края субблока между субблоками внутри первого Р блока кодирования, и при наличии множества краев субблока между субблоками внутри второго Q блока кодирования, блок фильтрации удаления блочности выполнен с возможностью определять отфильтрованное значение

Figure 00000035
выборки соответствующей выборки текущей строки или столбца выборок на соответствующей стороне вертикального или горизонтального края субблока внутри второго Q блока кодирования на основании следующего уравнения:In a possible form of implementing the apparatus according to the twelfth aspect as such, wherein, in the absence of a subblock edge between subblocks within the first P coding block, and in the presence of a plurality of subblock edges between subblocks within the second Q coding block, the deblocking filter block is configured to determine the filtered value
Figure 00000035
samples of the corresponding sample of the current row or column of samples on the corresponding side of the vertical or horizontal sub-block edge within the second Q coding block based on the following equation:

Figure 00000039
Figure 00000039

Figure 00000040
; и/или
Figure 00000040
; and/or

Figure 00000041
Figure 00000041

Figure 00000042
; и/или
Figure 00000042
; and/or

Figure 00000043
Figure 00000043

Figure 00000044
; и/или
Figure 00000044
; and/or

Figure 00000045
Figure 00000045

Figure 00000046
; и/или
Figure 00000046
; and/or

Figure 00000047
Figure 00000047

Figure 00000048
; и/или
Figure 00000048
; and/or

Figure 00000049
Figure 00000049

Figure 00000050
; и/или
Figure 00000050
; and/or

Figure 00000051
Figure 00000051

Figure 00000052
;
Figure 00000052
;

в котором pi представляет соответствующее значение выборки части текущей строки или столбца выборок первого P блока кодирования и qj представляет соответствующее значение выборки части текущей строки или столбца выборок второго Q блока кодирования, i, j = 0, 1..7.in which p i represents the corresponding sample value of a portion of the current row or column of samples of the first P coding block and q j represents the corresponding sample value of the portion of the current row or column of samples of the second Q coding block, i, j = 0, 1..7.

В возможной форме реализации устройства согласно двенадцатому аспекту как таковому в случае наличия множества краев субблока между субблоками внутри первого Р блока кодирования и наличии множества краев субблока между субблоками внутри второго Q блока кодирования, блок фильтрации удаления блочности выполнен с возможностью определять значения

Figure 00000035
и
Figure 00000020
отфильтрованной выборки соответствующей выборки текущей строки или столбца выборок на соответствующей стороне вертикального или горизонтального края субблока внутри второго Q блока кодирования и первого Р блока кодирования, соответственно, на основании следующего уравнения:In a possible implementation form of the apparatus according to the twelfth aspect, as such, in the case of having a plurality of subblock edges between subblocks within a first P coding block and having a plurality of subblock edges between subblocks within a second Q coding block, the deblocking filtering block is configured to determine values
Figure 00000035
and
Figure 00000020
filtered sample of the corresponding sample of the current row or column of samples on the corresponding side of the vertical or horizontal sub-block edge within the second Q coding block and the first P coding block, respectively, based on the following equation:

Figure 00000039
Figure 00000039

Figure 00000040
; и/или
Figure 00000040
; and/or

Figure 00000041
Figure 00000041

Figure 00000042
; и/или
Figure 00000042
; and/or

Figure 00000043
Figure 00000043

Figure 00000044
; и/или
Figure 00000044
; and/or

Figure 00000045
Figure 00000045

Figure 00000046
; и/или
Figure 00000046
; and/or

Figure 00000047
Figure 00000047

Figure 00000048
; и/или
Figure 00000048
; and/or

Figure 00000049
Figure 00000049

Figure 00000050
; и/или
Figure 00000050
; and/or

Figure 00000051
Figure 00000051

Figure 00000052
; и/или
Figure 00000052
; and/or

Figure 00000053
Figure 00000053

Figure 00000054
; и/или
Figure 00000054
; and/or

Figure 00000055
Figure 00000055

Figure 00000056
; и/или
Figure 00000056
; and/or

Figure 00000057
Figure 00000057

Figure 00000058
; и/или
Figure 00000058
; and/or

Figure 00000027
Figure 00000027

Figure 00000059
; и/или
Figure 00000059
; and/or

Figure 00000029
Figure 00000029

Figure 00000060
; и/или
Figure 00000060
; and/or

Figure 00000031
Figure 00000031

Figure 00000061
; и/или
Figure 00000061
; and/or

Figure 00000033
Figure 00000033

Figure 00000062
;
Figure 00000062
;

в котором pi представляет соответствующее значение выборки части текущей строки или столбца выборок первого P блока кодирования и qj представляет соответствующее значение выборки части текущей строки или столбца выборок второго Q блока кодирования, i, j = 0, 1..7.in which p i represents the corresponding sample value of a portion of the current row or column of samples of the first P coding block and q j represents the corresponding sample value of the portion of the current row or column of samples of the second Q coding block, i, j = 0, 1..7.

В возможной форме реализации устройства согласно двенадцатому аспекту как таковому, блок определения удаления блочности дополнительно выполнен с возможностью определять, должен ли край блока между первым Р блоком кодирования и вторым Q блоком кодирования фильтроваться путем применения первого фильтра; иIn an exemplary form of implementation of the apparatus according to the twelfth aspect as such, the deblocking determining unit is further configured to determine whether a block edge between the first P coding block and the second Q coding block is to be filtered by applying the first filter; and

блок фильтрации удаления блочности дополнительно выполнен с возможностью применять первый фильтр к значениям выборок около края блока между первым Р блоком кодирования и вторым Q блоком кодирования, когда определено, что край блока между первым Р блоком кодирования и вторым Q блок кодирования должен быть отфильтрован применением первого фильтра, в котором модифицируется не более число МА значений выборок первого блока кодирования, смежного с краем блока на строку, и модифицируются не более число МВ значений выборок второго блока кодирования смежные к краю блока на строку; или модифицируется не более число МА значений выборок второго блока кодирования, смежного с краем блока на строку, и модифицируется не более число МВ значений выборок первого блока кодирования, смежного с краем блока на строку, MA = 3 и MB = 7.the deblocking filter unit is further configured to apply the first filter to the sample values near the block edge between the first P coding block and the second Q coding block, when it is determined that the block edge between the first P coding block and the second Q coding block is to be filtered by applying the first filter , in which no more than the number MA of sample values of the first coding block adjacent to the block edge per line is modified, and no more than the number MB of sample values of the second coding block adjacent to the edge of the block per line are modified; or at most the number MA of sample values of the second coding block adjacent to the block edge per line is modified, and at most the number MB of sample values of the first coding block adjacent to the edge of the block per line is modified, MA = 3 and MB = 7.

В возможной форме реализации устройства согласно двенадцатому аспекту как таковому, в котором в случае наличия множества краев субблока между субблоками внутри первого блока кодирования, и наличия множества краев субблока между субблоками внутри второго блока кодирования,In a possible form of implementing the apparatus according to the twelfth aspect as such, wherein in the case of having a plurality of subblock edges between subblocks within a first coding block, and having a plurality of subblock edges between subblocks within a second coding block,

блок определения удаления блочности дополнительно выполнен с возможностью определять край блока между первым блоком кодирования и вторым блоком кодирования, который должен быть отфильтрован, применяя второй фильтр; иthe deblocking determination unit is further configured to determine a block edge between the first coding block and the second coding block to be filtered by applying the second filter; and

блок фильтрации удаления блочности дополнительно выполнен с возможностью применять второй фильтр к значениям выборок около края блока, когда определено, что край блока между первым блоком кодирования и вторым блоком кодирования должен быть отфильтрован путем применения второго фильтра, в котором модифицируется число МА' значений выборок первого блока кодирования, смежного с краем блока, и модифицируется число МВ' значений выборок второго блока кодирования, смежного с краем блока, MA'= 3 и MB' = 3.the deblocking filter unit is further configured to apply a second filter to sample values near a block edge when it is determined that a block edge between the first coding block and the second coding block is to be filtered by applying a second filter in which the number MA' of sample values of the first block is modified of the coding block adjacent to the block edge, and the number MB' of sample values of the second coding block adjacent to the block edge is modified, MA'=3 and MB'=3.

В возможной форме реализации устройства согласно двенадцатому аспекту как таковому, при отсутствии края субблока между субблоками внутри второго блока кодирования, модифицируются не более число МА значений выборок первого блока кодирования, смежного с краем блока на каждую строку, и модифицируется не более число МВ значений выборок второго блока кодирования, смежного с краем блока на строку;In a possible form of implementation of the device according to the twelfth aspect as such, in the absence of a subblock edge between subblocks within the second coding block, no more than the number MA of sample values of the first coding block adjacent to the block edge per line are modified, and no more than the number MB of sample values of the second coding block are modified. block coding adjacent to the edge of the block per line;

илиor

когда внутри первого блока кодирования нет края субблока между субблоками, модифицируется не более число MA значений выборок второго блока кодирования, смежного с краем блока на строку, и модифицируется не более число MB значений выборок первого блок кодирования, смежного с краем блока на строку, MA = 3 и MB = 7.when there is no subblock edge between subblocks within the first coding block, at most the number MA of sample values of the second coding block adjacent to the block edge per line is modified, and at most the number MB of sample values of the first coding block adjacent to the block edge per line is modified, MA = 3 and MB=7.

В возможной форме реализации устройства согласно двенадцатому аспекту как таковому, блок определения удаления блочности дополнительно выполнен с возможностью определять, должен ли быть отфильтрован край блока между первым блоком кодирования и вторым блоком кодирования путем применения первого фильтра на основанииIn an exemplary form of implementation of the apparatus according to the twelfth aspect as such, the deblocking determination unit is further configured to determine whether a block edge between the first coding unit and the second coding unit is to be filtered by applying a first filter based on

- не более числа DA значений выборок первого блока кодирования, смежного с краем блока, в качестве значений принятия решения первого фильтра и- no more than the number DA of sample values of the first coding block adjacent to the edge of the block as the decision values of the first filter, and

- не более числа DB значений выборок второго блока кодирования, смежного с краем блока, в качестве значений принятия решения второго фильтра.- no more than the number DB of sample values of the second coding block adjacent to the edge of the block as decision values of the second filter.

В возможной форме реализации устройства согласно двенадцатому аспекту как таковому, при наличии множества краев субблока между субблоками внутри второго Q блока кодирования, блок определения удаления блочности выполнен с возможностью определять, удовлетворяется ли первое условие, определенное следующим первым уравнением:In a possible implementation form of the apparatus according to the twelfth aspect as such, when there are a plurality of subblock edges between subblocks within the second Q coding block, the deblocking determining unit is configured to determine whether the first condition defined by the following first equation is satisfied:

Figure 00000001
Figure 00000001

Figure 00000002
Figure 00000002

в котором β обозначает параметр порогового значения и qi представляют значения выборок второго Q блока кодирования, i = 0,1,2,3 и pj представляет значения выборок первого Р блока кодирования, j = 0, 3, 4, 7 или j = 0, 2, 3, 5.in which β denotes the threshold parameter and q i represent the sample values of the second Q coding block, i = 0,1,2,3 and p j represents the sample values of the first P coding block, j = 0, 3, 4, 7 or j = 0, 2, 3, 5.

В возможной форме реализации устройства согласно двенадцатому аспекту как таковому, в котором, при наличии множества краев субблока между субблоками внутри первого Р блока кодирования, блок определения удаления блочности выполнен с возможностью определять, удовлетворяется ли второе условие, определенное следующим вторым уравнением:In a possible implementation form of the apparatus according to the twelfth aspect as such, wherein, when there are a plurality of subblock edges between subblocks within the first P coding block, the deblocking determining unit is configured to determine whether the second condition defined by the following second equation is satisfied:

Figure 00000003
Figure 00000003

Figure 00000004
Figure 00000004

в котором β обозначает параметр порогового значения и pi представляет значения выборок первого P блока кодирования, i = 0,1,2,3 и qj представляют значения выборок второго Q блока кодирования, j = 0, 3, 4, 7 или j = 0, 2, 3, 5.where β denotes the threshold parameter and p i represents the sample values of the first P coding block, i = 0,1,2,3 and q j represent the sample values of the second Q coding block, j = 0, 3, 4, 7, or j = 0, 2, 3, 5.

В возможной форме реализации устройства согласно двенадцатому аспекту как таковому, в котором параметр β порогового значения определяется на основании параметра квантования, QP, ассоциированного с размером шага квантования множества выборок, илиIn an exemplary form of implementation of the device according to the twelfth aspect as such, wherein the threshold parameter β is determined based on the quantization parameter, QP, associated with the quantization step size of the plurality of samples, or

параметр β порогового значения определяется на основании параметра квантования, QP, с использованием справочной таблицы.the threshold parameter β is determined based on the quantization parameter, QP, using a look-up table.

В возможной форме реализации устройства согласно двенадцатому аспекту как таковому, при отсутствии края субблока между субблоками внутри первого Р блока кодирования, и при наличии края субблока между субблоками внутри второго Q блока кодирования, блок фильтрации удаления блочности выполнен с возможностью определять отфильтрованное значение

Figure 00000005
выборки первой выборки текущей строки или столбца выборок справа или снизу вертикального или горизонтального края между первым P блоком кодирования и вторым Q блоком кодирования выборок на основании следующего уравнения:In a possible implementation form of the apparatus according to the twelfth aspect, as such, if there is no subblock edge between subblocks within the first P coding block, and if there is a subblock edge between subblocks within the second Q coding block, the deblocking filter block is configured to determine the filtered value
Figure 00000005
samples of the first sample of the current row or column of samples to the right or bottom of the vertical or horizontal edge between the first P coding block and the second Q coding block of samples based on the following equation:

Figure 00000006
Figure 00000006

Figure 00000007
;
Figure 00000007
;

или,

Figure 00000008
or,
Figure 00000008

Figure 00000009
;
Figure 00000009
;

в котором pi представляет соответствующее значение выборки части текущей строки или столбца выборок первого Р блока кодирования и qj представляет соответствующее значение выборки части текущей строки или столбца выборок второго Q блока кодирования, i, j = 0, 1…7.in which p i represents the corresponding sample value of a portion of the current row or column of samples of the first P coding block and q j represents the corresponding sample value of a portion of the current row or column of samples of the second Q coding block, i, j = 0, 1...7.

В возможной форме реализации устройства согласно двенадцатому аспекту как таковому, при отсутствии края субблока между субблоками внутри первого Р блока кодирования, и при наличии края субблока между субблоками внутри второго Q блока кодирования, блок фильтрации удаления блочности выполнен с возможностью определять отфильтрованное значение

Figure 00000010
выборки второй выборки текущей строки или столбца выборок справа или снизу вертикального или горизонтального края между первым P блоком кодирования и вторым Q блоком кодирования выборок на основании следующего уравнения:In a possible implementation form of the apparatus according to the twelfth aspect, as such, if there is no subblock edge between subblocks within the first P coding block, and if there is a subblock edge between subblocks within the second Q coding block, the deblocking filter block is configured to determine the filtered value
Figure 00000010
samples of the second sample of the current row or column of samples to the right or bottom of the vertical or horizontal edge between the first P coding block and the second Q coding block of samples based on the following equation:

Figure 00000011
Figure 00000011

Figure 00000012
;
Figure 00000012
;

или, or,

Figure 00000013
Figure 00000013

Figure 00000014
;
Figure 00000014
;

в котором pi представляет соответствующее значение выборки части текущей строки или столбца выборок первого Р блока кодирования и qj представляет соответствующее значение выборки части текущей строки или столбца выборок второго Q блока кодирования, i, j = 0, 1..7.in which p i represents the corresponding sample value of a portion of the current row or column of samples of the first P coding block and q j represents the corresponding sample value of the portion of the current row or column of samples of the second Q coding block, i, j = 0, 1..7.

В возможной форме реализации устройства согласно двенадцатому аспекту как таковому, при отсутствии края субблока между субблоками внутри первого Р блока кодирования и при наличии края субблока между субблоками внутри второго Q блока кодирования, блок фильтрации удаления блочности выполнен с возможностью определять отфильтрованное значение

Figure 00000015
выборки третьей выборки текущей строки или столбца выборок справа или внизу вертикального или горизонтального края между первым P блоком кодирования и вторым Q блоком кодирования выборок на основании следующего уравнения:In a possible implementation form of the apparatus according to the twelfth aspect, as such, if there is no subblock edge between subblocks within the first P coding block and if there is a subblock edge between subblocks within the second Q coding block, the deblocking filter block is configured to determine the filtered value
Figure 00000015
samples of the third sample of the current row or column of samples to the right or bottom of the vertical or horizontal edge between the first P coding block and the second Q coding block of samples based on the following equation:

Figure 00000016
Figure 00000016

Figure 00000017
;
Figure 00000017
;

илиor

Figure 00000018
Figure 00000018

Figure 00000019
;
Figure 00000019
;

в котором pi представляет соответствующее значение выборки части текущей строки или столбца выборок первого Р блока кодирования и qj представляет соответствующее значение выборки части текущей строки или столбца выборок второго Q блока кодирования, i, j = 0, 1..7.in which p i represents the corresponding sample value of a portion of the current row or column of samples of the first P coding block and q j represents the corresponding sample value of the portion of the current row or column of samples of the second Q coding block, i, j = 0, 1..7.

В возможной форме реализации устройства согласно двенадцатому аспекту как таковому, при отсутствии края субблока между субблоками внутри первого Р блока кодирования и при наличии края субблока между субблоками внутри второго Q блока кодирования, блок фильтрации удаления блочности выполнен с возможностью определять отфильтрованное значение

Figure 00000020
выборки соответствующей выборки текущей строки или столбца выборок слева или вверху вертикального или горизонтального края между первым P блоком кодирования и вторым Q блоком кодирования выборок на основании следующего уравнения:In a possible implementation form of the apparatus according to the twelfth aspect, as such, if there is no subblock edge between subblocks within the first P coding block and if there is a subblock edge between subblocks within the second Q coding block, the deblocking filter block is configured to determine the filtered value
Figure 00000020
samples of the corresponding sample of the current row or column of samples to the left or top of the vertical or horizontal edge between the first P coding block and the second Q sample coding block based on the following equation:

Figure 00000021
Figure 00000021

Figure 00000022
,
Figure 00000022
,

Figure 00000023
Figure 00000023

Figure 00000024
,
Figure 00000024
,

Figure 00000025
Figure 00000025

Figure 00000026
,
Figure 00000026
,

Figure 00000027
Figure 00000027

Figure 00000028
,
Figure 00000028
,

Figure 00000029
Figure 00000029

Figure 00000030
,
Figure 00000030
,

Figure 00000031
Figure 00000031

Figure 00000032
,
Figure 00000032
,

Figure 00000033
Figure 00000033

Figure 00000034
,
Figure 00000034
,

в котором pi представляет соответствующее значение выборки части текущей строки или столбца выборок первого Р блока кодирования и qj представляет соответствующее значение выборки части текущей строки или столбца выборок второго Q блока кодирования, i, j = 0, 1..7.in which p i represents the corresponding sample value of a portion of the current row or column of samples of the first P coding block and q j represents the corresponding sample value of the portion of the current row or column of samples of the second Q coding block, i, j = 0, 1..7.

В возможной форме реализации устройства согласно двенадцатому аспекту как таковому, блок определения удаления блочности дополнительно выполнен с возможностью определять, должен ли край блока между первым Р блоком кодирования и вторым Q блоком кодирования фильтроваться путем применения первого фильтра; иIn an exemplary form of implementation of the apparatus according to the twelfth aspect as such, the deblocking determining unit is further configured to determine whether a block edge between the first P coding block and the second Q coding block is to be filtered by applying the first filter; and

блок фильтрации удаления блочности дополнительно выполнен с возможностью применять третий фильтр к значениям выборок около края блока между первым Р блоком кодирования и вторым Q блоком кодирования, когда определено, что край блока между первым Р блоком кодирования и вторым Q блоком кодирования не должен фильтроваться путем применения первого фильтра, в котором модифицируется не более число MA значений выборок первого блока кодирования, смежного с краем блока на строку, и модифицируются не более число MB значений выборок второго блока кодирования, смежного с краем блока на строку, MA = MB = 4.the deblocking filtering unit is further configured to apply a third filter to the sample values near the block edge between the first P coding block and the second Q coding block, when it is determined that the block edge between the first P coding block and the second Q coding block is not to be filtered by applying the first A filter that modifies at most MA number of sample values of the first coding block adjacent to the block edge per line, and modifies at most MB number of sample values of the second coding block adjacent to the block edge per line, MA = MB = 4.

Согласно тринадцатому аспекту изобретение относится к способу удаления блочности для использования при кодировании изображения и/или декодировании изображения, в котором способ содержит:According to a thirteenth aspect, the invention relates to a deblocking method for use in image encoding and/or image decoding, wherein the method comprises:

определение краев между блоками, в котором края между блоками содержат край блока между первым Р блоком кодирования и вторым Q блоком кодирования и край субблока между субблоками внутри первого Р блока кодирования и/или второго Q блока кодирования, в котором первый Р блок кодирования имеет размер M × N или N × M, второй Q блок кодирования имеет размер блока L × T или T × L, например, в котором N или T является четным целым числом 2n , больше чем пороговое значение (например, 8 или 16 и т. д.);definition of inter-block edges, wherein the inter-block edges comprise a block edge between a first P coding block and a second Q coding block, and a sub-block edge between sub-blocks within the first P coding block and/or the second Q coding block, wherein the first P coding block has a size M × N or N × M, the second Q coding block has a block size L × T or T × L, for example, in which N or T is an even integer 2 n , greater than a threshold value (for example, 8 or 16, etc. .);

определение края блока между первым Р блоком кодирования и вторым Q блоком кодирования и первый набор краев субблока между субблоками внутри первого Р блока кодирования и/или второго Q блока кодирования, который должен быть отфильтрован, и второй набор краев субблока между субблоками внутри первого Р блока кодирования и/или второго Q блока кодирования не подлежит фильтрации; иdetermining a block edge between a first P coding block and a second Q coding block, and a first set of subblock edges between subblocks within the first P coding block and/or a second Q coding block to be filtered, and a second set of subblock edges between subblocks within the first P coding block and/or the second Q coding block is not subject to filtering; and

выполнение фильтрации удаления блочности при значениях выборок около края блока между первым Р блоком кодирования и вторым Q блоком кодирования и выполнение фильтрации удаления блочности при значениях выборок около каждого из первого набора краев субблока между субблоками внутри первого Р блока кодирования и/или второго Q блока кодирования.performing deblocking filtering on sample values near a block edge between the first P coding block and second Q coding block and performing deblocking filtering on sample values near each of the first set of subblock edges between subblocks within the first P coding block and/or second Q coding block.

В возможной форме реализации способа согласно тринадцатому аспекту как таковому, первый набор краев субблока между субблоками внутри первого блока кодирования и/или второго блока кодирования содержит (состоит из) множества краев субблоков, за исключением края первого субблока и края последнего субблока между субблоками внутри первого Р блока кодирования и/или второго Q блока кодирования, в котором край первого субблока находится ближе всего к одному из первому Р блоку кодирования и второму Q блоку кодирования, в котором край последнего субблока является ближайшим к другому из первого Р блока кодирования и второго Q блока кодирования;In an exemplary form of implementing the method according to the thirteenth aspect as such, the first set of subblock edges between subblocks within the first coding block and/or the second coding block comprises (consists of) a plurality of subblock edges excluding the first subblock edge and the last subblock edge between subblocks within the first P of a coding block and/or a second Q coding block, in which the edge of the first subblock is closest to one of the first P coding block and the second Q coding block, in which the edge of the last subblock is closest to the other of the first P coding block and the second Q coding block ;

второй набор краев субблока между субблоками внутри первого блока кодирования и/или второго блока кодирования состоит из края первого субблока и края последнего субблока между субблоками внутри первого Р блока кодирования и/или второго Q блока кодирования, в котором край первого субблока находится ближе всего к одному из первому Р блоку кодирования и второму блоку Q кодирования, и край последнего субблока находится ближе всего к другому из первого Р блока кодирования и второго Q блока кодирования.the second set of subblock edges between subblocks within the first coding block and/or the second coding block consists of the first subblock edge and the last subblock edge between subblocks within the first P coding block and/or the second Q coding block in which the first subblock edge is closest to one from the first P coding block and the second coding block Q, and the edge of the last sub-block is closest to the other of the first P coding block and the second Q coding block.

В возможной форме реализации способа согласно тринадцатому аспекту как таковому этап выполнения фильтрации удаления блочности при значениях выборок около каждого из первого набора краев субблока между субблоками первого Р блока кодирования и/или второго Q блока кодирования содержит:In an exemplary form of implementing the method according to the thirteenth aspect, as such, the step of performing deblocking filtering at sample values near each of the first set of subblock edges between subblocks of the first P coding block and/or the second Q coding block comprises:

применение пятого фильтра к значениям выборок около каждого из первого набора краев субблока внутри первого Р блока кодирования и/или второго Q блока кодирования, в котором модифицируются не более число NA значений выборок на одной стороне соответствующего блока из первого набора краев субблока внутри первого Р блока кодирования и/или второго Q блока кодирования, и модифицируются не более число NB значений выборок на другой стороне соответствующего одного из первого набора краев субблока, NA = NB = 4.applying a fifth filter to the sample values near each of the first set of subblock edges within the first P coding block and/or the second Q coding block, in which at most NA number of sample values on one side of the corresponding block from the first set of subblock edges within the first P coding block are modified and/or a second Q coding block, and no more than NB number of sample values on the other side of the corresponding one of the first set of subblock edges are modified, NA = NB = 4.

В возможной форме реализации способа согласно тринадцатому аспекту как таковому, при отсутствии края субблока между субблоками внутри первого Р блока кодирования, и при наличии множества краев субблока между субблоками внутри второго Q блока кодирования, этап выполнения фильтрации удаления блочности при значениях выборок около каждого из первого набора краев субблока между субблоками внутри первого Р блока кодирования и/или второго Q блока кодирования, содержит:In a possible form of implementing the method according to the thirteenth aspect, as such, if there is no subblock edge between subblocks within the first P coding block, and if there are multiple subblock edges between subblocks within the second Q coding block, the step of performing deblocking filtering at sample values around each of the first set subblock edges between subblocks within the first P coding block and/or the second Q coding block contains:

определение отфильтрованного значения

Figure 00000035
выборки соответствующей выборки текущей строки или столбца выборок на соответствующей стороне вертикального или горизонтального края субблока внутри второго Q блока кодирования на основании следующего уравнения, когда принято решение применить пятый фильтр, который является HEVC фильтром удаления блочности:filtered value definition
Figure 00000035
samples of the corresponding sample of the current row or column of samples on the corresponding side of the vertical or horizontal edge of the sub-block within the second Q coding block based on the following equation, when it is decided to apply the fifth filter, which is a HEVC deblocking filter:

Figure 00000036
Figure 00000036

Figure 00000037
Figure 00000037

Figure 00000038
Figure 00000038

в котором pi представляет соответствующее значение выборки части текущей строки или столбца выборок первого Р блока кодирования и qj представляет соответствующее значение выборки части текущей строки или столбца выборок второго Q блока кодирования, i = 0, 1, j = 0, 1..3.in which p i represents the corresponding sample value of a portion of the current row or column of samples of the first P coding block and q j represents the corresponding sample value of the portion of the current row or column of samples of the second Q coding block, i = 0, 1, j = 0, 1..3 .

В возможной форме реализации способа согласно тринадцатому аспекту как таковому первый набор краев субблока между субблоками внутри первого блока кодирования и/или второго блока кодирования содержит (состоит из) один или более краев субблоков, которые перекрываются сеткой 16 x 16 между субблоками внутри первого Р блока кодирования и/или второго Q блока кодирования;In an exemplary embodiment of the method according to the thirteenth aspect, as such, the first set of subblock edges between subblocks within the first coding block and/or the second coding block comprises (consists of) one or more subblock edges that overlap with a 16 x 16 grid between subblocks within the first P coding block and/or a second Q coding block;

второй набор краев субблока между субблоками внутри первого или второго блока кодирования содержит (состоит из) один или более краев субблока, за исключением краев субблока, которые перекрываются сеткой 16 x 16 между субблоками внутри первого Р блока кодирования и/или второго Q блока кодирования.the second set of subblock edges between subblocks within the first or second coding block comprises (consists of) one or more subblock edges, excluding subblock edges that overlap with a 16 x 16 grid between subblocks within the first P coding block and/or the second Q coding block.

В возможной форме реализации способа согласно тринадцатому аспекту как таковому этап выполнения фильтрации удаления блочности при значениях выборок около каждого из первого набора краев субблока между субблоками первого Р блока кодирования и/или второго Q блока кодирования содержит:In an exemplary form of implementing the method according to the thirteenth aspect, as such, the step of performing deblocking filtering at sample values near each of the first set of subblock edges between subblocks of the first P coding block and/or the second Q coding block comprises:

применение шестого фильтра к значениям выборок рядом с каждым из первого набора краев субблока внутри первого Р блока кодирования и/или второго Q блока кодирования, в котором модифицируется не более число NA' значений выборок на одной стороне соответствующего одному из первого набора краев субблока внутри первого Р блока кодирования или второго Q блока кодирования, модифицируется не более число NB' значений выборок на другой стороне соответствующего одного из первого набора краев субблока, NA'= NB' = 7.applying a sixth filter to the sample values adjacent to each of the first set of subblock edges within the first P coding block and/or the second Q coding block in which at most NA' number of sample values on one side corresponding to one of the first set of subblock edges within the first P are modified coding block or the second Q coding block, no more than the number NB' of sample values on the other side of the corresponding one of the first set of sub-block edges is modified, NA'= NB' = 7.

В возможной форме реализации способа согласно тринадцатому аспекту как таковому, при отсутствии края субблока между субблоками внутри первого Р блока кодирования, и при наличии множества краев субблока между субблоками внутри второго Q блока кодирования,In an exemplary form of implementing the method according to the thirteenth aspect as such, if there is no subblock edge between subblocks within the first P coding block, and if there are multiple subblock edges between subblocks within the second Q coding block,

этап выполнения фильтрации удаления блочности при значениях выборок около каждого из первого набора краев субблока между субблоками внутри первого Р блока кодирования и/или второго Q блока кодирования, содержит:the step of performing deblocking filtering at sample values near each of the first set of subblock edges between subblocks within the first P coding block and/or the second Q coding block, comprising:

определение отфильтрованного значения

Figure 00000035
выборки соответствующей выборки текущей строки или столбца выборок на соответствующей стороне вертикального или горизонтального края субблока внутри второго Q блока кодирования на основании следующего уравнения:filtered value definition
Figure 00000035
samples of the corresponding sample of the current row or column of samples on the corresponding side of the vertical or horizontal sub-block edge within the second Q coding block based on the following equation:

Figure 00000063
Figure 00000063

Figure 00000064
; и/или
Figure 00000064
; and/or

Figure 00000065
Figure 00000065

Figure 00000066
; и/или
Figure 00000066
; and/or

Figure 00000067
Figure 00000067

Figure 00000068
; и/или
Figure 00000068
; and/or

Figure 00000069
Figure 00000069

Figure 00000070
; и/или
Figure 00000070
; and/or

Figure 00000071
Figure 00000071

Figure 00000072
; и/или
Figure 00000072
; and/or

Figure 00000073
Figure 00000073

Figure 00000074
; и/или
Figure 00000074
; and/or

Figure 00000075
Figure 00000075

Figure 00000076
;
Figure 00000076
;

в котором pi представляет соответствующее значение выборки части текущей строки или столбца выборок первого Р блока кодирования и qj представляет соответствующее значение выборки части текущей строки или столбца выборок второго Q блока кодирования, i, j = 0, 1..7.in which p i represents the corresponding sample value of a portion of the current row or column of samples of the first P coding block and q j represents the corresponding sample value of the portion of the current row or column of samples of the second Q coding block, i, j = 0, 1..7.

В возможной форме реализации способа согласно тринадцатому аспекту как таковому, в случае наличия множества краев субблока между субблоками внутри первого Р блока кодирования и при наличии множества краев субблока между субблоками внутри второго Q блока кодирования,In an exemplary form of implementing the method according to the thirteenth aspect as such, if there are multiple subblock edges between subblocks within the first P coding block and if there are multiple subblock edges between subblocks within the second Q coding block,

этап выполнения фильтрации удаления блочности при значениях выборок около каждого из первого набора краев субблока между субблоками внутри первого Р блока кодирования и/или второго Q блока кодирования, содержит:the step of performing deblocking filtering at sample values near each of the first set of subblock edges between subblocks within the first P coding block and/or the second Q coding block, comprising:

определение отфильтрованного значения

Figure 00000035
и
Figure 00000020
выборки соответствующей выборки текущей строки или столбца выборок на соответствующей стороне вертикального или горизонтального края субблока внутри второго Q блока кодирования и первого Р блока кодирования соответственно на основании следующего уравнения:filtered value definition
Figure 00000035
and
Figure 00000020
samples of the corresponding sample of the current row or column of samples on the corresponding side of the vertical or horizontal edge of the sub-block within the second Q coding block and the first P coding block, respectively, based on the following equation:

Figure 00000063
Figure 00000063

Figure 00000064
; и/или
Figure 00000064
; and/or

Figure 00000065
Figure 00000065

Figure 00000066
; и/или
Figure 00000066
; and/or

Figure 00000067
Figure 00000067

Figure 00000068
; и/или
Figure 00000068
; and/or

Figure 00000069
Figure 00000069

Figure 00000070
; и/или
Figure 00000070
; and/or

Figure 00000071
Figure 00000071

Figure 00000072
; и/или
Figure 00000072
; and/or

Figure 00000073
Figure 00000073

Figure 00000074
; и/или
Figure 00000074
; and/or

Figure 00000075
Figure 00000075

Figure 00000076
; и/или
Figure 00000076
; and/or

Figure 00000053
Figure 00000053

Figure 00000054
; и/или
Figure 00000054
; and/or

Figure 00000055
Figure 00000055

Figure 00000056
; и/или
Figure 00000056
; and/or

Figure 00000057
Figure 00000057

Figure 00000058
; и/или
Figure 00000058
; and/or

Figure 00000027
Figure 00000027

Figure 00000059
; и/или
Figure 00000059
; and/or

Figure 00000029
Figure 00000029

Figure 00000060
; и/или
Figure 00000060
; and/or

Figure 00000031
Figure 00000031

Figure 00000061
; и/или
Figure 00000061
; and/or

Figure 00000033
Figure 00000033

Figure 00000062
;
Figure 00000062
;

в котором pi представляет соответствующее значение выборки части текущей строки или столбца выборок первого Р блока кодирования и qj представляет соответствующее значение выборки части текущей строки или столбца выборок второго Q блока кодирования, i, j = 0, 1..7.in which p i represents the corresponding sample value of a portion of the current row or column of samples of the first P coding block and q j represents the corresponding sample value of the portion of the current row or column of samples of the second Q coding block, i, j = 0, 1..7.

В возможной форме реализации способа согласно тринадцатому аспекту как таковому способ дополнительно содержит:In a possible form of implementation of the method according to the thirteenth aspect, as such, the method further comprises:

определение, должен ли край блока между первым Р блоком кодирования и вторым Q блоком кодирования быть отфильтрован путем применения первого фильтра; иdetermining whether a block edge between the first P coding block and the second Q coding block should be filtered by applying the first filter; and

применение первого фильтра к значениям выборок около края блока между первым Р блоком кодирования и вторым Q блоком кодирования, когда определено, что край блока между первым Р блоком кодирования и вторым Q блоком кодирования должен быть отфильтрован применением первого фильтра, в котором модифицируется не более число МА значений выборок первого блока кодирования, смежного с краем блока на строку, и модифицируется не более число МВ значений выборок второго блока кодирования, смежного с краем блока на строку; или модифицируется не более число МА значений выборок второго блока кодирования, смежного с краем блока на строку, и модифицируется не более число МВ значений выборок первого блока кодирования, смежного с краем блока на строку, MA = 3 и MB = 7.applying a first filter to sample values near a block edge between the first P coding block and the second Q coding block, when it is determined that the block edge between the first P coding block and the second Q coding block is to be filtered by applying a first filter in which at most the number of MAs is modified sample values of the first coding block adjacent to the edge of the block per line, and modified by no more than the number MB of the values of the samples of the second coding block adjacent to the edge of the block per line; or at most the number MA of sample values of the second coding block adjacent to the block edge per line is modified, and at most the number MB of sample values of the first coding block adjacent to the edge of the block per line is modified, MA = 3 and MB = 7.

В возможной форме реализации способа согласно тринадцатому аспекту как таковому, в случае наличия множества краев субблока между субблоками внутри первого блока кодирования, и наличия множества краев субблока между субблоками внутри второго блока кодирования, способ дополнительно содержит:In a possible form of implementing the method according to the thirteenth aspect as such, in the case of having a plurality of subblock edges between subblocks within a first coding block, and having a plurality of subblock edges between subblocks within a second coding block, the method further comprises:

определение края блока между первым блоком кодирования и вторым блоком кодирования, который должен быть отфильтрован путем применения второго фильтра; иdetermining a block edge between the first coding block and the second coding block to be filtered by applying the second filter; and

применение второго фильтра к значениям выборок около края блока, когда определено, что край блока между первым блоком кодирования и вторым блоком кодирования должен быть отфильтрован путем применения второго фильтра, в котором модифицируется число MA' значений выборок первого блока кодирования, смежного с краем блока, и модифицируется число МВ' значений выборок второго блока кодирования, смежного с краем блока, MA' = 3 и MB'= 3.applying a second filter to sample values near a block edge when it is determined that a block edge between the first coding block and the second coding block is to be filtered by applying a second filter that modifies the number MA' of sample values of the first coding block adjacent to the block edge, and the number MB' of sample values of the second coding block adjacent to the edge of the block is modified, MA'=3 and MB'=3.

В возможной форме реализации способа согласно тринадцатому аспекту как таковому, при отсутствии края субблока между субблоками внутри второго блока кодирования, модифицируются не более число МА значений выборок первого блока кодирования, смежного с краем блока на каждую строку, и модифицируется не более количество МВ значений выборок второго блока кодирования, смежного с краем блока на строку;In a possible form of implementing the method according to the thirteenth aspect, as such, in the absence of a subblock edge between subblocks within the second coding block, no more than the number MA of sample values of the first coding block adjacent to the block edge per line are modified, and no more than the number MB of sample values of the second coding block are modified. block coding adjacent to the edge of the block per line;

илиor

когда внутри первого блока кодирования нет края субблока между субблоками, модифицируется не более число MA значений выборок второго блока кодирования, смежного с краем блока на строку, и модифицируется не более число MB значений выборок первого блок кодирования, смежный с краем блока на строку, MA = 3 и MB = 7.when there is no subblock edge between subblocks within the first coding block, at most the number MA of sample values of the second coding block adjacent to the block edge per line is modified, and at most the number MB of sample values of the first coding block adjacent to the block edge per line is modified, MA = 3 and MB=7.

В возможной форме реализации способа согласно тринадцатому аспекту как таковому, способ дополнительно содержит: определение, должен ли край блока между первым блоком кодирования и вторым блоком кодирования быть отфильтрован путем применения первого фильтра на основанииIn an exemplary form of implementing the method according to the thirteenth aspect as such, the method further comprises: determining whether a block edge between the first coding block and the second coding block is to be filtered by applying the first filter based on

- не более числа DA значений выборок первого блока кодирования, смежного с краем блока, в качестве значений принятия решения первого фильтра, DA = 4 и- no more than the number DA of sample values of the first coding block adjacent to the edge of the block as the decision values of the first filter, DA = 4 and

- не более числа DB значений выборок второго блока кодирования, смежного с краем блока, в качестве значений принятия решения второго фильтра, DB = 4.- no more than the number DB of sample values of the second coding block adjacent to the edge of the block as decision values of the second filter, DB = 4.

В возможной форме реализации способа согласно тринадцатому аспекту как таковому, при наличии множества краев субблока между субблоками внутри второго Q блока кодирования, способ дополнительно содержит: определение, удовлетворено ли первое условие, определенное следующим первым уравнением:In an exemplary form of implementing the method according to the thirteenth aspect as such, if there are a plurality of subblock edges between subblocks within the second Q coding block, the method further comprises: determining whether the first condition defined by the following first equation is satisfied:

Figure 00000001
Figure 00000001

Figure 00000002
Figure 00000002

в котором β обозначает параметр порогового значения и qi представляют значения выборок второго Q блока кодирования, i = 0,1,2,3 и pj представляют значения выборок первого Р блока кодирования, j = 0, 3, 4, 7 или j = 0, 2, 3, 5.in which β denotes the threshold parameter and q i represent the sample values of the second Q coding block, i = 0,1,2,3 and p j represent the sample values of the first P coding block, j = 0, 3, 4, 7 or j = 0, 2, 3, 5.

В возможной форме реализации способа согласно тринадцатому аспекту как таковому, при наличии множества краев субблока между субблоками внутри первого Р блока кодирования, способ дополнительно содержит: определение, выполняется ли второе условие, определенное следующим вторым уравнением:In an exemplary form of implementing the method according to the thirteenth aspect as such, if there are a plurality of subblock edges between subblocks within the first P coding block, the method further comprises: determining whether the second condition defined by the following second equation is met:

Figure 00000003
Figure 00000003

Figure 00000004
Figure 00000004

в котором β обозначает параметр порогового значения и pi представляет значения выборок первого P блока кодирования, i = 0,1,2,3 и qj представляют значения выборок второго Q блока кодирования, j = 0, 3, 4, 7 или j = 0, 2, 3, 5.where β denotes the threshold parameter and p i represents the sample values of the first P coding block, i = 0,1,2,3 and q j represent the sample values of the second Q coding block, j = 0, 3, 4, 7, or j = 0, 2, 3, 5.

В возможной форме реализации способа согласно тринадцатому аспекту как таковому параметр β порогового значения определяется на основании параметра квантования, QP, ассоциированного с размером шага квантования множества выборок, или параметр β порогового значения определяется на основании параметра квантования, QP, с использованием справочной таблицы.In an exemplary embodiment of the method according to the thirteenth aspect, as such, the threshold parameter β is determined based on the quantization parameter, QP, associated with the quantization step size of the plurality of samples, or the threshold parameter β is determined based on the quantization parameter, QP, using a look-up table.

В возможной форме реализации способа согласно тринадцатому аспекту как таковому, при отсутствии края субблока между субблоками внутри первого Р блока кодирования, и при наличии края субблока между субблоками внутри второго Q блока кодирования, этап выполнения фильтрации удаления блочности при значениях выборок около края блока между первым Р блоком кодирования и вторым Q блоком кодирования содержит:In a possible form of implementing the method according to the thirteenth aspect, as such, if there is no subblock edge between subblocks within the first P coding block, and if there is a subblock edge between subblocks within the second Q coding block, the step of performing deblocking filtering at sample values near the block edge between the first P coding block and the second Q coding block contains:

определение отфильтрованного значения

Figure 00000005
выборки первой выборки текущей строки или столбца выборок справа или снизу вертикального или горизонтального края между первым P блоком кодирования и вторым Q блоком кодирования выборок на основании следующего уравнения:filtered value definition
Figure 00000005
samples of the first sample of the current row or column of samples to the right or bottom of the vertical or horizontal edge between the first P coding block and the second Q coding block of samples based on the following equation:

Figure 00000006
Figure 00000006

Figure 00000007
;
Figure 00000007
;

илиor

Figure 00000008
Figure 00000008

Figure 00000009
;
Figure 00000009
;

в котором pi представляет соответствующее значение выборки части текущей строки или столбца выборок первого P блока кодирования и qj представляет соответствующее значение выборки части текущей строки или столбца выборок второго Q блока кодирования, i, j = 0, 1..7.in which p i represents the corresponding sample value of a portion of the current row or column of samples of the first P coding block and q j represents the corresponding sample value of the portion of the current row or column of samples of the second Q coding block, i, j = 0, 1..7.

В возможной форме реализации способа согласно тринадцатому аспекту как таковому, при отсутствии края субблока между субблоками внутри первого Р блока кодирования и при наличии края субблока между субблоками внутри второго Q блока кодирования, этап выполнения фильтрации удаления блочности при значениях выборок около края блока между первым Р блоком кодирования и вторым Q блоком кодирования содержит:In a possible form of implementing the method according to the thirteenth aspect, as such, if there is no subblock edge between subblocks within the first P coding block and if there is a subblock edge between subblocks within the second Q coding block, the step of performing deblocking filtering at sample values near the block edge between the first P block coding and the second Q coding block contains:

определение отфильтрованного значения

Figure 00000010
выборки второй выборки текущей строки или столбца выборок справа или снизу от вертикального или горизонтального края между первым P блоком кодирования и вторым Q блоком кодирования выборки на основании следующего уравнения:filtered value definition
Figure 00000010
samples of the second sample of the current row or column of samples to the right or below the vertical or horizontal edge between the first P coding block and the second Q sample coding block based on the following equation:

Figure 00000011
Figure 00000011

Figure 00000012
;
Figure 00000012
;

илиor

Figure 00000013
Figure 00000013

Figure 00000014
;
Figure 00000014
;

в котором pi представляет соответствующее значение выборки части текущей строки или столбца выборок первого Р блока кодирования и qj представляет соответствующее значение выборки части текущей строки или столбца выборок второго Q блока кодирования, i, j = 0, 1..7.in which p i represents the corresponding sample value of a portion of the current row or column of samples of the first P coding block and q j represents the corresponding sample value of the portion of the current row or column of samples of the second Q coding block, i, j = 0, 1..7.

В возможной форме реализации способа согласно тринадцатому аспекту как таковому, при отсутствии края субблока между субблоками внутри первого Р блока кодирования и при наличии края субблока между субблоками внутри второго Q блока кодирования, этап выполнения фильтрации удаления блочности при значениях выборок около края блока между первым Р блоком кодирования и вторым Q блоком кодирования содержит:In a possible form of implementing the method according to the thirteenth aspect, as such, if there is no subblock edge between subblocks within the first P coding block and if there is a subblock edge between subblocks within the second Q coding block, the step of performing deblocking filtering at sample values near the block edge between the first P block coding and the second Q coding block contains:

определение отфильтрованного значения

Figure 00000015
выборки третьей выборки текущей строки или столбца выборок справа или снизу вертикального или горизонтального края между первым P блоком кодирования и вторым Q блоком кодирования выборки на основании следующего уравнения:filtered value definition
Figure 00000015
samples of the third sample of the current row or column of samples to the right or bottom of the vertical or horizontal edge between the first P coding block and the second Q sample coding block based on the following equation:

Figure 00000016
Figure 00000016

Figure 00000017
;
Figure 00000017
;

илиor

Figure 00000018
Figure 00000018

Figure 00000019
;
Figure 00000019
;

в котором pi представляет соответствующее значение выборки части текущей строки или столбца выборок первого P блока кодирования и qj представляет соответствующее значение выборки части текущей строки или столбца выборок второго Q блока кодирования, i, j = 0, 1..7.in which p i represents the corresponding sample value of a portion of the current row or column of samples of the first P coding block and q j represents the corresponding sample value of the portion of the current row or column of samples of the second Q coding block, i, j = 0, 1..7.

В возможной форме реализации способа согласно тринадцатому аспекту как таковому, при отсутствии края субблока между субблоками внутри первого Р блока кодирования и при наличии края субблока между субблоками внутри второго Q блока кодирования, этап выполнения фильтрации удаления блочности при значениях выборок около края блока между первым Р блоком кодирования и вторым Q блоком кодирования содержит:In a possible form of implementing the method according to the thirteenth aspect, as such, if there is no subblock edge between subblocks within the first P coding block and if there is a subblock edge between subblocks within the second Q coding block, the step of performing deblocking filtering at sample values near the block edge between the first P block coding and the second Q coding block contains:

определение значения

Figure 00000020
отфильтрованной выборки соответствующей выборки текущей строки или столбца выборок слева или вверху вертикального или горизонтального края между первым и вторым блоком кодирования на основании следующего уравнения:definition of value
Figure 00000020
filtered sample of the corresponding sample of the current row or column of samples to the left or top of the vertical or horizontal edge between the first and second coding block based on the following equation:

Figure 00000021
Figure 00000021

Figure 00000022
,
Figure 00000022
,

Figure 00000023
Figure 00000023

Figure 00000024
,
Figure 00000024
,

Figure 00000025
Figure 00000025

Figure 00000026
,
Figure 00000026
,

Figure 00000027
Figure 00000027

Figure 00000028
,
Figure 00000028
,

Figure 00000029
Figure 00000029

Figure 00000030
,
Figure 00000030
,

Figure 00000031
Figure 00000031

Figure 00000032
,
Figure 00000032
,

Figure 00000033
Figure 00000033

Figure 00000034
,
Figure 00000034
,

в котором pi представляет соответствующее значение выборки части текущей строки или столбца выборок первого Р блока кодирования и qj представляет соответствующее значение выборки части текущей строки или столбца выборок второго Q блока кодирования, i, j = 0, 1…7.in which p i represents the corresponding sample value of a portion of the current row or column of samples of the first P coding block and q j represents the corresponding sample value of a portion of the current row or column of samples of the second Q coding block, i, j = 0, 1...7.

В возможной форме реализации способа согласно тринадцатому аспекту как таковому способ дополнительно содержит:In a possible form of implementation of the method according to the thirteenth aspect, as such, the method further comprises:

определение, должен ли край блока между первым Р блоком кодирования и вторым Q блоком кодирования быть отфильтрован путем применения первого фильтра; иdetermining whether a block edge between the first P coding block and the second Q coding block should be filtered by applying the first filter; and

применение третьего фильтра к значениям выборок около края блока между первым Р блоком кодирования и вторым Q блоком кодирования, когда определено, что край блока между первым Р блоком кодирования и вторым Q блоком кодирования не должен фильтроваться путем применения первого фильтра, в котором модифицируется не более число MA значений выборок первого блока кодирования, смежного с краем блока на строку, и модифицируется не более число MB значений выборок второго блока кодирования, смежного с краем блока, на строку, MA = MB = 4.applying a third filter to the sample values near the block edge between the first P coding block and the second Q coding block, when it is determined that the block edge between the first P coding block and the second Q coding block is not to be filtered by applying a first filter in which at most a number is modified MA sample values of the first coding block adjacent to the block edge per line, and modified by no more than the number MB of sample values of the second coding block adjacent to the block edge per line, MA = MB = 4.

Способ согласно шестому или седьмому аспекту изобретения может быть выполнен устройством согласно первому аспекту изобретения. Дополнительные признаки и формы реализации способа согласно шестому или седьмому аспекту изобретения являются прямым результатом функциональности устройства согласно первому аспекту изобретения и его различных форм реализации.The method according to the sixth or seventh aspect of the invention may be carried out by the device according to the first aspect of the invention. Additional features and forms of implementation of the method according to the sixth or seventh aspect of the invention are a direct result of the functionality of the device according to the first aspect of the invention and its various forms of implementation.

Способ согласно восьмому аспекту изобретения может быть выполнен устройством согласно второму аспекту изобретения. Дополнительные признаки и формы реализации способа согласно восьмому аспекту изобретения являются прямым результатом функциональных возможностей устройства согласно второму аспекту изобретения и его различных форм реализации.The method according to the eighth aspect of the invention can be performed by the device according to the second aspect of the invention. Additional features and forms of implementation of the method according to the eighth aspect of the invention are a direct result of the functionality of the device according to the second aspect of the invention and its various forms of implementation.

Способ согласно тринадцатому аспекту изобретения может быть выполнен устройством согласно двенадцатому аспекту изобретения. Дополнительные признаки и формы реализации способа согласно восьмому аспекту изобретения являются прямым результатом функциональных возможностей устройства согласно второму аспекту изобретения и его различных форм реализации.The method according to the thirteenth aspect of the invention can be performed by the device according to the twelfth aspect of the invention. Additional features and forms of implementation of the method according to the eighth aspect of the invention are a direct result of the functionality of the device according to the second aspect of the invention and its various forms of implementation.

Согласно другому аспекту изобретение относится к устройству для декодирования видеопотока, включающему в себя процессор и память. В памяти хранятся инструкции, которые побуждают процессор выполнять способ удаления блочности согласно любой предшествующей реализации любого предшествующего аспекта или любого предыдущего аспекта как такового.According to another aspect, the invention relates to a device for decoding a video stream, including a processor and a memory. The memory stores instructions that cause the processor to execute the deblocking method according to any prior implementation of any prior aspect, or any prior aspect as such.

Согласно другому аспекту изобретение относится к устройству для кодирования видеопотока, включающему в себя процессор и память. В памяти хранятся инструкции, которые побуждает процессор выполнять способ удаления блочности согласно любой предшествующей реализации любого предшествующего аспекта или любого предыдущего аспекта как такового.According to another aspect, the invention relates to a device for encoding a video stream, including a processor and a memory. The memory stores instructions that cause the processor to execute the deblocking method according to any prior implementation of any prior aspect, or any prior aspect as such.

Согласно другому аспекту предлагается машиночитаемый носитель данных, на котором хранятся инструкции, которые при исполнении побуждают один или более процессоров выполнять кодирование видеоданных. Инструкции побуждают один или более процессоров выполнять способ удаления блочности согласно любой предшествующей реализации любого предыдущего аспекта или любого предшествующего аспекта как такового.According to another aspect, a computer-readable storage medium is provided that stores instructions that, when executed, cause one or more processors to encode video data. The instructions cause one or more processors to execute the deblocking method according to any prior implementation of any previous aspect, or any prior aspect as such.

Согласно другому аспекту обеспечивается компьютерный программный продукт с программным кодом для выполнения способа удаления блочности согласно любой предшествующей реализации любого предшествующего аспекта или любого предшествующего аспекта как такового, когда компьютерная программа выполняется на компьютере.According to another aspect, a computer program product is provided with program code for performing a deblocking method according to any prior implementation of any prior aspect, or any prior aspect as such, when a computer program is executed on a computer.

Подробности одного или нескольких вариантов осуществления изложены на прилагаемых чертежах и в описании ниже. Другие признаки, объекты и преимущества будут очевидны из описания, чертежей и формулы изобретения.Details of one or more embodiments are set forth in the accompanying drawings and in the description below. Other features, objects and advantages will be apparent from the description, drawings and claims.

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

Следующие варианты осуществления изобретения описаны более подробно со ссылкой на прилагаемые чертежи, на которых:The following embodiments of the invention are described in more detail with reference to the accompanying drawings, in which:

Фиг.1 является блок-схемой, показывающей пример видеокодера, выполненного с возможностью реализации вариантов осуществления изобретения;1 is a block diagram showing an example of a video encoder capable of implementing embodiments of the invention;

Фиг.2 является блок-схемой, показывающей примерную структуру видеодекодера, выполненного с возможностью реализации вариантов осуществления изобретения;2 is a block diagram showing an exemplary structure of a video decoder capable of implementing embodiments of the invention;

Фиг.3 является блок-схемой, показывающей пример системы кодирования видео, выполненной с возможностью реализации вариантов осуществления изобретения;3 is a block diagram showing an example of a video coding system capable of implementing embodiments of the invention;

Фиг.4 показывает два примерных блока кодирования, в которых Q блок кодирования использует инструменты субблока (в общем, sub-block tools);4 shows two exemplary coding blocks in which the Q coding block uses sub-block tools (in general, sub-block tools);

Фиг.5 показывает два примерных блока кодирования и соответствующие значения выборок, используемые и модифицируемые во время фильтрации с помощью примерного способа, показанного на фиг. 10;FIG. 5 shows two exemplary coding blocks and corresponding sample values used and modified during filtering using the exemplary method shown in FIG. ten;

Фиг.6 показывает первый вариант осуществления устройства фильтра удаления блочности согласно вариантам осуществления изобретения;6 shows a first embodiment of a deblocking filter apparatus according to embodiments of the invention;

Фиг.7 показывает блок-схему алгоритма, иллюстрирующую способ определения, следует ли использовать более длинный отводной фильтр;7 shows a flowchart illustrating a method for determining whether to use a longer tap filter;

Фиг.8 показывает блок-схему алгоритма, иллюстрирующую способ определения, удовлетворяется ли условие HEVC сильного фильтра;8 shows a flowchart illustrating a method for determining whether a strong filter condition HEVC is satisfied;

Фиг.9 показывает два примерных блока кодирования и значений выборок, используемых и модифицированных во время фильтрации согласно другому варианту осуществления изобретения, и9 shows two exemplary blocks of coding and sample values used and modified during filtering according to another embodiment of the invention, and

Фиг.10 показывает блок-схему алгоритма, изображающую примерный процесс повышения эффективности фильтрации удаления блочности;10 shows a flowchart depicting an exemplary process for improving deblocking filtering efficiency;

Фиг.11A показывает блок-схему алгоритма, изображающую примерный процесс повышения эффективности фильтрации удаления блочности;11A shows a flowchart depicting an exemplary process for improving deblocking filtering efficiency;

Фиг.11B показывает блок-схему алгоритма, изображающую примерный процесс повышения эффективности фильтрации удаления блочности;11B shows a flowchart depicting an exemplary process for improving deblocking filtering efficiency;

Фиг.12 показывает блок-схему алгоритма, изображающую примерный процесс повышения эффективности фильтрации удаления блочности;12 is a flowchart showing an exemplary process for improving deblocking filtering efficiency;

Фиг.13 показывает упрощенную блок-схему устройства 1300, которое может использоваться в качестве одного или обоих из устройства 310 источника и устройства 320 назначения с фиг.3 согласно примерному варианту осуществления;FIG. 13 shows a simplified block diagram of a device 1300 that can be used as one or both of source device 310 and destination device 320 of FIG. 3, according to an exemplary embodiment;

Фиг.14 представляет схему устройства для кодирования видео;Fig. 14 is a diagram of a device for video encoding;

Фиг.15 показывает, как может быть применен удаление блочности ко всем внутренним краям субблоков, которые находятся в сетке 16 x 16,Fig. 15 shows how deblocking can be applied to all inner edges of sub-blocks that are in a 16 x 16 grid,

Фиг.16 показывает способ применения HEVC удаления блочности ко всем внутренним краям субблоков, кроме краев первого и последнего субблоков;16 shows a method for applying HEVC deblocking to all inner edges of subblocks except the edges of the first and last subblocks;

Фиг.17 показывает два примерных субблока внутри блока кодирования, в котором блок кодирования использует инструменты субблоков;17 shows two exemplary sub-blocks within an encoding block in which the encoding block uses sub-block tools;

Фиг.18 показывает примерные субблоки внутри блока кодирования, в котором блок кодирования использует инструменты субблоков, в которых каждый из этих субблоков использует отдельные векторы движения; и18 shows exemplary sub-blocks within an encoding block, in which the encoding block uses sub-block tools, in which each of these sub-blocks uses separate motion vectors; and

Фиг.19 иллюстрирует выборки изображений горизонтальных и вертикальных границ блока на сетке 8 * 8.Fig. 19 illustrates image samples of horizontal and vertical block boundaries on an 8*8 grid.

Далее идентичные ссылочные позиции относятся к идентичным или, по меньшей мере, функционально эквивалентным элементам. Частично на разных чертежах использовались разные ссылочные позиции, относящиеся к одним и тем же объектам.In the following, identical reference numerals refer to identical or at least functionally equivalent elements. In part, different reference numbers have been used in different drawings referring to the same objects.

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

Нижеследующее описание приведено со ссылкой на сопроводительные чертежи, которые составляют часть настоящего изобретения и показывают в качестве иллюстрации конкретные аспекты вариантов осуществления изобретения или конкретные аспекты, в которых могут использоваться варианты осуществления настоящего изобретения. Очевидно, что варианты осуществления изобретения могут использоваться в других аспектах и содержать структурные или логические изменения, не изображенные на чертежах. Поэтому нижеследующее подробное описание не следует рассматривать в ограничительном смысле, и объем настоящего изобретения определяется прилагаемой формулой изобретения.The following description is given with reference to the accompanying drawings, which form part of the present invention and show, by way of illustration, specific aspects of embodiments of the invention or specific aspects in which embodiments of the present invention may be used. Obviously, embodiments of the invention can be used in other aspects and contain structural or logical changes not shown in the drawings. Therefore, the following detailed description should not be considered in a limiting sense, and the scope of the present invention is determined by the appended claims.

Например, понятно, что настоящее изобретение раскрывает способ, который также может быть использован для соответствующего устройства или системы, выполненной с возможностью выполнять способ, и vice versa. Например, если описан один или более конкретных этапов способа, соответствующее устройство может включать в себя один или более блоков, например, функциональные блоки для выполнения описанного одного или множества этапов способа (например, один блок, выполняющий один или множество этапов, или множество блоков, каждый из которых выполняет один или более из множества этапов) даже, если на чертежах такой один или более блоков явно не описаны и не проиллюстрированы. С другой стороны, например, если конкретное устройство описано на основании одного или множества блоков, например, функциональных блоков, соответствующий способ может включать в себя один этап для выполнения функциональных возможностей одного или множества блоков (например, один этап, выполняющий функциональные возможности одного или множества блоков, или множество этапов, каждый из которых выполняет функциональные возможности одного или нескольких из множество блоков) даже, если на чертежах такой один или множество этапов явно не описаны или не проиллюстрированы. Кроме того, следует понимать, что признаки различных примерных вариантов осуществления и/или аспектов, описанных в данном документе, могут быть объединены друг с другом, если специально не указано иное.For example, it is understood that the present invention discloses a method that can also be used for a corresponding device or system capable of performing the method, and vice versa. For example, if one or more specific method steps are described, the corresponding apparatus may include one or more blocks, such as functional blocks for performing one or more method steps described (for example, one block performing one or more steps, or a plurality of blocks each of which performs one or more of a plurality of steps) even if such one or more units are not explicitly described or illustrated in the drawings. On the other hand, for example, if a particular device is described in terms of one or more blocks, such as functional blocks, the corresponding method may include one step to perform the functionality of one or more blocks (for example, one step to perform the functionality of one or more blocks). blocks, or a plurality of steps, each of which performs the functionality of one or more of the plurality of blocks) even if such one or more steps are not explicitly described or illustrated in the drawings. In addition, it should be understood that features of the various exemplary embodiments and/or aspects described herein may be combined with each other unless specifically noted otherwise.

Кодирование видео обычно относится к обработке последовательности изображений, которые образуют видео или видеопоследовательность. Вместо термина «изображение» термины «кадр» или «изображение» могут использоваться как синонимы в области кодирования видео. Кодирование видео содержит две части: кодирование видео и декодирование видео. Кодирование видео выполняется на стороне источника, как правило, содержащее обработку (например, путем сжатия) исходных видеоизображений для уменьшения объема данных, необходимых для представления видеоизображений (для более эффективного хранения и/или передачи). Декодирование видео выполняется на стороне назначения и обычно содержит обратную обработку по сравнению с кодером для восстановления видеоизображений. Варианты осуществления, относящиеся к «кодированию» видеоизображений (или изображений в целом, как будет объяснено позже), следует понимать, как относящиеся как к «кодированию», так и «декодированию» видеоизображений. Комбинация части кодирования и части декодирования также называется CODEC (Coding and Decoding).Video coding generally refers to the processing of a sequence of images that form a video or video sequence. Instead of the term "picture", the terms "frame" or "picture" may be used interchangeably in the field of video coding. Video encoding contains two parts: video encoding and video decoding. Video encoding is performed at the source side, typically involving processing (eg, by compressing) the original video images to reduce the amount of data needed to represent the video images (for more efficient storage and/or transmission). Video decoding is performed on the destination side and usually contains inverse processing compared to the encoder for recovering video images. Embodiments relating to "coding" of video images (or images in general, as will be explained later) should be understood to refer to both "coding" and "decoding" of video images. The combination of an encoding part and a decoding part is also called CODEC (Coding and Decoding).

В случае кодирования видео без потерь исходные видеоизображения могут быть восстановлены, т.е. восстановленные видеоизображения имеют то же качество, что и исходные видеоизображения (при условии отсутствия потерь при передаче или других потерь данных во время хранения или передачи). В случае кодирования видео с потерями выполняется дополнительное сжатие, например, посредством квантования для уменьшения количества данных, представляющих видеоизображения, которые не могут быть полностью восстановлены в декодере, т.е. качество восстановленных видеоизображений ниже или хуже по сравнению с качеством исходных видеоизображений.In the case of lossless video coding, the original video images can be reconstructed, i.e. the restored video images have the same quality as the original video images (assuming no transmission loss or other data loss during storage or transmission). In the case of lossy video coding, additional compression is performed, for example by quantization, to reduce the amount of data representing video images that cannot be fully reconstructed in the decoder, i.e. the quality of the restored video images is lower or worse than the quality of the original video images.

Несколько стандартов кодирования видео, начиная с H.261, принадлежат к группе «гибридных видеокодеков с потерями» (т.е. объединяют пространственное и временное предсказание в области выборки и кодирование с двумерным преобразованием для применения квантования в области преобразования). Каждое изображение видеопоследовательности обычно разделяется на набор неперекрывающихся блоков, и кодирование обычно выполняется на уровне блоков. Другими словами, видео обычно обрабатывается в кодере, то есть, кодируется на уровне блока (видеоблока), например, используя пространственное (внутреннее изображение) предсказание и временное (внешнее изображение) предсказание для генерирования блока предсказания, вычитание блока предсказания из текущего блока (блок, который в настоящее время обрабатывается/будет обработан) для получения остаточного блока, преобразование остаточного блока и квантование остаточного блока в области преобразования для уменьшения объема данных, которые должны быть переданы (сжатие), тогда как для представления применяется обратная обработка в декодере по сравнению с кодером к закодированному или сжатому блоку для восстановления текущего блока. Кроме того, кодер дублирует цикл обработки декодера, так что оба будут генерировать идентичные предсказания (например, внутреннее и внешнее предсказание) и/или восстановление для обработки, то есть, кодирования, последующих блоков.Several video coding standards, starting with H.261, belong to the group of "hybrid lossy video codecs" (ie, combine spatial and temporal sample-domain prediction and 2D transform coding to apply transform-domain quantization). Each picture of a video sequence is usually divided into a set of non-overlapping blocks, and encoding is usually done at the block level. In other words, the video is usually processed in the encoder, that is, encoded at the block (video block) level, for example, using spatial (inner picture) prediction and temporal (outer picture) prediction to generate a prediction block, subtracting the prediction block from the current block (block, which is currently being processed/will be processed) to obtain a residual block, transforming the residual block, and quantizing the residual block in the transform domain to reduce the amount of data that must be transmitted (compression), while the representation is back-processed in the decoder compared to the encoder to the encoded or compressed block to reconstruct the current block. In addition, the encoder duplicates the processing cycle of the decoder so that both will generate identical predictions (eg, intra and inter prediction) and/or reconstruction for processing, i.e. encoding, subsequent blocks.

Поскольку обработка видеоизображения (также называемая обработкой движущегося изображения) и обработка неподвижного изображения (термин обработка, содержащая кодирование) имеют много общих концепций и технологий или инструментов, в дальнейшем термин «изображение» используется для обозначения видеоизображения видеопоследовательность (как объяснено выше) и/или неподвижное изображение, чтобы избежать ненужных повторов и различий между видеоизображениями и неподвижными изображениями, в котором это не обязательно. Если описание относится только к неподвижным изображениям (или неподвижным изображениям), следует использовать термин «неподвижное изображение».Since video image processing (also called moving image processing) and still image processing (the term processing containing encoding) have many common concepts and technologies or tools, in the following, the term “image” is used to refer to a video image, a video sequence (as explained above) and/or a still image. image to avoid unnecessary repetition and differences between video images and still images in which this is not necessary. If the description refers only to still images (or still images), the term "still image" should be used.

В следующих вариантах осуществления кодера 100, декодера 200 и системы 300 кодирования описываются на основании фиг.1-3 перед более подробным описанием вариантов осуществления изобретения на основании фиг. 4-14.In the following embodiments, encoder 100, decoder 200, and encoding system 300 are described based on FIGS. 1-3 before the embodiments are described in more detail based on FIGS. 4-14.

Фиг.3 представляет собой концептуальную или схематическую блок-схему, иллюстрирующую вариант осуществления системы 300 кодирования, например, системы 300 кодирования изображений, в котором система 300 кодирования содержит устройство 310 источника, выполненное с возможностью предоставлять кодированные данные 330, например, закодированное изображение 330, например, в устройство 320 назначения для декодирования закодированных данных 330.3 is a conceptual or schematic block diagram illustrating an embodiment of an encoding system 300, such as an image encoding system 300, in which the encoding system 300 comprises a source device 310 configured to provide encoded data 330, such as an encoded image 330, for example, to the destination device 320 to decode the encoded data 330.

Устройство 310 источника содержит кодер 100 или блок 100 кодирования и может дополнительно, т.е. возможно, содержать источник 312 изображения, блок 314 предварительной обработки, например, блок 314 предварительной обработки изображения и интерфейс связи или блок 318 связи.Source device 310 includes encoder 100 or encoder 100 and may additionally, i.e. optionally include an image source 312, a pre-processor 314, such as an image pre-processor 314, and a communication interface or communication unit 318.

Источник 312 изображения может содержать или быть устройством захвата изображения любого типа, например, для захвата изображения реального мира и/или устройством генерирования изображения любого типа, например, процессором компьютерной графики для генерирования компьютерного анимированного изображения, или устройством любого типа для получения и/или предоставления реального изображения, компьютерного анимированного изображения (например, контента экрана, изображения виртуальной реальности (VR)) и/или любой их комбинации (например, изображения дополненной реальности (AR)). В дальнейшем все эти виды изображений и любые другие изображения будут называться «изображение» или «кадр», если специально не указано иное, в то время как предшествующие пояснения в отношении термина «изображение» охватывают «видеоизображения» и «неподвижные изображения» по-прежнему остаются в силе, если явно не указано иное.Image source 312 may comprise or be any type of image capture device, such as for capturing a real world image, and/or any type of image generating device, such as a computer graphics processor for generating a computer animated image, or any type of device for receiving and/or providing real image, computer animated image (eg, screen content, virtual reality (VR) image), and/or any combination thereof (eg, augmented reality (AR) image). In the following, all these types of images and any other images will be referred to as "image" or "frame", unless specifically indicated otherwise, while the foregoing explanations regarding the term "image" cover "video images" and "still images" as before. remain in effect unless expressly stated otherwise.

(Цифровое) изображение представляет собой или может рассматриваться как двумерный массив или матрицу выборок со значениями интенсивности. Выборка в массиве также может называться пикселем (сокращенная форма элемента изображения) или пикселем. Количество выборок в горизонтальном и вертикальном направлении (или по оси) массива или изображения определяет размер и/или разрешение изображения. Для представления цвета обычно используются три цветовых компонента, то есть, изображение может быть представлено или включать в себя три массива выборок. В формате RGB или цветовом пространстве изображение содержит соответствующий массив выборок красного, зеленого и синего цветов. Однако при кодировании видео каждый пиксель обычно представлен в формате яркости/цветности или цветовом пространстве, например YCbCr, который содержит компонент яркости, обозначенный Y (иногда вместо него также используется L), и два компонента цветности, обозначенные Cb и Cr. Компонент Y яркости (сокращенно от яркости) представляет яркость или интенсивность уровня серого (например, как в полутоновом изображении), в то время как два компонента цветности (сокращенно от цветности) Cb и Cr представляют компоненты информации цветности или цвета. Соответственно, изображение в формате YCbCr содержит массив выборок яркости значений (Y) выборок яркости и два массива выборок цветности значений (Cb и Cr) цветности. Изображения в формате RGB могут быть преобразованы или преобразованы в формат YCbCr и наоборот, этот процесс также известен как преобразование цвета или конверсия. Если изображение является монохромным, оно может содержать только массив выборок яркости.A (digital) image is, or can be viewed as, a two-dimensional array or matrix of samples with intensity values. A sample in an array can also be called a pixel (short for picture element) or a pixel. The number of samples in the horizontal and vertical direction (or axis) of the array or image determines the size and/or resolution of the image. Three color components are typically used to represent a color, that is, an image can be represented by or include three arrays of samples. In RGB format or color space, an image contains a corresponding array of red, green, and blue color samples. However, in video encoding, each pixel is typically represented in a luma/chrominance format or color space, such as YCbCr, which contains a luminance component labeled Y (sometimes L is also used instead) and two chrominance components labeled Cb and Cr. The luminance Y component (short for luminance) represents the brightness or intensity of the gray level (eg, as in a grayscale image), while the two chrominance components (short for chrominance) Cb and Cr represent components of chrominance or color information. Accordingly, an image in YCbCr format contains an array of luminance samples of values (Y) of luminance samples and two arrays of chrominance samples of chrominance values (Cb and Cr). RGB images can be converted or converted to YCbCr format and vice versa, this process is also known as color conversion or conversion. If the image is monochrome, it can only contain an array of brightness samples.

Источник 312 изображения может быть, например, камерой для захвата изображения, памятью, например, памятью изображения, содержащую или хранящую ранее захваченное или сгенерированное изображение, и/или интерфейс любого типа (внутренний или внешний) для получения или приема изображения. Камера может быть, например, локальной или интегрированной камерой, интегрированной в устройство источника, память может быть локальной или интегрированной памятью, например, интегрированной в устройство источника. Интерфейс может быть, например, внешним интерфейсом для приема изображения от внешнего источника видео, например, внешнего устройства захвата изображения, такого как камера, внешней памяти или внешнего устройства генерирования изображения, например, внешнего компьютерного графического процессора, компьютера или сервера. Интерфейс может быть любым, например, проводным или беспроводным интерфейсом, оптическим интерфейсом в соответствии с любым проприетарным или стандартизованным протоколом интерфейса. Интерфейс для получения данных 312 изображения может быть тем же интерфейсом, что и интерфейс 318 связи, или его частью.Image source 312 may be, for example, a camera for capturing an image, a memory, such as an image memory, containing or storing a previously captured or generated image, and/or any type of interface (internal or external) for acquiring or receiving an image. The camera may be, for example, a local or integrated camera integrated into the source device, the memory may be local or integrated memory, for example, integrated into the source device. The interface may be, for example, an external interface for receiving an image from an external video source, such as an external image capturing device such as a camera, external memory, or an external image generating device, such as an external computer GPU, computer, or server. The interface may be any, such as a wired or wireless interface, an optical interface in accordance with any proprietary or standardized interface protocol. The interface for obtaining image data 312 may be the same interface as the communication interface 318, or part of it.

В отличие от блока 314 предварительной обработки и обработки, выполняемой блоком 314 предварительной обработки, изображение или данные 313 изображения также могут называться необработанным изображением или данными 313 необработанного изображения.Unlike the preprocessor 314 and the processing performed by the preprocessor 314, the image or image data 313 may also be referred to as a raw image or raw image data 313.

Блок 314 предварительной обработки выполнен с возможностью принимать (необработанные) данные 313 изображения и выполнять предварительную обработку данных 313 изображения для получения предварительно обработанного изображения 315 или предварительно обработанных данных 315 изображения. Предварительная обработка выполняется блоком 314 предварительной обработки и может, например, включать в себя обрезку, преобразование цветового формата (например, из RGB в YCbCr), цветокоррекцию или устранение шумов.The pre-processor 314 is configured to receive (raw) image data 313 and perform pre-processing of the image data 313 to obtain a pre-processed image 315 or pre-processed image data 315. Pre-processing is performed by pre-processor 314 and may, for example, include cropping, color format conversion (eg, from RGB to YCbCr), color correction, or denoising.

Кодер 100 выполнен с возможностью принимать предварительно обработанные данные 315 изображения и предоставлять данные 171 кодированного изображения (дополнительные подробности будут описаны, например, со ссылкой на фиг.1).The encoder 100 is configured to receive pre-processed image data 315 and provide encoded image data 171 (more details will be described, for example, with reference to FIG. 1).

Интерфейс 318 связи устройства 310 источника может быть выполнен с возможностью принимать данные 171 закодированного изображения и напрямую передавать их на другое устройство, например, устройство 320 назначения или любое другое устройство для хранения или прямого восстановления или для обработки данных 171 кодированного изображения, соответственно, до сохранения кодированных данных 330 и/или передачи кодированных данных 330 на другое устройство, например, устройство 320 назначения или любое другое устройство для декодирования или сохранения.The communication interface 318 of source device 310 may be configured to receive encoded image data 171 and directly transmit it to another device, such as destination device 320 or any other device for storage or direct retrieval or for processing encoded image data 171, respectively, prior to storage. encoded data 330 and/or transmit encoded data 330 to another device, such as destination device 320 or any other device for decoding or storage.

Устройство 320 назначения содержит декодер 200 или блок 200 декодирования и может дополнительно, т.е. возможно, содержать интерфейс связи или блок 322 связи, процессор 326 постобработки и устройство 328 отображения.Destination device 320 includes decoder 200 or decoder 200 and may additionally, i.e. possibly contain a communication interface or communication unit 322, a post-processor 326, and a display device 328.

Интерфейс 322 связи устройства 320 назначения выполнен с возможностью принимать данные 171 кодированного изображения или кодированные данные 330, например, непосредственно из устройства 310 источника или из любого другого источника, например, память, например, память данных закодированного изображения.The communication interface 322 of the destination device 320 is configured to receive encoded image data 171 or encoded data 330, for example, directly from source device 310 or from any other source, such as a memory, such as encoded image data memory.

Интерфейс 318 связи и интерфейс 322 связи могут быть выполнены с возможностью передавать, соответственно, принимать данные 171 кодированного изображения или закодированные данные 330 через прямую линию связи между устройством 310 источника и устройством 320 назначения, например, по прямому проводному или беспроводному соединению или через любую сеть, например, проводную или беспроводную сеть или любую их комбинацию, или любую частную сеть и сеть общего пользования, или любую их комбинацию.Communication interface 318 and communication interface 322 may be configured to transmit, respectively, receive encoded image data 171 or encoded data 330 via a direct link between source device 310 and destination device 320, such as over a direct wired or wireless connection, or over any network. , for example, a wired or wireless network, or any combination thereof, or any private and public network, or any combination thereof.

Интерфейс 318 связи может быть, например, выполнен с возможностью упаковывать данные 171 закодированного изображения в соответствующий формат, например, пакеты для передачи по каналу связи или сети связи и могут дополнительно содержать защиту от потери данных и восстановление после потери данных.The communication interface 318 may, for example, be configured to package the encoded image data 171 into an appropriate format, such as packets, for transmission over a communication channel or network, and may further comprise data loss protection and data loss recovery.

Интерфейс 322 связи, образующий аналог интерфейса 318 связи, может быть, например, выполнен с возможностью распаковывать закодированные данные 330 для получения данных 171 закодированного изображения, а также может быть выполнен с возможностью выполнения защиты от потери данных и восстановления после потери данных, например, содержащую маскировку ошибок.Communication interface 322 analogous to communication interface 318 may, for example, be configured to decompress encoded data 330 to obtain encoded image data 171, and may also be configured to perform data loss protection and data loss recovery, for example, comprising error masking.

И интерфейс 318 связи, и интерфейс 322 связи могут быть сконфигурированы как однонаправленные интерфейсы связи, как показано стрелкой для данных 330 закодированного изображения на фиг.3, указывающей от устройства 310 источника к устройству 320 назначения, или как двунаправленные интерфейсы связи, и могут быть выполнены с возможностью, например, отправлять и принимать сообщения, например, для установки соединения, подтверждения и/или повторной отправки потерянных или задержанных данных, включающие в себя данные изображения, и обмена любой другой информацией, относящейся к каналу связи и/или передаче данных, например, передача данных закодированного изображения.Both the communication interface 318 and the communication interface 322 can be configured as unidirectional communication interfaces, as shown by the arrow for the encoded image data 330 in FIG. 3 pointing from source device 310 to destination device 320, or as bidirectional communication interfaces, and can be implemented with the ability, for example, to send and receive messages, for example, to establish a connection, acknowledge and / or resend lost or delayed data, including image data, and exchange any other information related to the communication channel and / or data transfer, for example , transmission of encoded image data.

Декодер 200 выполнен с возможностью принимать данные 171 кодированного изображения и предоставлять данные 231 декодированного изображения или декодированного изображения 231 (дополнительные подробности будут описаны, например, со ссылкой на фиг. 2).The decoder 200 is configured to receive encoded image data 171 and provide decoded image data 231 or decoded image 231 (more details will be described, for example, with reference to FIG. 2).

Блок 326 постобработки устройства 320 назначения выполнен с возможностью выполнять пост-обработку данных 231 декодированного изображения, например, декодированного изображения 231, для получения данных 327 изображения после обработки, например, пост-обработанное изображение 327. Постобработка, выполняемая блоком 326 постобработки, может содержать, например, преобразование цветового формата (например, из YCbCr в RGB), цветокоррекция, обрезка или повторная выборка, или любая другая обработка, например, для подготовки данных 231 декодированного изображения для отображения, например, с помощью устройства 328 отображения.The post-processing unit 326 of the destination device 320 is configured to post-process the decoded image data 231, such as the decoded image 231, to obtain post-processed image data 327, such as the post-processed image 327. The post-processing performed by the post-processing unit 326 may comprise, for example, color format conversion (eg, from YCbCr to RGB), color correction, cropping or resampling, or any other processing, such as preparing decoded image data 231 for display, such as by a display device 328.

Устройство 328 отображения устройства 320 назначения выполнено с возможностью принимать данные 327 изображения с постобработкой для отображения изображения, например, пользователю или зрителю. Устройство 328 отображения может быть или содержать любой вид дисплея для представления восстановленного изображения, например, встроенный или внешний дисплей или монитор. Дисплеи могут, например, состоят из электронно-лучевых трубок (CRT), жидкокристаллических дисплеев (LCD), плазменных дисплеев, дисплеев на органических светодиодах (OLED) или любых других дисплеев… луча, голограммы (3D),…The display device 328 of the destination device 320 is configured to receive post-processed image data 327 to display the image to, for example, a user or viewer. The display device 328 may be or comprise any kind of display for presenting the reconstructed image, such as a built-in or external display or monitor. The displays may, for example, consist of cathode ray tubes (CRT), liquid crystal displays (LCD), plasma displays, organic light emitting diode (OLED) displays or any other displays…beam, hologram (3D),…

Хотя фиг.3 изображает устройство 310 источника и устройство 320 назначения как отдельные устройства, варианты осуществления устройств также могут содержать как функциональные возможности устройства 310 источника, так и соответствующие функциональные возможности устройства 320 назначения. В таких вариантах осуществления устройство 310 источника или соответствующие функциональные возможности и устройство 320 назначения или соответствующие функциональные возможности могут быть реализованы с использованием одного и того же аппаратного и/или программного обеспечения или с помощью отдельного аппаратного и/или программного обеспечения или любой их комбинации.Although FIG. 3 depicts source device 310 and destination device 320 as separate devices, device embodiments may also contain both the functionality of source device 310 and the corresponding functionality of destination device 320. In such embodiments, source device 310 or related functionality and destination device 320 or related functionality may be implemented using the same hardware and/or software, or using separate hardware and/or software, or any combination thereof.

Как будет очевидно для специалиста на основании описания, наличие и (точное) разделение функциональных возможностей различных блоков или функций в устройстве 310 источника и/или устройстве 320 назначения, как показано на фиг.3, может варьироваться в зависимости от фактического устройства и приложения.As will be apparent to those skilled in the art based on the description, the presence and (exact) separation of functionality of various blocks or functions in source device 310 and/or destination device 320 as shown in FIG. 3 may vary depending on the actual device and application.

Следовательно, устройство 310 источника и устройство 320 назначения, как показано на фиг.3, являются просто примерными вариантами осуществления изобретения, и варианты осуществления изобретения не ограничиваются показанными на фиг. 3.Therefore, source device 310 and destination device 320 as shown in FIG. 3 are merely exemplary embodiments of the invention, and the embodiments of the invention are not limited to those shown in FIG. 3.

Устройство 310 источника и устройство 320 назначения могут содержать любое из широкого диапазона устройств, включающие в себя любые виды портативных или стационарных устройств, например, ноутбуки или портативные компьютеры, мобильные телефоны, смартфоны, планшеты или планшетные компьютеры, камеры, настольные компьютеры, телевизионные приставки, телевизоры, устройства отображения, цифровые медиаплееры, игровые приставки, устройства потоковой передачи видео, устройства приемника вещания и т.д. (также серверы и рабочие станции для крупномасштабного профессионального кодирования/декодирования, например, сетевые объекты) и могут не использовать операционную систему любого типа или не использовать ее.Source device 310 and destination device 320 may comprise any of a wide range of devices, including any kind of portable or stationary devices, such as laptops or laptops, mobile phones, smartphones, tablets or tablet computers, cameras, desktop computers, set-top boxes, televisions, display devices, digital media players, game consoles, video streaming devices, broadcast receiver devices, etc. (also servers and workstations for large-scale professional encoding/decoding, such as network objects) and may not use or use any type of operating system.

На фиг.1 показана схематическая/концептуальная блок-схема варианта осуществления кодера 100, например, кодера 100 изображений, который содержит вход 102, блок 104 вычисления остатка, блок 106 преобразования, блок 108 квантования, блок 110 обратного квантования и блок 112 обратного преобразования, блок 114 восстановления, буфер 118, контурный фильтр 120, буфер 130 декодированных изображений (DPB), блок 160 предсказания [блок 142 внешней оценки, блок 144 внешнего предсказания, блок 152 внутренней оценки, блок 154 внутреннего предсказания, блок 162 выбора режима], блок 170 энтропийного кодирования и выход 172. Видеокодер 100, показанный на фиг.1, также может называться гибридным видеокодером или видеокодером согласно гибридному видеокодеку.Figure 1 shows a schematic/conceptual block diagram of an embodiment of an encoder 100, for example, an image encoder 100, which includes an input 102, a residual calculation block 104, a transform block 106, a quantizer block 108, an inverse quantizer block 110, and an inverse transform block 112, reconstruction block 114, buffer 118, loop filter 120, decoded picture buffer (DPB) 130, prediction block 160 [inter estimator 142, inter prediction block 144, intra estimator 152, intra prediction block 154, mode selection block 162], block 170 entropy encoding and output 172. The video encoder 100 shown in FIG. 1 may also be referred to as a hybrid video encoder or a video encoder according to a hybrid video codec.

Например, блок 104 вычисления остатка, блок 106 преобразования, блок 108 квантования и блок 170 энтропийного кодирования образуют прямой тракт сигнала кодера 100, тогда как, например, блок 110 обратного квантования, блок 112 обратного преобразования, блок 114 восстановления, буфер 118, контурный фильтр 120, буфер 130 декодированных изображений (DPB), блок 144 внешнего предсказания и блок 154 внутреннего предсказания образуют обратный тракт сигнала кодера, в котором обратный тракт сигнала кодера соответствует тракту сигнала декодера (см. декодер 200 на фиг. 2).For example, the residual calculator 104, the transform block 106, the quantizer 108, and the entropy coding block 170 form the direct signal path of the encoder 100, while, for example, the inverse quantizer 110, the inverse transform block 112, the reconstruction block 114, the buffer 118, the loop filter 120, a decoded picture buffer (DPB) 130, an inter prediction block 144, and an intra prediction block 154 form an encoder return signal path, in which the encoder return signal path corresponds to the decoder signal path (see decoder 200 in FIG. 2).

Кодер выполнен с возможностью принимать, например, через вход 102, изображение 101 или блок 103 изображения изображения 101, например, изображение последовательности изображений, образующих видео или видеопоследовательность. Блок 103 изображения также может называться текущим блоком изображения или блоком изображения, подлежащим кодированию, и изображение 101 является текущим изображением или изображением, которое подлежит кодированию (в частности, при кодировании видео для отличия текущего изображения от других изображений, например, ранее закодированных и/или декодированные изображения одной и той же видеопоследовательности, т.е. видеопоследовательности, которая также содержит текущее изображение).The encoder is configured to receive, for example, via input 102, an image 101 or an image block 103 of image 101, for example, an image of a sequence of images constituting a video or video sequence. Image block 103 may also be referred to as the current image block or image block to be encoded, and image 101 is the current image or image to be encoded (particularly when encoding a video to distinguish the current image from other images, such as previously encoded and/or decoded images of the same video sequence, i.e. a video sequence that also contains the current image).

Варианты осуществления кодера 100 могут содержать блок разделения (не показан на фиг. 1), например, который также может называться блоком разделения изображения, выполненный с возможностью разделять изображение 103 на множество блоков, например, блоки, подобные блоку 103, обычно на множество неперекрывающихся блоков. Блок разделения может быть выполнен с возможностью использовать один и тот же размер блока для всех изображений видеопоследовательности и соответствующую сетку, определяющую размер блока, или изменять размер блока между изображениями или подмножествами или группами изображений, а также разделять каждое изображение на соответствующие блоки.Embodiments of encoder 100 may comprise a splitter (not shown in FIG. 1), for example, which may also be referred to as a picture splitter, configured to split image 103 into multiple blocks, such as blocks like block 103, typically into multiple non-overlapping blocks. . The dividing block may be configured to use the same block size for all images of the video sequence and the corresponding grid defining the block size, or to change the block size between images or subsets or groups of images, and to divide each image into appropriate blocks.

Подобно изображению 101, блок 103 снова является или может рассматриваться как двумерный массив или матрица выборок со значениями интенсивности (значениями выборок), хотя и меньшего размера, чем изображение 101. Другими словами, блок 103 может содержать, например, один массив выборок (например, массив яркости в случае монохромного изображения 101) или три массива выборок (например, массив яркости и два массива цветности в случае цветного изображения 101) или любое другое количество и/или тип массивов в зависимости от применяемого цветового формата. Количество выборок в горизонтальном и вертикальном направлении (или по оси) блока 103 определяет размер блока 103.Like image 101, block 103 is again, or can be viewed as, a two-dimensional array or matrix of samples with intensity values (sample values), albeit smaller than image 101. In other words, block 103 may contain, for example, one array of samples (for example, a luminance array in the case of a monochrome image 101) or three sample arrays (eg, a luminance array and two chrominance arrays in the case of a color image 101) or any other number and/or type of arrays depending on the color format used. The number of samples in the horizontal and vertical direction (or axis) of block 103 determines the size of block 103.

Кодер 100, как показано на фиг.1, выполнен с возможностью кодировать изображение 101 блок за блоком, например, кодирование и предсказание выполняется в блоке 103.The encoder 100, as shown in FIG. 1, is configured to encode the image 101 block by block, for example, encoding and prediction are performed in block 103.

Блок 104 вычисления остатка выполнен с возможностью вычислять остаточный блок 105 на основании блока 103 изображения и блока 165 предсказания (дополнительные подробности о блоке 165 предсказания предоставлены позже), например, путем вычитания значений выборок блока 165 предсказания из значений выборок блока 103 изображения, выборка за выборкой (пиксель за пикселем) для получения остаточного блока 105 в области выборки.Residual block 104 is configured to calculate residual block 105 based on image block 103 and predictor 165 (more details about predictor 165 are provided later), for example, by subtracting sample values of predictor 165 from sample values of image block 103, sample by sample. (pixel by pixel) to obtain a residual block 105 in the sample area.

Блок 106 преобразования выполнен с возможностью применять преобразования, например, пространственно-частотное преобразование или линейное пространственное преобразование, например дискретное косинусное преобразование (DCT) или дискретное синусоидальное преобразование (DST) на значениях выборки остаточного блока 105 для получения преобразованных коэффициентов 107 в области преобразования. Преобразованные коэффициенты 107 могут также называться преобразованными остаточными коэффициентами и представлять остаточный блок 105 в области преобразования.Transform block 106 is configured to apply transforms, such as a space-frequency transform or a linear spatial transform, such as a discrete cosine transform (DCT) or a discrete sine transform (DST), on the sample values of the residual block 105 to obtain transformed coefficients 107 in the transform domain. The transformed coefficients 107 may also be referred to as transformed residual coefficients and represent the residual block 105 in the transform region.

Блок 106 преобразования может быть выполнен с возможностью применять целочисленные аппроксимации DCT/DST, таких как базовые преобразования, определенные для HEVC/H.265. По сравнению с ортонормированным DCT преобразованием такие целочисленные аппроксимации обычно масштабируются определенным коэффициентом. Чтобы сохранить норму остаточного блока, который обрабатывается прямым и обратным преобразованиями, дополнительные коэффициенты масштабирования применяются как часть процесса преобразования. Коэффициенты масштабирования обычно выбираются на основании определенных ограничений, таких как коэффициенты масштабирования, равные степени два для операции сдвига, битовая глубина преобразованных коэффициентов, компромисс между точностью и затратами на реализацию и т.д. Могут быть определены, соответственно, конкретные коэффициенты масштабирования, например, которые указываются для обратного преобразования, например, блоком 212 обратного преобразования в декодере 200 (и соответствующим обратным преобразованием, например, блоком 112 обратного преобразования в кодере 100) и соответствующими масштабными коэффициентами для прямого преобразования, например, с помощью блока 106 преобразования в кодере 100.Transform block 106 may be configured to apply DCT/DST integer approximations, such as the base transforms defined for HEVC/H.265. Compared to the orthonormal DCT transform, such integer approximations are usually scaled by a certain factor. To preserve the norm of the residual block that is processed by forward and backward transforms, additional scaling factors are applied as part of the transform process. The scaling factors are usually chosen based on certain constraints, such as scaling factors that are a power of two for the shift operation, the bit depth of the transformed coefficients, the trade-off between accuracy and implementation cost, and so on. Specific scaling factors can be defined, respectively, such as those indicated for the inverse transform, for example, by the inverse transform block 212 in the decoder 200 (and the corresponding inverse transform, for example, by the inverse transform block 112 in the encoder 100) and the corresponding scaling factors for the forward transform. , for example, using the transform block 106 in the encoder 100.

Блок 108 квантования выполнен с возможностью квантовать преобразованные коэффициенты 107 для получения квантованных коэффициентов 109, например, путем применения скалярного квантования или векторного квантования. Квантованные коэффициенты 109 также могут называться квантованными остаточными коэффициентами 109. Например, для скалярного квантования может применяться другое масштабирование для достижения более тонкого или более грубого квантования. Меньшие размеры шагов квантования соответствуют более тонкому квантованию, тогда как большие размеры шагов квантования соответствуют более грубому квантованию. Применимый размер шага квантования может быть указан параметром квантования (QP). Параметр квантования может, например, быть индексом для заранее определенного набора применимых размеров шага квантования. Например, малые параметры квантования могут соответствовать точному квантованию (малые размеры шагов квантования) и большие параметры квантования могут соответствовать грубому квантованию (большие размеры шагов квантования) или наоборот. Квантование может включать в себя деление по размеру шага квантования и соответствующее обратное деквантование, например, посредством блока 110 обратного квантования, может включать в себя умножение на размер шага квантования.Quantizer 108 is configured to quantize the transformed coefficients 107 to obtain quantized coefficients 109, for example by applying scalar quantization or vector quantization. The quantized coefficients 109 may also be referred to as quantized residual coefficients 109. For example, a different scaling may be applied to scalar quantization to achieve finer or coarser quantization. Smaller quantization step sizes correspond to finer quantization, while larger quantization step sizes correspond to coarser quantization. The applicable quantization step size may be indicated by a quantization parameter (QP). The quantization parameter may, for example, be an index to a predetermined set of applicable quantization step sizes. For example, small quantization parameters may correspond to fine quantization (small quantization step sizes) and large quantization parameters may correspond to coarse quantization (large quantization step sizes), or vice versa. The quantization may include dividing by the quantization step size and the corresponding inverse dequantization, for example by the inverse quantizer 110, may include multiplying by the quantization step size.

Варианты осуществления согласно HEVC могут быть сконфигурированы для использования параметра квантования для определения размера шага квантования. Как правило, размер шага квантования может быть вычислен на основании параметра квантования с использованием аппроксимации с фиксированной точкой уравнения, включающей в себя деление. Дополнительные коэффициенты масштабирования могут быть введены для квантования и деквантования для восстановления нормы остаточного блока, который может быть модифицирован масштабированием, используемого в аппроксимации с фиксированной точкой уравнения для размера шага квантования и параметра квантования. В одной примерной реализации масштабирование обратного преобразования и деквантования могут быть объединены. В качестве альтернативы могут использоваться настроенные таблицы квантования и сигнализироваться из кодера к декодеру, например, в битовом потоке. Квантование является операцией с потерями, в котором потери возрастают с увеличением размеров шагов квантования.Embodiments according to HEVC may be configured to use a quantization parameter to determine the quantization step size. Typically, the quantization step size can be calculated based on the quantization parameter using a fixed-point approximation of an equation involving division. Additional scaling factors may be introduced for quantization and dequantization to recover the residual block norm, which may be modified by the scaling used in the fixed-point approximation of the equation for quantization step size and quantization parameter. In one exemplary implementation, inverse transform scaling and dequantization may be combined. Alternatively, customized quantization tables can be used and signaled from the encoder to the decoder, for example, in a bitstream. Quantization is a lossy operation in which the loss increases with increasing quantization step sizes.

Варианты осуществления кодера 100 (или, соответственно, блок 108 квантования) могут быть выполнены с возможностью выводить схему квантования и размер шага квантования, например, с помощью соответствующего параметра квантования, так что декодер 200 может принимать и применять соответствующее обратное квантование. Варианты осуществления кодера 100 (или блока 108 квантования) могут быть выполнены с возможностью выводить схему квантования и размер шага квантования, например, кодируется непосредственно или энтропийно через блок 170 энтропийного кодирования или любой другой блок энтропийного кодирования.Embodiments of encoder 100 (or quantizer 108, respectively) can be configured to derive the quantization scheme and quantization step size, for example, using an appropriate quantization parameter, so that decoder 200 can receive and apply the appropriate inverse quantization. Embodiments of encoder 100 (or quantizer 108) may be configured to output the quantization scheme and quantization step size, eg encoded directly or entropy via entropy coding unit 170 or any other entropy coding unit.

Блок 110 обратного квантования выполнен с возможностью применять обратное квантование блока 108 квантования к квантованным коэффициентам для получения деквантованных коэффициентов 111, например, путем применения схемы, обратной схемы квантования, применяемой блоком 108 квантования, на основании или с использованием того же размера шага квантования, что и блок 108 квантования. Деквантованные коэффициенты 111 также могут называться деквантованными остаточными коэффициентами 111 и соответствуют, хотя обычно они не идентичны преобразованным коэффициентам из-за потери при квантовании, преобразованным коэффициентам 108.The inverse quantizer 110 is configured to apply the inverse quantization of the quantizer 108 to the quantized coefficients to obtain the dequantized coefficients 111, for example, by applying a scheme, the inverse quantization scheme applied by the quantizer 108, based on or using the same quantization step size as block 108 quantization. The dequantized coefficients 111 may also be referred to as the dequantized residual coefficients 111 and correspond, although they are usually not identical to the transformed coefficients due to quantization loss, to the transformed coefficients 108.

Блок 112 обратного преобразования выполнен с возможностью применять обратное преобразование, применяемого блоком 106 преобразования, например, обратное дискретное косинусное преобразование (DCT) или обратное дискретное синусоидальное преобразование (DST) для получения блока 113 обратного преобразования в области выборки. Блок 113 обратного преобразования также может упоминаться как деквантованный блок 113 обратного преобразования или остаточный блок 113 обратного преобразования.The inverse transform block 112 is configured to apply an inverse transform applied by the transform block 106, such as an inverse discrete cosine transform (DCT) or an inverse discrete sine transform (DST), to obtain an inverse transform block 113 in the sample area. The inverse transform block 113 may also be referred to as the dequantized inverse transform block 113 or the residual inverse transform block 113 .

Блок 114 восстановления выполнен с возможностью объединять блок 113 обратного преобразования и блок 165 предсказания для получения восстановленного блока 115 в области выборки, например, путем дискретного сложения значений выборок декодированного остаточного блока 113 и значений выборок блока 165 предсказания.Restoration block 114 is configured to combine inverse transform block 113 and predictor 165 to obtain a reconstructed block 115 in the sample area, for example, by discretely adding the sample values of the decoded residual block 113 and the sample values of the prediction block 165.

Буферный блок 116 (или кратко «буфер» 116), например, строчный буфер 116 выполнен с возможностью буферизировать или хранить восстановленный блок и соответствующие значения выборок, например, для внутренней оценки и/или внутреннего предсказания. В дополнительных вариантах осуществления кодер может быть выполнен с возможностью использовать нефильтрованные восстановленные блоки и/или соответствующие значения выборок, хранящиеся в блоке 116 буфера, для любого вида оценки и/или предсказания.Buffer block 116 (or "buffer" 116 for short), eg, line buffer 116, is configured to buffer or store the reconstructed block and associated sample values, eg, for intra-estimation and/or intra-prediction. In further embodiments, the encoder may be configured to use the unfiltered reconstructed blocks and/or corresponding sample values stored in buffer block 116 for any kind of estimation and/or prediction.

Варианты осуществления кодера 100 могут быть сконфигурированы так, что, например, блок 116 буфера используется не только для хранения восстановленных блоков 115 для внутренней оценки 152 и/или внутреннего предсказания 154, но также для блока 120 контурного фильтра (не показан на фиг.1) и/или такого, что, например, блок 116 буфера и буфер 130 декодированного изображения образуют один буфер. Дополнительные варианты осуществления могут быть выполнены с возможностью использовать фильтрованные блоки 121 и/или блоки или выборки из буфера 130 декодированных изображений (оба не показаны на фиг.1) в качестве входных данных или основы для внутренней оценки 152 и/или внутреннего предсказания 154.Embodiments of encoder 100 may be configured such that, for example, buffer block 116 is used not only to store reconstructed blocks 115 for intra estimation 152 and/or intra prediction 154, but also for loop filter block 120 (not shown in FIG. 1) and/or such that, for example, buffer block 116 and decoded picture buffer 130 form one buffer. Additional embodiments may be configured to use filtered blocks 121 and/or blocks or samples from decoded picture buffer 130 (both not shown in FIG. 1) as input or basis for intra estimation 152 and/or intra prediction 154.

Блок 120 контурного фильтра (или кратко «контурный фильтр» 120) выполнен с возможностью фильтрации восстановленного блока 115 для получения отфильтрованного блока 121, например, путем применения фильтра удаления блочности с адаптивным смещением (SAO) или других фильтров, например, фильтры повышения резкости или сглаживания или совместные фильтры. Отфильтрованный блок 121 также может называться отфильтрованным восстановленным блоком 121. Контурный фильтр 120 далее также называется фильтром удаления блочности. Дополнительные подробности блока 120 контурного фильтра будут описаны ниже, например, на основании фиг. 6 или фиг.7 или фиг.10-фиг.12.The loop filter block 120 (or "loop filter" 120 for short) is configured to filter the reconstructed block 115 to obtain a filtered block 121, for example, by applying an adaptive offset deblocking (SAO) filter or other filters, such as sharpening or anti-aliasing filters. or joint filters. The filtered block 121 may also be referred to as the filtered reconstructed block 121. The loop filter 120 is also referred to as a deblocking filter in the following. Additional details of the loop filter unit 120 will be described below, for example, based on FIG. 6 or fig.7 or fig.10-fig.12.

Варианты осуществления блока 120 контурного фильтра могут содержать (не показаны на фиг.1) блок анализа фильтра и блок фактического фильтра, в котором блок анализа фильтра выполнен с возможностью определять параметры контурного фильтра для фактического фильтра. Блок анализа фильтра может быть выполнен с возможностью применять фиксированные заранее определенные параметры фильтра к фактическому контурному фильтру, адаптивный выбор параметров фильтра из набора заранее определенных параметров фильтра или адаптивного вычисления параметров фильтра для фактического контурного фильтра.Embodiments of the loop filter block 120 may comprise (not shown in FIG. 1) a filter analysis block and an actual filter block, in which the filter analysis block is configured to determine the loop filter parameters for the actual filter. The filter parser may be configured to apply fixed predetermined filter parameters to an actual loop filter, adaptively select filter parameters from a set of predefined filter parameters, or adaptively calculate filter parameters for an actual loop filter.

Варианты осуществления блока 120 контурного фильтра могут содержать (не показаны на фиг.1) один или множество фильтров (компоненты/подфильтры контурного фильтра), например, один или более различных видов или типов фильтров, например, соединены последовательно или параллельно или в любой их комбинации, в котором каждый из фильтров может содержать отдельно или совместно с другими фильтрами из множества фильтров блок анализа фильтров для определения соответствующих параметров контурного фильтра, например, как описано в предшествующем абзаце.Embodiments of the loop filter unit 120 may comprise (not shown in FIG. 1) one or a plurality of filters (loop filter components/sub-filters), e.g., one or more different kinds or types of filters, e.g., connected in series or in parallel, or any combination thereof. , in which each of the filters may contain separately or together with other filters from a plurality of filters a filter analysis unit to determine the corresponding loop filter parameters, for example, as described in the previous paragraph.

Варианты осуществления кодера 100 (соответственно блок 120 контурного фильтра) могут быть выполнена с возможностью выводить параметры контурного фильтра, например, кодируется непосредственно или энтропийно через блок 170 энтропийного кодирования или любой другой блок энтропийного кодирования, так что, например, декодер 200 может принимать и применять одни и те же параметры контурного фильтра для декодирования.Embodiments of the encoder 100 (respectively, the loop filter block 120) may be configured to output the loop filter parameters, for example, encoded directly or entropy through the entropy encoding block 170 or any other entropy encoding block, so that, for example, the decoder 200 can receive and apply the same loop filter parameters for decoding.

Буфер 130 декодированного изображения (DPB) выполнен с возможностью принимать и хранить фильтрованной блок 121. Буфер 130 декодированного изображения может быть дополнительно выполнен с возможностью хранить другие ранее отфильтрованные блоки, например, ранее восстановленные и отфильтрованные блоки 121 одного и того же текущего изображения или разных изображений, например, ранее восстановленные изображения и могут предоставлять полные ранее восстановленные, т.е. декодированные, изображения (и соответствующие опорные блоки и выборки) и/или частично восстановленное текущее изображение (и соответствующие опорные блоки и выборки), например, для внешней оценки и/или внешнего предсказания.A decoded picture buffer (DPB) 130 is configured to receive and store a filtered block 121. The decoded picture buffer 130 can be further configured to store other previously filtered blocks, such as previously reconstructed and filtered blocks 121 of the same current image or different images. , for example, previously restored images and can provide complete previously restored, i.e. decoded, pictures (and corresponding reference blocks and samples) and/or partially reconstructed current picture (and corresponding reference blocks and samples), for example, for inter-estimation and/or inter-prediction.

Дополнительные варианты осуществления изобретения также могут быть выполнены с возможностью использовать ранее отфильтрованные блоки и соответствующие отфильтрованные значения выборок буфера 130 декодированного изображения для любого вида оценки или предсказания, например, внутренняя и внешняя оценка и предсказание.Additional embodiments of the invention may also be configured to use the previously filtered blocks and the corresponding filtered sample values of the decoded image buffer 130 for any kind of estimation or prediction, such as intra- and inter-estimation and prediction.

Блок 160 предсказания, также называемый блоком 160 предсказания блока, выполнен с возможностью принимать или получать блок 103 изображения (текущий блок 103 изображения текущего изображения 101) и декодированные или, по меньшей мере, восстановленные данные изображения, например, опорные выборки того же (текущего) изображения из буфера 116 и/или данных 231 декодированного изображения из одного или множества ранее декодированных изображений из буфера 130 декодированных изображений, и обрабатывать такие данные для предсказания, то есть, обеспечивать блок 165 предсказания, который может быть блоком 145 внешнего предсказания или блоком 155 внутреннего предсказания.The predictor 160, also referred to as the block predictor 160, is configured to receive or obtain an image block 103 (the current image block 103 of the current image 101) and decoded or at least reconstructed image data, such as reference samples of the same (current) images from buffer 116 and/or decoded image data 231 from one or a plurality of previously decoded images from decoded image buffer 130, and process such data for prediction, i.e., provide a prediction block 165, which may be an inter prediction block 145 or an intra prediction block 155 predictions.

Блок 162 выбора режима может быть выполнен с возможностью выбирать режим предсказания (например, режим внутреннего или внешнего предсказания) и/или соответствующего блока 145 или 155 предсказания, который будет использоваться в качестве блока 165 предсказания для вычисления остаточного блока 105 и для восстановления восстановленного блока 115.Mode selector 162 may be configured to select a prediction mode (eg, intra or inter prediction mode) and/or a corresponding predictor 145 or 155 to be used as predictor 165 to calculate the residual block 105 and to reconstruct the reconstructed block 115 .

Варианты осуществления блока 162 выбора режима могут быть выполнены с возможностью выбирать режим предсказания (например, из тех, которые поддерживаются блоком 160 предсказания), который обеспечивает наилучшее соответствие или, другими словами, минимальный остаток (минимальный остаток означает лучшее сжатие для передачи или хранения), или минимальные накладные расходы на сигнализацию (минимальные накладные расходы на сигнализацию означают лучшее сжатие для передачи или хранения), или который учитывает или уравновешивает и то, и другое. Блок 162 выбора режима может быть выполнен с возможностью определять режим предсказания на основании оптимизации искажения скорости (RDO), то есть, выбирать режим предсказания, который обеспечивает оптимизацию искажения с минимальной скоростью или какое ассоциированное искажение скорости, по меньшей мере, удовлетворяет критерию выбора режима предсказания.Embodiments of mode selector 162 may be configured to select a prediction mode (e.g., from those supported by predictor 160) that provides the best fit, or in other words, minimum residual (minimum residual means better compression for transmission or storage), or minimal signaling overhead (minimum signaling overhead means better compression for transmission or storage), or which takes into account or balances both. The mode selector 162 may be configured to determine a prediction mode based on rate distortion optimization (RDO), that is, select a prediction mode that provides minimum rate distortion optimization or which associated rate distortion at least satisfies the prediction mode selection criterion. .

Далее будет приведено подробное описание процесса обработки предсказания (например, блоком 160 предсказания и выбор режима (например, блоком 162 выбора режима), выполняемый примерным кодером 100.Next, a detailed description will be given of the prediction processing process (for example, by the prediction block 160 and mode selection (for example, by the mode selector 162) performed by the exemplary encoder 100.

Как описано выше, кодер 100 выполнен с возможностью определять или выбирать наилучший или оптимальный режим предсказания из набора (заданных) режимов предсказания. Набор режимов предсказания может содержать, например, режимы внутреннего предсказания и/или режимы внешнего предсказания.As described above, encoder 100 is configured to determine or select the best or optimal prediction mode from a set of (given) prediction modes. The set of prediction modes may include, for example, intra prediction modes and/or inter prediction modes.

Набор режимов внутреннего предсказания может содержать 32 различных режима внутреннего предсказания, например, ненаправленные режимы, такие как DC режим (или средний) и планарный режим или направленные режимы, например, как определено в H.264, или может содержать 65 различных режимов внутреннего предсказания, например, ненаправленные режимы, такие как DC режим (или средний) и планарный режим, или направленные режимы, например, как определено в H.265.The intra prediction mode set may contain 32 different intra prediction modes, such as non-directional modes such as DC (or average) mode and planar mode or directional modes, such as defined in H.264, or may contain 65 different intra prediction modes, for example, non-directional modes such as DC (or medium) mode and planar mode, or directional modes such as defined in H.265.

Набор (или возможные) режимов внешнего предсказания зависит от доступных опорных изображений (то есть, предшествующих, по меньшей мере, частично декодированных изображений, например, сохраненных в DBP 230) и других параметров внешнего предсказания, например, будь то все опорное изображение или только его часть, например, для поиска наилучшего соответствия опорного блока используется окно поиска область вокруг области текущего блока, опорного кадра и/или, например, применяется ли интерполяция пикселей, например половинный/полупиксельная и/или четверть пиксельная интерполяция или нет.The set (or possible) inter prediction modes depends on the available reference pictures (i.e., preceding at least partially decoded pictures, such as those stored in DBP 230) and other inter prediction parameters, such as whether it is the entire reference picture or only it. part, for example, to find the best match of the reference block, a search box is used, the area around the area of the current block, the reference frame, and/or, for example, whether pixel interpolation is applied, such as half/half pixel and/or quarter pixel interpolation or not.

В дополнение к вышеуказанным режимам предсказания могут применяться режим пропуска и/или прямой режим.In addition to the above prediction modes, skip mode and/or direct mode may be applied.

Блок 160 предсказания может быть дополнительно выполнен с возможностью разделять блок 103 на более мелкие части или субблоки, например, итеративно с использованием четырехугольного разбиения (QT), двоичного разбиения (BT) или троичного разбиения (TT) или любой их комбинации и выполнять, например, предсказание для каждого из разделов или подблоков блока, в котором выбор режима содержит выбор древовидной структуры разделенного блока 103 и режимов предсказания, применяемых к каждому из разделов или подблоков блока.The predictor 160 may be further configured to divide the block 103 into smaller portions or sub-blocks, for example, iteratively using quadripartite partitioning (QT), binary partitioning (BT), or ternary partitioning (TT), or any combination thereof, and performing, for example, prediction for each of the partitions or sub-blocks of the block, wherein the mode selection comprises selecting a tree structure of the partitioned block 103 and prediction modes applied to each of the partitions or sub-blocks of the block.

Блок 142 внешней оценки, также называемый блоком 142 внешней оценки изображения, выполнен с возможностью принимать или получать блок 103 изображения (блока 103 текущего изображения текущего изображения 101) и декодированного изображения 231 или, по меньшей мере, одного или множества ранее восстановленных блоков, например, восстановленные блоки одного или множества других/различных ранее декодированных изображений 231 для внешней оценки (или «внешней оценки изображения»). Например. видеопоследовательность может содержать текущее изображение и ранее декодированные изображения 231 или, другими словами, текущее изображение и ранее декодированные изображения 231 могут быть частью или формировать последовательность изображений, образующих видеопоследовательность.The external estimator 142, also referred to as the external image estimator 142, is configured to receive or obtain an image block 103 (the current image block 103 of the current image 101) and a decoded image 231 or at least one or a plurality of previously reconstructed blocks, for example, reconstructed blocks of one or a plurality of other/different previously decoded pictures 231 for external evaluation (or "external image estimation"). For example. the video sequence may comprise the current picture and the previously decoded pictures 231 or, in other words, the current picture and the previously decoded pictures 231 may be part of or form a sequence of pictures constituting the video sequence.

Кодер 100 может, например, быть выполнен с возможностью выбирать опорный блок из множества опорных блоков одинаковых или различных изображений из множества других изображений и поставлять опорное изображение (или индекс опорного кадра, ...) и/или смещение (пространственное смещение) между позицией (X, Y координаты) опорного блока и позицией текущего блока в качестве параметров 143 внешней оценки в блок 144 внешнего предсказания. Это смещение также называется вектором движения (MV). Внешняя оценка также называется оценкой движения (ME) и внешнее предсказание также называется предсказанием движения (MP).Encoder 100 may, for example, be configured to select a reference block from a plurality of reference blocks of the same or different pictures from a plurality of other pictures and supply a reference picture (or reference frame index, ...) and/or offset (spatial offset) between position ( X, Y coordinates) of the reference block and the position of the current block as external estimation parameters 143 to the external prediction block 144 . This displacement is also called motion vector (MV). The extrinsic estimate is also called motion estimation (ME) and the extrinsic prediction is also called motion prediction (MP).

Блок 144 внешнего предсказания выполнен с возможностью получать, например, принимать параметр 143 внешнего предсказания и выполнять внешнее предсказание на основании или с использованием параметра 143 внешнего предсказания для получения блока 145 внешнего предсказания.Inter prediction block 144 is configured to receive, for example, receive inter prediction parameter 143 and perform inter prediction based on or using inter prediction parameter 143 to obtain inter prediction block 145.

Хотя на фиг.1 показаны два отдельные блоки (или этапы) для внешнего кодирования, а именно, внешняя оценка 142 и внешнее предсказание 152, обе функции могут выполняться как одна (внешняя оценка) и требует/содержит вычисление блока внешнего предсказания, т.е. или «тип» внешнего предсказания 152), например, путем итеративного тестирования всех возможных или заданного подмножества возможных режимов внешнего предсказания с сохранением текущего лучшего режима внешнего предсказания и соответствующего блока внешнего предсказания и использования текущего лучшего режима внешнего предсказания и соответствующего блока внешнего предсказания в качестве (окончательного) параметра 143 внешнего предсказания и блока 145 внешнего предсказания, не выполняя в другой раз внешнее предсказание 144.Although Figure 1 shows two separate blocks (or steps) for inter-coding, namely, inter-estimation 142 and inter-prediction 152, both functions can be performed as one (inter-estimate) and require/include calculation of an inter prediction block, i.e. . or “type” of inter prediction 152), e.g., by iteratively testing all possible or a given subset of possible inter prediction modes, keeping the current best inter prediction mode and the corresponding inter prediction block, and using the current best inter prediction mode and the corresponding inter prediction block as ( final) of the inter prediction parameter 143 and the inter prediction block 145 without performing inter prediction 144 another time.

Блок 152 внутренней оценки выполнен с возможностью получать, например, принимать, блок 103 изображения (текущий блок изображения) и один или множество ранее восстановленных блоков, например, восстановленные соседние блоки одного и того же изображения для внутренней оценки. Кодер 100 может, например, быть выполнен с возможностью выбирать режим внутреннего предсказания из множества (заранее определенных) режимов внутреннего предсказания и предоставлять его в качестве параметра 153 внутренней оценки в блок 154 внутреннего предсказания.The internal estimator 152 is configured to receive, for example, an image block 103 (the current image block) and one or a plurality of previously reconstructed blocks, such as reconstructed adjacent blocks of the same image, for internal evaluation. Encoder 100 may, for example, be configured to select an intra prediction mode from a plurality of (predetermined) intra prediction modes and provide it as an intra estimation parameter 153 to intra prediction block 154 .

Варианты осуществления кодера 100 могут быть выполнены с возможностью выбирать режим внутреннего предсказания на основании критерия оптимизации, например, минимальный остаток (например, режим внутреннего предсказания, обеспечивающий блок 155 предсказания, наиболее похожий на текущий блок 103 изображения) или искажение с минимальной скоростью.Embodiments of encoder 100 may be configured to select an intra prediction mode based on an optimization criterion, such as minimum residual (eg, intra prediction mode providing prediction block 155 most similar to current image block 103) or minimum rate distortion.

Блок 154 внутреннего предсказания выполнен с возможностью определять на основании параметра 153 внутреннего предсказания, например, выбранный режим 153 внутреннего предсказания, блок 155 внутреннего предсказания.The intra prediction block 154 is configured to determine, based on the intra prediction parameter 153, for example, the selected intra prediction mode 153, the intra prediction block 155.

Хотя на фиг.1 показаны два отдельные блоки (или этапы) для внутреннего кодирования, а именно, внутренняя оценка 152 и внутреннее предсказание 154, обе функции могут выполняться как одна (внутренняя оценка) и требует/содержит вычисление блока внутреннего предсказания, т.е. или «тип» внутреннего предсказания 154), например, путем итеративного тестирования всех возможных или заранее заданного подмножества возможных режимов внутреннего предсказания с сохранением лучшего в настоящее время режима внутреннего предсказания и соответствующего блока внутреннего предсказания и использования лучшего в настоящее время режима внутреннего предсказания и соответствующего блока внутреннего предсказания в качестве (окончательного) параметра 153 внутреннего предсказания и блока 155 внутреннего предсказания без повторного выполнения внутреннего предсказания 154.Although figure 1 shows two separate blocks (or steps) for intra coding, namely, intra estimation 152 and intra prediction 154, both functions can be performed as one (intra estimation) and requires/contains calculation of an intra prediction block, i.e. . or "type" of intra prediction 154), e.g., by iteratively testing all possible or a predetermined subset of possible intra prediction modes while keeping the currently best intra prediction mode and corresponding intra prediction block, and using the currently best intra prediction mode and corresponding block intra prediction as the (final) intra prediction parameter 153 and intra prediction block 155 without re-executing intra prediction 154.

Блок 170 энтропийного кодирования выполнен с возможностью применять алгоритм или схему энтропийного кодирования (например, схему кодирования с переменной длиной (VLC), контекстно-адаптивную схему VLC (CALVC), схему арифметического кодирования, схему контекстно-адаптивного двоичного арифметического кодирования (CABAC)) на квантованных остаточных коэффициентах 109, параметрах 143 внешнего предсказания, параметре 153 внутреннего предсказания и/или параметрах контурного фильтра, по отдельности или совместно (или не выполнять) для получения данных 171 кодированного изображения, которые могут выводиться выходом 172, например, в виде кодированного битового потока 171.The entropy encoding unit 170 is configured to apply an entropy encoding algorithm or scheme (e.g., a variable length coding (VLC) scheme, a context adaptive VLC (CALVC) scheme, an arithmetic coding scheme, a context adaptive binary arithmetic coding (CABAC) scheme) to quantized residual coefficients 109, inter prediction parameters 143, intra prediction parameter 153, and/or loop filter parameters, individually or jointly (or not) to obtain encoded image data 171 that can be output by output 172, for example, as a coded bitstream 171.

Для кодирования видеопотока могут использоваться другие структурные вариации видеокодера 100. Например, кодер 100, не основанный на преобразовании, может квантовать остаточный сигнал напрямую без блока обработки преобразования для конкретных блоков или кадров. В другой реализации кодер 100 может иметь блок квантования и блок обратного квантования, объединенные в единый блок.Other structural variations of video encoder 100 may be used to encode the video stream. For example, non-transform encoder 100 may quantize the residual signal directly without a transform processor for specific blocks or frames. In another implementation, encoder 100 may have a quantization block and an inverse quantization block combined into a single block.

Фиг.2 показывает примерный видеодекодер 200, выполненный с возможностью принимать данные 171 кодированного изображения (например, кодированный битовый поток), например, кодируемые кодером 100, чтобы получить декодированное изображение 231.2 shows an exemplary video decoder 200 configured to receive encoded image data 171 (eg, encoded bitstream), such as encoded by encoder 100, to obtain a decoded image 231.

Декодер 200 содержит вход 202, блок 204 энтропийного декодирования, блок 210 обратного квантования, блок 212 обратного преобразования, блок 214 восстановления, буфер 216, контурный фильтр 220, буфер 230 декодированных изображений, блок 260 предсказания, блок 244 внешнего предсказания, блок 254 внутреннего предсказания, блок 262 выбора режима и выход 232.The decoder 200 includes an input 202, an entropy decoding block 204, an inverse quantizer 210, an inverse transform block 212, a reconstruction block 214, a buffer 216, a contour filter 220, a decoded picture buffer 230, a prediction block 260, an inter prediction block 244, an intra prediction block 254 , block 262 mode selection and output 232.

Блок 204 энтропийного декодирования выполнен с возможностью выполнять энтропийное декодирование данных 171 кодированного изображения для получения, например, квантованных коэффициентов 209 и/или параметров декодированного кодирования (не показаны на фиг.2), например, (декодированный) любой или все параметры 143 внешнего предсказания, параметр 153 внутреннего предсказания и/или параметры контурного фильтра.Entropy decoding unit 204 is configured to perform entropy decoding of encoded image data 171 to obtain, for example, quantized coefficients 209 and/or decoded coding parameters (not shown in FIG. 2), for example, (decoded) any or all inter prediction parameters 143, an intra prediction parameter 153 and/or loop filter parameters.

В вариантах осуществления декодера 200 блок 210 обратного квантования, блок 212 обратного преобразования, блок 214 восстановления, буфер 216, контурный фильтр 220, буфер 230 декодированных изображений, блок 260 предсказания и блок 262 выбора режима выполнены с возможностью выполнять обратный процесс обработки кодера 100 (и соответствующих функциональных блоков) для декодирования данных 171 кодированного изображения.In embodiments of decoder 200, inverse quantizer 210, inverse transform 212, restorer 214, buffer 216, loop filter 220, decoded picture buffer 230, predictor 260, and mode selector 262 are configured to perform the inverse processing of encoder 100 (and corresponding function blocks) to decode the encoded image data 171 .

В частности, блок 210 обратного квантования может быть идентичен по функциям блоку 110 обратного квантования, блок 212 обратного преобразования может быть идентичным по функциям блоку 112 обратного преобразования, блок 214 восстановления может быть идентичным по функции блоку 114 восстановления, буфер 216 может быть идентичен по функциям буферу 116, контурный фильтр 220 может быть идентичен по функции контурному фильтру 120 (что касается фактического контурного фильтра, поскольку контурный фильтр 220 обычно не содержит блок анализа фильтра для определения параметров фильтра на основании исходного изображения 101 или блока 103, но принимает (явно или неявно) или получает параметры фильтра, используемые для кодирования, например, из блока 204 энтропийного декодирования), и буфер 230 декодированного изображения может быть идентичен по функциям буферу 130 декодированного изображения.In particular, inverse quantizer 210 may be identical in function to inverse quantizer 110, inverse transform 212 may be identical in function to inverse transform 112, restorer 214 may be identical in function to restorer 114, buffer 216 may be identical in function. buffer 116, the loop filter 220 may be identical in function to the loop filter 120 (with respect to the actual loop filter, since the loop filter 220 usually does not include a filter parser to determine filter parameters based on the original image 101 or block 103, but accepts (explicitly or implicitly ) or obtains the filter parameters used for encoding, for example, from entropy decoding block 204), and the decoded image buffer 230 may be identical in function to the decoded image buffer 130.

Блок 260 предсказания может содержать блок 244 внешнего предсказания и блок 254 внутреннего предсказания, в котором блок 244 внешнего предсказания может быть идентичен по функциям блоку 244 внешнего предсказания и блок 254 внутреннего предсказания может быть идентичным по функциям блоку 154 внутреннего предсказания. Блок 260 предсказания и блок 262 выбора режима обычно выполнены с возможностью выполнять предсказание блока и/или получать блок 265 предсказания только из кодированных данных 171 (без какой-либо дополнительной информации об исходном изображении 101) и принимать или получать (явно или неявно) параметры 143 или 153 предсказания и/или информацию о выбранном режиме предсказания, например, из блока 204 энтропийного декодирования.Prediction block 260 may comprise inter prediction block 244 and intra prediction block 254, in which inter prediction block 244 may be identical in function to inter prediction block 244 and intra prediction block 254 may be identical in function to intra prediction block 154. Predictor 260 and mode selector 262 are typically configured to perform block prediction and/or obtain prediction block 265 from encoded data 171 only (without any additional information about the original image 101) and receive or obtain (explicitly or implicitly) parameters 143 or 153 predictions and/or information about the selected prediction mode, for example, from block 204 entropy decoding.

Декодер 200 выполнен с возможностью выводить декодированное изображение 231, например, через выход 232 для презентации или просмотра пользователю.The decoder 200 is configured to output the decoded image 231, for example, through the output 232 for presentation or viewing to the user.

Хотя варианты осуществления изобретения были в основном описаны на основании кодирования видео, следует отметить, что варианты осуществления кодера 100 и декодера 200 (и, соответственно, системы 300) также могут быть выполнены с возможностью обработки или кодирования неподвижных изображений, то есть, обработки или кодирования отдельного изображения независимо от любого предшествующего или последующего изображения, как при кодировании видео. В общем, в случае, если обработка кодирования изображения ограничено одним изображением 101 не выполняется только внешняя оценка 142, внешнее предсказание 144, 242. Большинство, если не все другие функции (также называемые инструментами или технологиями) видеокодера 100 и видеодекодер 200 для неподвижных изображений могут одинаково использоваться, например, разделение, преобразование (масштабирование) 106, квантование 108, обратное квантование 110, обратное преобразование 112, внутренняя оценка 142, внутреннее предсказание 154, 254 и/или контурная фильтрация 120, 220, энтропийное кодирование 170 и энтропийное декодирование 204.Although embodiments of the invention have been primarily described in terms of video encoding, it should be noted that embodiments of encoder 100 and decoder 200 (and system 300, respectively) can also be configured to process or encode still pictures, i.e., process or encode a single image, independent of any preceding or subsequent image, as in video encoding. In general, in case the image encoding processing is limited to one image 101, only the inter-estimation 142, inter-prediction 144, 242 is not performed. equally used, for example, division, transformation (scaling) 106, quantization 108, inverse quantization 110, inverse transformation 112, intra estimation 142, intra prediction 154, 254 and/or loop filtering 120, 220, entropy encoding 170, and entropy decoding 204.

Настоящее изобретение относится к внутренним механизмам фильтра удаления блочности, также называемого контурным фильтром на фиг.1 и фиг.2. Далее будет приведено подробное описание блока 120, 220 контурного фильтра, например, на основании фиг.6 или фиг.7 или фиг.10 - фиг.12 или фиг.15 - фиг.16.The present invention relates to the internal mechanisms of the deblocking filter, also referred to as the loop filter in FIG. 1 and FIG. Next will be a detailed description of the block 120, 220 of the loop filter, for example, based on Fig.6 or Fig.7 or Fig.10 - Fig.12 or Fig.15 - Fig.16.

На основании успешного принципа гибридного кодирования видео на основании блоков разработаны схемы кодирования видео, такие как H.264/AVC и HEVC. Используя этот принцип, изображение сначала разделяется на блоки и затем каждый блок предсказывается с использованием внутреннего или внешнего предсказания. Эти блоки кодируются относительно соседних блоков и аппроксимируют исходный сигнал с некоторой степенью сходства. Поскольку кодированные блоки только аппроксимируют исходный сигнал, разница между приближениями может вызвать разрывы на границах блоков предсказания и преобразования. Эти неоднородности подавляются фильтром удаления блочности. HEVC заменяет структуру макроблоков H.264/AVC концепцией блока дерева кодирования (CTU) с максимальным размером 64x64 пикселей. CTU может быть дополнительно разделен на схему разложения дерева квадрантов на меньшие блоки кодирования (CU), которые могут быть разделены до минимального размера 8 x 8 пикселей. HEVC также вводит концепции блоков предсказания (PB) и блоков преобразования (TB).Based on the successful concept of block-based hybrid video coding, video coding schemes such as H.264/AVC and HEVC have been developed. Using this principle, the image is first divided into blocks and then each block is predicted using intra or inter prediction. These blocks are encoded with respect to neighboring blocks and approximate the original signal with some degree of similarity. Since the encoded blocks only approximate the original signal, the difference between the approximations can cause discontinuities at the boundaries of the prediction and transform blocks. These inhomogeneities are suppressed by the deblocking filter. HEVC replaces the H.264/AVC macroblock structure with the concept of a coding tree unit (CTU) with a maximum size of 64x64 pixels. The CTU may be further partitioned by a quadtree decomposition scheme into smaller coding units (CUs), which may be partitioned down to a minimum size of 8 x 8 pixels. HEVC also introduces the concepts of Prediction Blocks (PBs) and Transform Blocks (TBs).

В HEVC в фильтре удаления блочности определены два фильтра: обычный фильтр и сильный фильтр. Обычный фильтр модифицирует не более две выборки по обе стороны края. В сильном фильтре оцениваются три дополнительных проверки между выборками по краю и некоторым заранее заданным пороговым значением. Если все эти проверки верны, применяется сильный фильтр. Сильный фильтр имеет более интенсивный эффект сглаживания для выборок по краю и может модифицировать не более три выборки по обеим сторонам края.In HEVC, two filters are defined in the deblocking filter: a regular filter and a strong filter. The normal filter modifies no more than two samples on either side of the edge. In a strong filter, three additional checks are evaluated between samples at the edge and some pre-specified threshold. If all of these checks are correct, a strong filter is applied. A strong filter has a stronger anti-aliasing effect on edge samples and can only modify a maximum of three samples on either side of the edge.

ITU-T VCEG (Q6/16) и ISO/IEC MPEG (JTC 1/SC 29/WG 11) изучают видеокодек следующего поколения: универсальное кодирование видео (VVC). Этот новый стандарт видеокодеков нацелен на возможность сжатия, которая значительно превосходит возможности текущего стандарта HEVC (включающий в себя его текущие расширения и краткосрочные расширения для кодирования контента экрана и кодирования с высоким динамическим диапазоном). Группы работают вместе над этой исследовательской деятельностью в рамках проекта совместной работы, известного как Joint Video Exploration Team (JVET), для оценки технологий сжатия, предложенных их экспертами в этой области.ITU-T VCEG (Q6/16) and ISO/IEC MPEG (JTC 1/SC 29/WG 11) are studying the next generation video codec: Universal Video Coding (VVC). This new video codec standard aims for a compression capability that far exceeds the capabilities of the current HEVC standard (which includes its current extensions and short term extensions for screen content encoding and high dynamic range encoding). The groups work together on this research activity in a collaborative project known as the Joint Video Exploration Team (JVET) to evaluate compression technologies proposed by their experts in the field.

Тестовая модель VVC (VTM) описывает признаки, которые проходят скоординированное исследование тестовой модели Объединенной группой исследования видео (JVET) ITU-T VCEG и ISO/IEC MPEG как потенциально улучшенная технология кодирования видео, выходящая за рамки возможностей HEVC.The VVC Test Model (VTM) describes the features that are undergoing a coordinated test model study by the Joint Video Research Team (JVET) of ITU-T VCEG and ISO/IEC MPEG as a potentially advanced video coding technology beyond the capabilities of HEVC.

Программное обеспечение VTM использует новую схему блочной структуры разделения, называемую дерево квадрантов плюс двоичное дерево плюс тройное дерево (QTBTTT).The VTM software uses a new block partitioning scheme called Quadtree Plus Binary Tree Plus Triple Tree (QTBTTT).

Структура QTBTTT удаляет концепции нескольких типов разделения, то есть, удаляет разделение блоков кодирования (CU), блоков предсказания (PU) и блоков преобразования (TU). Следовательно, CU = PU = TU.The QTBTTT structure removes the concepts of several types of separation, that is, removes the separation of coding units (CUs), prediction units (PUs), and transform units (TUs). Therefore, CU = PU = TU.

QTBTTT поддерживает более гибкие формы разделов CU, в которых CU может иметь квадратную или прямоугольную форму. Минимальная ширина и высота CU могут составлять 4 выборки и размеры CU также могут быть 4 x N или N x 4, в котором N может принимать значения в диапазоне [4, 8, 16, 32]. Кроме того, самый большой размер CTU был увеличен до 128x128 пикселей, что в 4 раза больше, чем размер CTU в HEVC.QTBTTT supports more flexible CU partition shapes, in which the CU can be square or rectangular. The minimum width and height of a CU can be 4 samples, and the dimensions of a CU can also be 4 x N or N x 4, in which N can take values in the range [4, 8, 16, 32]. In addition, the largest CTU size has been increased to 128x128 pixels, which is 4 times larger than the CTU size in HEVC.

Для прямоугольных CUs искажение вблизи более короткого края может быть очевидным, что приводит к блочным артефактам даже при применении HEVC сильного фильтра. Блочный артефакт также можно наблюдать на краю больших CUs, в котором искажения значительны из-за более крупных операций предсказания и преобразования.For rectangular CUs, distortion near the shorter edge can be evident, resulting in blocky artifacts even when a strong HEVC filter is applied. Block artifact can also be observed at the edge of large CUs where distortion is significant due to larger prediction and transform operations.

Дополнительные инструменты Sub-pu (обычно именуемые инструменты субблока), такие как Affine и ATMVP, теперь адаптированы к стандарту универсального кодирования видео (VVC). В способе реализации для инструментов sub-pu, особенно Affine, деблокирование также может выполняться для краев/границ sub-pu, которые перекрываются с сеткой 8 x 8. В другом способе реализации для инструментов sub-pu, особенно Affine, только границы sub-pu, которые перекрываются с сеткой 16 x 16, подвержены удалению блочности, все другие границы sub-pu не обрабатываются удалением блочности, то есть, для границ sub-pu удаление блочности, которые перекрываются с сеткой 8 x 8, не выполняется, как показано на фиг.15. В другом способе реализации, для инструментов sub-pu, особенно Affine, внутренние границы первого и последнего sub-pu не подвержены обработке удаления блочности. Все другие внутренние края sub-pu подвержены обработке удаления блочности, как показано на фиг.16. Другими словами, решения, показанные на фиг.15 и фиг.16, по меньшей мере, позволяют выполнять обработку удаления блочности некоторых из внутренних краев sub-pu. Все эти реализации, в основном, предназначены для согласования применения более длинных отводных фильтров, когда один из блоков, имеющий общий край, использует инструменты sub-pu, такие как Affine или ATMVP.Additional Sub-pu tools (commonly referred to as sub-pu tools) such as Affine and ATMVP are now adapted to the Universal Video Coding (VVC) standard. In an implementation for sub-pu tools, especially Affine, deblocking can also be done for sub-pu edges/borders that overlap with an 8 x 8 grid. In another implementation for sub-pu tools, especially Affine, only sub-pu borders , which overlap with the 16 x 16 grid are subject to deblocking, all other sub-pu boundaries are not deblocked, i.e., for sub-pu boundaries that overlap with the 8 x 8 grid, are not deblocked, as shown in Fig. .fifteen. In another implementation, for sub-pu tools, especially Affine, the inner bounds of the first and last sub-pu are not subject to deblocking processing. All other sub-pu inner edges are subject to deblocking processing as shown in FIG. In other words, the solutions shown in Fig. 15 and Fig. 16 at least allow deblocking processing of some of the inner edges of the sub-pu to be performed. All of these implementations are mainly designed to accommodate the use of longer tap filters when one of the blocks that share a common edge uses sub-pu tools such as Affine or ATMVP.

На фиг.4 проиллюстрирована текущая операция фильтра удаления блочности (разделение деревом квадрантов плюс двоичное дерево плюс тройное дерево (QTBTTT)).4 illustrates the current operation of the deblocking filter (quadtree split plus binary tree plus ternary tree (QTBTTT)).

На фиг.4 проиллюстрирована техническая задача применения «более длинного отводного фильтра» к инструментам sub-pu. Блоки 401, 402 кодирования, также называемые P, Q, представляют собой два CUs, размер CU составляет 16x4 выборок.Figure 4 illustrates the technical challenge of applying a "longer tap-off filter" to sub-pu tools. The coding blocks 401, 402, also called P, Q, are two CUs, the CU size is 16x4 samples.

При фильтрации CU края (отмечен толстой черной линией), модифицируется максимум 7 выборок по обе стороны CU края. Поэтому модифицируются выборки от Q0,0 до Q6,0. Также в операции принятия решения по применению удаления блочности границы sub-pu используются выборки Q7,0 Q6,0 Q5,0 (отмечены тонкой черной линией). Следовательно, фильтрация образовывает перекрытие и, кроме того, приводит к тому, что операция удаления блочности края не может быть выполнена параллельно.When filtering the edge CU (marked with a thick black line), a maximum of 7 samples are modified on either side of the edge CU. Therefore, the samples are modified from Q 0.0 to Q 6.0 . Also in the decision operation to apply deblocking of the sub-pu boundary, samples Q 7.0 Q 6.0 Q 5.0 (marked with a thin black line) are used. Therefore, the filtering generates an overlap and furthermore causes the edge deblocking operation to not be performed in parallel.

Следовательно, необходимо выполнять фильтрацию удаления блочности последовательно. Это приводит к очень долгому времени обработки. Это приводит к неоправданно длительному времени обработки, особенно с появлением новых технологий обработки, использующих все больше и больше параллельных структур обработки. Адаптировав фильтрацию удаления блочности к параллельной обработке, можно сэкономить значительное время обработки.Therefore, it is necessary to perform deblocking filtering sequentially. This leads to very long processing times. This leads to unnecessarily long processing times, especially with the advent of new processing technologies using more and more parallel processing structures. By adapting deblocking filtering to parallel processing, significant processing time can be saved.

Более подробно, распараллеливание фильтрации удаления блочности может быть достигнуто подходом, как проиллюстрировано на фиг.5, фиг.15 или фиг.16.In more detail, parallelization of deblocking filtering can be achieved with an approach as illustrated in FIG. 5, FIG. 15, or FIG.

7.1. варианты осуществления изобретения7.1. embodiments of the invention

Решение 1:Solution 1:

1.1 Если текущий Q блок использует инструменты Sub-pu, такие как Affine или ATMVP, то в настоящем изобретении используется асимметричная версия более длинного отводного фильтра, то есть, для удаления блочности CU границы между блоками P и Q используется асимметричный фильтр, как показано в таблице 1; в основном, блок кодирования может использовать внешнее предсказание. При внешнем предсказании применяют несколько различных инструментов, которые может использовать блок кодирования. Affine и ATMVP представляют собой два инструмента sub-pu. Инструменты sub-pu означают, что заданный блок кодирования будет дополнительно использовать меньшие блоки предсказания (sub-pus), и выполняется компенсация движения отдельно для каждого из sub-pus. Например, при наличии блока кодирования размером 16 x 4 аффинный инструмент использует 2 sub-pus размером 8 x 4 (как показано на фиг.4) или 4 sub-pus размером 4 x 4. Например, при наличии блока кодирования размером 16 x 16, аффинный инструмент использует 16 sub-pus размером 4 x 4 или 4 субблока размером 8 x 8, как показано на фиг.17 (a) и (b). Каждый из этих sub-pus или субблоков использует отдельные векторы движения, как показано на фиг.18.1.1 If the current Q block uses Sub-pu tools such as Affine or ATMVP, then the present invention uses an asymmetric version of the longer tap filter, i.e., an asymmetric filter is used to deblock the CU boundary between the P and Q blocks, as shown in the table one; basically, the coding block may use inter-prediction. In inter-prediction, there are several different tools that a coding block can use. Affine and ATMVP are two sub-pu tools. The sub-pu tools mean that a given coding block will additionally use smaller prediction blocks (sub-pus), and motion compensation is performed separately for each of the sub-pus. For example, given a 16x4 coding block, the affine tool uses 2 8x4 sub-puses (as shown in Figure 4) or 4 4x4 sub-puses. For example, given a 16x16 coding block, the affine tool uses 16 4 x 4 sub-pus or 4 8 x 8 sub-pus as shown in Fig. 17(a) and (b). Each of these sub-pus or sub-blocks uses separate motion vectors, as shown in Fig.18.

Поэтому для Q блока кодирования, который использует инструменты Sub-pu, модифицируется максимум три выборки, тогда как для блока Р кодирования модифицируется максимум до 7 выборок. См. фиг.4 или фиг.5, если ширина блока Р кодирования больше 8 выборок, например, 16 или 32 выборки, для блока Р кодирования модифицируется максимум до 7 выборок. Можно отметить, что в некоторых сценариях для блока P, Q кодирования также могут быть модифицированы 3, 4, 5 или 6 выборок.Therefore, for a Q coding block that uses Sub-pu tools, a maximum of three samples are modified, while for a coding block P, a maximum of 7 samples are modified. See FIG. 4 or FIG. 5, if the width of the coding block P is greater than 8 samples, such as 16 or 32 samples, the coding block P is modified to a maximum of 7 samples. It may be noted that in some scenarios, 3, 4, 5, or 6 samples may also be modified for the P, Q coding block.

Figure 00000077
Figure 00000077

Входные пиксели соответствуют значениям пикселей или значениям выборок, используемым для фильтрации, и выходные пиксели соответствуют модифицированным значениям выборок. Следует отметить, что входные пиксели могут быть последовательными пикселями, перпендикулярными краю блока, начиная с края блока. Кроме того, выходные пиксели могут быть последовательными пикселями, перпендикулярными краю блока, начиная с края блока. Как проиллюстрировано в таблице 1, в примере первые выходные значения (относящиеся к Q блоку кодирования) соответствуют q2, q1, q0; и вторые выходные значения (относящиеся к P блоку кодирования) соответствуют p0, p1, p2, … p5, p6. Соответственно, Q блок кодирования соответствует второму блоку изображения, который использует инструмент субблока, и Р блок кодирования соответствует первому блоку изображения. Q блок кодирования является текущим блоком и Р блок кодирования является соседним блоком текущего блока.The input pixels correspond to the pixel values or sample values used for filtering, and the output pixels correspond to the modified sample values. It should be noted that the input pixels can be successive pixels perpendicular to the block edge, starting from the block edge. In addition, the output pixels may be successive pixels perpendicular to the edge of the block, starting at the edge of the block. As illustrated in Table 1, in the example, the first output values (related to the Q coding block) correspond to q2, q1, q0; and the second output values (related to the P coding block) correspond to p0, p1, p2, ... p5, p6. Accordingly, Q coding block corresponds to the second image block that the sub-block tool uses, and P coding block corresponds to the first image block. Q coding block is the current block and P coding block is a neighboring block of the current block.

Кроме того, условие фильтра (уравнение 1) гарантирует, что для принятия решения фильтрации используются максимум 4 выборки из Q блока.In addition, the filter condition (Equation 1) ensures that a maximum of 4 samples from the Q block are used to make the filter decision.

В примере для первой и четвертой строк сегмента удаления блочности:In the example for the first and fourth lines of the deblock segment:

Figure 00000001
Figure 00000001

Figure 00000002
(уравнение 1)
Figure 00000002
(equation 1)

Как правило, процесс фильтра удаления блочности может включать в себя три этапа: обнаружение границы/края, решение о фильтрации (решение о включении/выключении фильтра) и процесс фильтрации для вертикальных и горизонтальных краев.Generally, the deblocking filter process may include three steps: border/edge detection, filtering decision (filter on/off decision), and filtering process for vertical and horizontal edges.

Для принятия решения фильтрации (для уравнения 1) используется только 4 выборки. Поэтому в уравнении 1 для Q блока используются выборки только от q0 до q3. В уравнении 1 для Р блока можно использовать четыре выборки, как показано в уравнении 1. В примере вторые значения решения соответствуют q3, q2, q1, q0; и значения первого решения соответствуют p0, p3, p4, p7, p0, p2, p3, p5.Only 4 samples are used to make a filtering decision (for Equation 1). Therefore, in equation 1 for Q block, only samples from q 0 to q 3 are used. In Equation 1, four samples can be used for the P block, as shown in Equation 1. In the example, the second decision values correspond to q3, q2, q1, q0; and the values of the first solution correspond to p0, p3, p4, p7, p0, p2, p3, p5.

Если уравнение 1 удовлетворяется, то можно использовать более длинный отводной фильтр, указанный в таблице 1. Если уравнение 1 не удовлетворяется, то можно использовать HEVC сильный фильтр. Также модифицируются максимум 3 выборки из Q блока, то есть, от q0 до q2 .. В основном, чтобы применить более длинный отводной фильтр, рассматривается уравнение 1. Только если уравнение/условие1 истинно, может применяться более длинный отводной фильтр, показанный в таблице 1. Можно отметить, что уравнение 1 можно использовать на этапе 707 на фиг. 7.If Equation 1 is satisfied, then a longer bypass filter as shown in Table 1 can be used. If Equation 1 is not satisfied, then a HEVC strong filter can be used. A maximum of 3 samples from the Q block are also modified, i.e., from q 0 to q 2 .. Basically, Equation 1 is considered to apply the longer tap filter. Only if Equation/Condition 1 is true, the longer tap filter shown in Table 1. It may be noted that Equation 1 can be used at step 707 in FIG. 7.

Уравнение 1 в основном проверяет градиент по обе стороны CU края. Поскольку для принятия решения фильтрации из Q блока доступно только максимум 4 выборки, то из Q блока используются только выборки с q0 по q3, в котором β обозначает параметр порогового значения, известный, например, из HEVC стандарта. Для условия фильтрации значение параметра β порогового значения зависит от параметра квантования QP. Как уже описано выше, QP представляет собой хорошо известный параметр в стандартах кодирования видео, который управляет компромиссом между скоростью передачи данных и качеством видеоконтента. В варианте осуществления QP может находиться в диапазоне от 0 до 51. В варианте осуществления схема обработки устройства 120, 220 фильтра выполнена с возможностью определять параметра β порогового значения на основании параметра квантования QP с использованием справочной таблицы. В варианте осуществления справочная таблица может быть определена следующим образом:Equation 1 basically tests the gradient on both sides of the CU edge. Since only a maximum of 4 samples are available to make a filtering decision from the Q block, only samples from q 0 to q 3 are used from the Q block, in which β denotes a threshold parameter known, for example, from the HEVC standard. For the filtering condition, the value of the threshold parameter β depends on the quantization parameter QP. As already described above, QP is a well-known parameter in video coding standards that governs the trade-off between bit rate and video content quality. In an embodiment, QP may range from 0 to 51. In an embodiment, the processing circuitry of the filter apparatus 120, 220 is configured to determine a threshold parameter β based on the quantization parameter QP using a look-up table. In an embodiment, a lookup table may be defined as follows:

Figure 00000078
Figure 00000078

Для получения дополнительных сведений о параметре β порогового значения и его зависимости от QP сделана ссылка на главу 7 книги «High Efficiency Video Coding (HEVC)», Sze et al., Которая полностью включена в настоящее описание посредством ссылки.For more information on the threshold parameter β and its dependence on QP, reference is made to chapter 7 of the book "High Efficiency Video Coding (HEVC)" by Sze et al., which is incorporated herein by reference in its entirety.

1.2 Если соседний Р блок использует инструменты Sub-pu, такие как Affine или ATMVP, то в настоящем изобретении используется асимметричная версия более длинного отводного фильтра, то есть, используется асимметричный фильтр, как показано в таблице 2, для выполнения удаления блочности CU границы между P и Q блоками;1.2 If the adjacent P block uses Sub-pu tools such as Affine or ATMVP, then the present invention uses an asymmetric version of the longer tap filter, i.e., uses an asymmetric filter as shown in Table 2 to perform CU deblocking of the boundary between P and Q blocks;

Поэтому для Р блока кодирования, который использует инструменты Sub-pu, в примере модифицируется максимум три выборки, тогда как для текущего Q блока кодирования модифицируется максимум до 7 выборок.Therefore, for the P coding block that uses the Sub-pu tools, a maximum of three samples are modified in the example, while for the current Q coding block, a maximum of 7 samples are modified.

Figure 00000079
Figure 00000079

Входные пиксели соответствуют значениям пикселей или значениям выборок, используемым для фильтрации, и выходные пиксели соответствуют модифицированным значениям выборок. Следует отметить, что входные пиксели могут быть последовательными пикселями, перпендикулярными краю блока, начиная с края блока. Кроме того, выходные пиксели могут быть последовательными пикселями, перпендикулярными краю блока, начиная с края блока. Как проиллюстрировано в таблице 2, в примере первые выходные значения (относящиеся к Р блоку кодирования) соответствуют p2, p1, p0; и вторые выходные значения (относящиеся к блоку кодирования Q) соответствуют q0, q1, q2, … q5, q6. Соответственно, Р блок кодирования соответствует второму блоку изображения, который использует инструменты субблока, и Q блок кодирования соответствует первому блоку изображения. Р блок кодирования является текущим блоком и Q блок кодирования является соседним блоком текущего блока.The input pixels correspond to the pixel values or sample values used for filtering, and the output pixels correspond to the modified sample values. It should be noted that the input pixels can be successive pixels perpendicular to the block edge, starting from the block edge. In addition, the output pixels may be successive pixels perpendicular to the edge of the block, starting at the edge of the block. As illustrated in Table 2, in the example, the first output values (related to the P coding block) correspond to p2, p1, p0; and second output values (relating to coding block Q) correspond to q0, q1, q2, ... q5, q6. Accordingly, P coding block corresponds to the second image block that uses the sub-block tools, and Q coding block corresponds to the first image block. P coding block is the current block and Q coding block is a neighboring block of the current block.

Также условие фильтрации (уравнение 2) гарантирует, что для принятия решения фильтрации используется только максимум 4 выборки Р блока.Also, the filtering condition (Equation 2) ensures that only a maximum of 4 P block samples are used to make a filtering decision.

В примере для первой и четвертой строк сегмента удаления блочности:In the example for the first and fourth lines of the deblock segment:

Figure 00000003
Figure 00000003

Figure 00000004
Figure 00000004

(уравнение 2)(equation 2)

Как правило, процесс фильтра удаления блочности может включать в себя три этапа: обнаружение границы/края, решение фильтрации (решение о включении/выключении фильтра) и процесс фильтрации для вертикальных и горизонтальных краев.Generally, the deblocking filter process may include three steps: edge/edge detection, filtering decision (filter on/off decision), and filtering process for vertical and horizontal edges.

Для принятия решения фильтрации (для уравнения 2) могут быть использованы только 4 выборки. Поэтому в уравнении 2 для Р блока используются выборки только от p0 до p3. В уравнении 2 для Q блока можно использовать четыре выборки, как показано в уравнении 2. В примере значения второго решения соответствуют p3, p2, p1, p0; и значения первого решения соответствуют q0, q3, q4, q7, q0, q2, q3, q5.Only 4 samples can be used to make a filtering decision (for Equation 2). Therefore, in equation 2 for the P block, only samples from p 0 to p 3 are used. In Equation 2, four samples can be used for the Q block, as shown in Equation 2. In the example, the values of the second solution correspond to p 3 , p 2 , p 1 , p 0 ; and the values of the first solution correspond to q 0 , q 3 , q 4 , q 7 , q 0 , q 2 , q 3 , q 5 .

Если уравнение 2 удовлетворяется, то можно использовать более длинный отводной фильтр, упомянутый в таблице 2. Если уравнение 2 не удовлетворяется, можно использовать HEVC сильный фильтр. Также здесь модифицируются максимум 3 выборки из Р блока, то есть, от p0 до p2. В основном, чтобы применить более длинный отводной фильтр, рассматривается уравнение 2. Только если уравнение 2 верно, то можно применять более длинный отводной фильтр, показанный в таблице 2. Можно отметить, что уравнение 2 может использоваться на этапе 707 на фиг.7.If Equation 2 is satisfied, then the longer bypass filter mentioned in Table 2 can be used. If Equation 2 is not satisfied, a HEVC strong filter can be used. Also, a maximum of 3 samples from the P block are modified here, that is, from p 0 to p 2 . Basically, to apply a longer tap filter, Equation 2 is considered. Only if Equation 2 is true, then the longer tap filter shown in Table 2 can be applied. It can be noted that Equation 2 can be used at step 707 in FIG.

Разрешено использовать максимум 4 выборки из Р блока для принятия решения фильтрации. Следовательно, выборки p4, p5… p7 нельзя использовать и, следовательно, коэффициенты фильтрации выборок p4, p5… p7 равны нулю. Таким образом, в операциях фильтрации p4, p5… p7 не используются.It is allowed to use a maximum of 4 samples from the P block to make a filtering decision. Therefore, the samples p4, p5… p7 cannot be used and, therefore, the filtering coefficients of the samples p4, p5… p7 are equal to zero. Thus, p4, p5… p7 are not used in filtering operations.

Уравнение 2 в основном проверяет градиент по обе стороны блока. Поскольку для принятия решения фильтрации из Р блока доступно не более 4 выборок, из Р блока используются только выборки с p0 по p3.Equation 2 basically tests the gradient on both sides of the box. Since no more than 4 samples are available to make a filtering decision from the P block, only samples p 0 to p 3 are used from the P block.

1.3 В альтернативной реализации коэффициенты для p0, p1, p2 или q0, q1, q2 также могут использовать коэффициенты HEVC сильного фильтра. Коэффициенты для случая, когда Р блок кодирования использует инструменты Sub-pu, показаны в таблице 3. Другими словами, настоящее изобретение может использовать асимметричную версию более длинного отводного фильтра, то есть, может использовать асимметричный фильтр, как показано на таблице 3, для удаления блочности CU границы между P и Q блоками. Соответственно, Р блок кодирования соответствует второму блоку изображения и Q блока кодирования соответствует первому блоку изображения. Р блок кодирования является текущим блоком и Q блок кодирования является соседним блоком текущего блока.1.3 In an alternative implementation, the coefficients for p 0 , p 1 , p 2 or q 0 , q 1 , q 2 may also use strong filter HEVC coefficients. The coefficients for the case where the P coding block uses Sub-pu tools are shown in Table 3. In other words, the present invention can use an asymmetric version of a longer tap filter, that is, can use an asymmetric filter as shown in Table 3 to deblock CU boundaries between P and Q blocks. Accordingly, P coding block corresponds to the second image block and Q coding block corresponds to the first image block. P coding block is the current block and Q coding block is a neighboring block of the current block.

Figure 00000080
Figure 00000080

В качестве альтернативы коэффициенты для p0, p1, p2 или q0, q1, q2 фильтра также могут использовать коэффициенты HEVC сильного фильтра. В таблице 4 показаны коэффициенты фильтра для случая, в котором Q блок кодирования использует инструменты Sub-pu. Другими словами, настоящее изобретение может использовать асимметричную версию более длинного отводного фильтра, то есть, может использовать асимметричный фильтр, как показано в таблице 4, для удаления блочности CU границы между P и Q блоками. Соответственно, Q блок кодирования соответствует второму блоку изображения и Р блок кодирования соответствует первому блоку изображения. Q блок кодирования является текущим блоком и Р блок кодирования является соседним блоком текущего блока.Alternatively, the coefficients for the p 0 , p 1 , p 2 or q 0 , q 1 , q 2 filter may also use the HEVC coefficients of the strong filter. Table 4 shows the filter coefficients for the case in which the Q coding block uses Sub-pu tools. In other words, the present invention may use an asymmetric version of the longer tap filter, that is, may use an asymmetric filter as shown in Table 4 to deblock the CU boundary between P and Q blocks. Accordingly, Q coding block corresponds to the second image block and P coding block corresponds to the first image block. Q coding block is the current block and P coding block is a neighboring block of the current block.

Figure 00000081
Figure 00000081

Используемое условие фильтрации может быть уравнением 1 или уравнением 2 в зависимости от того, использует ли Р блок или Q блок инструменты sub-pu. Например, если Р блок использует инструменты sub-pu, условием фильтрации является уравнение 2; если Q блок использует инструменты sub-pu, условием фильтрации является уравнение 1;The filter condition used can be Equation 1 or Equation 2 depending on whether the P block or Q block uses sub-pu tools. For example, if the P block uses sub-pu tools, the filter condition is Equation 2; if the Q block uses sub-pu tools, the filtering condition is Equation 1;

1.4 Если и Q блок кодирования, и Р блок кодирования используют инструменты sub-pu, то на CU границе больше не применяется более длинный отводной фильтр. HEVC сильный фильтр можно рассматривать для CU края (сокращение от CE). В реализации модифицируются максимум 3 выборки на стороне CU края в P блоке, и модифицируются максимум 3 выборки на другой стороне CU края в Q блоке. В таблице 5 показан используемый фильтр. Другими словами, настоящее изобретение может использовать фильтр, показанный в таблице 5, для удаления блочности CU границы между P и Q блоками.1.4 If both Q coding block and P coding block use sub-pu tools, then the longer tap filter is no longer applied at the CU boundary. HEVC strong filter can be considered for CU edge (short for CE). The implementation modifies a maximum of 3 samples on the edge CU side in a P block, and updates a maximum of 3 samples on the other side of the edge CU in a Q block. Table 5 shows the filter used. In other words, the present invention can use the filter shown in Table 5 to deblock the boundary CU between P and Q blocks.

Figure 00000082
Figure 00000082

На фиг.7 представлена блок-схема алгоритма, иллюстрирующая способ определения, следует ли использовать более длинный отводной фильтр (или асимметричный длинный фильтр). Как проиллюстрировано на фиг.7, должно выполняться условие HEVC сильного фильтра, чтобы выполнялись условия «более длинного отводного фильтра». На этапе 707 подробности были описаны выше. Более длинный отводной фильтр, используемый на этапе 709, отличается от нормального более длинного отводного фильтра, использованного на этапе 708, подробности были описаны выше. Состояние стандартного более длинного отводного фильтра может быть следующим:7 is a flowchart illustrating a method for determining whether to use a longer tap filter (or asymmetric long filter). As illustrated in FIG. 7, the strong filter HEVC condition must be met in order for the "longer tap filter" conditions to be met. At block 707, the details have been described above. The longer tap filter used in step 709 is different from the normal longer tap filter used in step 708, the details have been described above. The status of a standard longer bypass filter can be as follows:

Figure 00000083
Figure 00000083

В некоторых примерах, поверх HEVC фильтра, нормальный более длинный отводной фильтр на этапе 708 использует 8 выборок для принятия решения фильтрации на каждой стороне края, и на каждой стороне края модифицируются 7 выборок. Однако более длинный отводной фильтр на этапе 709 использует DB выборки для принятия решения фильтрации на одной стороне края и DA выборки для принятия решения фильтрации на другой стороне края, и на упомянутой одной стороне края модифицируются MB выборки, в то время как на другой стороне края модифицируются выборки MA. MA ≠ MB, в частности, MA <MB, например, MA = 3 и MB = 7, или MA = 4 и MB = 7, или MA = 5 и MB = 7. В общем, DA = MA + 1; DB = DB + 1.In some examples, on top of the HEVC filter, the normal longer tap filter at step 708 uses 8 samples to make a filtering decision on each side of the edge, and 7 samples are modified on each side of the edge. However, the longer tap filter in step 709 uses the sample DB to make a filter decision on one side of the edge and the sample DA to make a filter decision on the other side of the edge, and on said one side of the edge, the MB samples are modified while on the other side of the edge, MA samples. MA ≠ MB, in particular MA < MB, e.g. MA = 3 and MB = 7, or MA = 4 and MB = 7, or MA = 5 and MB = 7. In general, DA = MA + 1; db = db + 1.

На фиг.8 проиллюстрированы детали для определения, должно ли выполняться условие HEVC сильного фильтра. На фиг.8 показана блок-схема алгоритма, где показан общий процесс принятия решений фильтрации удаления блочности для границы блока, включающих в себя решения между сильной и нормальной фильтрацией.Fig. 8 illustrates the details for determining whether the strong filter condition HEVC is to be met. 8 is a flowchart showing the general deblocking filtering decision process for a block boundary, including decisions between strong and normal filtering.

На первом этапе 800 проверяется, совмещен ли край фильтруемого в данный момент блока с сеткой 8 × 8 выборки кодирования. Если это так, то на втором этапе 801 проверяется, является ли край блока, подлежащего фильтрации, границей между блоками предсказания или блоками преобразования. Если это так, то на третьем этапе 802 проверяется, является ли граничная прочность Bs> 0. Если это условие также удовлетворяется, то на четвертом этапе 803 проверяется, истинно ли условие 7.1.In the first step 800, it is checked whether the edge of the currently filtered block is aligned with the 8×8 grid of coding samples. If so, then in the second step 801 it is checked whether the edge of the block to be filtered is a boundary between prediction blocks or transform blocks. If so, then in the third step 802 it is checked whether the boundary strength Bs > 0. If this condition is also satisfied, then in the fourth step 803 it is checked whether condition 7.1 is true.

Условие 7.1 используется для проверки, применяется ли фильтрация удаления блочности к границе блока или нет. Условие особенно проверяет, насколько сигнал на каждой стороне границы блока отклоняется от прямой линии (пилообразная форма).Condition 7.1 is used to check whether deblocking filtering is applied to the block boundary or not. The condition specifically checks how much the signal on each side of the block boundary deviates from a straight line (sawtooth).

Если это условие не удовлетворяется или любая из проверок на этапах 800, 801 и 802 не выполняется, то на пятом этапе 804 принимается решение, что фильтрация не выполняется.If this condition is not met, or if any of the checks in steps 800, 801, and 802 fail, then a decision is made in fifth step 804 that no filtering is performed.

На шестом этапе 805 (не показан на фиг. 8) теперь проверяется, равен ли размер блока любого из двух блоков, окружающих край, подлежащий фильтрации, четырем. Если это не так, на седьмом этапе 806 проверяется, удовлетворяется ли дополнительные условия 7.2, 7.3 и 7.4.In the sixth step 805 (not shown in FIG. 8), it is now checked whether the block size of either of the two blocks surrounding the edge to be filtered is equal to four. If this is not the case, at the seventh step 806 it is checked whether the additional conditions 7.2, 7.3 and 7.4 are satisfied.

Условие 7.2 проверяет отсутствие значительных изменений сигнала на сторонах границы блока. Условие 7.3 проверяет ровность границы с обеих сторон. Условие 7.4 гарантирует, что шаг между значениями выборки на сторонах границы блока будет небольшим.Condition 7.2 checks for the absence of significant signal changes on the sides of the block boundary. Condition 7.3 checks whether the boundary is even on both sides. Condition 7.4 guarantees that the step between sample values on the sides of the block boundary will be small.

Если все эти условия верны, на восьмом этапе 807 выполняется сильная фильтрация, этап 807 напрямую заменяется этапом 702 на фиг.7. Если это не так, на девятом этапе 808 решается, что выполняется нормальная фильтрация.If all these conditions are true, strong filtering is performed in the eighth step 807, step 807 is directly replaced by step 702 in FIG. If it is not, at the ninth step 808 it is determined that normal filtering is being performed.

Это решение вводит в действие часть блок-схемы алгоритма удаления блочности, так что выполняется только одна модификация выборки.This solution enables part of the deblocking flowchart so that only one fetch modification is performed.

Это позволяет значительно сократить количество проверок, необходимых для определения, выполняется ли фильтрация и какой тип фильтрации выполняется, в случае, если хотя бы один из размеров блока является четным целым числом 2n, превышающим пороговое значение (например, 8 или 16 и т.д.), особенно в случае, если, по меньшей мере, один из размеров блока является четным целым числом 2n больше 16.This can significantly reduce the number of checks required to determine if filtering is being performed and what type of filtering is being performed, in case at least one of the block sizes is an even integer 2 n that is greater than a threshold value (for example, 8 or 16, etc. .), especially if at least one of the block sizes is an even integer 2 n greater than 16.

Для предотвращения перекрытия фильтров, когда к блокам применяется более длинный отводной фильтр, один или оба из которых используют инструменты sub-pu, такие как Affine и ATMVP, в настоящем изобретении предлагаются следующие решения.To prevent filter overlap when a longer tap filter is applied to blocks, one or both of which use sub-pu tools such as Affine and ATMVP, the present invention proposes the following solutions.

Решение 1. Использовать «асимметричный» фильтр, который позволяет модифицировать до МА выборок для блока, использующего инструменты sub-pu, если в Q блоке или Р блоке используются инструменты Sub-pu, такие как Affine или ATMVP, например MA = 3 , 4, 5 или 6.Solution 1. Use an "asymmetric" filter that allows modification to MA samples for a block using sub-pu tools if the Q block or P block uses Sub-pu tools such as Affine or ATMVP, e.g. MA = 3, 4, 5 or 6.

Решение 2. Для CU края не может быть применен более длинный отводной фильтр, если и Q блок кодирования, и Р блок кодирования используют инструменты Sub-pu. Для края рассматривается HEVC сильный фильтр. Поэтому для P и Q блоков модифицируется одинаковое количество выборок по обе стороны CU края, MA'= MB'.Solution 2: For edge CU, a longer tap filter cannot be applied if both the Q coding block and the P coding block use Sub-pu tools. For the edge, a HEVC strong filter is considered. Therefore, for P and Q blocks, the same number of samples are modified on both sides of the CU edge, MA'=MB'.

Решение 3. Отключить удаление блочности для sub-pu краев, в то время как выполняется удаление блочности только на CU краях, если любой из Q блока или Р блока использует инструменты Sub-pu, такие как Affine или ATMVP.Solution 3: Disable deblocking for sub-pu edges while only deblocking on CU edges if any of the Q block or P block is using Sub-pu tools like Affine or ATMVP.

Решения 4 и 5: если один из Q или P блоков использует инструменты Sub-pu, такие как Affine или ATMVP, то не только выполняется удаление блочности на некоторых из краев Sub-pu, но также выполняется на CU краях.Decisions 4 and 5: If one of the Q or P blocks is using Sub-pu tools like Affine or ATMVP, then not only is deblocking done on some of the Sub-pu edges, but it is also done on the CU edges.

Решение 4. В этом решении более длинный отводной фильтр удаления блочности или ко всем CU краям можно применить нормальный HEVC фильтр удаления блочности. Для внутренних краев Sub-pu выполняется удаление блочности только на краях, которые перекрываются сеткой 16 x 16. Внутренние края Sub-pu, которые перекрываются сеткой 8 x 8, не подвергают обработке удаления блочности. Основное преимущество этого решения состоит в том, что может быть применен более длинный отводной фильтр к некоторым внутренним краям Sub-pu, кроме CU краев.Solution 4. In this solution, a longer tapped deblocking filter or all CU edges can be applied with a normal HEVC deblocking filter. For Sub-pu inner edges, only the edges that are overlapped by the 16 x 16 grid are deblocked. Sub-pu inner edges that are overlapped by the 8 x 8 grid are not deblocked. The main advantage of this solution is that a longer tap-off filter can be applied to some inner edges of the Sub-pu, except for the CU edges.

Как показано на фиг.15, пример включает в себя три блока (blocks) P, Q, R кодирования. Q блок использует инструменты sub-pu, такие как Affine или ATMVP, и поэтому состоит из внутреннего края sub-pu. Есть два края блоков кодирования, один край используется совместно между Р блоком (например, CU P) и Q блоком (например, CU Q), и другой край блока кодирования используется совместно между Q блоком (например, CU Q) и R блоком (например, CU R). Чтобы применить более длинный отводной фильтр для края блока кодирования без введения перекрытий фильтров и, следовательно, не жертвуя параллельным удаление блочностиом, предлагаемое решение выполняет удаление блочности только всех внутренних краев sub-pu, которые перекрываются с сеткой 16 x 16. Все остальные внутренние края sub-pu не подвергают удаление блочностиу. Эта ситуация также изображена на фиг.15, пунктирные линии иллюстрируют внутренние sub-pu края, которые перекрываются с сеткой 8 x 8 и не подвергают удаление блочностиу. Нормальные линии изображают внутренние края sub-pu, которые перекрываются сеткой 16 x 16, поэтому к ним применяют удаление блочности. Важным свойством этого решения является то, что: более длинный отводной фильтр может применяться к краям CU и к внутренним sub-pu краям, которые перекрываются сеткой 16 x 16.As shown in FIG. 15, the example includes three coding blocks (blocks) P, Q, R. The Q block uses sub-pu instruments such as Affine or ATMVP and therefore consists of a sub-pu inner edge. There are two coding block edges, one edge is shared between a P block (eg, CU P) and a Q block (eg, CU Q), and the other coding block edge is shared between a Q block (eg, CU Q) and an R block (eg, CU Q). , CU R). In order to apply a longer tap filter to the edge of the coding block without introducing filter overlaps and therefore without sacrificing parallel deblocking, the proposed solution only deblocks all inner sub-pu edges that overlap with the 16 x 16 grid. All other inner sub edges -pu does not subject deblocking to u. This situation is also depicted in FIG. 15, the dotted lines illustrate inner sub-pu edges that overlap with the 8 x 8 grid and do not deblock. The normal lines depict the inner edges of the sub-pu, which are overlaid with a 16 x 16 grid, so deblocking is applied to them. An important feature of this solution is that: a longer tap-off filter can be applied to CU edges and to inner sub-pu edges that are overlapped by a 16 x 16 grid.

Р, Q, R блок имеет размер блока, равный M × N, или N × M, или L × T, или T × L, и N или T, являющиеся четным целым числом 2n, превышающим пороговое значение (например, 8 или 16 и т.д.). Например, размер (т.е. ширина или высота) Р, Q, R блока может составлять 32 или 64 выборки.P, Q, R block has a block size equal to M × N, or N × M, or L × T, or T × L, and N or T being an even integer 2 n greater than a threshold value (for example, 8 or 16 etc.). For example, the size (ie, width or height) of the P, Q, R block may be 32 or 64 samples.

Для сетки 16 x 16, по меньшей мере, один внутренний край sub-pu, который перекрывается. В общем, для меньших блоков внутренний край первого и последнего sub-pu, перекрывающееся сеткой 8x8, будет только одним, и поэтому его нельзя подвергнуть удаление блочностиу. Это ситуация, изображенная на фиг.4.For a 16 x 16 grid, at least one inner sub-pu edge that overlaps. In general, for smaller blocks, the inner edge of the first and last sub-pu overlapped by the 8x8 grid will only be one, and therefore cannot be deblocked. This is the situation depicted in Fig.4.

На фиг.19 показана сетка 8 x 8. Сетка 8 x 8 будет иметь вертикальные и горизонтальные линии, разделенные с интервалом в 8 выборок. Сетка 16 x 16 будет иметь вертикальные и горизонтальные линии, разделенные интервалом в 16 выборок.19 shows an 8 x 8 grid. An 8 x 8 grid will have vertical and horizontal lines separated by 8 samples. A 16 x 16 grid will have vertical and horizontal lines separated by 16 samples.

Может использоваться шестой фильтр, такой как более длинный отводной фильтр, который модифицирует максимум 7 выборок по обе стороны от края субблока, то есть, NA'= NB' = 7. Между прочим, HEVC нормальный фильтр удаления блочности также может быть применен ко всем этим суб-pu краям, которые перекрываются сеткой 16 x 16. Как правило, HEVC нормальный фильтр удаления блочности может модифицировать максимум 3 выборки по обе стороны края. Когда применяется HEVC нормальный фильтр удаления блочности к этим краям sub-pu, которые перекрываются с сеткой 16 x 16, количество выборок, которые должны быть модифицированы с каждой стороны краев sub-pu, может быть адаптировано согласно различным сценариям.A sixth filter can be used, such as a longer tap filter that modifies a maximum of 7 samples on either side of the sub-block edge, i.e., NA'= NB' = 7. Incidentally, the HEVC normal deblocking filter can also be applied to all of these sub-pu edges that overlap with a 16 x 16 grid. Typically, a HEVC normal deblocking filter can modify a maximum of 3 samples on either side of an edge. When the HEVC normal deblocking filter is applied to these sub-pu edges that overlap with the 16 x 16 grid, the number of samples to be modified on each side of the sub-pu edges can be adapted according to different scenarios.

На фиг.15, то есть, для решения 4 (сетка 16 x 16), шестой фильтр может относиться к более длинному отводному фильтру. Более длинный отводной фильтр представляет собой фильтр, который модифицирует одинаковое количество выборок по обе стороны от края. В этом случае можно использовать любой более длинный отводной фильтр с NA'= NB' = 7, т.е. более длинный отводной фильтр может модифицировать не более 7 выборок с каждой стороны края. Если это более длинный отводной фильтр, то NA'= NB' = 7. Более длинный отводной фильтр модифицирует максимум 7 выборок по обе стороны от края sub-PU. Также можно применить HEVC нормальный фильтр. Для принятия решения о фильтрации и модификации фильтра используются выборки, внутренние для блока sub-pu.In Fig. 15, that is, for solution 4 (16 x 16 grid), the sixth filter may refer to the longer tap filter. The longer tap filter is a filter that modifies the same number of samples on either side of the edge. In this case any longer bypass filter with NA'= NB' = 7 can be used, i.e. a longer tap filter can modify no more than 7 samples on each side of the edge. If it is a longer tap filter, then NA'= NB' = 7. The longer tap filter modifies a maximum of 7 samples on either side of the sub-PU edge. You can also apply a HEVC normal filter. Samples internal to the sub-pu block are used to make the filtering decision and modify the filter.

Решение 5. В этом решении удаление блочности отключен для внутренних краев первого и последнего sub-pu, например, перекрытие сеткой 8 х 8. Для всех остальных краев sub-pu, например, с перекрытием с сеткой 8 x 8, может быть применен пятый фильтр (например, HEVC нормальный фильтр удаления блочности или любой другой фильтр), который модифицирует максимум до 4 выборок. Более длинный отводной фильтр удаления блочности можно безопасно применять ко всем краям CU.Solution 5: In this solution, deblocking is disabled for the inner edges of the first and last sub-pu, such as an 8 x 8 grid overlay. For all other sub-pu edges, such as an 8 x 8 grid overlap, a fifth filter can be applied (eg HEVC normal deblocking filter or any other filter) that modifies up to a maximum of 4 samples. The longer tap deblocking filter can be safely applied to all edges of the CU.

Как показано на фиг.16, пример состоит из трех блоков (blocks) кодирования P, Q, R. Q блок использует инструменты sub-pu, такие как Affine или ATMVP, и поэтому состоит из внутреннего края sub-pu. Имеется два края блоков кодирования, один край используется совместно между Р блоком и Q блоком и другой край блока кодирования используется совместно между Q блоком и R блоком. Чтобы применить более длинный отводной фильтр для края блока кодирования без введения перекрытий фильтров и, следовательно, без ущерба для параллельного удаления блочности, решение выполняет удаление блочности только всех внутренних краев sub-pu, за исключением краев первого и последнего sub-pu. Также пятый фильтр, такой как HEVC фильтр удаления блочности, который модифицирует максимум 3 выборки, или любой другой фильтр удаления блочности, который модифицирует максимум до 4 выборок, может использоваться для удаления блочности всех других внутренних краев sub-pu, кроме краев первого и последнего sub-pu. Следует отметить, что для внутренних краев sub-pu в этом решении 5, потому что каждый последующий край отстоит только на 8 выборок, поскольку мы обычно выполняем фильтрацию на сетке 8 × 8. Следовательно, в решении 5 можно использовать HEVC нормальный фильтр удаления блочности или любой другой фильтр, который может модифицировать максимум до 4 выборок.As shown in Fig. 16, the example consists of three coding blocks (blocks) P, Q, R. The Q block uses sub-pu tools such as Affine or ATMVP and therefore consists of a sub-pu inner edge. There are two coding block edges, one edge is shared between the P block and the Q block, and the other edge of the coding block is shared between the Q block and the R block. In order to apply a longer tap filter to the edge of the coding block without introducing filter overlaps and therefore without sacrificing parallel deblocking, the solution only deblocks all inner sub-pu edges except for the edges of the first and last sub-pu. Also a fifth filter, such as a HEVC deblocking filter that modifies a maximum of 3 samples, or any other deblocking filter that modifies a maximum of 4 samples, can be used to deblock all other inner sub-pu edges except the edges of the first and last sub -pu. It should be noted that for the sub-pu inner edges in this solution 5 because each subsequent edge is only 8 samples apart, since we usually filter on an 8×8 grid. Therefore, in solution 5, one can use the HEVC normal deblocking filter, or any other filter that can modify up to a maximum of 4 samples.

На фиг.16, то есть, для решения 5 (кроме первого и последнего), пятый фильтр может также относиться к более длинному отводному фильтру. Более длинный отводной фильтр может быть фильтром, который модифицирует одинаковое количество выборок по обе стороны от края. В этом случае можно использовать любой другой более длинный отводной фильтр с NA = NB = 4. Если это более длинный отводной фильтр, то NA = NB = 4. Более длинный отводной фильтр модифицирует максимум 4 выборки по обе стороны от края sub-PU. Также можно применить HEVC нормальный фильтр. Для принятия решения о фильтрации и модификации фильтра используются выборки, внутренние для блока sub-pu.In Fig. 16, that is, for solution 5 (except for the first and last), the fifth filter may also refer to the longer tap filter. The longer tap filter may be a filter that modifies the same number of samples on either side of the edge. In this case, any other longer tap filter can be used with NA = NB = 4. If it is a longer tap filter, then NA = NB = 4. The longer tap filter modifies a maximum of 4 samples on either side of the sub-PU edge. You can also apply a HEVC normal filter. Samples internal to the sub-pu block are used to make the filtering decision and modify the filter.

Р, Q, R блок имеет размер блока M × N или N × M, или L × T, или T × L, а N или T является четным целым числом 2n больше 8. Например, размер (такой как ширина или высота) Р, Q, R блока может составлять 32 или 64 выборки. В общем, для меньших блоков внутренние края первого и последнего sub-pu с перекрытием с сеткой 8x8, будет только одним, и поэтому нельзя выполнить удаление блочности. Это ситуация, изображенная на фиг.4.P, Q, R block has a block size of M × N or N × M or L × T or T × L, and N or T is an even integer 2 n greater than 8. For example, the size (such as width or height) The P, Q, R block may be 32 or 64 samples. In general, for smaller blocks, the inner edges of the first and last sub-pu overlap with the 8x8 grid will only be one, and therefore deblocking cannot be performed. This is the situation depicted in Fig.4.

Для края первого sub-pu и края последнего sub-pu между субблоками внутри первого Р блока кодирования или второго Q блока кодирования край первого sub-pu находится ближе всего к одному из первого Р блока кодирования и второго Q блока кодирования, и край последнего sub-pu является ближайшим к другому из первого Р блока кодирования и второго Q блока кодирования;For the edge of the first sub-pu and the edge of the last sub-pu between sub-blocks within the first P coding block or the second Q coding block, the edge of the first sub-pu is closest to one of the first P coding block and the second Q coding block, and the edge of the last sub- pu is closest to the other of the first P coding block and the second Q coding block;

Настоящее изобретение так же успешно применимо как к вертикальным краям, так и к горизонтальным краям. Настоящее изобретение может определять край первого sub-pu, используя верхнее левое положение (x, y) sub-pu блока, и для первого вертикального края мы можем сказать, что верхнее левое положение имеет (x + n, y + 8), в котором n является приращением по краю, но их положение является тем же самым. Для последнего вертикального края мы можем сказать, что положение находится рядом с положением соседних блоков (p, q), тогда положение последнего вертикального края будет начинаться с (p + n, q- 8). Для горизонтального края наоборот.The present invention applies equally well to both vertical edges and horizontal edges. The present invention can define the edge of the first sub-pu using the top left position (x, y) of the sub-pu block, and for the first vertical edge we can say that the top left position has (x + n, y + 8) in which n is edge increment, but their position is the same. For the last vertical edge, we can say that the position is near the position of neighboring blocks (p, q), then the position of the last vertical edge will start at (p + n, q- 8). For the horizontal edge, the opposite is true.

Подводя итог, можно сказать, что решения могут гарантировать возможность выполнения параллельных операций удаления блочности и, следовательно, улучшить субъективное и объективное качество кодирования видео. Решение 3 предусматривает отсутствие удаления блочности для всех внутренних краев sub-pu, тогда как решение 4 и решение 5, по меньшей мере, предусматривает применение удаления блочности для некоторых внутренних краев sub-pu.In summary, solutions can ensure that parallel deblocking operations can be performed and hence improve the subjective and objective quality of video encoding. Solution 3 calls for no deblocking for all sub-pu inner edges, while Solution 4 and Solution 5 at least apply deblocking for some of the sub-pu inner edges.

Этот подход также показан на фиг.15 или фиг.16. На фиг. 5 показано изображение 500, содержащее два блока 501, 502. Край 504 блока разделяет блоки 501 и 502. Край 505 блока разделяет блок 502 на блоки 5021 и 5022. Согласно первому варианту осуществления изобретения модифицируются семь значений выборки рядом с краем 504 блока внутри блока 501, и модифицируются три значения выборки рядом с краем 504 блока внутри блока 502, 5021, в то время как с обеих сторон края 504 блока два последовательных значения выборки используются в качестве входных значений фильтра. На фиг.9 изображены только соответствующие блоки 901 и 902 изображения 900, то же самое относится и к горизонтальным краям. Изобретение применимо ко всем типам блоков для применения более длинного отводного фильтра, изобретение применимо как для вертикальных, так и для горизонтальных краев, например, для вертикальных краев с шириной> 8.This approach is also shown in Fig.15 or Fig.16. In FIG. 5 shows an image 500 comprising two blocks 501, 502. A block edge 504 separates blocks 501 and 502. A block edge 505 separates block 502 into blocks 5021 and 5022. According to a first embodiment of the invention, seven sample values near block edge 504 within block 501 are modified. , and three sample values adjacent to block edge 504 within block 502, 5021 are modified, while on both sides of block edge 504, two consecutive sample values are used as filter inputs. 9 shows only the respective blocks 901 and 902 of the image 900, the same applies to the horizontal edges. The invention is applicable to all types of blocks to apply a longer tap-off filter, the invention is applicable to both vertical and horizontal edges, for example, vertical edges with a width > 8.

В будущем стандарте кодирования видео может использоваться фильтр «длинного отвода», который модифицирует более 3 выборок. Далее фильтр с «длинным отводом», который использует 8 выборок в качестве входных значений фильтра и модифицирует до 7 выборок, может использоваться всякий раз, когда размер блока больше или равен 16 выборкам.A future video coding standard may use a "long tap" filter that modifies more than 3 samples. Further, a "long tap" filter that uses 8 samples as filter inputs and modifies to 7 samples can be used whenever the block size is greater than or equal to 16 samples.

Чтобы гарантировать возможность параллельного удаления блочности в таком сценарии, в котором текущий блок использует инструменты субблока, предлагаются следующие улучшенные механизмы:To ensure that parallel deblocking is possible in such a scenario where the current block uses subblock tools, the following improved mechanisms are proposed:

Механизм 1a: применить фильтр «длинного отвода», когда текущий размер блоков составляет ≥ 16 выборок, а также когда размер соседних блоков также составляет ≥ 16 выборок.Mechanism 1a: apply the "long tap" filter when the current block size is ≥ 16 samples, and also when the adjacent block size is also ≥ 16 samples.

Механизм 2a: применить «асимметричный фильтр», как объяснялось ранее.Mechanism 2a: apply an "asymmetric filter" as explained earlier.

Следовательно, «Асимметричный фильтр» модифицирует выборки, используемые в качестве входных значений, и модифицированные значения в соответствии с шириной блока:Therefore, "Asymmetric Filter" modifies the samples used as input values and the modified values according to the block width:

Например: еслиFor example: if

• ширина блока == 4, тогда в решении фильтрации можно использовать три выборки и может быть модифицирована одна выборка• block width == 4, then three samples can be used in the filter solution and one sample can be modified

• ширина блока == 8, тогда в решении фильтрации можно модифицировать и использовать 4 выборки• block width == 8, then 4 samples can be modified and used in the filtering solution

• для ширины блока> = 16 может быть применен более длинный отводной фильтр, • for block width >= 16 a longer bypass filter can be applied,

как описано ранее, например, в случае, если в текущем блоке используются инструменты субблока, модифицируется не более число МА значений выборки текущего блока (который использует инструменты субблока), смежные к краю блока на строку, и модифицируются не более число МВ выборки значения соседнего блока, смежные к краю блока на строку; MA ≠ MB, в частности, MA <MB, например, MA = 3 и MB = 7, или MA = 4 и MB = 7, или MA = 5 и MB = 7. Можно понять, что в сценарии, в котором текущий блок имеет инструменты субблока, MA и MB могут определяться на основании размера блока, другими словами, MA и MB зависят от размера блока соответствующего блока. В способе реализации для больших блоков, то есть, размера блока> = 32, максимальное модифицированное количество выборок может составлять 7 (соответствует длинному фильтру).as described earlier, for example, in the case where the current block uses subblock tools, no more than the number of MA sample values of the current block (which uses subblock tools) adjacent to the edge of the block per line are modified, and no more than the number of sample values of the adjacent block value MA are modified , adjacent to the edge of the block per line; MA ≠ MB, in particular MA < MB, for example, MA = 3 and MB = 7, or MA = 4 and MB = 7, or MA = 5 and MB = 7. It can be understood that in a scenario in which the current block has sub-block tools, MA and MB may be determined based on the block size, in other words, MA and MB depend on the block size of the corresponding block. In the implementation for large blocks, ie, block size >= 32, the maximum modified number of samples can be 7 (corresponding to a long filter).

Фиг.6 является блок-схемой, иллюстрирующей примерное устройство 600 фильтра удаления блочности согласно описанным в настоящем изобретении технологиям (дополнительные подробности будут описаны ниже, например, со ссылкой на фиг.7, 8 или фиг. 10, 11A, 11B, 12). Устройство 600 фильтра удаления блочности может быть выполнено с возможностью выполнять способы удаления блочности в соответствии с различными примерами, описанными в настоящем изобретении. В общем, один или оба из контурных фильтров 120 на фиг.1 и контурный фильтр 220 на фиг.2 может включать в себя компоненты, по существу, аналогичные компонентам устройства 600 фильтра удаления блочности. Другие устройства кодирования видео, такие как видеокодеры, видеодекодеры, видеокодеры/декодеры (CODEC) и т.п., также могут включать в себя компоненты, по существу, аналогичные фильтру 600 удаления блочности. Устройство 600 фильтра удаления блочности может быть реализовано в виде аппаратных средств, программного обеспечения, встроенного программного обеспечения или любой их комбинации. При реализации в программном обеспечении или встроенном программном обеспечении также может быть предоставлено соответствующее оборудование (например, один или более процессоров или процессоров и память для хранения инструкций для программного обеспечения или встроенного программного обеспечения).6 is a block diagram illustrating an exemplary deblocking filter apparatus 600 according to the techniques described herein (further details will be described below, for example, with reference to FIGS. 7, 8 or FIGS. 10, 11A, 11B, 12). The deblocking filter device 600 may be configured to perform deblocking methods in accordance with various examples described in the present invention. In general, one or both of the loop filters 120 in FIG. 1 and the loop filter 220 in FIG. 2 may include components substantially similar to those of the deblocking filter apparatus 600. Other video encoding devices, such as video encoders, video decoders, video encoders/decoders (CODEC), and the like, may also include components substantially similar to deblocking filter 600. The deblocking filter device 600 may be implemented in hardware, software, firmware, or any combination thereof. When implemented in software or firmware, appropriate hardware (eg, one or more processors or processors and memory for storing instructions for the software or firmware) may also be provided.

В примере на фиг. 6, устройство 600 фильтра удаления блочности включает в себя блок 604 определения удаления блочности, определения 602 поддержки, хранящиеся в памяти, блок 606 фильтрации удаления блочности, параметры 608 фильтра удаления блочности, хранящиеся в памяти, блок 603 локализации краев и структуру 605 данных местоположений краев. Любой или все компоненты фильтра 600 удаления блочности могут быть функционально интегрированы. Компоненты фильтра 600 удаления блочности показаны отдельно только в целях иллюстрации. В общем, фильтр 600 удаления блочности принимает данные для декодированных блоков, например, из компонента 114, 214 суммирования, который объединяет данные предсказания с остаточными данными для блоков. Данные могут дополнительно включать в себя указание того, как были предсказаны блоки. В примере, описанном ниже, устройство 600 фильтра удаления блочности выполнено с возможностью принимать данные, включающие в себя декодированный видеоблок, ассоциированный с CTB (или LCU), и дерево квадрантов CU для CTB, в котором дерево квадрантов CU описывает, как CTB разбивается на CU и режимы предсказания для PUs и TUs листового узла CUs.In the example in FIG. 6, the deblocking filter apparatus 600 includes a deblocking determination block 604, support definitions 602 stored in memory, a deblocking filter block 606, deblocking filter parameters 608 stored in memory, an edge localization block 603, and an edge location data structure 605. . Any or all components of the deblocking filter 600 may be functionally integrated. The components of the deblocking filter 600 are shown separately for illustration purposes only. In general, the deblocking filter 600 receives data for the decoded blocks, for example, from a summation component 114, 214, which combines the prediction data with the residual data for the blocks. The data may further include an indication of how the blocks were predicted. In the example described below, the deblocking filter apparatus 600 is configured to receive data including a decoded video block associated with a CTB (or LCU) and a CU quadtree for the CTB, in which the CU quadtree describes how the CTB is partitioned into CUs. and prediction modes for PUs and TUs of leaf node CUs.

Устройство 600 фильтра удаления блочности может поддерживать структуру 605 данных местоположений краев в памяти устройства 600 фильтра удаления блочности или во внешней памяти, предоставленной соответствующим устройством кодирования видео. В некоторых примерах блок 603 локализации краев может принимать дерево квадрантов, соответствующее CTB, которое указывает, как CTB разбивается на CUs. Блок 603 локализации краев может затем анализировать дерево квадрантов CU для определения краев между декодированными видеоблоками, ассоциированными с TUs и PUs CUs в CTB, которые являются кандидатами на удаление блочности.The deblocking filter device 600 may maintain the edge location data structure 605 in the memory of the deblocking filter device 600 or in an external memory provided by an appropriate video encoder. In some examples, edge localizer 603 may receive a quadtree corresponding to a CTB that indicates how the CTB is split into CUs. An edge localizer 603 may then parse the CU quadtree to determine edges between decoded video blocks associated with TUs and PUs of CUs in the CTB that are candidates for deblocking.

Структура 605 данных местоположений краев может содержать массив, имеющий горизонтальный размер, вертикальный размер и размер, представляющий горизонтальные края и вертикальные края. В общем, края между видеоблоками могут возникать между двумя видеоблоками, ассоциированные с CUs наименьшего размера CTB или TUs и PUs для CUs. Предполагая, что CTB имеет размер N × N, и предполагая, что CU наименьшего размера CTB имеет размер M × M, массив может содержать размер [N / M] × [N / M] × 2, в котором «2» представляет два возможных направления краев между CUs (горизонтальное и вертикальное). Например, предполагая, что CTB имеет 64 × 64 пикселя и CU наименьшего размера 8 × 8, массив может содержать [8] × [8] × [2] записи.The edge location data structure 605 may contain an array having a horizontal size, a vertical size, and a size representing the horizontal edges and the vertical edges. In general, edges between video blocks may occur between two video blocks associated with the smallest CTB size CUs or TUs and PUs for CUs. Assuming the CTB is of size N × N, and assuming the CU of the smallest CTB is of size M × M, the array may contain a size of [N/M] × [N/M] × 2, in which "2" represents two possible edge directions between CUs (horizontal and vertical). For example, assuming the CTB is 64×64 pixels and the smallest CU is 8×8, the array could contain [8]×[8]×[2] entries.

Каждая запись обычно может соответствовать возможному краю между двумя видеоблоками. На самом деле края могут отсутствовать на каждой из позиций в пределах LCU, соответствующей каждой из записей структуры 605 данных местоположений краев. Соответственно, значения структуры данных могут быть инициализированы как ложные. В общем, блок 603 локализации краев может анализировать дерево квадрантов CU, чтобы определять местоположения краев между двумя видеоблоками, ассоциированные с TUs и PUs блоков CUs CTB, и устанавливать соответствующие значения в структуре 605 данных местоположений краев как истинные.Each entry can typically correspond to a possible edge between two video blocks. In fact, edges may be missing at each of the positions within the LCU corresponding to each of the entries in the edge location data structure 605. Accordingly, the values of the data structure can be initialized as false. In general, the edge localizer 603 may parse the CU quadtree to determine the edge locations between two video blocks associated with the TUs and PUs of the CTB CUs and set the corresponding values in the edge location data structure 605 to true.

В общем, записи массива могут описывать, существует ли соответствующий край в CTB в качестве кандидата на удаление блочности. То есть, когда блок 603 локализации краев определяет, что при наличии края между двумя соседними видеоблоками, ассоциированные с TUs и PUs из CUs CTB, блок 603 локализации краев может установить значение соответствующей записи в структуре 605 данных местоположений краев для указания наличия края (например, со значением «истина»).In general, the array entries may describe whether a corresponding edge exists in the CTB as a deblocking candidate. That is, when the edge localizer 603 determines that if there is an edge between two adjacent video blocks associated with TUs and PUs from CTB CUs, the edge localizer 603 may set the value of the corresponding entry in the edge location data structure 605 to indicate the presence of an edge (e.g., meaning "true").

Блок 604 определения удаления блочности обычно определяет, следует ли выполнять удаление блочности края между двумя блоками для двух соседних блоков. Блок 604 определения удаления блочности может определять местоположения краев с использованием структуры 605 данных местоположений краев. Когда значение структуры 605 данных местоположений краев имеет логическое значение, блок 604 определения удаления блочности может определять, что «истинное» значение указывает на наличие края, и значение «ложное» указывает, что в некоторых примерах край отсутствует.Deblocking determination block 604 generally determines whether to perform edge deblocking between two blocks for two adjacent blocks. Deblocking determiner 604 may determine edge locations using edge location data structure 605 . When the value of the edge location data structure 605 is a Boolean value, the deblocking determiner 604 may determine that a "true" value indicates the presence of an edge, and a value of "false" indicates that an edge is missing in some examples.

В общем, блок 604 определения удаления блочности сконфигурирован с одной или несколькими функциями определения удаления блочности. Функции могут включать в себя множество коэффициентов, применяемых к линиям пикселей, которые пересекают край между блоками. Например, функции могут применяться к строке пикселей, которая перпендикулярна краю, в котором MA (например, 3, 4 или 5) пикселей находятся в одном из двух блоков, и пиксели MB (например, 7) находятся в другом из двух блоков. Определения 602 поддержки определяют поддержку функций. В общем, «поддержка» соответствует пикселям, к которым применяются функции.In general, the deblocking determination block 604 is configured with one or more deblocking determination functions. The features may include a plurality of coefficients applied to lines of pixels that cross an edge between blocks. For example, the functions may be applied to a row of pixels that is perpendicular to an edge in which MA (eg, 3, 4, or 5) pixels are in one of the two blocks and MB (eg, 7) pixels are in the other of the two blocks. Support definitions 602 define feature support. In general, "support" corresponds to the pixels to which the features are applied.

Блок 604 определения удаления блочности может быть выполнен с возможностью применять одну или более функций определения удаления блочности к одному или нескольким наборам поддержки, как определено определениями 602 поддержки, для определения, следует ли выполнять удаление блочности конкретного края между двумя блоками видеоданных. Пунктирная линия, исходящая из блока 604 определения удаления блочности, представляет данные для блоков, выводимых без фильтрации. В случаях, когда блок 604 определения удаления блочности определяет, что край между двумя блоками не должен фильтроваться, фильтр 600 удаления блочности может выводить данные для блоков без изменения данных. То есть, данные могут обойти блок 606 фильтрации удаления блочности. С другой стороны, когда блок 604 определения удаления блочности определяет, что край должен быть подвергнут удалению блочности, блок 604 определения удаления блочности может побудить блок 606 фильтрации удаления блочности отфильтровать значения соседних пикселей для выполнения удаления блочности края.Deblocking determiner 604 may be configured to apply one or more deblocking determination functions to one or more support sets, as determined by support definitions 602, to determine whether a particular edge between two blocks of video data should be deblocked. The dotted line emanating from the deblocking determination block 604 represents data for blocks output without filtering. In cases where the deblocking determiner 604 determines that an edge between two blocks is not to be filtered, the deblocking filter 600 may output data for the blocks without changing the data. That is, the data can bypass the deblocking filter block 606 . On the other hand, when the deblocking determiner 604 determines that an edge is to be deblocked, the deblocking determiner 604 may cause the deblocking filtering block 606 to filter neighboring pixel values to perform edge deblocking.

Блок 606 фильтрации удаления блочности извлекает определения фильтров удаления блочности из параметров 608 фильтра удаления блочности для краев, которые должны быть подвергнуты удаление блочностиу, как указано блоком 604 определения удаления блочности. В общем, фильтрация края использует значения пикселей из окрестности текущего края, подлежащего удаление блочностиу. Следовательно, как функции принятия решения удаления блочности, так и фильтры удаления блочности могут иметь определенную область поддержки с обеих сторон края. Применяя фильтр удаления блочности к пикселям в окрестности края, блок 606 фильтрации удаления блочности может сглаживать значения пикселей посредством подавления высокочастотных переходов около края. Таким образом, применение фильтров удаления блочности к пикселям около края может уменьшить артефакты блочности около края.The deblock filter block 606 retrieves the deblock filter definitions from the deblock filter parameters 608 for the edges to be deblocked, as indicated by the deblock determine block 604 . In general, edge filtering uses pixel values from the vicinity of the current edge to be deblocked. Therefore, both deblocking decision functions and deblocking filters can have a defined support area on both sides of the edge. By applying a deblocking filter to pixels in the vicinity of an edge, the deblocking filter block 606 can smooth pixel values by suppressing high-frequency transitions near the edge. Thus, applying deblocking filters to pixels near the edge can reduce the deblocking artifacts near the edge.

Фиг.10 является блок-схемой алгоритма, иллюстрирующей примерный способ удаления блочности согласно описанным в настоящем изобретении технологиям (дополнительные подробности будут описаны ниже, например, со ссылкой на фиг.7, 8).10 is a flowchart illustrating an exemplary deblocking method according to the techniques described in the present invention (further details will be described below, for example, with reference to FIGS. 7, 8).

На фиг.10 показан вариант осуществления способа удаления блочности.10 shows an embodiment of the deblocking method.

На первом этапе 1001 определяются края между блоками, в котором края между блоками содержат край блока между первым блоком кодирования и вторым блоком кодирования и край субблока между субблоками первого блока кодирования или второго блока кодирования (например, первый блок кодирования или второй блок кодирования имеет субблоки, или первый блок кодирования или второй блок кодирования имеет инструменты субблока), в котором первый блок кодирования имеет размер блока M × N или N × M второй блок кодирования имеет размер L × T или T × L, а N или T является четным целым числом 2n, превышающее пороговое значение (например, 8 или 16 и т. д.);In a first step 1001, inter-block edges are determined, wherein the inter-block edges comprise a block edge between the first coding block and the second coding block, and a sub-block edge between sub-blocks of the first coding block or the second coding block (e.g., the first coding block or the second coding block has sub-blocks, or the first coding block or the second coding block has sub-block tools), in which the first coding block has a block size of M × N or N × M, the second coding block has a size of L × T or T × L, and N or T is an even integer 2 n exceeding a threshold value (for example, 8 or 16, etc.);

На втором этапе 1002 определяется, должен ли край блока между первым блоком кодирования и вторым блоком кодирования быть отфильтрован путем применения первого фильтра (более длинного отводного фильтра или асимметричного фильтра, или асимметричного длинного фильтра или асимметричного отводного фильтра); другими словами, определяется, выполняется ли удаление блочности края блока между первым блоком кодирования и вторым блоком кодирования путем применения первого фильтра (то есть, более длинного отводного фильтра или асимметричного фильтра, или асимметричного отводного фильтра, или асимметричного длинного фильтра);In the second step 1002, it is determined whether the block edge between the first coding block and the second coding block should be filtered by applying the first filter (longer tap filter or asymmetric filter or asymmetric long filter or asymmetric tap filter); in other words, it is determined whether block edge deblocking is performed between the first coding block and the second coding block by applying the first filter (i.e., a longer tap filter or an asymmetric filter or an asymmetric tap filter or an asymmetric long filter);

На третьем этапе 1003 применяется первый фильтр (более длинный отводной фильтр, или асимметричный фильтр, или асимметричный отводной фильтр, или асимметричный более длинный отводной фильтр) к значениям выборок (то есть, входным пикселям) вблизи края блока между первым блоком кодирования и вторым блоком кодирования, когда определено, что край блока между первым блоком кодирования и вторым блоком кодирования должен быть отфильтрован путем применения первого фильтра, в котором в случае, когда первый блок кодирования имеет субблоки (или первый блок кодирования имеет инструменты субблока, первый блок кодирования является текущим блоком, и второй блок кодирования является соседним блоком текущего блока), модифицируется не более число МА значений выборок первого блока кодирования, смежного (т. е. перпендикулярного) краю блока на строку и модифицируется не более число МВ значений выборок второго блока кодирования, смежного (т. е. перпендикулярного) краю блока на строку; или, в случае, когда второй блок кодирования имеет субблоки (или второй блок кодирования имеет инструменты субблока, второй блок кодирования является текущим блоком и первый блок кодирования является соседним блоком текущего блока), модифицируется не более число МА значений выборок второго блока кодирования, смежных (т. е. перпендикулярных) краю блока на строку, и модифицируется не более число МВ значений выборок первого блока кодирования, смежных (т. е. перпендикулярных) краю блока на строки, MA ≠ MB, в частности, MA <MB, например MA <MB = 7.In a third step 1003, a first filter (a longer tap filter, or an asymmetric filter, or an asymmetric tap filter, or an asymmetric longer tap filter) is applied to the sample values (i.e., input pixels) near the block edge between the first coding block and the second coding block. when it is determined that the block edge between the first coding block and the second coding block is to be filtered by applying the first filter, in which in the case where the first coding block has subblocks (or the first coding block has subblock tools, the first codingblock is the current block, and the second coding block is a neighboring block of the current block), no more than the number MA of sample values of the first coding block adjacent (i.e., perpendicular to) the block edge per row is modified, and no more than the number MB of sample values of the second coding block adjacent (i.e., e. perpendicular) to the edge of the block per line; or, in the case where the second coding block has sub-blocks (or the second coding block has sub-block tools, the second coding block is the current block, and the first coding block is a neighboring block of the current block), at most the number MA of second coding block sample values adjacent to ( i.e., perpendicular) to the block edge per line, and no more than the number of MB of sample values of the first coding block adjacent (i.e., perpendicular) to the block edge per line, MA ≠ MB, in particular, MA < MB, for example, MA < MB = 7.

Например, MA = 3 и MB = 7,For example, MA = 3 and MB = 7,

MA = 4 и MB = 7, илиMA = 4 and MB = 7, or

MA = 5 и MB = 7.MA = 5 and MB = 7.

Можно понять, что в сценарии, в котором текущий блок имеет инструменты субблока, MA и MB могут определяться на основании размера блока, другими словами, MA и MB зависят от размера блока соответствующего блока. В способе реализации для больших блоков, то есть, размера блока > = 32, максимальное количество модифицированных выборок может составлять 7 (соответствует длинному фильтру).It can be understood that in a scenario in which the current block has sub-block tools, MA and MB may be determined based on the block size, in other words, MA and MB depend on the block size of the corresponding block. In the implementation for large blocks, ie, block size >= 32, the maximum number of modified samples can be 7 (corresponding to a long filter).

Входные пиксели соответствуют значениям пикселей или значениям выборок, используемым для фильтрации, и выходные пиксели соответствуют модифицированным значениям выборок. Следует отметить, что входные пиксели могут быть последовательными пикселями, перпендикулярными краю блока, начиная с края блока. Кроме того, выходные пиксели могут быть последовательными пикселями, перпендикулярными краю блока, начиная с края блока.The input pixels correspond to the pixel values or sample values used for filtering, and the output pixels correspond to the modified sample values. It should be noted that the input pixels may be consecutive pixels perpendicular to the block edge, starting at the block edge. In addition, the output pixels may be successive pixels perpendicular to the edge of the block, starting at the edge of the block.

В последующем описании может быть сделана ссылка на ранее описанные подробности способа удаления блочности и повторно не приводятся.In the following description, reference may be made to previously described details of the deblocking method and will not be repeated.

Фиг. 11A является блок-схемой алгоритма, иллюстрирующей другой примерный способ удаления блочности согласно описанным в настоящем изобретении технологиям (дополнительные подробности будут описаны ниже, например, со ссылкой на фиг. 7, 8).Fig. 11A is a flowchart illustrating another exemplary deblocking method according to the technologies described herein (further details will be described below, for example, with reference to FIGS. 7, 8).

На фиг. 11A показан другой вариант способа удаления блочности.In FIG. 11A shows another version of the deblocking method.

На первом этапе 1101 определяются края между блоками, в котором края между блоками содержат край блока между первым блоком кодирования и вторым блоком кодирования и край субблока между субблоками первого блока кодирования или второго блока кодирования, в котором первый блок кодирования имеет размер M × N или N × M, второй блок кодирования имеет размер L × T или T × L, а N или T является четным целым числом 2n, превышающим пороговое значение (например, 8 или 16 и т.д.);In a first step 1101, edges between blocks are determined, in which edges between blocks comprise a block edge between the first coding block and the second coding block, and a sub-block edge between sub-blocks of the first coding block or the second coding block, in which the first coding block has a size of M × N or N × M, the second coding block has a size of L × T or T × L, and N or T is an even integer 2 n greater than a threshold value (eg, 8 or 16, etc.);

На втором этапе 1102 определяется, должен ли край блока между первым блоком кодирования и вторым блоком кодирования быть отфильтрован путем применения первого фильтра (более длинного отводного фильтра или асимметричного фильтра, или асимметричного отводного фильтра или асимметричного длинного фильтра); другими словами, определяется, выполняется ли удаление блочности края блока между первым блоком кодирования и вторым блоком кодирования путем применения первого фильтра (более длинного отводного фильтра или асимметричного фильтра, или асимметричного отводного фильтра, или асимметричного длинного фильтра);In the second step 1102, it is determined whether the block edge between the first coding block and the second coding block should be filtered by applying the first filter (longer tap filter or asymmetric filter or asymmetric tap filter or asymmetric long filter); in other words, it is determined whether block edge deblocking is performed between the first coding block and the second coding block by applying the first filter (longer tap filter or asymmetric filter or asymmetric tap filter or asymmetric long filter);

На втором этапе 1103 применяется третий фильтр к значениям выборок (то есть, входным пикселям) около края блока между первым блоком кодирования и вторым блоком кодирования, когда определено, что край блока между первым блоком кодирования и вторым блоком кодирования не должен фильтроваться путем применения первого фильтра, в котором модифицируется не более число MA значений выборок первого блока кодирования, смежного (т. е. перпендикулярно) краю блока на строку, и модифицируются не более число MB выборок значения второго блока кодирования, смежного (то есть, перпендикулярного) краю блока на строку, MA = MB, например, MA = MB = 4.In a second step 1103, a third filter is applied to the sample values (i.e., input pixels) near the block edge between the first coding block and the second coding block when it is determined that the block edge between the first coding block and the second coding block is not to be filtered by applying the first filter. , in which at most MA number of sample values of the first coding block adjacent (i.e., perpendicular to) the block edge per line are modified, and at most MB number of samples of the value of the second coding block adjacent (i.e., perpendicular to) the block edge per line are modified , MA = MB, e.g. MA = MB = 4.

Можно понять, что первый блок кодирования является текущим блоком и второй блок кодирования является соседним блоком текущего блока, или второй блок кодирования является текущим блоком и первый блок кодирования является соседним блоком текущего блока.It can be understood that the first coding block is the current block and the second coding block is a neighboring block of the current block, or the second coding block is the current block and the first coding block is a neighboring block of the current block.

Входные пиксели соответствуют значениям пикселей или значениям выборок, используемым для фильтрации, и выходные пиксели соответствуют модифицированным значениям выборок. Следует отметить, что входные пиксели могут быть последовательными пикселями, перпендикулярными краю блока, начиная с края блока. Кроме того, выходные пиксели могут быть последовательными пикселями, перпендикулярными краю блока, начиная с края блока.The input pixels correspond to the pixel values or sample values used for filtering, and the output pixels correspond to the modified sample values. It should be noted that the input pixels can be successive pixels perpendicular to the block edge, starting from the block edge. In addition, the output pixels may be successive pixels perpendicular to the edge of the block, starting at the edge of the block.

Далее может быть сделана ссылка на ранее раскрытые подробности примерного способа удаления блочности и повторения опущены.Further reference may be made to previously disclosed details of an exemplary deblocking method and repetition are omitted.

Фиг. 11B является блок-схемой алгоритма, иллюстрирующая другой примерный способ удаления блочности согласно описанным в настоящем изобретении технологиям (дополнительные подробности будут описаны ниже, например, со ссылкой на фиг. 7, 8).Fig. 11B is a flowchart illustrating another exemplary deblocking method according to the technologies described herein (further details will be described below, for example, with reference to FIGS. 7, 8).

На фиг. 11B показан другой вариант способа удаления блочности.In FIG. 11B shows another version of the deblocking method.

На первом этапе 1121 определяются края между блоками, в котором края между блоками содержат край блока между первым Р блоком кодирования и вторым Q блоком кодирования и край субблока между субблоками первого Р блока кодирования или второго Q блока кодирования, в котором первый Р блок кодирования имеет размер M × N или N × M, второй Q блок кодирования имеет размер блока L × T или T × L, а N или T является четным целым числом 2n больше порогового значения (например, 8 или 16 и т. д.);In a first step 1121, the inter-block edges are determined, in which the inter-block edges comprise a block edge between the first P coding block and the second Q coding block, and a sub-block edge between sub-blocks of the first P coding block or the second Q coding block, in which the first P coding block has a size M × N or N × M, the second Q coding block has a block size of L × T or T × L, and N or T is an even integer 2 n greater than a threshold value (eg, 8 or 16, etc.);

На втором этапе 1122 определяется, что край субблока между субблоками первого Р блока кодирования или второго Q блока кодирования не должен фильтроваться; другими словами, определяется, что край субблока между субблоками первого Р блока кодирования или второго Q блока кодирования не подвергается удалению блочности;In a second step 1122, it is determined that a subblock edge between subblocks of the first P coding block or the second Q coding block is not to be filtered; in other words, it is determined that a sub-block edge between sub-blocks of the first P coding block or the second Q coding block is not subject to deblocking;

На третьем этапе 1123 применяется четвертый фильтр (например, нормальный более длинный отводной фильтр) к значениям выборок (то есть, входным пикселям) около края блока между первым Р блоком кодирования и вторым Q блоком кодирования, в котором модифицируются число MA значений выборок первого блока кодирования, смежного (т. е. перпендикулярно) краю блока, и модифицируются число МВ значений выборок второго блока кодирования, смежного (т. е. перпендикулярно) краю блока, MA = MB = 7.In the third step 1123, a fourth filter (eg, a normal longer tap filter) is applied to the sample values (i.e., input pixels) near the block edge between the first P coding block and the second Q coding block, in which the number MA of sample values of the first coding block is modified , adjacent (i.e., perpendicular) to the block edge, and the number of MB sample values of the second coding block adjacent (i.e., perpendicular to) the block edge, MA = MB = 7, is modified.

Очевидно, что первый блок кодирования является текущим блоком и второй блок кодирования является соседним блоком текущего блока, или второй блок кодирования является текущим блоком и первый блок кодирования является соседним блоком текущего блока.Obviously, the first coding block is the current block and the second coding block is a neighboring block of the current block, or the second coding block is the current block and the first coding block is a neighboring block of the current block.

Входные пиксели соответствуют значениям пикселей или значениям выборок, используемым для фильтрации, и выходные пиксели соответствуют модифицированным значениям выборок. Следует отметить, что входные пиксели могут быть последовательными пикселями, перпендикулярными краю блока, начиная с края блока. Кроме того, выходные пиксели могут быть последовательными пикселями, перпендикулярными краю блока, начиная с края блока.The input pixels correspond to the pixel values or sample values used for filtering, and the output pixels correspond to the modified sample values. It should be noted that the input pixels can be successive pixels perpendicular to the block edge, starting from the block edge. In addition, the output pixels may be successive pixels perpendicular to the edge of the block, starting at the edge of the block.

Фиг.12 является блок-схемой алгоритма, иллюстрирующей другой примерный способ удаления блочности согласно описанным в настоящем изобретении технологиям (дополнительные подробности будут описаны ниже, например, со ссылкой на фиг.7, 8, 10, 11A, 11B, 12 и фиг.15, 16).Fig. 12 is a flowchart illustrating another exemplary deblocking method according to the technologies described in the present invention (further details will be described below, for example, with reference to Figs. 7, 8, 10, 11A, 11B, 12 and Fig. 15 , 16).

На фиг. 12 показан другой вариант способа удаления блочности.In FIG. 12 shows another version of the deblocking method.

На первом этапе 1201 края между блоками, в котором определяются края между блоками содержат край блока между первым Р блоком кодирования и вторым Q блоком кодирования и край субблока между субблоками внутри первого Р блока кодирования и/или второго Q блока кодирования, в котором первый Р блок кодирования имеет размер M × N или N × M, второй Q блок кодирования имеет размер L × T или T × L, например, N или T быть четным целым числом 2n, превышающим пороговое значение (например, 8 или 16 и т. д.);In the first step 1201, the inter-block edges in which the inter-block edges are determined comprise a block edge between the first P coding block and the second Q coding block, and a sub-block edge between sub-blocks within the first P coding block and/or the second Q coding block, in which the first P coding block coding block has size M × N or N × M, the second Q coding block has size L × T or T × L, for example, N or T be an even integer 2 n greater than a threshold value (for example, 8 or 16, etc. .);

На втором этапе 1202 определяется, что край блока между первым Р блоком кодирования и вторым Q блоком кодирования и первый набор краев субблока между субблоками внутри первого Р блока кодирования и/или второго Q блока кодирования должны быть отфильтрованы, и второй набор краев субблока между субблоками внутри первого Р блока кодирования и/или второго Q блока кодирования не должен фильтроваться; иIn a second step 1202, it is determined that the block edge between the first P coding block and the second Q coding block and the first set of subblock edges between subblocks within the first P coding block and/or the second Q coding block are to be filtered, and the second set of subblock edges between subblocks within the first P coding block and/or the second Q coding block shall not be filtered; and

На третьем этапе 1203 выполняется фильтрация удаления блочности при значениях выборок рядом с краем блока между первым Р блоком кодирования и вторым Q блоком кодирования, и выполняется фильтрация удаления блочности при значениях выборок около каждого из первого набора краев субблока между субблоками внутри первого блока кодирования P и/или второго Q блока кодирования.In a third step 1203, deblocking filtering is performed on sample values near a block edge between the first P coding block and the second coding block Q, and deblocking filtering is performed on sample values near each of the first set of subblock edges between subblocks within the first coding block P and/ or a second Q coding block.

Очевидно, что первый блок кодирования является текущим блоком и второй блок кодирования является соседним блоком текущего блока, или второй блок кодирования является текущим блоком и первый блок кодирования является соседним блоком текущего блока.Obviously, the first coding block is the current block and the second coding block is a neighboring block of the current block, or the second coding block is the current block and the first coding block is a neighboring block of the current block.

Входные пиксели соответствуют значениям пикселей или значениям выборок, используемым для фильтрации и выходные пиксели соответствуют модифицированным значениям выборок. Следует отметить, что входные пиксели могут быть последовательными пикселями, перпендикулярными краю блока, начиная с края блока. Кроме того, выходные пиксели могут быть последовательными пикселями, перпендикулярными краю блока, начиная с края блока.The input pixels correspond to the pixel values or sample values used for filtering and the output pixels correspond to the modified sample values. It should be noted that the input pixels can be successive pixels perpendicular to the block edge, starting from the block edge. In addition, the output pixels may be successive pixels perpendicular to the edge of the block, starting at the edge of the block.

Как показано на фиг.16, первый набор краев субблока между субблоками внутри первого блока кодирования и/или второго блока кодирования содержит (состоит из) множество краев субблока, за исключением края первого субблока и края последнего субблока между субблоками внутри первого Р блока кодирования и/или второго Q блока кодирования, в котором край первого субблока находится ближе всего к одному из первого Р блока кодирования и второго Q блока кодирования, и последний край субблока является ближайшим к другому из первого Р блока кодирования и второго Q блока кодирования;As shown in FIG. 16, the first set of subblock edges between subblocks within the first coding block and/or the second coding block comprises (consists of) a plurality of subblock edges except for the first subblock edge and the last subblock edge between subblocks within the first P coding block and/ or a second Q coding block, in which the edge of the first subblock is closest to one of the first P coding block and the second Q coding block, and the last edge of the subblock is closest to the other of the first P coding block and the second Q coding block;

второй набор краев субблока между субблоками внутри первого блока кодирования и/или второго блока кодирования состоит из края первого субблока и края последнего субблока между субблоками внутри первого Р блока кодирования и/или второго Q блока кодирования, в котором край первого субблока находится ближе всего к одному из первого Р блока кодирования и второго Q блока кодирования, и край последнего субблока находится ближе всего к другому из первого Р блока кодирования и второго Q блока кодирования.the second set of subblock edges between subblocks within the first coding block and/or the second coding block consists of the first subblock edge and the last subblock edge between subblocks within the first P coding block and/or the second Q coding block in which the first subblock edge is closest to one of the first P coding block and the second Q coding block, and the edge of the last sub-block is closest to the other of the first P coding block and the second Q coding block.

На втором этапе 1203 этап выполнения фильтрации удаления блочности при значениях выборок около каждого из первого набора краев субблока между субблоками первого Р блока кодирования и/или второго Q блока кодирования содержит:In a second step 1203, the step of performing deblocking filtering on sample values near each of the first set of subblock edges between subblocks of the first P coding block and/or the second Q coding block comprises:

применение пятого фильтра к значениям выборок около каждого из первого набора краев субблока внутри первого Р блока кодирования и/или второго Q блока кодирования, в котором модифицируются не более число NA значений выборок на одной стороне соответствующего блока из первого набора краев субблока внутри первого Р блока кодирования и/или второго Q блока кодирования, и модифицируются не более число NB значений выборок на другой стороне соответствующего одного из первого набора субблока края, NA = NB = 4.applying a fifth filter to the sample values near each of the first set of subblock edges within the first P coding block and/or the second Q coding block, in which at most NA number of sample values on one side of the corresponding block from the first set of subblock edges within the first P coding block are modified and/or a second Q coding block, and no more than the number NB of sample values on the other side of the corresponding one of the first edge subblock set, NA = NB = 4, are modified.

Если внутри первого Р блока кодирования отсутствуют края субблока между субблоками, и при наличии множества краев субблока между субблоками внутри второго Q блока кодирования, на втором этапе 1203 этап выполнения фильтрации удаления блочности по значениям выборок рядом с каждым из первого набора краев субблока между субблоками внутри первого Р блока кодирования и/или второго Q блока кодирования, содержит:If there are no subblock edges between subblocks within the first P coding block, and if there are multiple subblock edges between subblocks within the second Q coding block, in a second step 1203 a step of performing deblocking filtering on sample values near each of the first set of subblock edges between subblocks within the first The P of the coding block and/or the second Q of the coding block contains:

определение отфильтрованного значения

Figure 00000035
выборки соответствующей выборки текущей строки или столбца выборок на соответствующей стороне вертикального или горизонтального края субблока внутри второго Q блока кодирования на основании следующего уравнения, когда принято решение применять пятый фильтр для HEVC фильтрации удаления блочности:filtered value definition
Figure 00000035
samples of the corresponding sample of the current row or column of samples on the corresponding side of the vertical or horizontal edge of the sub-block within the second Q coding block based on the following equation, when it is decided to apply the fifth filter for HEVC deblocking filtering:

Figure 00000036
Figure 00000036

Figure 00000037
Figure 00000037

Figure 00000038
Figure 00000038

в котором pi представляет соответствующее значение выборки части текущей строки или столбца выборок первого Р блока кодирования и qj представляет соответствующее значение выборки части текущей строки или столбца выборок второго Q блока кодирования, i = 0, 1, j = 0, 1..3.in which p i represents the corresponding sample value of a portion of the current row or column of samples of the first P coding block and q j represents the corresponding sample value of the portion of the current row or column of samples of the second Q coding block, i = 0, 1, j = 0, 1..3 .

Как показано на фиг.15, первый набор краев субблока между субблоками внутри первого блока кодирования и/или второго блока кодирования содержит (состоит из) один или более краев субблока, которые перекрываются с сеткой 16 x 16 между субблоками внутри первого Р блока кодирования и/или второго Q блока кодирования;As shown in FIG. 15, the first set of subblock edges between subblocks within the first coding block and/or second coding block comprises (consists of) one or more subblock edges that overlap with a 16 x 16 grid between subblocks within the first P coding block and/ or a second Q coding block;

второй набор краев субблока между субблоками внутри первого или второго блока кодирования содержит (состоит из) один или более краев субблока, за исключением краев субблока, которые перекрываются сеткой 16 x 16 между субблоками внутри первого Р блок кодирования и/или второго Q блока кодирования.the second set of subblock edges between subblocks within the first or second coding block comprises (consists of) one or more subblock edges, excluding subblock edges that overlap with a 16 x 16 grid between subblocks within the first P coding block and/or the second Q coding block.

Соответственно, на втором этапе 1203 этап выполнения фильтрации удаления блочности при значениях выборок около каждого из первого набора краев субблока между субблоками первого Р блока кодирования и/или второго Q блока кодирования содержит:Accordingly, in the second step 1203, the step of performing deblocking filtering on sample values near each of the first set of subblock edges between subblocks of the first P coding block and/or the second Q coding block comprises:

применение шестого фильтра к значениям выборок рядом с каждым из первого набора краев субблока внутри первого Р блока кодирования и/или второго Q блока кодирования, в котором модифицируется не более число NA' значений выборок на одной стороне соответствующего одного из первого набора краев субблока внутри первого Р блока кодирования или второго Q блока кодирования, и модифицируется не более число NB' значений выборок на другой стороне соответствующего одного из первого набора субблока края, NA'= NB' = 7.applying a sixth filter to the sample values adjacent to each of the first set of subblock edges within the first P coding block and/or the second Q coding block that modifies at most NA' of sample values on one side of the corresponding one of the first set of subblock edges within the first P of a coding block or a second Q coding block, and no more than the number NB' of sample values on the other side of the corresponding one of the first edge subblock set, NA'=NB' = 7, is modified.

Если внутри первого Р блока кодирования отсутствует край субблока между субблоками, и при наличии множества краев субблока между субблоками внутри второго Q блока кодирования (например, если первый Р блок кодирования не имеет субблоков, но второй Q блок кодирования имеет субблоки),If there is no subblock edge between subblocks within the first P coding block, and if there are multiple subblock edges between subblocks within the second Q coding block (for example, if the first P coding block has no subblocks, but the second Q coding block has subblocks),

Соответственно, на втором этапе 1203 этап выполнения фильтрации удаления блочности при значениях выборок около каждого из первого набора краев субблока между субблоками внутри первого Р блока кодирования и/или второго Q блока кодирования содержит:Accordingly, in the second step 1203, the step of performing deblocking filtering on sample values near each of the first set of subblock edges between subblocks within the first P coding block and/or the second Q coding block comprises:

определение отфильтрованного значения

Figure 00000035
выборки соответствующей выборки текущей строки или столбца выборок на соответствующей стороне вертикального или горизонтального края субблока внутри второго Q блока кодирования на основании следующего уравнения:filtered value definition
Figure 00000035
samples of the corresponding sample of the current row or column of samples on the corresponding side of the vertical or horizontal sub-block edge within the second Q coding block based on the following equation:

Figure 00000063
Figure 00000063

Figure 00000064
; и/или
Figure 00000064
; and/or

Figure 00000065
Figure 00000065

Figure 00000066
; и/или
Figure 00000066
; and/or

Figure 00000067
Figure 00000067

Figure 00000068
; и/или
Figure 00000068
; and/or

Figure 00000069
Figure 00000069

Figure 00000070
; и/или
Figure 00000070
; and/or

Figure 00000071
Figure 00000071

Figure 00000072
; и/или
Figure 00000072
; and/or

Figure 00000073
Figure 00000073

Figure 00000074
; и/или
Figure 00000074
; and/or

Figure 00000075
Figure 00000075

Figure 00000076
;
Figure 00000076
;

в котором pi представляет соответствующее значение выборки части текущей строки или столбца выборок первого Р блока кодирования и qj представляет соответствующее значение выборки части текущей строки или столбца выборок второго Q блока кодирования, i, j = 0, 1..7.in which p i represents the corresponding sample value of a portion of the current row or column of samples of the first P coding block and q j represents the corresponding sample value of the portion of the current row or column of samples of the second Q coding block, i, j = 0, 1..7.

В случае наличия множества краев субблока между субблоками внутри первого Р блока кодирования и наличия множества краев субблока между субблоками внутри второго Q блока кодирования, на втором этапе 1203 этап выполнения фильтрации удаления блочности при значениях выборок около каждого из первого набора краев субблока между субблоками внутри первого Р блока кодирования и/или второго Q блока кодирования, содержит:In the case of having a plurality of subblock edges between subblocks within a first P coding block and having a plurality of subblock edges between subblocks within a second Q coding block, in a second step 1203 a step of performing deblocking filtering at sample values around each of the first set of subblock edges between subblocks within the first P coding block and/or second Q coding block, contains:

определение отфильтрованного значения

Figure 00000035
и
Figure 00000020
соответствующей выборки текущей строки или столбца выборок на соответствующей стороне вертикального или горизонтального края субблока внутри второго Q блока кодирования и первого Р блока кодирования соответственно на основании следующего уравнения:filtered value definition
Figure 00000035
and
Figure 00000020
of the corresponding sample of the current row or column of samples on the respective side of the vertical or horizontal sub-block edge within the second Q coding block and the first P coding block, respectively, based on the following equation:

Figure 00000063
Figure 00000063

Figure 00000064
; и/или
Figure 00000064
; and/or

Figure 00000065
Figure 00000065

Figure 00000066
; и/или
Figure 00000066
; and/or

Figure 00000067
Figure 00000067

Figure 00000068
; и/или
Figure 00000068
; and/or

Figure 00000069
Figure 00000069

Figure 00000070
; и/или
Figure 00000070
; and/or

Figure 00000071
Figure 00000071

Figure 00000072
; и/или
Figure 00000072
; and/or

Figure 00000073
Figure 00000073

Figure 00000074
; и/или
Figure 00000074
; and/or

Figure 00000075
Figure 00000075

Figure 00000076
; и/или
Figure 00000076
; and/or

Figure 00000053
Figure 00000053

Figure 00000054
; и/или
Figure 00000054
; and/or

Figure 00000055
Figure 00000055

Figure 00000056
; и/или
Figure 00000056
; and/or

Figure 00000057
Figure 00000057

Figure 00000058
; и/или
Figure 00000058
; and/or

Figure 00000027
Figure 00000027

Figure 00000059
; и/или
Figure 00000059
; and/or

Figure 00000029
Figure 00000029

Figure 00000060
; и/или
Figure 00000060
; and/or

Figure 00000031
Figure 00000031

Figure 00000061
; и/или
Figure 00000061
; and/or

Figure 00000033
Figure 00000033

Figure 00000062
;
Figure 00000062
;

в котором pi представляет соответствующее значение выборки части текущей строки или столбца выборок первого Р блока кодирования и qj представляет соответствующее значение выборки части текущей строки или столбца выборок второго Q блока кодирования, i, j = 0, 1..7.in which p i represents the corresponding sample value of a portion of the current row or column of samples of the first P coding block and q j represents the corresponding sample value of the portion of the current row or column of samples of the second Q coding block, i, j = 0, 1..7.

Способ удаления блочности согласно вариантам осуществления дополнительно содержит:The deblocking method according to the embodiments further comprises:

определение, следует ли фильтровать край блока между первым Р блоком кодирования и вторым Q блоком кодирования, применяя первый фильтр; и первый фильтр применяется к значениям выборок около края блока между первым Р блоком кодирования и вторым Q блоком кодирования, когда определено, что край блока между первым Р блоком кодирования и вторым Q блоком кодирования должен быть фильтрован с применением первого фильтра, в котором модифицируется не более число MA значений выборок первого блока кодирования, смежного с краем блока на строку, и модифицируется не более число MB значений выборок второго блока кодирования, смежного с краем блока, на каждую строку; или модифицируется не более число МА значений выборок второго блока кодирования, смежного с краем блока на строку, и модифицируется не более число МВ значений выборок первого блока кодирования, смежного с краем блока на строку, MA ≠ MB , в частности MA <MB, например, MA = 3 и MB = 7, или MA = 4 и MB = 7, или MA = 5 и MB = 7.determining whether to filter a block edge between the first P coding block and the second Q coding block by applying the first filter; and the first filter is applied to the sample values near the block edge between the first P coding block and the second Q coding block when it is determined that the block edge between the first P coding block and the second Q coding block is to be filtered by applying the first filter in which at most the number MA of sample values of the first coding block adjacent to the block edge per line, and is modified by no more than the number MB of sample values of the second coding block adjacent to the block edge per line; or at most the number MA of sample values of the second coding block adjacent to the block edge per line is modified, and at most the number MB of sample values of the first coding block adjacent to the edge of the block per line is modified, MA ≠ MB , in particular MA < MB, for example, MA = 3 and MB = 7, or MA = 4 and MB = 7, or MA = 5 and MB = 7.

В случае при наличии множества краев субблока между субблоками внутри первого блока кодирования и при наличии множества краев субблока между субблоками внутри второго блока кодирования, способ дополнительно содержит:In the case where there are multiple subblock edges between subblocks within the first coding block and if there are multiple subblock edges between subblocks within the second coding block, the method further comprises:

определение, что край блока между первым блоком кодирования и вторым блоком кодирования должен быть отфильтрован путем применения второго фильтра; и второй фильтр применяется к значениям выборок около края блока, когда определено, что край блока между первым блоком кодирования и вторым блоком кодирования должен быть отфильтрован путем применения второго фильтра, в котором модифицируются число MA' выборки значения первого блока кодирования, смежного с краем блока, и модифицируются число МВ' значений выборок второго блока кодирования, смежного с краем блока, MA' = 3 и MB '= 3.determining that a block edge between the first coding block and the second coding block is to be filtered by applying a second filter; and a second filter is applied to sample values near a block edge when it is determined that a block edge between the first coding block and the second coding block is to be filtered by applying a second filter in which the sample number MA' of the value of the first coding block adjacent to the block edge is modified, and the number of sample values MB' of the second coding block adjacent to the edge of the block, MA'=3 and MB'=3, is modified.

Когда во втором блоке кодирования отсутствует край субблока между субблоками, модифицируется не более числа MA значений выборок первого блока кодирования, примыкающего к краю блока на строку, и модифицируется не более число MB значений выборок второго блока кодирования, смежный с краем блока на строку, MA = 3 и MB = 7, или MA = 4 и MB = 7, или MA = 5 и MB = 7;When there is no subblock edge between subblocks in the second coding block, at most the number MA of sample values of the first coding block adjacent to the block edge per line is modified, and at most the number MB of sample values of the second coding block adjacent to the block edge per line is modified, MA = 3 and MB = 7, or MA = 4 and MB = 7, or MA = 5 and MB = 7;

илиor

когда внутри первого блока кодирования отсутствует край субблока между субблоками, модифицируется не более число MA значений выборок второго блока кодирования, смежного с краем блока на строку, и модифицируется не более число MB значений выборок первого блок кодирования, смежный с краем блока на строку, MA = 3 и MB = 7, или MA = 4 и MB = 7, или MA = 5 и MB = 7.when there is no subblock edge between subblocks within the first coding block, at most the number MA of sample values of the second coding block adjacent to the block edge per line is modified, and at most the number MB of sample values of the first coding block adjacent to the block edge per line is modified, MA = 3 and MB = 7, or MA = 4 and MB = 7, or MA = 5 and MB = 7.

Способ, дополнительно содержащий: определение, должен ли край блока между первым блоком кодирования и вторым блоком кодирования быть отфильтрован путем применения первого фильтра на основанииThe method, further comprising: determining whether a block edge between the first coding block and the second coding block should be filtered by applying the first filter based on

- не более числа DA значений выборок первого блока кодирования, смежного с краем блока, в качестве значений решения первого фильтра, DA = 4 и- no more than the number DA of sample values of the first coding block adjacent to the edge of the block as the decision values of the first filter, DA = 4 and

- не более числа DB значений выборок второго блока кодирования, смежного с краем блока, в качестве значений решения второго фильтра, DB = 4.- no more than the number DB of sample values of the second coding block adjacent to the edge of the block as decision values of the second filter, DB = 4.

При наличии множества краев субблока между субблоками внутри второго Q блока кодирования, способ дополнительно содержит: определение, удовлетворяется ли первое условие, определенное следующим первым уравнением:If there are multiple sub-block edges between sub-blocks within the second Q coding block, the method further comprises: determining if the first condition defined by the following first equation is satisfied:

Figure 00000001
Figure 00000001

Figure 00000002
Figure 00000002

в котором β обозначает параметр порогового значения и qi представляют значения выборок второго Q блока кодирования, i = 0,1,2,3 и pj представляют значения выборок первого Р блока кодирования, j = 0, 3, 4, 7 или j = 0, 2, 3, 5.in which β denotes the threshold parameter and q i represent the sample values of the second Q coding block, i = 0,1,2,3 and p j represent the sample values of the first P coding block, j = 0, 3, 4, 7 or j = 0, 2, 3, 5.

При наличии внутри первого Р блока кодирования множества краев субблока между субблоками, способ дополнительно содержит: определение, удовлетворяется ли второе условие, определенное следующим вторым уравнением:If there is a plurality of sub-block edges between sub-blocks within the first P coding block, the method further comprises: determining whether the second condition is satisfied, as defined by the following second equation:

Figure 00000003
Figure 00000003

Figure 00000004
Figure 00000004

в котором β обозначает параметр порогового значения и pi представляет значения выборок первого Р блока кодирования, i = 0,1,2,3 и qj представляют значения выборок второго Q блока кодирования, j = 0, 3, 4, 7 или j = 0, 2, 3, 5.where β denotes the threshold parameter and p i represents the sample values of the first P coding block, i = 0,1,2,3 and q j represent the sample values of the second Q coding block, j = 0, 3, 4, 7, or j = 0, 2, 3, 5.

Параметр β порогового значения определяется на основании параметра квантования, QP, ассоциированного с размером шага квантования множества выборок, илиThe threshold parameter β is determined based on the quantization parameter, QP, associated with the quantization step size of the plurality of samples, or

параметр β порогового значения определяется на основании параметра квантования, QP, с использованием справочной таблицы.the threshold parameter β is determined based on the quantization parameter, QP, using a look-up table.

Если край субблока между субблоками отсутствует внутри первого Р блока кодирования, и при наличии края субблока между субблоками внутри второго Q блока кодирования, этап выполнения фильтрации удаления блочности при значениях выборок вблизи края блока между первым Р блоком кодирования и вторым Q блоком кодирования содержит:If there is no subblock edge between subblocks within the first P coding block, and if there is a subblock edge between subblocks within the second Q coding block, the step of performing deblocking filtering on sample values near the block edge between the first P coding block and the second Q coding block comprises:

определение отфильтрованного значения

Figure 00000005
выборки первой выборки текущей строки или столбца выборок справа или снизу от вертикального или горизонтального края между первым Р блоком кодирования и вторым Q блоком кодирования на основании следующего уравнения:filtered value definition
Figure 00000005
samples of the first sample of the current row or column of samples to the right or below the vertical or horizontal edge between the first P coding block and the second Q coding block based on the following equation:

Figure 00000006
Figure 00000006

Figure 00000007
;
Figure 00000007
;

илиor

Figure 00000008
Figure 00000008

Figure 00000009
;
Figure 00000009
;

в котором pi представляет соответствующее значение выборки части текущей строки или столбца выборок первого Р блока кодирования и qj представляет соответствующее значение выборки части текущей строки или столбца выборок второго Q блока кодирования, i, j = 0, 1..7.in which p i represents the corresponding sample value of a portion of the current row or column of samples of the first P coding block and q j represents the corresponding sample value of the portion of the current row or column of samples of the second Q coding block, i, j = 0, 1..7.

При отсутствии края субблока между субблоками внутри первого Р блока кодирования и при наличии края субблока между субблоками внутри второго Q блока кодирования, этап выполнения фильтрации удаления блочности при значениях выборок вблизи края блока между первым Р блоком кодирования и вторым Q блоком кодирования содержат:If there is no subblock edge between subblocks within the first P coding block and if there is a subblock edge between subblocks within the second Q coding block, the step of performing deblocking filtering on sample values near the block edge between the first P coding block and the second Q coding block comprises:

определение отфильтрованного значения

Figure 00000010
выборки второй выборки текущей строки или столбца выборок справа или снизу от вертикального или горизонтального края между первым Р блоком кодирования и вторым Q блоком кодирования на основании следующего уравнения:filtered value definition
Figure 00000010
samples of the second sample of the current row or column of samples to the right or below the vertical or horizontal edge between the first P coding block and the second Q coding block based on the following equation:

Figure 00000011
Figure 00000011

Figure 00000012
;
Figure 00000012
;

или or

Figure 00000013
Figure 00000013

Figure 00000014
;
Figure 00000014
;

в котором pi представляет соответствующее значение выборки части текущей строки или столбца выборок первого Р блока кодирования qj представляет соответствующее значение выборки части текущей строки или столбца выборок второго Q блока кодирования, i, j = 0, 1..7.in which p i represents the corresponding sample value of a portion of the current row or column of samples of the first P coding block q j represents the corresponding sample value of a portion of the current row or column of samples of the second Q coding block, i, j = 0, 1..7.

При отсутствии края субблока между субблоками внутри первого Р блока кодирования и при наличии края субблока между субблоками внутри второго Q блока кодирования, этап выполнения фильтрации удаления блочности при значениях выборок вблизи края блока между первым Р блоком кодирования и вторым Q блоком кодирования содержит:If there is no subblock edge between subblocks within the first P coding block and if there is a subblock edge between subblocks within the second Q coding block, the step of performing deblocking filtering on sample values near the block edge between the first P coding block and the second Q coding block comprises:

определение отфильтрованного значения

Figure 00000015
выборки третьей выборки текущей строки или столбца выборок справа или снизу от вертикального или горизонтального края между первым Р блоком кодирования и вторым Q блоком кодирования на основании следующего уравнения:filtered value definition
Figure 00000015
samples of the third sample of the current row or column of samples to the right or below the vertical or horizontal edge between the first P coding block and the second Q coding block based on the following equation:

Figure 00000016
Figure 00000016

Figure 00000017
;
Figure 00000017
;

илиor

Figure 00000018
Figure 00000018

Figure 00000019
;
Figure 00000019
;

в котором pi представляет соответствующее значение выборки части текущей строки или столбца выборок первого Р блока кодирования и qj представляет соответствующее значение выборки части текущей строки или столбца выборок второго Q блока кодирования, i, j = 0, 1..7.in which p i represents the corresponding sample value of a portion of the current row or column of samples of the first P coding block and q j represents the corresponding sample value of the portion of the current row or column of samples of the second Q coding block, i, j = 0, 1..7.

При отсутствии края субблока между субблоками внутри первого Р блока кодирования и при наличии края субблока между субблоками внутри второго Q блока кодирования, этап выполнения фильтрации удаления блочности при значениях выборок вблизи края блока между первым Р блоком кодирования и вторым Q блоком кодирования содержит:If there is no subblock edge between subblocks within the first P coding block and if there is a subblock edge between subblocks within the second Q coding block, the step of performing deblocking filtering on sample values near the block edge between the first P coding block and the second Q coding block comprises:

определение отфильтрованного значения

Figure 00000020
выборки соответствующей выборки текущей строки или столбца выборок слева или вверху от вертикального или горизонтального края между первым и вторым блоком кодирования на основании следующего уравнения:filtered value definition
Figure 00000020
samples of the corresponding sample of the current row or column of samples to the left or top of the vertical or horizontal edge between the first and second coding block based on the following equation:

Figure 00000021
Figure 00000021

Figure 00000022
,
Figure 00000022
,

Figure 00000023
Figure 00000023

Figure 00000024
,
Figure 00000024
,

Figure 00000025
Figure 00000025

Figure 00000026
,
Figure 00000026
,

Figure 00000027
Figure 00000027

Figure 00000028
,
Figure 00000028
,

Figure 00000029
Figure 00000029

Figure 00000030
,
Figure 00000030
,

Figure 00000031
Figure 00000031

Figure 00000032
,
Figure 00000032
,

Figure 00000033
Figure 00000033

Figure 00000034
,
Figure 00000034
,

в котором pi представляет соответствующее значение выборки части текущей строки или столбца выборок первого Р блока кодирования и qj представляет соответствующее значение выборки части текущей строки или столбца выборок второго Q блока кодирования, i, j = 0, 1..7.in which p i represents the corresponding sample value of a portion of the current row or column of samples of the first P coding block and q j represents the corresponding sample value of the portion of the current row or column of samples of the second Q coding block, i, j = 0, 1..7.

Способ удаления блочности согласно вариантам осуществления дополнительно содержит:The deblocking method according to the embodiments further comprises:

определение, следует ли фильтровать край блока между первым Р блоком кодирования и вторым Q блоком кодирования, применяя первый фильтр; и третий фильтр применяется к значениям выборок около края блока между первым Р блоком кодирования и вторым Q блоком кодирования, когда определяется, что край блока между первым Р блоком кодирования и вторым Q блоком кодирования не должен быть отфильтрован путем применения первого фильтра, в котором модифицируются не более число МА значений выборок первого блока кодирования, смежного с краем блока на строку, и модифицируются не более число МВ значений выборок второго блока кодирования, смежного с краем блока на строку, MA = MB = 4.determining whether to filter a block edge between the first P coding block and the second Q coding block by applying the first filter; and a third filter is applied to sample values near a block edge between the first P coding block and the second Q coding block when it is determined that the block edge between the first P coding block and the second Q coding block is not to be filtered by applying a first filter in which not more than the number MA of sample values of the first coding block adjacent to the block edge per line, and modified by at most the number MB of sample values of the second coding block adjacent to the block edge per line, MA = MB = 4.

Очевидно, что первый фильтр, второй фильтр, третий фильтр, четвертый фильтр, пятый фильтр и шестой фильтр соответствуют различной фильтрации края блока. Другими словами, все различные фильтры используют в качестве входных и выходных выборок: выборки, которые перпендикулярны и примыкают к заданному краю блока. Более того, разные фильтры используют разное количество максимальных выборок фильтрации в качестве входных данных и также модифицируют разное количество максимальных выборок в качестве выходных данных фильтра.Obviously, the first filter, the second filter, the third filter, the fourth filter, the fifth filter and the sixth filter correspond to different block edge filtering. In other words, all the different filters use as input and output samples: samples that are perpendicular to and adjacent to a given block edge. Moreover, different filters use different number of maximum filter samples as input and also modify different number of maximum filter samples as filter output.

Фиг.13 является упрощенной блок-схемой устройства 1300, которое может использоваться как одно или оба устройство 310 источника и устройство 320 назначения по фиг.3 согласно примерному варианту осуществления. Устройство 1300 может реализовывать способы настоящего изобретения. Устройство 1300 может быть реализовано в форме вычислительной системы, включающей в себя несколько вычислительных устройств, или в форме одного вычислительного устройства, например, мобильного телефона, планшетного компьютера, портативного компьютера, портативного компьютера, настольного компьютера и т.д.FIG. 13 is a simplified block diagram of a device 1300 that can be used as one or both source device 310 and destination device 320 of FIG. 3 according to an exemplary embodiment. Device 1300 may implement the methods of the present invention. Device 1300 may be implemented in the form of a computing system including multiple computing devices, or in the form of a single computing device, such as a mobile phone, tablet computer, laptop computer, laptop computer, desktop computer, and so on.

Процессор 1302 устройства 1300 может быть центральным процессором. В качестве альтернативы процессор 1302 может быть устройством любого другого типа или множеством устройств, способных манипулировать или обрабатывать информацию, существующую в настоящее время или разработанную в будущем. Хотя раскрытые реализации могут быть реализованы с одним процессором, как показано, например процессором 1302, преимущества в скорости и эффективности могут быть достигнуты с использованием более чем одного процессора.Processor 1302 of device 1300 may be a central processing unit. Alternatively, processor 1302 may be any other type of device or a plurality of devices capable of manipulating or processing information that currently exists or will be developed in the future. Although the disclosed implementations may be implemented with a single processor, as illustrated by processor 1302, for example, speed and efficiency advantages may be achieved using more than one processor.

В настоящем изобретении память 1304 в устройстве 1300 может быть устройством постоянной памяти (ROM) или устройством оперативной памяти (RAM). В качестве памяти 1304 может использоваться любой другой подходящий тип запоминающего устройства. Память 1304 может использоваться для хранения кода и/или данных 1306, к которым обращается процессор 1302 по шине 1312. Память 1304 дополнительно может использоваться для хранения операционной системы 1308 и прикладных программ 1310. Прикладные программы 1310 могут включать в себя, по меньшей мере, одну программу, которая позволяет процессору 1302 выполнять описанные в настоящем документе способы. Например, прикладные программы 1310 могут включать в себя приложения с 1 по N и дополнительно включать в себя приложение кодирования видео, которое выполняет описанные в настоящем документе способы. Устройство 1300 также может включать в себя дополнительную память в виде вторичного хранилища 1314, которое может, например, быть картой памяти, используемой с мобильным вычислительным устройством. Поскольку сеансы видеосвязи могут содержать значительный объем информации, они могут быть сохранены полностью или частично в хранилище 1314 и загружены в память 1304 по мере необходимости для обработки.In the present invention, memory 1304 in device 1300 may be a read only memory (ROM) device or a random access memory (RAM) device. Memory 1304 may be any other suitable type of storage device. Memory 1304 may be used to store code and/or data 1306 accessed by processor 1302 over bus 1312. Memory 1304 may further be used to store operating system 1308 and application programs 1310. Application programs 1310 may include at least one a program that allows the processor 1302 to perform the methods described herein. For example, application programs 1310 may include applications 1 through N and further include a video encoding application that performs the methods described herein. Device 1300 may also include additional memory in the form of secondary storage 1314, which may, for example, be a memory card used with a mobile computing device. Because video communications may contain a significant amount of information, they may be stored in whole or in part in storage 1314 and loaded into memory 1304 as needed for processing.

Устройство 1300 также может включать в себя одно или более устройств вывода, таких как дисплей 1318. Дисплей 1318 может быть, в одном примере, сенсорным дисплеем, который объединяет дисплей с сенсорным элементом, способным распознавать сенсорные вводы. Дисплей 1318 может быть соединен с процессором 1302 через шину 1312. В дополнение к дисплею 1318 или в качестве альтернативы ему могут быть предоставлены другие устройства вывода, которые позволяют пользователю программировать или иным образом использовать устройство 1300. Когда устройство вывода является или включает в себя дисплей, дисплей может быть реализован различными способами, в том числе с помощью жидкокристаллического дисплея (LCD), дисплея с электронно-лучевой трубкой (CRT), плазменного дисплея или дисплея на светоизлучающих диодах (LED), например, дисплеем на органических светодиодах (OLED).Device 1300 may also include one or more output devices, such as a display 1318. Display 1318 may be, in one example, a touch display that combines a display with a touch element capable of recognizing touch inputs. Display 1318 may be coupled to processor 1302 via bus 1312. In addition to, or alternatively, display 1318, other output devices may be provided that allow a user to program or otherwise use device 1300. When an output device is or includes a display, The display may be implemented in a variety of ways, including a liquid crystal display (LCD), a cathode ray tube (CRT) display, a plasma display, or a light emitting diode (LED) display such as an organic light emitting diode (OLED) display.

Устройство 1300 также может включать в себя или взаимодействовать с устройством 1320 формирования изображений, например, камеру, или любое другое устройство 1320 формирования изображений, существующее используемому в настоящее время или разработанному в будущем, которое может воспринимать изображение, такое как изображение пользовательского операционного устройства 1300. Устройство 1320 формирования изображения может быть расположено так, чтобы оно было направлено к устройству 1300 управления пользователя. В примере положение и оптическая ось устройства 1320 формирования изображения могут быть сконфигурированы так, что поле зрения включает в себя область, которая непосредственно расположена рядом с дисплеем 1318 и с которого виден дисплей 1318.The device 1300 may also include or interface with an imaging device 1320, such as a camera, or any other imaging device 1320 currently in use or developed in the future, that can capture an image, such as an image of the user operating device 1300. The imaging device 1320 may be positioned to point towards the user control device 1300. In an example, the position and optical axis of imaging device 1320 may be configured such that the field of view includes an area immediately adjacent to display 1318 and from which display 1318 is visible.

Устройство 1300 также может включать в себя устройство 1322 обнаружения звука, например, микрофон, или любое другое устройство обнаружения звука, существующее в настоящее время или разработанное в будущем, которое может воспринимать звуки рядом с устройством 1300, или взаимодействовать с ним. Устройство 1322 обнаружения звука может быть расположено таким образом чтобы быть направленным на устройство 1300 управления пользователя и может быть выполнено с возможностью принимать звуки, например, речь или другие звуки, издаваемые пользователем, когда пользователь управляет устройством 1300.The device 1300 may also include a sound detection device 1322, such as a microphone, or any other sound detection device currently or in the future that can sense sounds in the vicinity of the device 1300 or interact with it. The sound detection device 1322 may be positioned to point toward the user's control device 1300 and may be configured to receive sounds, such as speech or other sounds, made by the user when the user operates the device 1300.

Хотя фиг.13 изображает процессор 1302 и память 1304 устройства 1300 как интегрированные в единое устройство, могут использоваться другие конфигурации. Операции процессора 1302 могут быть распределены между несколькими машинами (каждая машина имеет один или более процессоров), которые могут быть соединены напрямую или через локальную область или другую сеть. Память 1304 может быть распределена между несколькими машинами, такими как сетевая память или память на множестве машин, выполняющих операции устройства 1300. Хотя здесь изображена одна шина, шина 1312 устройства 1300 может содержать несколько шин. Кроме того, вторичное хранилище 1314 может быть напрямую соединено с другими компонентами устройства 1300 или может быть доступно через сеть и может содержать один интегрированный блок, такой как карта памяти, или более блоков, таких как несколько карт памяти. Таким образом, устройство 1300 может быть реализовано в широком разнообразии конфигураций.Although FIG. 13 depicts processor 1302 and memory 1304 of device 1300 as integrated into a single device, other configurations may be used. The operations of processor 1302 may be distributed across multiple machines (each machine having one or more processors), which may be connected directly or through a local area or other network. Memory 1304 may be distributed across multiple machines, such as network storage or memory on multiple machines performing the operations of device 1300. Although a single bus is depicted here, bus 1312 of device 1300 may contain multiple buses. In addition, secondary storage 1314 may be directly connected to other components of the device 1300 or may be accessed via a network and may contain one integrated unit, such as a memory card, or more units, such as multiple memory cards. Thus, device 1300 can be implemented in a wide variety of configurations.

Фиг.14 является схемой примерного устройства 1400 кодирования для кодирования видео согласно варианту осуществления настоящего изобретения. Устройство 1400 кодирования выполнено с возможностью реализации раскрытых вариантов осуществления, как описано в настоящем документе. В варианте осуществления устройство 1400 кодирования может быть декодером, таким как видеодекодер 200 по фиг.2 или кодер, такой как видеокодер 100 по фиг.1. В варианте осуществления устройство 1400 кодирования может быть одним или несколькими компонентами видеодекодера 200 по фиг.2 или видеокодера 100 по фиг.1, как описано выше.14 is a diagram of an exemplary encoder 1400 for encoding video according to an embodiment of the present invention. Encoder 1400 is configured to implement the disclosed embodiments as described herein. In an embodiment, encoder 1400 may be a decoder such as video decoder 200 of FIG. 2 or an encoder such as video encoder 100 of FIG. In an embodiment, encoder 1400 may be one or more components of video decoder 200 of FIG. 2 or video encoder 100 of FIG. 1, as described above.

Устройство 1400 кодирования содержит входные порты 1420 и блоки 1410 приемника (Rx) для приема данных; процессор, логический блок или центральный процессор (CPU) 1430 для обработки данных; блоки 1440 передатчика (Tx) и выходные порты 1450 для передачи данных; память 1460 для хранения данных. Устройство 1400 кодирования может также содержать оптико-электрические (OE) компоненты и электрические-оптические (EO) компоненты, подключенные к входным портам 1420, блокам 1410 приемника, блокам 1440 передатчика и выходным портам 1450 для вывода или ввода оптических или электрических сигналов. В некоторых примерах устройство 1400 кодирования также может включать в себя беспроводные передатчики и/или приемники.Encoder 1400 includes input ports 1420 and receiver (Rx) units 1410 for receiving data; a processor, logical unit, or central processing unit (CPU) 1430 for processing data; blocks 1440 transmitter (Tx) and output ports 1450 for data transmission; a memory 1460 for storing data. Encoder 1400 may also include optical-electrical (OE) components and electrical-optical (EO) components connected to input ports 1420, receiver units 1410, transmitter units 1440, and output ports 1450 for outputting or inputting optical or electrical signals. In some examples, encoder 1400 may also include wireless transmitters and/or receivers.

Процессор 1430 реализован посредством аппаратного и программного обеспечения. Процессор 1430 может быть реализован как одна или более микросхем CPU, ядер (например, как многоядерный процессор), программируемых вентильных матриц (FPGA), специализированных интегральных схем (ASIC) и процессоров цифровых сигналов (DSP). Процессор 1430 соединен с входными портами 1420, блоками 1410 приемника, блоками 1440 передатчика, выходными портами 1450 и памятью 1460. Процессор 1430 содержит модуль 1414 кодирования. Модуль 1414 кодирования реализует раскрытые, описанные выше варианты осуществления. Например, модуль 1414 кодирования реализует, обрабатывает, подготавливает или предоставляет различные операции кодирования. Таким образом, использованием модуля 1414 кодирования обеспечивает существенное улучшение функциональных возможностей устройства 1400 кодирования и обеспечивает преобразование устройства 1400 кодирования в другое состояние. В качестве альтернативы модуль 1414 кодирования реализован как инструкции, хранящиеся в памяти 1460 и выполняемые процессором 1430 (например, как компьютерный программный продукт, хранящийся на постоянном носителе данных).The processor 1430 is implemented in hardware and software. Processor 1430 may be implemented as one or more CPU chips, cores (eg, as a multi-core processor), field-programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), and digital signal processors (DSPs). The processor 1430 is connected to input ports 1420, receiver units 1410, transmitter units 1440, output ports 1450, and memory 1460. Processor 1430 includes an encoder 1414. Encoding module 1414 implements the embodiments disclosed above. For example, encoding module 1414 implements, processes, prepares, or provides various encoding operations. Thus, using the encoder 1414 provides a significant improvement in the functionality of the encoder 1400 and causes the encoder 1400 to be converted to another state. Alternatively, encoding module 1414 is implemented as instructions stored in memory 1460 and executed by processor 1430 (eg, as a computer program product stored on a persistent storage medium).

Память 1460 содержит один или более дисков, ленточных накопителей и твердотельных накопителей и может использоваться в качестве устройства хранения данных с переполнением, для хранения программ, когда такие программы выбраны для выполнения, и для хранения инструкций и данных, которые считываются. во время выполнения программы. Память 1460 может быть энергозависимой и/или энергонезависимой и может представлять собой постоянное запоминающее устройство (ROM), оперативное запоминающее устройство (RAM), троичное запоминающее устройство с адресацией по содержимому (TCAM) и/или статическое запоминающее устройство с произвольным доступом (SRAM). Устройство 1400 кодирования может также иметь устройство ввода/вывода (I/O) для взаимодействия с конечным пользователем. Например, устройство 1400 кодирования может включать в себя дисплей, такой как монитор, для визуального вывода, динамики для вывода звука, а также клавиатуру/мышь /шаровой манипулятор и т.д. для пользовательского ввода.The memory 1460 contains one or more disks, tape drives, and solid state drives and can be used as an overflow storage device, for storing programs when such programs are selected for execution, and for storing instructions and data that are being read. during program execution. Memory 1460 may be volatile and/or non-volatile and may be read only memory (ROM), random access memory (RAM), ternary content addressable memory (TCAM), and/or static random access memory (SRAM). Encoder 1400 may also have an input/output (I/O) device for interaction with the end user. For example, encoder 1400 may include a display such as a monitor for visual output, speakers for audio output, and a keyboard/mouse/trackball, etc. for user input.

Настоящее изобретение было описано вместе с различными вариантами осуществления. Однако другие варианты раскрытых вариантов осуществления могут быть поняты и осуществлены специалистами в данной области техники при практическом применении заявленного изобретения на основании изучения чертежей, описания и прилагаемой формулы изобретения. В формуле изобретения слово «содержащий» не исключает других элементов или этапов, и неопределенный артикль «а» или «an» не исключает множественности. Один процессор или другое устройство может выполнять функции нескольких элементов, указанных в формуле изобретения. Простой факт, что определенные меры изложены в обычно различных зависимых пунктах формулы изобретения, не означает, что комбинация этих мер не может быть использована с выгодой. Компьютерная программа может храниться/распространяться на подходящем носителе, таком как оптический носитель данных или твердотельный носитель, поставляемый вместе с другим оборудованием или как его часть, но также может распространяться в других формах, например, через интернет или другие системы проводной или беспроводной связи.The present invention has been described in conjunction with various embodiments. However, other variations of the disclosed embodiments may be understood and practiced by those skilled in the art in the practice of the claimed invention based on examination of the drawings, description, and appended claims. In the claims, the word "comprising" does not exclude other elements or steps, and the indefinite article "a" or "an" does not exclude plurality. One processor or other device can perform the functions of several elements specified in the claims. The mere fact that certain measures are set forth in generally different dependent claims does not mean that a combination of these measures cannot be used to advantage. The computer program may be stored/distributed on a suitable medium, such as an optical storage medium or solid state media provided with or as part of other equipment, but may also be distributed in other forms, such as over the Internet or other wired or wireless communication systems.

В тексте настоящего документа, в котором варианты осуществления и описание относятся к термину «память», термин «память» следует понимать и/или должен содержать [список всех возможных запоминающих устройств] магнитный диск, оптический диск, постоянное запоминающее устройство (Read-Only Memory, ROM) или оперативное запоминающее устройство (Random Access Memory, RAM),…, если явно не указано иное.In the text of this document, in which embodiments and descriptions refer to the term "memory", the term "memory" should be understood and / or should contain [list of all possible storage devices] magnetic disk, optical disk, read-only memory , ROM) or RAM (Random Access Memory, RAM),…, unless otherwise specified.

В тексте настоящего документа, в котором варианты осуществления и описание относятся к термину «сеть», термин «сеть» следует понимать и/или должен содержать [список всех возможных сетей]…, если явно не указано иное.In the text of this document, in which embodiments and description refer to the term "network", the term "network" should be understood and/or should contain [a list of all possible networks]... unless explicitly stated otherwise.

Для специалиста в данной области техники очевидно, что «блоки» («units») на различных чертежах (способ и устройство) представляют или описывают функциональные возможности вариантов осуществления изобретения (а не обязательно отдельные «блоки» в аппаратном или программном обеспечении) и таким образом описывают в равной степени функции или признаки вариантов осуществления устройства, а также варианты осуществления способа (блок = этапу).It will be apparent to one skilled in the art that the "units" in the various drawings (method and apparatus) represent or describe the functionality of embodiments of the invention (rather than necessarily individual "blocks" in hardware or software) and thus describe equally the functions or features of device embodiments as well as method embodiments (block = step).

Терминология «блоков» используется просто для иллюстративных целей функциональных возможностей вариантов осуществления кодера/декодера и не предназначена для ограничения настоящего изобретения.The terminology "blocks" is used merely for illustrative purposes of the functionality of encoder/decoder embodiments and is not intended to limit the present invention.

В нескольких вариантах осуществления, представленных в настоящем изобретении, следует понимать, что раскрытые система, устройство и способ могут быть реализованы другими способами. Например, описанный вариант осуществления устройства является просто примерным. Например, разделение на блоки представляет собой просто разделение логических функций и может быть другим разделением в реальной реализации. Например, множество блоков или компонентов могут быть объединены или интегрированы в другую систему, или некоторые функции могут игнорироваться или не выполняться. Дополнительно, отображаемые или обсуждаемые взаимные связи или прямые связи или коммуникационные соединения могут быть реализованы с использованием некоторых интерфейсов. Непрямые связи или коммуникационные соединения между устройствами или блоками могут быть реализованы в электронной, механической или других формах.In several embodiments presented in the present invention, it should be understood that the disclosed system, device and method can be implemented in other ways. For example, the device embodiment described is merely exemplary. For example, the division into blocks is simply a division of logical functions and may be another division in the actual implementation. For example, many blocks or components may be combined or integrated into another system, or certain functions may be ignored or not performed. Additionally, displayed or discussed reciprocal links or direct links or communication connections can be implemented using some interfaces. Indirect links or communication connections between devices or units may be implemented in electronic, mechanical or other forms.

Блоки, описанные как отдельные части, могут быть или не быть физически отдельными, и части, отображаемые как блоки, могут быть или не быть физическими блоками, могут быть расположены в одной позиции или могут быть распределены по множеству сетевых блоков. Некоторые или все блоки могут быть выбраны в соответствии с фактическими потребностями для достижения целей решений вариантов осуществления.Blocks described as separate parts may or may not be physically separate, and parts displayed as blocks may or may not be physical blocks, may be located in the same position, or may be distributed over multiple network blocks. Some or all of the blocks may be selected according to actual needs in order to achieve the goals of the solutions of the embodiments.

Дополнительно, функциональные блоки в вариантах осуществления настоящего изобретения могут быть интегрированы в один блок обработки, или каждый из блоков может использоваться отдельно физически, или два или более блоков объединены в один блок.Additionally, the functional blocks in the embodiments of the present invention may be integrated into one processing unit, or each of the units may be physically used separately, or two or more units may be combined into one unit.

Варианты осуществления изобретения могут дополнительно содержать устройство, например, кодер и/или декодер, который содержит схему обработки, выполненную с возможностью выполнять любой из способов и/или процессов, описанных в данном документе.Embodiments of the invention may further comprise an apparatus, such as an encoder and/or decoder, that includes a processing circuit configured to perform any of the methods and/or processes described herein.

Варианты осуществления могут быть реализованы как аппаратное обеспечение, встроенное программное обеспечение, программное обеспечение или любая их комбинация. Например, функциональные возможности кодера/кодирования или декодера/декодирования могут выполняться схемой обработки с или без встроенного программного обеспечения или программного обеспечения, например, процессор, микроконтроллер, цифровой сигнальный процессор (DSP), программируемая пользователем вентильная матрица (FPGA), специализированная интегральная схема (ASIC) и т.п.Embodiments may be implemented as hardware, firmware, software, or any combination thereof. For example, encoder/encoder or decoder/decoder functionality may be performed by a processing circuit with or without firmware or software, such as a processor, microcontroller, digital signal processor (DSP), field programmable gate array (FPGA), application specific integrated circuit ( ASIC) etc.

Функциональные возможности кодера 100 (и соответствующего способа 100 кодирования) и/или декодера 200 (и соответствующего способа 200 декодирования) могут быть реализованы с помощью программных инструкций, сохраненных на машиночитаемом носителе. Программные инструкции при исполнении побуждают схему обработки, компьютер, процессор и т.п. выполнять этапы способов кодирования и/или декодирования. Машиночитаемый носитель может быть любым носителем, включающий в себя постоянный носитель данных, на котором хранится программа, например, диск Bluray, DVD, CD, USB (флэш-накопитель), жесткий диск, серверное хранилище, доступное через сеть и т. д.The functionality of encoder 100 (and corresponding encoding method 100) and/or decoder 200 (and corresponding decoding method 200) may be implemented using program instructions stored on a computer-readable medium. Program instructions, when executed, cause a processing circuit, a computer, a processor, or the like. perform steps of encoding and/or decoding methods. The computer-readable medium may be any medium including a permanent storage medium on which the program is stored, such as a Bluray disc, DVD, CD, USB (flash drive), hard disk, server storage accessible via a network, etc.

Вариант осуществления изобретения содержит компьютерную программу, содержащую программный код для выполнения любого из способов, описанных в данном документе, при исполнении на компьютере.An embodiment of the invention comprises a computer program containing program code for performing any of the methods described herein when executed on a computer.

Вариант осуществления изобретения содержит или является машиночитаемым носителем, содержащим программный код, который при исполнении процессором побуждает компьютерную систему выполнять любой из описанных в настоящем документе способов.An embodiment of the invention comprises or is a computer-readable medium containing program code that, when executed by a processor, causes a computer system to perform any of the methods described herein.

В одном или нескольких примерах описанные функции могут быть реализованы в аппаратном обеспечении, программном обеспечении, встроенном программном обеспечении или любой их комбинации. Если реализованы в программном обеспечении, функции могут храниться или передаваться в виде одной или нескольких инструкций или кода на машиночитаемом носителе и выполняться аппаратным процессором. Машиночитаемый носитель может включать в себя машиночитаемый носитель данных, который соответствует материальному носителю, например, носителю данных, или носителю связи, включающий в себя любой носитель, который облегчает передачу компьютерной программы из одного места в другое, например, согласно протоколу связи. Таким образом, машиночитаемые носители обычно могут соответствовать (1) материальным машиночитаемым носителям данных, которые являются энергонезависимыми, или (2) средам связи, таким как сигнал или несущая волна. Носители данных могут быть любыми доступными носителями, к которым может получить доступ один или более компьютеров или один или более процессоров для извлечения инструкций, кода и/или структур данных для реализации способов, описанных в этом изобретении. Компьютерный программный продукт может включать в себя машиночитаемый носитель данных.In one or more examples, the functions described may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored or transmitted as one or more instructions or code on a computer-readable medium and executed by a hardware processor. A computer-readable medium may include a computer-readable medium that corresponds to a tangible medium, such as a data medium, or a communication medium, including any medium that facilitates the transfer of a computer program from one place to another, such as according to a communication protocol. Thus, computer-readable media can typically correspond to (1) tangible computer-readable storage media that are non-volatile, or (2) communication media such as a signal or carrier wave. Storage media can be any available media that can be accessed by one or more computers or one or more processors to retrieve instructions, code, and/or data structures for implementing the methods described in this invention. The computer program product may include a computer readable storage medium.

В качестве примера, а не ограничения, такие машиночитаемые носители данных могут содержать RAM, ROM, EEPROM, CD-ROM или другое запоминающее устройство на оптическом диске, запоминающее устройство на магнитном диске или другие устройства магнитного хранения, флэш-память или любой другой носитель, который может использоваться для хранения необходимого программного кода в форме инструкций или структур данных и может быть доступен для компьютера. Дополнительно, любое соединение правильно называть машиночитаемым носителем данных. Например, если инструкции передаются с веб-сайта, сервера или другого удаленного источника с использованием коаксиального кабеля, оптоволоконного кабеля, витой пары, цифровой абонентской линии (DSL) или беспроводных технологий, таких как инфракрасный порт, радио и микроволновый сигнал, тогда коаксиальный кабель, оптоволоконный кабель, витая пара, DSL или беспроводные технологии, такие как инфракрасный порт, радио и микроволновый сигнал необходимо рассматривать в качестве среды. Однако следует понимать, что машиночитаемые носители данных и носители данных не включают в себя соединения, несущие волны, сигналы или другие временные носители, а вместо этого представляют собой энергонезависимые материальные носители данных. Диск и диск, используемые в данном документе, включают в себя компакт-диск (CD), лазерный диск, оптический диск, универсальный цифровой диск (DVD), дискету и диск Blu-ray, в котором диски обычно воспроизводят данные магнитным способом, и диски воспроизводят данные оптически с помощью лазеров. Комбинации вышеперечисленного также должны быть включены в объем машиночитаемых носителей.By way of example, and not limitation, such computer-readable storage media may include RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk or other magnetic storage devices, flash memory, or any other media which can be used to store the necessary program code in the form of instructions or data structures and can be accessed by a computer. Additionally, any connection is properly referred to as a computer-readable storage medium. For example, if instructions are transmitted from a website, server, or other remote source using coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave should be considered as the medium. However, it should be understood that computer-readable storage media and storage media do not include connections, carrier waves, signals, or other temporary media, but are instead nonvolatile tangible storage media. The disc and disc used herein include compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk, and Blu-ray disc, in which discs usually reproduce data magnetically, and discs reproduce data optically using lasers. Combinations of the above should also be included within the scope of computer readable media.

Инструкции могут выполняться одним или несколькими процессорами, такими как один или более процессоров цифровых сигналов (DSPs), микропроцессоры общего назначения, специализированные интегральные схемы (ASICs), программируемые пользователем вентильные матрицы (FPGAs) или другие эквивалентные интегральные или дискретные логические схемы. Соответственно, термин «процессор», используемый в настоящем описании, может относиться к любой из вышеупомянутой структуры или любой другой структуре, подходящей для реализации описанных способов. Дополнительно, в некоторых аспектах описанные здесь функциональные возможности могут быть предоставлены в рамках выделенных аппаратных и/или программных модулей, выполненных с возможностью кодировать и декодировать или содержащиеся в комбинированном кодеке. Дополнительно, способы могут быть полностью реализованы в одной или нескольких схемах или логических элементах.The instructions may be executed by one or more processors, such as one or more digital signal processors (DSPs), general purpose microprocessors, application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), or other equivalent integrated or discrete logic circuits. Accordingly, the term "processor" as used herein may refer to any of the aforementioned structures, or any other structure suitable for implementing the described methods. Additionally, in some aspects, the functionality described herein may be provided within dedicated hardware and/or software modules configured to encode and decode or contained in a combined codec. Additionally, the methods may be fully implemented in one or more circuits or logic elements.

Способы настоящего изобретения могут быть реализованы в большом количестве устройств или устройств, включающие в себя беспроводной телефон, интегральную схему (IC) или набор ICs (например, набор микросхем). В этом изобретении описаны различные компоненты, модули или блоки, чтобы подчеркнуть функциональные аспекты устройств, выполненных с возможностью выполнять раскрытые технологии, но не обязательно требующих реализации различными аппаратными блоками. Скорее, как описано выше, различные блоки могут быть объединены в аппаратный блок кодека или обеспечены набором взаимодействующих аппаратных блоков, включающие в себя один или более процессоров, как описано выше, в сочетании с подходящим программным обеспечением и/или встроенным программным обеспечением.The methods of the present invention may be implemented in a wide variety of devices or devices, including a wireless telephone, an integrated circuit (IC), or a set of ICs (eg, a chipset). This invention describes various components, modules, or blocks to emphasize the functional aspects of devices capable of performing the disclosed technologies, but not necessarily requiring implementation in different hardware blocks. Rather, as described above, the various blocks may be combined into a codec hardware block, or provided with a set of cooperating hardware blocks, including one or more processors, as described above, in combination with suitable software and/or firmware.

Хотя в настоящем изобретении представлено несколько вариантов осуществления, следует понимать, что раскрытые системы и способы могут быть воплощены во многих других конкретных формах, не выходя за рамки объема настоящего изобретения. Настоящие примеры следует рассматривать как иллюстративные, а не как ограничительные, и настоящее изобретение не ограничиваться приведенными в настоящем документе деталями. Например, различные элементы или компоненты могут быть объединены или интегрированы в другую систему, или определенные функции могут быть опущены или не реализованы.Although the present invention presents several embodiments, it should be understood that the disclosed systems and methods can be embodied in many other specific forms, without going beyond the scope of the present invention. The present examples are to be considered as illustrative and not restrictive, and the present invention is not limited to the details provided herein. For example, various elements or components may be combined or integrated into another system, or certain features may be omitted or not implemented.

Дополнительно, способы, системы, подсистемы и способы, описанные и проиллюстрированные в различных вариантах осуществления как дискретные или отдельные, могут быть объединены или интегрированы с другими системами, модулями, технологиями или способами, не выходя за рамки объема настоящего изобретения. Другие элементы, показанные или обсуждаемые как связанные или непосредственно связанные или взаимодействующие друг с другом, могут быть косвенно связаны или могут взаимодействовать через некоторый интерфейс, устройство или промежуточный компонент, электрически, механически или иным образом. Специалисту в данной области техники очевидны другие примеры изменений, замен и модификаций, которые могут быть реализованы без отступления от сущности и объема настоящего изобретения.Additionally, the methods, systems, subsystems, and methods described and illustrated in various embodiments as discrete or separate may be combined or integrated with other systems, modules, technologies, or methods without departing from the scope of the present invention. Other elements shown or discussed as related or directly connected or interacting with each other may be indirectly connected or may interact through some interface, device or intermediate component, electrically, mechanically or otherwise. Those skilled in the art will recognize other examples of changes, substitutions and modifications that can be made without departing from the spirit and scope of the present invention.

Claims (138)

1. Устройство (120, 220, 600) фильтра удаления блочности для использования в кодере (100, 1300, 1400) изображения и/или декодере (200, 1300, 1400) изображения для удаления блочности края (403, 504, 903) блока между первым блоком (401, 501) изображения и вторым блоком (402, 502) изображения, причем1. A deblocking filter device (120, 220, 600) for use in an image encoder (100, 1300, 1400) and/or an image decoder (200, 1300, 1400) to deblock the edge (403, 504, 903) of a block between the first image block (401, 501) and the second image block (402, 502), wherein первый блок (401, 501) изображения имеет размер M * N блока или N * M, где M и N представляют, соответственно, ширину и высоту первого блока изображения или N и M представляют, соответственно, ширину и высоту первого блока изображения; аthe first image block (401, 501) has a size of M * N blocks or N * M, where M and N represent respectively the width and height of the first image block or N and M represent the width and height of the first image block, respectively; a второй блок (402, 502) изображения имеет размер L * T или T * L, где L и T представляют, соответственно, ширину и высоту второго блока изображения или T и L представляют, соответственно, ширину и высоту второго блока изображения, при этомthe second image block (402, 502) has a size of L * T or T * L, where L and T represent, respectively, the width and height of the second image block, or T and L represent, respectively, the width and height of the second image block, while устройство фильтра удаления блочности характеризуется тем, что выполнено с возможностью, когда один из первого блока изображения и второго блока изображения содержит субблоки (4021, 4022, 5021, 5022), указанный один блок изображения, содержащий субблоки, является вторым блоком (402, 502) и N или T является четным целым числом 2n, большим 16, где n является положительным целым числом: the deblocking filter device is characterized in that, when one of the first image block and the second image block contains sub-blocks (4021, 4022, 5021, 5022), said one image block containing sub-blocks is the second block (402, 502) and N or T is an even integer 2n greater than 16, where n is a positive integer: - модификации значений, максимально, МА выборок второго блока (402, 502) изображения в качестве первых выходных значений, где максимальное количество МА выборок находится на линии, перпендикулярной краю (403, 504, 903) блока и максимальное количество МА выборок являются смежными с краем (403, 504, 903) блока, причем MА является положительным целым числом, равным или меньшим 5;- modification of the values, at most, of the MA samples of the second block (402, 502) of the image as the first output values, where the maximum number of MA samples is on a line perpendicular to the edge (403, 504, 903) of the block and the maximum number of MA samples are adjacent to the edge (403, 504, 903) blocks, and MA is a positive integer equal to or less than 5; - модификации значений, максимально, МВ выборок первого блока (401, 501) изображения в качестве вторых выходных значений, где максимальное количество МВ выборок находятся на линии, перпендикулярной краю (403, 504, 903) блока, и максимальное количество МА выборок являются смежными с краем (403, 504, 903) блока, причем MB является положительным целым числом, равным 7.- modification of the values, maximum, of the MV samples of the first block (401, 501) of the image as the second output values, where the maximum number of MV samples are on a line perpendicular to the edge (403, 504, 903) of the block, and the maximum number of MA samples are adjacent to edge (403, 504, 903) of the block, where MB is a positive integer equal to 7. 2. Устройство (120, 220, 600) фильтра удаления блочности по п.1, в котором, когда N и T являются четными целыми числами 2n больше 16,2. The deblocking filter apparatus (120, 220, 600) of claim 1, wherein when N and T are even integers 2 n greater than 16, MA = 3 и MB = 7, илиMA = 3 and MB = 7, or MA = 4 и MB = 7, илиMA = 4 and MB = 7, or MA = 5 и MB = 7.MA = 5 and MB = 7. 3. Устройство (120, 220, 600) фильтра удаления блочности по п.1, в котором, когда N является четным целым числом 2n, большим 16, и T является четным целым числом 2n, равным или меньшим 16,3. The deblocking filter apparatus (120, 220, 600) of claim 1, wherein when N is an even integer 2 n greater than 16 and T is an even integer 2 n equal to or less than 16, MA = 3 и MB = 7.MA = 3 and MB = 7. 4. Устройство (120, 220, 600) фильтра удаления блочности по любому из пп.1-3, характеризующееся тем, что дополнительно выполнено с возможностью, когда второй блок (402, 502) изображения включает в себя субблоки ( 4021, 4022; 5021, 5022) и первый блок (401, 501) изображения включает в себя субблоки:4. The deblocking filter device (120, 220, 600) according to any one of claims 1 to 3, characterized in that it is further configured that when the second image block (402, 502) includes sub-blocks ( 4021, 4022; 5021 , 5022) and the first image block (401, 501) includes sub-blocks: - модификации, максимально, числа МА' значений выборок первого блока (401, 501) изображения в качестве третьих выходных значений, где максимальное число МА' выборок находится на линии, перпендикулярной и смежной краю (403 , 504, 903) блока,- modifications, at most, of the number MA' of sample values of the first image block (401, 501) as third output values, where the maximum number of samples MA' is on a line perpendicular to and adjacent to the edge (403, 504, 903) of the block, - модификации, максимально, числа МВ' значений выборок второго блока (402, 502) изображения в качестве четвертых выходных значений, где максимальное число МВ' выборок находятся на линии, перпендикулярной и смежной краю (403 , 504, 903) блока, причем MA'= MB'.- modifications, at most, of the number MB' of sample values of the second image block (402, 502) as fourth output values, where the maximum number of MB' samples are on a line perpendicular to and adjacent to the edge (403 , 504, 903) of the block, with MA' =MB'. 5. Устройство (120, 220, 600) фильтра удаления блочности по п.4, в котором MA'= MB' = 3 или MA'= MB' = 5.5. The deblocking filter apparatus (120, 220, 600) of claim 4, wherein MA'=MB'=3 or MA'=MB'=5. 6. Устройство (120, 220, 600) фильтра удаления блочности по любому из пп.1-6, характеризующееся тем, что дополнительно выполнено с возможностью определения, подлежит ли край (403, 504, 903) блока фильтрации и/или должна ли выполняться асимметричная длинная фильтрация, на основании:6. The deblocking filter device (120, 220, 600) according to any one of claims 1 to 6, characterized in that it is further configured to determine whether the edge (403, 504, 903) is to be filtered and/or should be performed asymmetric long filtering, based on: - значений, максимум, числа DA выборок первого блока (401, 501, 902) изображения, смежного с краем (403, 504, 903) блока, в качестве значений первого решения, и- values, at most, of the number DA samples of the first block (401, 501, 902) of the image adjacent to the edge (403, 504, 903) of the block, as first decision values, and - значений, максимум, числа DB выборок второго блока (401, 501) изображения, смежного с краем (403, 504, 903) блока, в качестве значений второго решения, причем- values, at most, of the number DB of samples of the second block (401, 501) of the image adjacent to the edge (403, 504, 903) of the block, as the values of the second decision, and DA и DB являются целыми числами.DA and DB are integers. 7. Устройство (120, 220, 600) фильтра удаления блочности по п.6, в котором DA = MA + 1, а DB = MB + 1.7. The deblocking filter device (120, 220, 600) of claim 6, wherein DA = MA + 1 and DB = MB + 1. 8. Устройство (120, 220, 600) фильтра удаления блочности по п.6 или 7, в котором, когда второй блок изображения имеет субблоки, устройство (120, 220, 600) фильтра удаления блочности, дополнительно, выполнено с возможностью определения, удовлетворяется ли первое условие, определяемое следующим первым уравнением:8. The deblocking filter device (120, 220, 600) of claim 6 or 7, wherein when the second image block has sub-blocks, the deblocking filter device (120, 220, 600) is further configured to determine whether the or the first condition defined by the following first equation:
Figure 00000084
Figure 00000084
Figure 00000085
,
Figure 00000085
,
где β обозначает параметр порогового значения, qi представляют значения выборки второго блока изображения, i = 0, 1, 2, 3, а pj представляют значения выборки первого блока изображения, j = 0, 3, 4, 7 или j = 0, 2, 3, 5.where β denotes the threshold parameter, q i represent the sample values of the second image block, i = 0, 1, 2, 3, and p j represent the sample values of the first image block, j = 0, 3, 4, 7 or j = 0, 2, 3, 5. 9. Устройство (120, 220, 600) фильтра удаления блочности по п.6 или 7, в котором, когда первый блок изображения имеет субблоки, устройство (120, 220, 600) фильтра удаления блочности, дополнительно, выполнено с возможностью определения, удовлетворяется ли второе условие, определяемое следующим вторым уравнением:9. The deblocking filter device (120, 220, 600) of claim 6 or 7, wherein when the first image block has subblocks, the deblocking filter device (120, 220, 600) is further configured to determine whether or the second condition defined by the following second equation:
Figure 00000086
Figure 00000086
Figure 00000087
,
Figure 00000087
,
где β обозначает параметр порогового значения, pi представляет значения выборки первого блока изображения, i = 0, 1, 2, 3, и qj представляют значения выборки второго блока изображения, j = 0, 3, 4, 7 или j = 0, 2, 3, 5.where β denotes the threshold parameter, p i represents the sample values of the first image block, i = 0, 1, 2, 3, and q j represent the sample values of the second image block, j = 0, 3, 4, 7, or j = 0, 2, 3, 5. 10. Устройство (120, 220, 600) фильтра удаления блочности по любому из пп.1-9, в котором:10. A deblocking filter device (120, 220, 600) according to any one of claims 1-9, wherein: если край (903) блока является горизонтальным краем (903) блока, направление по высоте N первого блока изображения перпендикулярно краю (903) блока и направление по высоте T второго блока изображения перпендикулярно краю (903) блока, причем высоты одного или обоих первого и второго блоков изображения являются четным целым числом 2n больше 16; илиif the block edge (903) is the horizontal block edge (903), the height direction N of the first image block is perpendicular to the block edge (903) and the height direction T of the second image block is perpendicular to the block edge (903), with the heights of one or both of the first and second image blocks are an even integer 2 n greater than 16; or если край (903) блока является вертикальным краем (403, 504) блока, направление по ширине N первого блока изображения перпендикулярно краю (903) блока и направление по ширине T второго блока изображения перпендикулярно краю (903) блока, причем ширины одного или обоих первого и второго блоков изображения являются четными целыми числами 2n больше 16.if the block edge (903) is the vertical block edge (403, 504), the width direction N of the first image block is perpendicular to the block edge (903) and the width direction T of the second image block is perpendicular to the block edge (903), with the widths of one or both of the first and the second image blocks are even integers 2 n greater than 16. 11. Устройство (120, 220, 600) фильтра удаления блочности по любому из пп.1-10, в котором 11. A deblocking filter device (120, 220, 600) according to any one of claims 1-10, wherein второй блок изображения является текущим блоком, а первый Р блок изображения является смежным блоком текущего блока.the second image block is the current block, and the first P image block is the adjacent block of the current block. 12. Устройство (120, 220, 600) фильтра удаления блочности по п.11, в котором первый блок изображения находится слева от второго блока изображения.12. The deblocking filter apparatus (120, 220, 600) of claim 11, wherein the first image block is to the left of the second image block. 13. Устройство (120, 220, 600) фильтра удаления блочности по любому из пп.1-12, в котором 13. A deblocking filter device (120, 220, 600) according to any one of claims 1-12, wherein первый блок изображения и второй блок изображения являются блоками преобразования илиthe first image block and the second image block are transformation blocks, or первый блок изображения и второй блок изображения являются блоками кодирования.the first image block and the second image block are coding blocks. 14. Способ удаления блочности для удаления блочности края (403, 504, 903) блока между первым блоком (401, 501) изображения и вторым блоком (402, 502) изображения для использования в устройстве кодирования изображения и/или устройстве декодирования изображения, причем14. A deblocking method for deblocking an edge (403, 504, 903) of a block between the first image block (401, 501) and the second image block (402, 502) for use in an image encoding device and/or an image decoding device, wherein первый блок (401, 501) изображения имеет размер блока M * N или N * M, где M и N представляют, соответственно, ширину и высоту первого блока изображения или N и M представляют, соответственно, ширину и высоту первого блока изображения; аthe first image block (401, 501) has a block size of M * N or N * M, where M and N represent respectively the width and height of the first image block, or N and M represent the width and height of the first image block, respectively; a второй блок (402, 502) изображения имеет размер L * T или T * L, где L и T представляют, соответственно, ширину и высоту второго блока изображения или T и L представляют, соответственно, ширину и высоту второго блока изображения, the second image block (402, 502) has a size of L * T or T * L, where L and T represent, respectively, the width and height of the second image block, or T and L represent, respectively, the width and height of the second image block, способ удаления блочности содержит этапы, на которых, когда второй блок (402, 502) изображения включает в себя субблоки (4021, 4022; 5021, 5022), а N или T является четным целым числом 2n, большим 16, где n является положительным целым числом:the deblocking method comprises the steps where, when the second image block (402, 502) includes sub-blocks (4021, 4022; 5021, 5022) and N or T is an even integer 2 n greater than 16, where n is positive integer: - модифицируют, максимально, число MA значений выборок второго блока (402, 502) изображения в качестве первых выходных значений, где максимальное число MA выборок находятся на линии, перпендикулярной краю (403, 504, 903) блока, и максимальное число МВ выборок находятся смежно краю (403, 504, 903) блока, причем MА является положительным целым числом, равным или меньшим 5; и- modify, at most, the number MA of sample values of the second block (402, 502) of the image as the first output values, where the maximum number of MA samples are on a line perpendicular to the edge (403, 504, 903) of the block, and the maximum number of MB samples are adjacent edge (403, 504, 903) of the block, wherein MA is a positive integer equal to or less than 5; and - модифицируют, максимально, число МВ значений выборок первого блока (401, 501) изображения в качестве вторых выходных значений, где максимальное число МВ выборок находятся на линии, перпендикулярной краю (403, 504, 903) блока, и максимальное число МВ выборок находятся смежно краю (403, 504, 903) блока; причем MB является положительным целым числом, равным 7.- modify, as a maximum, the number of MV samples of the first image block (401, 501) as the second output values, where the maximum number of MV samples are on a line perpendicular to the edge (403, 504, 903) of the block, and the maximum number of MV samples are adjacent edge (403, 504, 903) of the block; where MB is a positive integer equal to 7. 15. Способ удаления блочности по п.14, в котором, если N и T являются четными целыми числами 2n больше 16,15. The deblocking method of claim 14, wherein if N and T are even integers 2n greater than 16, MA = 3 и MB = 7, илиMA = 3 and MB = 7, or MA = 4 и MB = 7, илиMA = 4 and MB = 7, or MA = 5 и MB = 7.MA = 5 and MB = 7. 16. Способ удаления блочности по п.14, в котором, когда N является четным целым числом 2n, большим 16, и T является четным целым числом 2n, равным или меньшим 16,16. The deblocking method of claim 14, wherein when N is an even integer 2n greater than 16 and T is an even integer 2n equal to or less than 16, MA = 3 и MB = 7.MA = 3 and MB = 7. 17. Способ удаления блочности по любому из пп.14-16, дополнительно содержащий этапы, на которых,17. The deblocking method according to any one of claims 14 to 16, further comprising the steps of, когда каждый из второго блока (402, 502) изображения и первого блока изображения (401, 501) включает в себя субблоки (4021, 4022; 5021, 5022):when each of the second image block (402, 502) and the first image block (401, 501) includes sub-blocks (4021, 4022; 5021, 5022): - модифицируют, максимально, число MA' значений выборок первого блока (401, 501) изображения в качестве третьих выходных значений, причем максимальное число МА' выборок находится на линии, перпендикулярной и смежной краю (403, 504, 903) блока; и- modifying, at most, the number MA' of sample values of the first image block (401, 501) as third output values, the maximum number of samples MA' being on a line perpendicular to and adjacent to the edge (403, 504, 903) of the block; and - модифицируют, максимально, число MB' значений выборок второго блока (402, 502) изображения в качестве четвертых выходных значений, причем максимальное число МВ' выборок находятся на линии, перпендикулярной и смежной краю (403, 504, 903) блока; причем- modify, at most, the number MB' of sample values of the second image block (402, 502) as fourth output values, with the maximum number of samples MB' being on a line perpendicular to and adjacent to the edge (403, 504, 903) of the block; and MA' и MB' являются целыми числами и MA'= MB'.MA' and MB' are integers and MA'= MB'. 18. Способ удаления блочности по п.17, в котором MA'= MB' = 3 или MA'= MB' = 5.18. The deblocking method of claim 17, wherein MA'=MB'=3 or MA'=MB'=5. 19. Способ удаления блочности по любому из пп.14–16, дополнительно содержащий этап, на котором определяют, подлежит ли край (403, 504, 903) блока фильтрации и/или должна ли выполняться асимметричная длинная фильтрация, на основании:19. The deblocking method according to any one of claims 14 to 16, further comprising determining whether an edge (403, 504, 903) is to be block filtered and/or whether asymmetric long filtering is to be performed based on: значений, максимум, числа DA выборок первого блока (401, 501, 902) изображения, смежного с краем (403, 504, 903) блока, в качестве значений первого решения иvalues, maximum, the number of DA samples of the first block (401, 501, 902) of the image adjacent to the edge (403, 504, 903) of the block, as the values of the first decision, and значений, максимум, числа DB выборок второго блока (401, 501) изображения, смежного с краем (403, 504, 903) блока, в качестве значений второго решения, где DA и DB являются целыми числами.values, maximum, the number DB of samples of the second image block (401, 501) adjacent to the edge (403, 504, 903) of the block as second decision values, where DA and DB are integers. 20. Способ удаления блочности по п.19, в котором DA = MA + 1, а DB = MB + 1.20. The deblocking method of claim 19, wherein DA = MA + 1 and DB = MB + 1. 21. Способ удаления блочности по п.19 или 20, дополнительно содержащий, когда второй блок изображения имеет субблоки, этап, на котором определяют, удовлетворяется ли первое условие, определенное следующим первым уравнением:21. The deblocking method according to claim 19 or 20, further comprising, when the second image block has sub-blocks, determining whether the first condition defined by the following first equation is satisfied:
Figure 00000084
Figure 00000084
Figure 00000085
,
Figure 00000085
,
где β обозначает параметр порогового значения, qi представляют значения выборки второго блока изображения, i = 0, 1, 2, 3, а pj представляют значения выборки первого блока изображения, j = 0, 3, 4, 7 или j = 0, 2, 3, 5.where β denotes the threshold parameter, q i represent the sample values of the second image block, i = 0, 1, 2, 3, and p j represent the sample values of the first image block, j = 0, 3, 4, 7 or j = 0, 2, 3, 5. 22. Способ удаления блочности по п.19 или 20, дополнительно содержащий, когда первый блок изображения имеет субблоки, этап, на котором определяют, удовлетворяется ли второе условие, определенное следующим вторым уравнением:22. The deblocking method according to claim 19 or 20, further comprising, when the first image block has sub-blocks, determining whether the second condition defined by the following second equation is satisfied:
Figure 00000086
Figure 00000086
Figure 00000087
,
Figure 00000087
,
где β обозначает параметр порогового значения, pi представляет значения выборки первого блока изображения, i = 0, 1, 2, 3, а qj представляют значения выборки второго блока изображения, j = 0, 3, 4, 7 или j = 0, 2, 3, 5.where β denotes the threshold parameter, p i represents the sample values of the first image block, i = 0, 1, 2, 3, and q j represent the sample values of the second image block, j = 0, 3, 4, 7, or j = 0, 2, 3, 5. 23. Способ удаления блочности по любому из пп.14-22, в котором:23. The deblocking method according to any one of claims 14-22, wherein: когда край (903) блока является горизонтальным краем (903) блока, направление по высоте N первого блока изображения перпендикулярно краю (903) блока, а направление по высоте T второго блока изображения перпендикулярно краю (903) блока, высоты одного или обоих из первого и второго блоков изображения являются четными целыми числами 2n больше 16; илиwhen the edge (903) of the block is the horizontal edge (903) of the block, the height direction N of the first image block is perpendicular to the edge (903) of the block, and the height direction T of the second image block is perpendicular to the edge (903) of the block, the height of one or both of the first and the second image blocks are even integers 2n greater than 16; or если край (903) блока является вертикальным краем (403, 504) блока, направление по ширине N первого блока изображения перпендикулярно краю (903) блока и направление по ширине T второго блока изображения перпендикулярно краю (903) блока, ширины одного или обоих из первого и второго блоков изображения являются четными целыми числами 2n больше 16.if the edge (903) of the block is the vertical edge (403, 504) of the block, the width direction N of the first image block is perpendicular to the edge (903) of the block and the width direction T of the second image block is perpendicular to the edge (903) of the block, the width of one or both of the first and the second image blocks are even integers 2 n greater than 16. 24. Способ удаления блочности по любому из пп.14-23, в котором второй блок изображения является текущим блоком, а первый блок изображения является смежным блоком текущего блока.24. The deblocking method according to any one of claims 14 to 23, wherein the second image block is the current block and the first image block is an adjacent block of the current block. 25. Способ удаления блочности по п.24, в котором первый блок изображения находится слева от второго блока изображения.25. The deblocking method of claim 24, wherein the first image block is to the left of the second image block. 26. Способ удаления блочности по любому из пп.14-25, в котором первый блок изображения и второй блок изображения являются блоками преобразования или26. The deblocking method according to any one of claims 14 to 25, wherein the first image block and the second image block are transform blocks, or первый блок изображения и второй блок изображения являются блоками кодирования.the first image block and the second image block are coding blocks. 27. Устройство (120, 220, 600) фильтра удаления блочности для использования в кодере (100, 1300, 1400) изображения и/или декодере (200, 1300, 1400) изображения для удаления блочности края (403, 504, 903) блока между первым блоком (401, 501) изображения и вторым блоком (402, 502) изображения, причем27. A deblocking filter device (120, 220, 600) for use in an image encoder (100, 1300, 1400) and/or an image decoder (200, 1300, 1400) to deblock the edge (403, 504, 903) of a block between the first image block (401, 501) and the second image block (402, 502), wherein первый блок (401, 501) изображения имеет размер блока M * N или N * M, где M и N представляют, соответственно, ширину и высоту первого блока изображения или N и M представляют, соответственно, ширину и высоту первого блока изображения;the first image block (401, 501) has a block size of M * N or N * M, where M and N represent respectively the width and height of the first image block, or N and M represent the width and height of the first image block, respectively; второй блок (402, 502) изображения имеет размер L * T или T * L, где L и T представляют, соответственно, ширину и высоту второго блока изображения или T и L представляют, соответственно, ширину и высоту второго блока изображения, причемthe second image block (402, 502) has a size of L * T or T * L, where L and T represent, respectively, the width and height of the second image block, or T and L represent, respectively, the width and height of the second image block, and устройство фильтра удаления блочности содержит: the deblocking filter device comprises: память для хранения команд;memory for storing commands; процессор, соединенный с памятью, выполненный с возможностью, при исполнении команд,a processor coupled to the memory, configured to, when executing instructions, когда второй блок (402, 502) изображения включает в себя субблоки (4021, 4022; 5021, 5022), а первый блок (401, 501) изображения включает в себя субблоки и N или T является четным целым числом 2n, большим 16, где n является положительным целым числом:when the second image block (402, 502) includes sub-blocks (4021, 4022; 5021, 5022) and the first image block (401, 501) includes sub-blocks and N or T is an even integer 2 n greater than 16, where n is a positive integer: - модификации, максимально, числа МА' значений выборок первого блока (402, 502) изображения в качестве третьих выходных значений, причем максимальное число МА' выборок находятся на линии, перпендикулярной краю (403, 504, 903) блока, и максимальное число МА' выборок находятся смежно краю (403, 504, 903) блока, причем МА' является положительным целым числом, равным 5; и- modifications, at most, of the number MA' of sample values of the first image block (402, 502) as third output values, the maximum number of samples MA' being on a line perpendicular to the edge (403, 504, 903) of the block, and the maximum number MA' the samples are adjacent to the edge (403, 504, 903) of the block, with MA' being a positive integer equal to 5; and - модификации, максимально, числа МВ' значений выборок второго блока (401, 501) изображения в качестве четвертых выходных значений, причем максимальное число МВ' выборок находятся на линии, перпендикулярной краю (403, 504, 903) блока, и максимальное число МВ' выборок находятся смежно краю (403, 504, 903) блока, причем МВ' является положительным целым числом, равным 7.- modifications, at most, of the number MB' of sample values of the second image block (401, 501) as fourth output values, with the maximum number of MB' samples being on a line perpendicular to the edge (403, 504, 903) of the block, and the maximum number of MB' samples are adjacent to the edge (403, 504, 903) of the block, with MB' being a positive integer equal to 7. 28. Устройство (120, 220, 600) фильтра удаления блочности по п.27, в котором:28. The deblocking filter device (120, 220, 600) of claim 27, wherein: - когда край (903) блока является горизонтальным краем (903) блока, направление по высоте N первого блока изображения перпендикулярно краю (903) блока, а направление по высоте T второго блока изображения перпендикулярно краю (903) блока, при этом высоты одного или обоих из первого и второго блоков изображения являются четными целыми числами 2n больше 16; или- when the block edge (903) is the horizontal block edge (903), the height direction N of the first image block is perpendicular to the block edge (903), and the height direction T of the second image block is perpendicular to the block edge (903), with the heights of one or both of the first and second blocks, the images are even integers 2 n greater than 16; or - когда край (903) блока является вертикальным краем (403, 504) блока, направление по ширине N первого блока изображения перпендикулярно краю (903) блока, а направление по ширине T второго блока изображения перпендикулярно краю (903) блока, при этом ширины одного или обоих из первого и второго блоков изображения являются четными целыми числами 2n больше 16.- when the edge (903) of the block is the vertical edge (403, 504) of the block, the width direction N of the first image block is perpendicular to the edge (903) of the block, and the width direction T of the second image block is perpendicular to the edge (903) of the block, with a width of one or both of the first and second image blocks are even integers 2n greater than 16. 29. Устройство (120, 220, 600) фильтра удаления блочности по п.27 или 28, в котором второй блок изображения является текущим блоком, а первый блок изображения является смежным блоком текущего блока.29. The deblocking filter apparatus (120, 220, 600) of claim 27 or 28, wherein the second image block is the current block and the first image block is an adjacent block of the current block. 30. Устройство (120, 220, 600) фильтра удаления блочности по п.29, в котором первый блок изображения находится слева от второго блока изображения.30. The deblocking filter apparatus (120, 220, 600) of claim 29, wherein the first image block is to the left of the second image block. 31. Устройство (120, 220, 600) фильтра удаления блочности по любому из пп.27-30, в котором первый блок изображения и второй блок изображения являются блоками преобразования или31. The deblocking filter device (120, 220, 600) according to any one of claims 27 to 30, wherein the first image block and the second image block are transform blocks, or первый блок изображения и второй блок изображения являются блоками кодирования.the first image block and the second image block are coding blocks. 32. Устройство (120, 220, 600) фильтра удаления блочности для использования в кодере (100, 1300, 1400) изображения и/или декодере (200, 1300, 1400) изображения для удаления блочности края (403, 504, 903) блока между первым блоком (401, 501) изображения и вторым блоком (402, 502) изображения, причем32. A deblocking filter device (120, 220, 600) for use in an image encoder (100, 1300, 1400) and/or an image decoder (200, 1300, 1400) to deblock the edge (403, 504, 903) of a block between the first image block (401, 501) and the second image block (402, 502), wherein первый блок (401, 501) изображения имеет размер блока M * N или N * M, где M и N представляют, соответственно, ширину и высоту первого блока изображения или N и M представляют, соответственно, ширину и высоту первого блока изображения; аthe first image block (401, 501) has a block size of M * N or N * M, where M and N represent respectively the width and height of the first image block, or N and M represent the width and height of the first image block, respectively; a второй блок (402, 502) изображения имеет размер L * T или T * L, где L и T представляют, соответственно, ширину и высоту второго блока изображения или T и L представляют, соответственно, ширину и высоту второго блока изображения, причемthe second image block (402, 502) has a size of L * T or T * L, where L and T represent, respectively, the width and height of the second image block, or T and L represent, respectively, the width and height of the second image block, and устройство фильтра удаления блочности содержит:the deblocking filter device comprises: память для хранения команд; иmemory for storing commands; and процессор, соединенный с памятью, выполненный с возможностью, при исполнении команд, когда присутствует край (404, 505) субблока между субблоками (4021, 4022; 5021, 5022) второго блока (402, 502) кодирования и N или T является четным целым числом 2n более 16, где n является положительным целым числом:a processor coupled to the memory, configured, when executing instructions, when there is a subblock edge (404, 505) between subblocks (4021, 4022; 5021, 5022) of the second encoding block (402, 502) and N or T is an even integer 2 n over 16, where n is a positive integer: - модификации, на основании максимальной длины фильтра, MA значений выборок второго блока (402, 502) изображения, смежного с краем (403, 504, 903) блока, причем МА является положительным целым числом, равным или меньшим 5; и- modifications, based on the maximum filter length, MA of the sample values of the second image block (402, 502) adjacent to the edge (403, 504, 903) of the block, where MA is a positive integer equal to or less than 5; and - модификации, на основании максимальной длины фильтра, MB значений выборок первого блока (401, 501) изображения, смежного с краем (403, 504, 903) блока, причем МВ является положительным целым числом, равным 7.- modifications, based on the maximum length of the filter, MB sample values of the first block (401, 501) of the image adjacent to the edge (403, 504, 903) of the block, and MB is a positive integer equal to 7. 33. Устройство (120, 220, 600) фильтра удаления блочности по п. 32, в котором максимальная длина MA фильтра ассоциирована со вторым блоком (402, 502) изображения, а максимальная длина MB фильтра ассоциирована с первым блоком (401, 501) изображения.33. The deblocking filter apparatus (120, 220, 600) of claim 32, wherein the maximum filter length MA is associated with the second image block (402, 502) and the maximum filter length MB is associated with the first image block (401, 501). . 34. Устройство (120, 220, 600) фильтра удаления блочности по п.32 или 33, характеризующееся тем, что выполнено с возможностью:34. Deblocking filter device (120, 220, 600) according to claim 32 or 33, characterized in that it is configured to: - модификации, максимально, числа МА значений выборок второго блока (402, 502) изображения, причем максимальное число МА выборок находится на линии, перпендикулярной и смежной краю (403, 504, 903) блока; и- modifications, at most, of the number of MA sample values of the second image block (402, 502), with the maximum number of MA samples being on a line perpendicular to and adjacent to the edge (403, 504, 903) of the block; and - модификации, максимально, числа МВ значений выборок первого блока (401, 501) изображения, причем максимальное число МВ выборок находится на линии, перпендикулярной и смежной краю (403, 504, 903) блока.- modifications, at most, of the number of MB sample values of the first block (401, 501) of the image, with the maximum number of MV samples being on a line perpendicular to and adjacent to the edge (403, 504, 903) of the block. 35. Кодер для кодирования изображения, содержащий устройство (120, 220, 600) фильтра удаления блочности по любому из пп. 1-13 и 27-34.35. An encoder for encoding an image containing a deblocking filter device (120, 220, 600) according to any one of paragraphs. 1-13 and 27-34. 36. Декодер для декодирования изображения, содержащий устройство (120, 220, 600) фильтра удаления блочности по любому из пп. 1-13 и 27-34.36. A decoder for decoding an image, comprising a deblocking filter device (120, 220, 600) according to any one of paragraphs. 1-13 and 27-34. 37. Способ удаления блочности для удаления блочности края (403, 504, 903) блока между первым блоком (401, 501) изображения и вторым блоком (402, 502) изображения для использования в устройстве кодирования изображения и/или устройстве декодирования изображения, причем37. A deblocking method for deblocking an edge (403, 504, 903) of a block between the first image block (401, 501) and the second image block (402, 502) for use in an image encoding device and/or an image decoding device, wherein первый блок (401, 501) изображения имеет размер блока M * N или N * M, где M и N представляют, соответственно, ширину и высоту первого блока изображения или N и M представляют, соответственно, ширину и высоту первого блока изображения; аthe first image block (401, 501) has a block size of M * N or N * M, where M and N represent respectively the width and height of the first image block, or N and M represent the width and height of the first image block, respectively; a второй блок (402, 502) изображения имеет размер L * T или T * L, где L и T представляют, соответственно, ширину и высоту второго блока изображения или T и L представляют, соответственно, ширину и высоту второго блока изображения, причемthe second image block (402, 502) has a size of L * T or T * L, where L and T represent, respectively, the width and height of the second image block, or T and L represent, respectively, the width and height of the second image block, and способ удаления блочности содержит этапы, на которых, когда второй блок (402, 502) изображения и первый блок (401, 501) изображения включают в себя субблоки (4021, 4022; 5021, 5022) и N или T является четным целым числом 2n, большим 16, и n является положительным целым числом:the deblocking method comprises the steps where, when the second image block (402, 502) and the first image block (401, 501) include sub-blocks (4021, 4022; 5021, 5022) and N or T is an even integer 2 n , greater than 16, and n is a positive integer: - модифицируют, максимально, число MA' значений выборок первого блока (401, 501) изображения в качестве третьих выходных значений, причем максимальное число МА' выборок находится на линии, перпендикулярной краю (403, 504, 903) блока, и максимальное число МА' выборок находится смежно краю (403, 504, 903) блока, причем МА' является положительным целым числом, равным 5; и- modify, at most, the number MA' of sample values of the first image block (401, 501) as third output values, the maximum number of samples MA' being on the line perpendicular to the edge (403, 504, 903) of the block, and the maximum number MA' the samples are adjacent to the edge (403, 504, 903) of the block, with MA' being a positive integer equal to 5; and - модифицируют, максимально, число MB' значений выборок второго блока (402, 502) изображения в качестве четвертых выходных значений, причем максимальное число МВ' выборок находится на линии, перпендикулярной краю (403, 504, 903) блока, и максимальное число МВ' выборок находится смежно краю (403, 504, 903) блока, причем МВ' является положительным целым числом, равным 7.- modify, at most, the number MB' of sample values of the second image block (402, 502) as the fourth output values, with the maximum number MB' of samples being on the line perpendicular to the edge (403, 504, 903) of the block, and the maximum number MB' samples are adjacent to the edge (403, 504, 903) of the block, with MB' being a positive integer equal to 7. 38. Способ удаления блочности по п.37, в котором:38. The deblocking method of claim 37, wherein: если край (903) блока является горизонтальным краем (903) блока, направление по высоте N первого блока изображения перпендикулярно краю (903) блока и направление по высоте T второго блока изображения перпендикулярно краю (903) блока, высота одного или обоих из первого и второго блоков изображения является четным целым числом 2n, большим 16; илиif the block edge (903) is the horizontal block edge (903), the height direction N of the first image block is perpendicular to the block edge (903) and the height direction T of the second image block is perpendicular to the block edge (903), the height of one or both of the first and second image blocks is an even integer 2 n greater than 16; or если край (903) блока является вертикальным краем (403, 504) блока, направление по ширине N первого блока изображения перпендикулярно краю (903) блока и направление по ширине T второго блока изображения перпендикулярно краю (903) блока, ширина одного или обоих первого и второго блоков изображения является четным целым числом 2n, большим 16.if the block edge (903) is the vertical block edge (403, 504), the width direction N of the first image block is perpendicular to the block edge (903) and the width direction T of the second image block is perpendicular to the block edge (903), the width of one or both of the first and of the second image block is an even integer 2 n greater than 16. 39. Способ удаления блочности по п.37 или 38, в котором второй блок изображения является текущим блоком, а первый блок изображения является смежным блоком текущего блока.39. The deblocking method of claim 37 or 38, wherein the second image block is the current block and the first image block is an adjacent block of the current block. 40. Способ удаления блочности по п.39, в котором первый блок изображения находится слева от второго блока изображения.40. The deblocking method of claim 39, wherein the first image block is to the left of the second image block. 41. Способ удаления блочности по любому из пп.37-40, в котором первый блок изображения и второй блок изображения являются блоками преобразования или41. The deblocking method according to any one of claims 37 to 40, wherein the first image block and the second image block are transform blocks, or первый блок изображения и второй блок изображения являются блоками кодирования.the first image block and the second image block are coding blocks. 42. Способ удаления блочности для удаления блочности края (403, 504, 903) блока между первым блоком (401, 501) изображения и вторым блоком (402, 502) изображения для использования в устройстве кодирования изображения и/или устройстве декодирования изображения, при этом42. A deblocking method for deblocking an edge (403, 504, 903) of a block between the first image block (401, 501) and the second image block (402, 502) for use in an image encoding device and/or an image decoding device, wherein первый блок (401, 501) изображения имеет размер блока M * N или N * M, где M и N представляют, соответственно, ширину и высоту первого блока изображения или N и M представляют, соответственно, ширину и высоту первого блока изображения; аthe first image block (401, 501) has a block size of M * N or N * M, where M and N represent respectively the width and height of the first image block, or N and M represent the width and height of the first image block, respectively; a второй блок (402, 502) изображения имеет размер L * T или T * L, где L и T представляют, соответственно, ширину и высоту второго блока изображения или T и L представляют, соответственно, ширину и высоту второго блока изображения, соответственно, причемthe second image block (402, 502) has a size of L * T or T * L, where L and T represent, respectively, the width and height of the second image block, or T and L represent, respectively, the width and height of the second image block, respectively, and способ удаления блочности содержит этапы, на которых, когда присутствует край (404, 505) субблока между субблоками (4021, 4022; 5021, 5022) второго блока (402, 502) кодирования и N или T является четным целым числом 2n, большим 16, где n является положительным целым числом:the deblocking method comprises steps in which, when there is a subblock edge (404, 505) between subblocks (4021, 4022; 5021, 5022) of the second coding block (402, 502) and N or T is an even integer 2 n greater than 16 , where n is a positive integer: - модифицируют, на основании максимальной длины фильтра, MA значений выборок второго блока (402, 502) изображения, смежного с краем (403, 504, 903) блока, причем МА является положительным целым числом, равным или меньшим 5; и- modify, based on the maximum length of the filter, MA sample values of the second block (402, 502) of the image adjacent to the edge (403, 504, 903) of the block, and MA is a positive integer equal to or less than 5; and - модифицируют, на основании максимальной длины фильтра, MB значений выборок первого блока (401, 501) изображения, смежного с краем (403, 504, 903) блока, причем MB является положительным целым числом, равным 7.- modify, based on the maximum length of the filter, MB sample values of the first block (401, 501) of the image adjacent to the edge (403, 504, 903) of the block, and MB is a positive integer equal to 7. 43. Способ удаления блочности по п.42, в котором максимальная длина MA фильтра ассоциирована со вторым блоком (402, 502) изображения, а максимальная длина MB фильтра ассоциирована с первым блоком (401, 501) изображения.43. The deblocking method of claim 42, wherein the maximum filter length MA is associated with the second image block (402, 502) and the maximum filter length MB is associated with the first image block (401, 501). 44. Способ удаления блочности по п.42 или 43, в котором этап модификации, на основании максимальной длины фильтра, MA значений выборок второго блока (402, 502) изображения, смежного с краем (403, 504, 903) блока, содержит подэтап, на котором:44. The deblocking method according to claim 42 or 43, wherein the step of modifying, based on the maximum filter length, MA sample values of the second image block (402, 502) adjacent to the edge (403, 504, 903) of the block, comprises a sub-step, on which: - модифицируют, максимально, число МА значений выборок второго блока (402, 502) изображения, причем максимальное число МА выборок находится на линии, перпендикулярной и смежной с краем (403, 504, 903) блока; а- modify, at most, the number of MA sample values of the second block (402, 502) of the image, and the maximum number of MA samples is on a line perpendicular to and adjacent to the edge (403, 504, 903) of the block; a этап модификации, на основании максимальной длины фильтра, MB значений выборок первого блока (401, 501) изображения, смежного с краем (403, 504, 903) блока, содержит подэтап, на котором:the modification step, based on the maximum filter length, MB sample values of the first image block (401, 501) adjacent to the block edge (403, 504, 903), comprises a sub-step of: - модифицируют, максимально, число МВ значений выборок первого блока (401, 501) изображения, причем максимальное число МВ выборок находится на линии, перпендикулярной и смежной краю (403, 504, 903) блока.- modify, as a maximum, the number of MV values of samples of the first block (401, 501) of the image, and the maximum number of MV samples is on a line perpendicular and adjacent to the edge (403, 504, 903) of the block. 45. Способ кодирования для кодирования изображения, содержащий способ удаления блочности по любому из пп.14-26 и 37-44.45. An encoding method for encoding an image, comprising the deblocking method according to any one of claims 14-26 and 37-44. 46. Способ декодирования для декодирования изображения, содержащий способ удаления блочности по любому из пп. 14-26 и 37-44.46. A decoding method for decoding an image, comprising a deblocking method according to any one of paragraphs. 14-26 and 37-44. 47. Декодер для декодирования изображения, содержащий:47. A decoder for decoding an image, comprising: один или более процессоров; иone or more processors; and постоянный машиночитаемый носитель данных, соединенный с процессорами и хранящий программы для выполнения процессорами, причем программы, выполняемые процессорами, вызывают выполнение, декодером, способа по любому из пп. 14-26 и 37-44.a persistent computer-readable storage medium coupled to the processors and storing programs for execution by the processors, wherein the programs executed by the processors cause execution, by a decoder, of a method according to any one of claims. 14-26 and 37-44. 48. Кодер для кодирования изображения, содержащий:48. An encoder for encoding an image, comprising: один или более процессоров; иone or more processors; and постоянный машиночитаемый носитель данных, соединенный с процессорами и хранящий программы для выполнения процессорами, причем программы, выполняемые процессорами, вызывают выполнение, декодером, способа по любому из пп. 14-26 и 37-44. a persistent computer-readable storage medium coupled to the processors and storing programs for execution by the processors, wherein the programs executed by the processors cause execution, by a decoder, of a method according to any one of claims. 14-26 and 37-44. 49. Постоянный машиночитаемый носитель, хранящий компьютерные инструкции, вызывающие, при исполнении одним или более процессорами, выполнение, одним или более процессорами, способа по любому из пп. 14-26 и 37-44.49. A permanent computer-readable medium that stores computer instructions that cause, when executed by one or more processors, the execution, by one or more processors, of the method according to any one of paragraphs. 14-26 and 37-44.
RU2021105840A 2018-08-10 2019-08-12 Device and method for removal of blocking artifacts RU2785090C2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US62/717,029 2018-08-10
US62/723,453 2018-08-27

Related Child Applications (1)

Application Number Title Priority Date Filing Date
RU2022130752A Division RU2022130752A (en) 2018-08-10 2019-08-12 DEVICE AND METHOD FOR PERFORMING DELOCULATION

Publications (2)

Publication Number Publication Date
RU2021105840A RU2021105840A (en) 2022-09-12
RU2785090C2 true RU2785090C2 (en) 2022-12-02

Family

ID=

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2472304C2 (en) * 2007-10-10 2013-01-10 Квэлкомм Инкорпорейтед Universal correction of image blocking effect
WO2013012479A1 (en) * 2011-07-19 2013-01-24 Qualcomm Incorporated Deblocking of non-square blocks for video coding
RU2586003C2 (en) * 2011-10-25 2016-06-10 Квэлкомм Инкорпорейтед Determination of filtration boundary level of deblocking for video coding
EP3001682B1 (en) * 2011-03-01 2017-03-01 Telefonaktiebolaget LM Ericsson (publ) Deblocking filtering control
CN103957425B (en) * 2014-04-23 2018-01-23 华为技术有限公司 Image processing method and system
WO2018123423A1 (en) * 2016-12-28 2018-07-05 ソニー株式会社 Image processing device and image processing method
CN105681814B (en) * 2014-11-21 2019-03-29 联想(北京)有限公司 A kind of determination method and device of block-eliminating effect filtering mode

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2472304C2 (en) * 2007-10-10 2013-01-10 Квэлкомм Инкорпорейтед Universal correction of image blocking effect
EP3001682B1 (en) * 2011-03-01 2017-03-01 Telefonaktiebolaget LM Ericsson (publ) Deblocking filtering control
WO2013012479A1 (en) * 2011-07-19 2013-01-24 Qualcomm Incorporated Deblocking of non-square blocks for video coding
RU2586003C2 (en) * 2011-10-25 2016-06-10 Квэлкомм Инкорпорейтед Determination of filtration boundary level of deblocking for video coding
CN103957425B (en) * 2014-04-23 2018-01-23 华为技术有限公司 Image processing method and system
CN105681814B (en) * 2014-11-21 2019-03-29 联想(北京)有限公司 A kind of determination method and device of block-eliminating effect filtering mode
WO2018123423A1 (en) * 2016-12-28 2018-07-05 ソニー株式会社 Image processing device and image processing method

Similar Documents

Publication Publication Date Title
CN111819852B (en) Method and apparatus for residual symbol prediction in the transform domain
CN111837389A (en) Block detection method and device suitable for multi-sign bit hiding
JP7326439B2 (en) Apparatus and method for deblocking filter in video coding
CN112400323B (en) Image encoder, image decoder, and corresponding methods
JP2023169237A (en) Device and method for executing deblocking
KR20210020137A (en) Apparatus and method for intra prediction of prediction blocks of video images
RU2766557C1 (en) Image processing apparatus and method for executing effective blocking removal
RU2785090C2 (en) Device and method for removal of blocking artifacts
WO2020073969A1 (en) An image processing device and method for performing deblocking
RU2779474C1 (en) Image processing device and method for performing effective deblocks
RU2789030C2 (en) Device and method for deblocking filter in video encoding
CN112352435B (en) In-loop deblocking filter apparatus and method for video coding and decoding
RU2793920C2 (en) Image processing device and method of performing deblocking with quality optimization