BR122020024442B1 - VIDEO CODING DEVICE AND METHOD FOR CONFIGURING A SEQUENCE OF FILTERS FOR VIDEO CODING - Google Patents
VIDEO CODING DEVICE AND METHOD FOR CONFIGURING A SEQUENCE OF FILTERS FOR VIDEO CODING Download PDFInfo
- Publication number
- BR122020024442B1 BR122020024442B1 BR122020024442-9A BR122020024442A BR122020024442B1 BR 122020024442 B1 BR122020024442 B1 BR 122020024442B1 BR 122020024442 A BR122020024442 A BR 122020024442A BR 122020024442 B1 BR122020024442 B1 BR 122020024442B1
- Authority
- BR
- Brazil
- Prior art keywords
- filter
- parameter
- parameters
- sequence
- interpolation
- Prior art date
Links
Abstract
DISPOSITIVO DE CODIFICAÇÃO DE VÍDEO E MÉTODO PARA CONFIGURAR UMA SEQUÊNCIA DE FILTROS PARA CODIFICAÇÃO DE VÍDEO. A presente invenção refere-se um dispositivo de codificação de vídeo, que compreende uma sequência de filtros que são configuráveis por um ou mais parâmetros primários e um ou mais parâmetros secundários, e um controlador de filtro configurado para ajustar os um ou mais parâmetros secundários com base nos um ou mais parâmetros primários e com base em um critério de intensidade da sequência de filtros.VIDEO CODING DEVICE AND METHOD FOR CONFIGURING A SEQUENCE OF FILTERS FOR VIDEO CODING. The present invention relates to a video coding device, which comprises a sequence of filters that are configurable by one or more primary parameters and one or more secondary parameters, and a filter controller configured to adjust the one or more secondary parameters with based on one or more primary parameters and based on an intensity criterion of the filter sequence.
Description
[001] Dividido do BR112018009921-0 depositado em 17 de novembro de 2015.[001] Split from BR112018009921-0 deposited on November 17, 2015.
[002] A presente invenção refere-se a um dispositivo de codificação de vídeo e a um método para configurar uma sequência de filtros para codificação de vídeo.[002] The present invention relates to a video coding device and a method for configuring a sequence of filters for video coding.
[003] A presente invenção também se refere a um meio de armazenamento legível por computador que armazena um código de programa, o código de programa compreendendo instruções para executar um método para configurar uma sequência de filtros para codificação de vídeo.[003] The present invention also relates to a computer-readable storage medium that stores a program code, the program code comprising instructions for executing a method for configuring a sequence of filters for video coding.
[004] As aplicações de comunicação e armazenamento de vídeo digital são implementadas por uma ampla faixa de dispositivos digitais, por exemplo, câmeras digitais, telefones de rádio celulares, laptops, sistema de difusão, sistemas de teleconferência de vídeo, etc. Uma das mais importantes e desafiadoras tarefas destas aplicações é a compressão de vídeo. A tarefa de compressão de vídeo é complexa e constrita por dois parâmetros contraditórios: eficiência de compressão e complexidade computacional. Os padrões de codificação de vídeo, tais como ITU-T H.264/AVC ou ITU-T H.265/HEVC, proveem uma boa permuta entre estes parâmetros.[004] Digital video communication and storage applications are implemented by a wide range of digital devices, for example, digital cameras, cellular radio telephones, laptops, broadcast system, video teleconferencing systems, etc. One of the most important and challenging tasks of these applications is video compression. The task of video compression is complex and constrained by two contradictory parameters: compression efficiency and computational complexity. Video coding standards, such as ITU-T H.264/AVC or ITU-T H.265/HEVC, provide a good trade-off between these parameters.
[005] Os padrões de codificação de vídeo do estado da técnica são principalmente baseados no particionamento de uma imagem de fonte em blocos. O processamento destes blocos depende do seu tamanho, posição espacial e um modo de codificação especificado por um codificador. Os modos de codificação podem ser classificados em dois grupos de acordo com o tipo de predição: modos de intra e interpredição. Os modos de intrapredição utilizam pixels da mesma imagem para gerar amostras de referência para calcular valores de predição para os pixels do bloco sendo reconstruído. Intrapredição poderia também ser referida como predição espacial. Os modos de interpredição são designados para predição temporal e utilizam amostras de referência de imagens anteriores ou próximas para predizer os pixels do bloco da imagem corrente.[005] Prior art video coding standards are mainly based on partitioning a source image into blocks. The processing of these blocks depends on their size, spatial position and a coding mode specified by an encoder. Coding modes can be classified into two groups according to the type of prediction: intra- and inter-prediction modes. Intraprediction modes use pixels from the same image to generate reference samples to calculate prediction values for the pixels in the block being reconstructed. Intraprediction could also be referred to as spatial prediction. The interprediction modes are designed for temporal prediction and use reference samples from previous or nearby images to predict the pixels of the current image block.
[006] Devido a diferentes tipos de redundância, os processos de predição para intra e intercodificação são diferentes. A intrapredição tipicamente constrói um armazenamento temporário unidimensional de amostras de referência. A interpredição tipicamente utiliza interpolação subpixel de uma matriz de pixels de referência bidimensional. Para aperfeiçoar os resultados de predição, um processamento adicional pode ser utilizado para ambas a intra e intercodificação (por exemplo, suavização de amostras de referência para intrapredição, aguçamento de blocos de referência para interpredição).[006] Due to different types of redundancy, the prediction processes for intra- and intercoding are different. Intraprediction typically constructs a one-dimensional temporary store of reference samples. Interprediction typically uses subpixel interpolation of a two-dimensional reference pixel array. To improve prediction results, additional processing can be used for both intra- and inter-coding (e.g., smoothing reference samples for intra-prediction, sharpening reference blocks for inter-prediction).
[007] O padrão recentemente adotado ITU-T H.265/HEVC (ISO/IEC 23008-2:2013, "Information technology - High efficiency coding and media delivery in heterogeneous environments - Part 2: High efficiency vídeo coding", November 2013) declara um conjunto de ferramentas de codificação de vídeo do estado da técnica que provê uma permuta razoável entre eficiência de codificação e complexidade computacional.[007] The recently adopted standard ITU-T H.265/HEVC (ISO/IEC 23008-2:2013, "Information technology - High efficiency coding and media delivery in heterogeneous environments - Part 2: High efficiency video coding", November 2013 ) declares a set of prior art video coding tools that provide a reasonable trade-off between coding efficiency and computational complexity.
[008] Similar ao padrão de codificação de vídeo ITU-T H.264/AVC, o padrão de codificação de vídeo HEVC/H.265 provê uma divisão da imagem de fonte em blocos, por exemplo, unidades de codificação (CUs). Cada uma das CUs pode ser ainda dividida em ou menores CUs ou unidades de predição (PUs). Uma PU pode ser intra ou interpredita de acordo com o tipo de processamento aplicado para os pixels de PU. No caso de interpredição, uma PU representa uma área de pixels que é processada por compensação de movimento utilizando um vetor de movimento especificado para uma PU. Para intrapredição a PU especifica um modo de predição para um conjunto de unidades de transformada (TUs). Uma TU pode ter diferentes tamanhos (por exemplo, 4x4, 8x8, 16x16 e 32x32 pixels) e pode ser processada em diferentes modos. Para uma transformada de TU uma codificação está sendo executada, isto é, o erro de predição está sendo transformado com uma transformada de cosseno discreta (DCT) e quantizada. Com isto, os pixels reconstruídos contêm ruído de quantização e artefatos de bloqueio que podem influenciar a precisão de predição.[008] Similar to the ITU-T H.264/AVC video coding standard, the HEVC/H.265 video coding standard provides a division of the source image into blocks, for example, coding units (CUs). Each of the CUs can be further divided into or smaller CUs or prediction units (PUs). A PU can be intra or interpredicted according to the type of processing applied to the PU pixels. In the case of interprediction, a PU represents an area of pixels that is processed by motion compensation using a motion vector specified for a PU. For intraprediction, the PU specifies a prediction mode for a set of transform units (TUs). A TU can have different sizes (e.g. 4x4, 8x8, 16x16 and 32x32 pixels) and can be processed in different modes. For a TU transform a coding is being performed, that is, the prediction error is being transformed with a discrete cosine transform (DCT) and quantized. As a result, the reconstructed pixels contain quantization noise and blocking artifacts that can influence the prediction accuracy.
[009] De modo a reduzir esta influência sobre a intrapredição, uma filtragem de pixels de referência foi adotada para HEVC/H.265. Para interpredição, pixels de referência são calculados utilizando interpolação subpixel. Uma suavização de pixels de referência no caso de compensação de movimento pode ser combinada com filtragem antidescontinuidade de processo de interpolação de subpixel.[009] In order to reduce this influence on intraprediction, a reference pixel filtering was adopted for HEVC/H.265. For interprediction, reference pixels are calculated using subpixel interpolation. A smoothing of reference pixels in the case of motion compensation can be combined with anti-discontinuity filtering of subpixel interpolation process.
[0010] Técnicas de suavização de intrapredição de modo adaptável foram apresentadas. A filtragem de suavização depende do modo de intrapredição selecionado e um sinalizador codificado no fluxo de bits de vídeo. Dependendo do modo de intrapredição definido para um bloco, amostras de referência poderiam ser ou suavizadas por um filtro ou utilizadas sem serem modificadas. Para o caso quando as amostras de referência são suavizadas, a seleção do filtro de suavização pode estar baseada também no modo de intrapredição. Além disso, esta seleção poderia ser executada de acordo com o valor de um sinalizador reconstruído de um fluxo de bits.[0010] Adaptive mode intraprediction smoothing techniques were presented. Smoothing filtering depends on the selected intraprediction mode and a flag encoded in the video bitstream. Depending on the intraprediction mode defined for a block, reference samples could be either smoothed by a filter or used without being modified. For the case when the reference samples are smoothed, the selection of the smoothing filter can also be based on the intraprediction mode. Furthermore, this selection could be performed according to the value of a reconstructed flag from a bitstream.
[0011] O padrão HEVC/H.265 corrente utiliza esta técnica parcialmente. Especificamente, a suavização de filtro é desligada para diversas combinações de intramodo e tamanho de bloco.[0011] The current HEVC/H.265 standard partially uses this technique. Specifically, filter smoothing is turned off for various intramode and block size combinations.
[0012] Um filtro adaptável de amostra de referência (RSAF) foi sugerido como uma extensão do filtro de amostra de referência adotado para o padrão HEVC/H.265. Este filtro adaptável segmenta as amostras de referência antes da suavização para aplicar diferentes filtros a diferentes segmentos. Além disso, um procedimento de ocultação de dados foi utilizado para sinalizar um sinalizador de suavização. Uma versão simplificada de filtro adaptável para amostras de referência foi adotada para o Joint Exploration Model 1 (JEM1) que contém diversas outras ferramentas as quais utilizam suavização, incluindo: - Filtro de intra-interpolação de quatro derivações, - Filtros de predição de fronteira, e/ou - Intrapredição de múltiplos parâmetros (MPI), a qual pode ser substituída por Combinação de Intrapredição Dependente de Posição (PDPC)[0012] A reference sample adaptive filter (RSAF) has been suggested as an extension of the reference sample filter adopted for the HEVC/H.265 standard. This adaptive filter segments the reference samples before smoothing to apply different filters to different segments. Additionally, a data hiding procedure was used to flag a smoothing flag. A simplified version of the adaptive filter for reference samples was adopted for the Joint Exploration Model 1 (JEM1) which contains several other tools which use smoothing, including: - Four-lead intra-interpolation filter, - Boundary prediction filters, and/or - Multi-parameter Intraprediction (MPI), which can be replaced by Position Dependent Intraprediction Combination (PDPC)
[0013] Os problemas dos métodos acima incluem um alto esforço de sinalização e uma supersuavização do vídeo durante a codificação ou decodificação.[0013] Problems with the above methods include high signaling effort and over-smoothing of the video during encoding or decoding.
[0014] O objetivo da presente invenção é prover um dispositivo de codificação de vídeo e um método para configurar uma sequência de filtros para codificação de vídeo, em que o dispositivo de codificação de vídeo e o método para configurar uma sequência de filtros superam um ou mais dos problemas acima mencionados.[0014] The object of the present invention is to provide a video coding device and a method for configuring a sequence of filters for video coding, wherein the video coding device and the method for configuring a sequence of filters overcome one or more of the problems mentioned above.
[0015] Um primeiro aspecto da invenção provê um dispositivo de codificação de vídeo, que compreende: - uma sequência de filtros que são configuráveis por um ou mais parâmetros primários e um ou mais parâmetros secundários, e - um controlador de filtro configurado para ajustar os um ou mais parâmetros secundários com base nos um ou mais parâmetros primários e com base em um critério de intensidade da sequência de filtros.[0015] A first aspect of the invention provides a video coding device, which comprises: - a sequence of filters that are configurable by one or more primary parameters and one or more secondary parameters, and - a filter controller configured to adjust the one or more secondary parameters based on the one or more primary parameters and based on a filter sequence strength criterion.
[0016] O dispositivo de codificação de vídeo do primeiro aspecto pode ajustar os um ou mais parâmetros secundários de modo que um critério de intensidade de uma sequência de filtros seja atendido. Por exemplo, como abaixo delineado, o critério de intensidade pode referir a uma suavização global e o controlador de filtro pode ajustar os parâmetros secundários de modo que uma suavização global da sequência de etapas de filtragem não seja muito alta e não muito baixa. Em outras palavras, o controlador de filtro pode estar configurado para assegurar que um critério de intensidade de uma sequência de filtros esteja dentro de uma faixa predeterminada.[0016] The video coding device of the first aspect may adjust the one or more secondary parameters so that an intensity criterion of a filter sequence is met. For example, as outlined below, the intensity criterion may refer to a global smoothing and the filter controller may adjust the secondary parameters so that a global smoothing of the sequence of filtering steps is not too high and not too low. In other words, the filter controller may be configured to ensure that an intensity criterion of a filter sequence is within a predetermined range.
[0017] O dispositivo de codificação de vídeo do primeiro aspecto pode estar configurado para codificação e/ou decodificação de vídeo.[0017] The video encoding device of the first aspect may be configured for video encoding and/or decoding.
[0018] O controlador de filtro pode estar configurado para somente parcialmente ajustar um ou mais dos parâmetros secundários. Por exemplo, um parâmetro secundário pode ser lido de um fluxo de bits ou um ajuste de usuário e ajustado, por exemplo, dentro de uma certa faixa, pelo controlador de filtro. Em outras modalidades, o controlador de filtro pode também estar configurado para ignorar um valor de um parâmetro secundário que foi derivado de outro modo, por exemplo, de um fluxo de bits ou um ajuste de usuário.[0018] The filter controller may be configured to only partially adjust one or more of the secondary parameters. For example, a secondary parameter may be read from a bitstream or a user setting and adjusted, for example, within a certain range, by the filter controller. In other embodiments, the filter controller may also be configured to ignore a value of a secondary parameter that was otherwise derived, for example, from a bit stream or a user setting.
[0019] Na técnica anterior, um trabalho não harmonioso de ferramentas de codificação de vídeo incluindo RSAF pode resultar em supersuavização que - reduz o desempenho de codificação global já que um próximo filtro não leva em conta os efeitos causados por filtros anteriores, e/ou - aumenta a complexidade computacional global já que todos os filtros acima mencionados são constantemente ligados.[0019] In the prior art, non-harmonious working of video coding tools including RSAF can result in over-smoothing which - reduces overall coding performance as a next filter does not take into account the effects caused by previous filters, and/or - increases the overall computational complexity since all the above mentioned filters are constantly turned on.
[0020] Isto pode ser evitado com o dispositivo de codificação de vídeo do primeiro aspecto. Mais ainda, como os parâmetros secundários não precisam ser armazenados em um fluxo de bits, em certas modalidades um esforço de sinalização pode ser reduzido.[0020] This can be avoided with the video coding device of the first aspect. Furthermore, as secondary parameters do not need to be stored in a bit stream, in certain embodiments a signaling effort can be reduced.
[0021] Em uma modalidade preferida, o dispositivo de codificação de vídeo do primeiro aspecto pode resolver o problema mencionado de supersuavização ajustando o parâmetro destes filtros da sequência de filtros que utilizam suavização. Este ajuste pode ser conseguido, por exemplo, introduzindo um sinalizador ou some condições para os filtros que utilizam suavização. O sinalizador e/ou as condições podem ser utilizados - para ligar e desligar os mecanismos de suavização das ferramentas, e/ou - para mudar a intensidade de suavização de filtros (por exemplo, mudando de filtros fortes para uns fracos).[0021] In a preferred embodiment, the video coding device of the first aspect can solve the aforementioned problem of over-smoothing by adjusting the parameter of these filters of the sequence of filters that use smoothing. This adjustment can be achieved, for example, by introducing a flag or add conditions for filters that use smoothing. The flag and/or conditions can be used - to turn on and off the tools' smoothing mechanisms, and/or - to change the intensity of filter smoothing (for example, switching from strong filters to weak ones).
[0022] O controlador de filtro do dispositivo de codificação de vídeo do primeiro aspecto pode estar configurado para controlar não apenas um único filtro, mas múltiplos filtros. Isto pode ser considerado como um mecanismo para harmonizar diferentes filtros que impactam os resultados de intrapredição, por exemplo, por suavização. Especificamente, o controlador de filtro pode estar configurado para fazer os seguintes ajustes: - um mecanismo de processamento de amostra pode ser mudado conforme alguns módulos de filtro podem ser desligados sujeitos a um valor de sinalizador e/ou atendendo algumas condições; - um novo módulo de filtro pode ser introduzido para prover o controle sobre todos os filtros que impactam os resultados de intrapredição suavizando-os.[0022] The filter controller of the video coding device of the first aspect may be configured to control not just a single filter, but multiple filters. This can be considered as a mechanism to harmonize different filters that impact intraprediction results, for example, by smoothing. Specifically, the filter controller may be configured to make the following adjustments: - a sample processing mechanism may be changed as some filter modules may be turned off subject to a flag value and/or meeting some conditions; - a new filter module can be introduced to provide control over all filters that impact the intraprediction results by smoothing them.
[0023] Em uma primeira implementação do dispositivo de codificação de vídeo de acordo com o primeiro aspecto, o critério de intensidade compreende: - um critério de suavização, - uma razão de um fator de amplificação para um domínio de alta frequência e um fator de amplificação for a domínio de baixa frequência, e/ou - uma razão de um valor de contraste antes da filtragem e um valor de contraste após a filtragem.[0023] In a first implementation of the video coding device according to the first aspect, the intensity criterion comprises: - a smoothing criterion, - a ratio of an amplification factor to a high frequency domain and a amplification is in the low frequency domain, and/or - a ratio of a contrast value before filtering and a contrast value after filtering.
[0024] Isto permite otimizar a sequência de filtros para um ou mais dos critérios acima. Como acima delineado, de preferência os ajustes pelo controlador de filtro podem ser executados de modo que o critério de intensidade da sequência de filtros esteja dentro de uma certa faixa, por exemplo, a faixa predeterminada.[0024] This allows you to optimize the filter sequence for one or more of the above criteria. As outlined above, preferably adjustments by the filter controller can be carried out so that the intensity criterion of the filter sequence is within a certain range, for example, the predetermined range.
[0025] Em uma segunda implementação do dispositivo de codificação de vídeo de acordo com o primeiro aspecto, os um ou mais parâmetros primários são parâmetros predeterminados, especificamente parâmetros que são predeterminados de um fluxo de bits codificados, um ajuste de usuário e/ou um loop de pesquisa de parâmetro em um dispositivo de codificação.[0025] In a second implementation of the video encoding device according to the first aspect, the one or more primary parameters are predetermined parameters, specifically parameters that are predetermined from an encoded bit stream, a user setting and/or a parameter lookup loop in an encoding device.
[0026] Determinar os parâmetros secundários dos parâmetros primários, em que, por exemplo, somente os parâmetros primários são predeterminados, tem a vantagem que um esforço de sinalização pode ser reduzido. Por exemplo, uma taxa de bits pode ser reduzida se os parâmetros secundários não forem armazenados no fluxo de bits, mas possam ser derivados dos parâmetros primários no fluxo de bits.[0026] Determining the secondary parameters from the primary parameters, where, for example, only the primary parameters are predetermined, has the advantage that a signaling effort can be reduced. For example, a bitrate can be reduced if secondary parameters are not stored in the bitstream but can be derived from the primary parameters in the bitstream.
[0027] Em uma terceira implementação do dispositivo de codificação de vídeo de acordo com o primeiro aspecto, a sequência de filtros compreende um ou mais filtros primários que são configuráveis por um ou mais parâmetros primários e um ou mais filtros secundários que são configuráveis por um ou mais parâmetros secundários, em que os um ou mais filtros primários estão localizados na sequência de filtros antes dos um ou mais filtros secundários.[0027] In a third implementation of the video coding device according to the first aspect, the filter sequence comprises one or more primary filters that are configurable by one or more primary parameters and one or more secondary filters that are configurable by a or more secondary parameters, wherein the one or more primary filters are located in the filter sequence before the one or more secondary filters.
[0028] Ajustar os parâmetros de filtros em estágios posteriores tem a vantagem que um efeito dos filtros de estágio anterior pode possivelmente ser desfeito ou pelo menos não adicionalmente intensificados. Por exemplo, se os filtros de estágio anterior geraram uma certa intensidade de suavização, pode ser assegurado que os estágios de filtro posteriores não aumentem este efeito de suavização. Por exemplo, um sinalizador de suavização de estágios de filtro posteriores pode ser desligado.[0028] Adjusting the filter parameters in later stages has the advantage that an effect of the earlier stage filters can possibly be undone or at least not further intensified. For example, if previous stage filters generated a certain amount of smoothing, it can be ensured that later filter stages do not increase this smoothing effect. For example, a smoothing flag of later filter stages may be turned off.
[0029] Em outras modalidades da invenção, os parâmetros primários podem estar relacionados com estágios de filtro posteriores e os parâmetros secundários com estágios de filtro anteriores.[0029] In other embodiments of the invention, the primary parameters may be related to later filter stages and the secondary parameters to earlier filter stages.
[0030] Em uma quarta implementação do dispositivo de codificação de vídeo de acordo com o primeiro aspecto, a sequência de filtros compreende: - um filtro de amostra de referência configurado para adaptavelmente filtrar uma ou mais amostras vizinhas de um bloco de vídeo corrente para obter uma ou mais amostras de referência, e - um filtro de interpolação configurado para predizer uma ou mais amostras do bloco de vídeo corrente utilizando uma interpolação das uma ou mais amostras de referência, em que os um ou mais parâmetros primários compreendem um parâmetro de referência do filtro de amostra de referência e os um ou mais parâmetros secundários compreendem um parâmetro de seleção do filtro de interpolação, em que o filtro de interpolação está configurado para utilizar um método de interpolação de acordo com o parâmetro de seleção.[0030] In a fourth implementation of the video coding device according to the first aspect, the filter sequence comprises: - a reference sample filter configured to adaptively filter one or more neighboring samples of a current video block to obtain one or more reference samples, and - an interpolation filter configured to predict one or more samples of the current video block using an interpolation of the one or more reference samples, wherein the one or more primary parameters comprise a reference parameter of the reference sample filter and the one or more secondary parameters comprise an interpolation filter selection parameter, wherein the interpolation filter is configured to use an interpolation method in accordance with the selection parameter.
[0031] A sequência de filtros do dispositivo de codificação de vídeo da quarta implementação pode ser, por exemplo, uma sequência de filtros para intrapredição.[0031] The filter sequence of the video coding device of the fourth implementation may be, for example, a filter sequence for intraprediction.
[0032] De preferência, o controlador de filtro está configurado para determinar o parâmetro de seleção com base no parâmetro de referência. Isto se mostrou ser um método efetivo para aperfeiçoar um critério de intensidade de filtro global.[0032] Preferably, the filter controller is configured to determine the selection parameter based on the reference parameter. This proved to be an effective method for improving a global filter strength criterion.
[0033] Em uma quinta implementação do dispositivo de codificação de vídeo de acordo com o primeiro aspecto, os um ou mais parâmetros primários incluem um sinalizador de filtro de amostras de referência de um filtro de amostras de referência e os um ou mais parâmetros secundários incluem um parâmetro de intensidade de filtro de um filtro de interpolação de intrapredição.[0033] In a fifth implementation of the video coding device according to the first aspect, the one or more primary parameters include a reference sample filter flag of a reference sample filter and the one or more secondary parameters include a filter strength parameter of an intraprediction interpolation filter.
[0034] De preferência, o controlador de filtro está configurado para determinar o parâmetro de intensidade de filtro com base no sinalizador de filtro de amostras de referência. Isto se mostrou ser um método efetivo para aperfeiçoar um critério de intensidade de filtro global.[0034] Preferably, the filter controller is configured to determine the filter intensity parameter based on the reference sample filter flag. This proved to be an effective method for improving a global filter strength criterion.
[0035] Em uma sexta implementação do dispositivo de codificação de vídeo de acordo com o primeiro aspecto, a sequência de filtros compreende um filtro de suavização de fronteira o qual está configurado para executar uma suavização de fronteira para uma ou mais unidades de transformada que pertencem a uma ou mais unidades de predição que atendem uma restrição de tamanho.[0035] In a sixth implementation of the video coding device according to the first aspect, the filter sequence comprises a boundary smoothing filter which is configured to perform boundary smoothing for one or more transform units belonging to to one or more prediction units that meet a size constraint.
[0036] Isto tem a vantagem que um filtro de suavização de fronteira reduz a visibilidade de artefatos de bloqueio para blocos reconstruídos. Uma unidade de predição tipicamente contém uma região de imagem de um certo tipo: borda, textura, região suave, etc. No entanto, para maiores PUs a probabilidade de uma região suave é mais alta. Para regiões suaves os artefatos de bloqueio são mais cruciais e com isto, a suavização de fronteira para grandes PUs é mais preferível do que para aquelas menores. Consequentemente, é proposto restringir a suavização de fronteira com o tamanho de PU (por exemplo, pelo tamanho de 32x32 pixels). Utilizando esta restrição é possível, por um lado, evitar um borramento indesejável para regiões não suaves de menores PUs e por outro lado, reduzir os artefatos de bloqueio para maiores PUs. Isto permite aperfeiçoar a qualidade tanto objetiva quanto subjetiva se comparado com o caso quando a suavização de fronteira é predefinida para intrapredição.[0036] This has the advantage that a boundary smoothing filter reduces the visibility of blocking artifacts for reconstructed blocks. A prediction unit typically contains an image region of a certain type: edge, texture, smooth region, etc. However, for larger PUs the probability of a smooth region is higher. For smooth regions, blocking artifacts are more crucial and therefore, boundary smoothing for large PUs is more preferable than for smaller ones. Consequently, it is proposed to restrict the boundary smoothing with the size of PU (for example, by the size of 32x32 pixels). Using this constraint it is possible, on the one hand, to avoid undesirable blurring for non-smooth regions of smaller PUs and, on the other hand, to reduce blocking artifacts for larger PUs. This allows to improve both objective and subjective quality compared to the case when boundary smoothing is predefined for intraprediction.
[0037] Em uma sétima implementação do dispositivo de codificação de vídeo de acordo com o primeiro aspecto, os um ou mais parâmetros primários incluem um parâmetro de direção de um filtro de bloco predito e os um ou mais parâmetros secundários incluem um parâmetro de liga- desliga de um filtro de suavização de fronteira.[0037] In a seventh implementation of the video coding device according to the first aspect, the one or more primary parameters include a direction parameter of a predicted block filter and the one or more secondary parameters include a link parameter. turns off a boundary smoothing filter.
[0038] De preferência, o controlador de filtro está configurado para determinar o parâmetro de liga-desliga do filtro de suavização de fronteira com base no parâmetro de direção do filtro de bloco predito. Isto se mostrou ser um método efetivo para aperfeiçoar um critério de intensidade de filtro global.[0038] Preferably, the filter controller is configured to determine the on-off parameter of the boundary smoothing filter based on the predicted block filter direction parameter. This proved to be an effective method for improving a global filter strength criterion.
[0039] Em uma oitava implementação do dispositivo de codificação de vídeo de acordo com o primeiro aspecto, a sequência de filtros compreende: - um filtro de interpolação de subpixel configurado para adaptavelmente filtrar amostras de um bloco de referência para obter um bloco de referência interpolado, e - um filtro passa baixa e/ou passa alta configurado para suavizar e/ou aguçar o bloco de referência interpolado para obter um bloco de referência filtrado, em que os um ou mais parâmetros primários compreendem um parâmetro de interpolação do filtro de interpolação e os um ou mais parâmetros secundários compreendem um parâmetro de seleção dos filtros de aguçamento e/ou suavização, em que a derivação dos parâmetros secundários é determinada pelo parâmetro do filtro de interpolação.[0039] In an eighth implementation of the video coding device according to the first aspect, the filter sequence comprises: - a subpixel interpolation filter configured to adaptively filter samples of a reference block to obtain an interpolated reference block , and - a low-pass and/or high-pass filter configured to smooth and/or sharpen the interpolated reference block to obtain a filtered reference block, wherein the one or more primary parameters comprise an interpolation parameter of the interpolation filter and the one or more secondary parameters comprise a sharpening and/or smoothing filter selection parameter, wherein the derivation of the secondary parameters is determined by the interpolation filter parameter.
[0040] A sequência de filtros do dispositivo de codificação de vídeo da oitava implementação pode ser, por exemplo, uma sequência de filtros for interpredição.[0040] The filter sequence of the video coding device of the eighth implementation may be, for example, a filter sequence for interprediction.
[0041] De preferência, o controlador de filtro está configurado para determinar o parâmetro de seleção dos filtros de aguçamento e/ou suavização com base no parâmetro de interpolação. Isto se mostrou ser um método efetivo para aperfeiçoar um critério de suavização global.[0041] Preferably, the filter controller is configured to determine the selection parameter of the sharpening and/or smoothing filters based on the interpolation parameter. This proved to be an effective method for improving a global smoothing criterion.
[0042] É notado que um critério de suavização da sequência de filtros pode também ser dependente de posição. Por exemplo, um filtro poderia introduzir uma forte suavização em uma região e um forte aguçamento em outra região. Assim, o controlador de filtro poderia estar configurado para ajustar diferentes parâmetros secundários para diferentes regiões de um ou mais quadros de imagem do vídeo.[0042] It is noted that a filter sequence smoothing criterion may also be position dependent. For example, a filter could introduce strong smoothing in one region and strong sharpening in another region. Thus, the filter controller could be configured to adjust different secondary parameters for different regions of one or more image frames of the video.
[0043] Em uma nona implementação da codificação de vídeo do dispositivo de codificação de vídeo do primeiro aspecto, a sequência de filtros compreende um filtro de loop adaptável configurado para utilizar um livro de códigos selecionado para indicar um ou mais coeficientes de filtro em um fluxo de bits, em que o controlador de filtro está configurado para selecionar o livro de códigos entre uma pluralidade de livros de códigos com base nos um ou mais parâmetros primários.[0043] In a ninth video coding implementation of the video coding device of the first aspect, the filter sequence comprises an adaptive loop filter configured to utilize a selected codebook to indicate one or more filter coefficients in a stream of bits, wherein the filter controller is configured to select the codebook from among a plurality of codebooks based on the one or more primary parameters.
[0044] Os coeficientes de filtro de loop adaptável sendo codificados por uma pluralidade de livros de códigos se aproveita das informações anteriores sobre o processamento que foi aplicado e um sinal de entrada do filtro de loop adaptável. Se uma suavização já foi aplicada a um sinal sendo processado pelo filtro de loop adaptável, é conhecido que o filtro de loop adaptável pode somente introduzir uma filtragem passa alta. Portanto, algumas das combinações de coeficientes do filtro de loop adaptável tornaram-se indisponíveis. Esta propriedade é utilizada para manter dois ou mais ou more livros de códigos consequentemente para pelo menos dois casos: quando um filtro de loop adaptável é aplicado a um sinal de entrada já suavizado e quando nenhuma suavização foi aplicada na entrada do filtro de loop adaptável.[0044] The adaptive loop filter coefficients being encoded by a plurality of codebooks takes advantage of prior information about the processing that has been applied and an adaptive loop filter input signal. If smoothing has already been applied to a signal being processed by the adaptive loop filter, it is known that the adaptive loop filter can only introduce high pass filtering. Therefore, some of the adaptive loop filter coefficient combinations have become unavailable. This property is used to maintain two or more or more codebooks accordingly for at least two cases: when an adaptive loop filter is applied to an already smoothed input signal and when no smoothing has been applied to the input of the adaptive loop filter.
[0045] Por exemplo, a pluralidade de livros de códigos pode compreender um primeiro e um segundo livro de códigos, em que o primeiro livro de códigos somente compreende coeficientes para filtragem tanto passa alta quanto passa baixa e o segundo livro de códigos somente compreende coeficientes for filtragem passa baixa.[0045] For example, the plurality of codebooks may comprise a first and a second codebook, wherein the first codebook only comprises coefficients for both high-pass and low-pass filtering and the second codebook only comprises coefficients for for low pass filtering.
[0046] Em uma modalidade preferida, a pluralidade de livros de códigos compreende mais do que dois livros de códigos, em que de preferência os diferentes livros de códigos da pluralidade de livros de códigos correspondem a diferentes intensidades de filtragem de filtros aplicados após ALF.[0046] In a preferred embodiment, the plurality of codebooks comprises more than two codebooks, wherein preferably the different codebooks of the plurality of codebooks correspond to different filtering strengths of filters applied after ALF.
[0047] Em uma décima implementação do dispositivo de codificação de vídeo de acordo com a nona implementação do primeiro aspecto, a sequência de filtros ainda compreende: - um filtro de desblocagem configurado para processar bordas verticais com base em um parâmetro de intensidade de filtro vertical e/ou bordas horizontais com base em um parâmetro de intensidade de filtro horizontal, e - um filtro de deslocamento adaptável de amostra, SAO, configurado para classificar os pixels e adicionar valores de deslocamento aos pixels de acordo com um parâmetro de classe de SAO, em que os um ou mais parâmetros primários compreendem o parâmetro de classe de SAO e um parâmetro de tipo de SAO do filtro de SAO e os um ou mais parâmetros secundários compreendem o parâmetro de intensidade de filtro horizontal e o parâmetro de intensidade vertical em que o controlador de filtro está configurado para derivar os parâmetros secundários com base no parâmetro de classe de SAO e/ou o parâmetro de tipo de SAO do filtro de SAO, e/ou em que o controlador de filtro está configurado para selecionar o livro de códigos dentre a pluralidade de livros de códigos com base no parâmetro de tipo de SAO.[0047] In a tenth implementation of the video coding device according to the ninth implementation of the first aspect, the filter sequence further comprises: - a deblocking filter configured to process vertical edges based on a vertical filter strength parameter and/or horizontal borders based on a horizontal filter intensity parameter, and - a sample adaptive offset filter, SAO, configured to classify the pixels and add offset values to the pixels according to an SAO class parameter, wherein the one or more primary parameters comprise the SAO class parameter and an SAO filter SAO type parameter and the one or more secondary parameters comprise the horizontal filter intensity parameter and the vertical intensity parameter wherein the filter controller is configured to derive secondary parameters based on the SAO class parameter and/or the SAO type parameter of the SAO filter, and/or the filter controller is configured to select the codebook from among the plurality of codebooks based on the SAO type parameter.
[0048] A sequência de filtros do dispositivo de codificação de vídeo da décima implementação pode ser, por exemplo, uma sequência de filtros em loop.[0048] The filter sequence of the video coding device of the tenth implementation may be, for example, a looped filter sequence.
[0049] Uma implementação adicional do dispositivo de codificação de vídeo do primeiro aspecto refere-se a um dispositivo de codificação de vídeo de uma das implementações anteriores do primeiro aspecto, em que os parâmetros secundários de intensidade de filtro de desblocagem de bordas verticais e horizontais são diferentes e em que uma razão da intensidade de filtro de desblocagem vertical e a intensidade de filtro de desblocagem horizontal é ajustada com base na dita classe de SAO.[0049] A further implementation of the video coding device of the first aspect refers to a video coding device of one of the previous implementations of the first aspect, wherein the secondary vertical and horizontal edge deblocking filter strength parameters are different and wherein a ratio of the vertical deblocking filter strength and the horizontal deblocking filter strength is adjusted based on said SAO class.
[0050] Uma implementação adicional do dispositivo de codificação de vídeo do primeiro aspecto refere-se a um dispositivo de codificação de vídeo de uma das implementações anteriores do primeiro aspecto, em que a sequência de filtros não contém filtro de loop adaptável ou em que o controlador de filtro não ajusta os parâmetros de um filtro em loop.[0050] A further implementation of the video coding device of the first aspect refers to a video coding device of one of the previous implementations of the first aspect, wherein the filter sequence does not contain an adaptive loop filter or wherein the filter controller does not adjust the parameters of a looped filter.
[0051] Uma implementação adicional do dispositivo de codificação de vídeo do primeiro aspecto refere-se a um dispositivo de codificação de vídeo de uma das implementações anteriores do primeiro aspecto, em que a sequência de filtros não contém um filtro de desblocagem ou em que o controlador de filtro não ajusta os parâmetros de um filtro de desblocagem.[0051] A further implementation of the video coding device of the first aspect refers to a video coding device of one of the previous implementations of the first aspect, wherein the filter sequence does not contain an unblocking filter or wherein the filter controller does not adjust the parameters of an unblocking filter.
[0052] Um segundo aspecto da invenção refere-se a um método para configurar uma sequência de filtros para codificação de vídeo, o método compreendendo: - ajustar um ou mais parâmetros secundários com base em um ou mais parâmetros primários e com base em um critério de intensidade da sequência de filtros, e - configurar a sequência de filtros com os parâmetros primários e secundários.[0052] A second aspect of the invention relates to a method for configuring a sequence of filters for video coding, the method comprising: - adjusting one or more secondary parameters based on one or more primary parameters and based on a criterion intensity of the filter sequence, and - configure the filter sequence with the primary and secondary parameters.
[0053] Em uma primeira implementação do método do segundo aspecto, o método ainda compreende uma etapa inicial de determinar os um ou mais parâmetros primários de um fluxo de bits.[0053] In a first implementation of the method of the second aspect, the method further comprises an initial step of determining the one or more primary parameters of a bit stream.
[0054] Os métodos de acordo com o segundo aspecto da invenção podem ser executados pelo dispositivo de codificação de vídeo de acordo com o primeiro aspecto da invenção. Características ou implementações adicionais do método de acordo com o segundo aspecto da invenção podem executar a funcionalidade do dispositivo de codificação de vídeo de acordo com o primeiro aspecto da invenção e suas diferentes formas de implementação.[0054] The methods according to the second aspect of the invention can be performed by the video coding device according to the first aspect of the invention. Additional features or implementations of the method according to the second aspect of the invention can perform the functionality of the video coding device according to the first aspect of the invention and its different forms of implementation.
[0055] Um terceiro aspecto da invenção refere-se a um meio de armazenamento legível por computador que armazena um código de programa, o código de programa compreendendo instruções para executar o método do terceiro aspecto ou uma das implementações do terceiro aspecto.[0055] A third aspect of the invention relates to a computer-readable storage medium that stores a program code, the program code comprising instructions for executing the method of the third aspect or one of the implementations of the third aspect.
[0056] Para ilustrar as características técnicas de modalidades da presente invenção mais claramente, os desenhos acompanhantes providos para descrever as modalidades estão introduzidos resumidamente a seguir. Os desenhos acompanhantes in na descrição seguinte meramente mostram algumas modalidades da presente invenção. Modificações destas modalidades são possíveis sem afastar do escopo da presente invenção como definido nas concretizações.[0056] To illustrate the technical characteristics of embodiments of the present invention more clearly, the accompanying drawings provided to describe the embodiments are briefly introduced below. The accompanying drawings in the following description merely show some embodiments of the present invention. Modifications of these embodiments are possible without departing from the scope of the present invention as defined in the embodiments.
[0057] Figura 1 é um diagrama de blocos que ilustra um dispositivo de codificação de vídeo de acordo com uma modalidade da presente invenção,[0057] Figure 1 is a block diagram illustrating a video encoding device in accordance with an embodiment of the present invention,
[0058] Figura 2 é um fluxograma de um método para configurar uma sequência de filtros para codificação de vídeo de acordo com uma modalidade adicional da presente invenção,[0058] Figure 2 is a flowchart of a method for configuring a sequence of filters for video coding in accordance with a further embodiment of the present invention,
[0059] Figura 3 é um esquema de estrutura de uma sequência de filtros for intrapredição de acordo com uma modalidade adicional da presente invenção,[0059] Figure 3 is a schematic structure of a sequence of filters for intraprediction according to an additional embodiment of the present invention,
[0060] Figura 4 é um fluxograma de um método para configurar uma sequência de filtros for filtragem adaptável de amostra de referência controlada de acordo com uma modalidade adicional da presente invenção,[0060] Figure 4 is a flowchart of a method for configuring a sequence of filters for controlled reference sample adaptive filtering in accordance with a further embodiment of the present invention,
[0061] Figura 5 é um fluxograma de um método para configurar uma sequência de filtros for intrapredição de acordo com uma modalidade adicional da presente invenção,[0061] Figure 5 is a flowchart of a method for configuring a sequence of filters for intraprediction in accordance with a further embodiment of the present invention,
[0062] Figura 6 é um fluxograma de um método para configurar uma sequência de filtros for suavização de fronteira de acordo com uma modalidade adicional da presente invenção,[0062] Figure 6 is a flowchart of a method for configuring a sequence of filters for boundary smoothing in accordance with a further embodiment of the present invention,
[0063] Figura 7 é um esquema de estrutura de uma sequência de filtros para intrapredição de acordo com uma modalidade adicional da presente invenção,[0063] Figure 7 is a schematic structure of a sequence of filters for intraprediction according to an additional embodiment of the present invention,
[0064] Figura 8 é um fluxograma de um método para configurar uma sequência de filtros para intrapredição de acordo com uma modalidade adicional da presente invenção,[0064] Figure 8 is a flowchart of a method for configuring a sequence of filters for intraprediction in accordance with a further embodiment of the present invention,
[0065] Figura 9 é um fluxograma de um método for intrapredição com um módulo de controle de filtro no lado de decodificador de acordo com uma modalidade adicional da presente invenção,[0065] Figure 9 is a flowchart of a method for intraprediction with a filter control module on the decoder side according to a further embodiment of the present invention,
[0066] Figura 10 é um esquema de estrutura de uma modalidade de interpredição serial-paralela com um módulo de controle de filtro de acordo com uma modalidade adicional da presente invenção,[0066] Figure 10 is a schematic structure of a serial-parallel interprediction modality with a filter control module according to a further embodiment of the present invention,
[0067] Figura 11 é um fluxograma de um método para configurar uma sequência de filtros for interpredição com um módulo de controle de filtro no lado de decodificador de acordo com uma modalidade adicional da presente invenção,[0067] Figure 11 is a flowchart of a method for configuring a filter sequence for interprediction with a decoder-side filter control module in accordance with a further embodiment of the present invention,
[0068] Figura 12 é um esquema de estrutura de uma cadeia de filtros em loop de acordo com uma modalidade adicional da presente invenção,[0068] Figure 12 is a schematic structure of a loop filter chain according to a further embodiment of the present invention,
[0069] Figura 13 é um fluxograma de um método para configurar uma sequência de filtros, em que a filtragem de desblocagem depende de um ou mais parâmetros de SAO, de acordo com uma modalidade adicional da presente invenção,[0069] Figure 13 is a flowchart of a method for configuring a sequence of filters, wherein the unblocking filtering depends on one or more SAO parameters, in accordance with a further embodiment of the present invention,
[0070] Figura 14 é um fluxograma de um método adicional para configurar uma sequência de filtros, em que a filtragem de desblocagem depende de parâmetros de SAO e em que a filtragem ocorre em um lado de decodificador, de acordo com uma modalidade adicional da presente invenção,[0070] Figure 14 is a flowchart of an additional method for configuring a sequence of filters, wherein the deblocking filtering depends on SAO parameters and wherein the filtering occurs on a decoder side, in accordance with a further embodiment of the present invention,
[0071] Figura 15 é um fluxograma de um método para configurar uma sequência de filtros, em que o método ajusta um ou mais parâmetros de ALF de acordo com um ou mais parâmetros de SAO em um lado de decodificador, de acordo com uma modalidade adicional da presente invenção, e[0071] Figure 15 is a flowchart of a method for configuring a filter sequence, wherein the method adjusts one or more ALF parameters in accordance with one or more SAO parameters on a decoder side, according to an additional embodiment of the present invention, and
[0072] Figura 16 é um fluxograma de uma configuração de uma sequência de filtros, em que o método ajusta um ou mais parâmetros de ALF de acordo com um ou mais parâmetros de SAO em um lado de decodificador, de acordo com uma modalidade adicional da presente invenção.[0072] Figure 16 is a flowchart of a configuration of a filter sequence, in which the method adjusts one or more ALF parameters in accordance with one or more SAO parameters on a decoder side, in accordance with an additional embodiment of the present invention.
[0073] A Figura 1 mostra um dispositivo de codificação de vídeo 100, o qual compreende uma sequência de filtros 110 e um controlador de filtro 120.[0073] Figure 1 shows a video coding device 100, which comprises a filter sequence 110 and a filter controller 120.
[0074] A sequência de filtros 110 é configurável por um ou mais parâmetros primários e um ou mais parâmetros secundários. Por exemplo, um primeiro conjunto de filtros de uma sequência de filtros pode ser configurável pelos parâmetros primários e um segundo conjunto de filtros de uma sequência de filtros pode ser configurável pelo segundo conjunto de filtros. O primeiro e segundo conjunto de filtros podem ser sobrepostos.[0074] The filter sequence 110 is configurable by one or more primary parameters and one or more secondary parameters. For example, a first set of filters of a filter sequence may be configurable by the primary parameters and a second set of filters of a filter sequence may be configurable by the second set of filters. The first and second set of filters can be overlapped.
[0075] O controlador de filtro 120 está configurado para ajustar os um ou mais parâmetros secundários com base nos um ou mais parâmetros primários e com base em um critério de intensidade da sequência de filtros 110. Especificamente, o controlador de filtro 120 pode estar configurado para ajustar os um ou mais parâmetros secundários parcialmente com base nos um ou mais primeiros parâmetros. Por exemplo, um valor de um parâmetro secundário pode ser parcialmente baseado em um valor predeterminado, por exemplo, de um fluxo de bits, e parcialmente com base no ajuste baseado nos parâmetros primários.[0075] The filter controller 120 is configured to adjust the one or more secondary parameters based on the one or more primary parameters and based on a strength criterion of the filter sequence 110. Specifically, the filter controller 120 may be configured to adjust the one or more secondary parameters partially based on the one or more first parameters. For example, a value of a secondary parameter may be partially based on a predetermined value, for example, from a bit stream, and partially based on tuning based on the primary parameters.
[0076] A Figura 2 mostra um método 200 para configurar uma sequência de filtros para codificação de vídeo. O método 200 compreende uma primeira etapa 210 de ajustar um ou mais parâmetros secundários com base em um ou mais parâmetros primários e com base em um critério de intensidade da sequência de filtros. O método ainda compreende uma segunda etapa 220 de configurar a sequência de filtros com os parâmetros primários e secundários.[0076] Figure 2 shows a method 200 for configuring a sequence of filters for video encoding. The method 200 comprises a first step 210 of adjusting one or more secondary parameters based on one or more primary parameters and based on a strength criterion of the filter sequence. The method further comprises a second step 220 of configuring the filter sequence with the primary and secondary parameters.
[0077] Um procedimento de intrapredição pode fazer parte de uma cadeia de ferramentas de codificação de vídeo híbridas em um lado de codificador e/ou em um lado de decodificador. Similarmente, um procedimento de interpredição pode compreender uma sequência de filtros (por exemplo, filtros de interpolação e os assim denominados filtros de predição) que são potencialmente capazes de causar ou supersuavização ou superaguçamento de um bloco utilizado como referência que, de fato, é um análogo de um bloco intrapredito para interpredição.[0077] An intraprediction procedure may be part of a hybrid video coding toolchain on an encoder side and/or on a decoder side. Similarly, an interprediction procedure may comprise a sequence of filters (e.g., interpolation filters and so-called prediction filters) that are potentially capable of causing either oversmoothing or oversharpening of a block used as a reference that, in fact, is a analogous to an intrapredict block for interprediction.
[0078] Uma sequência de filtros pode compreender, por exemplo, um ou mais dos seguintes filtros: - Suavização de amostra de referência (por exemplo, RSAF), - Filtragem de interpolação para intrapredição, - Filtragem de bloco intrapredito (por exemplo, MPI ou PDPC), e/ou - Suavização de fronteira.[0078] A filter sequence may comprise, for example, one or more of the following filters: - Reference sample smoothing (e.g. RSAF), - Interpolation filtering for intraprediction, - Intrapredict block filtering (e.g. MPI or PDPC), and/or - Border smoothing.
[0079] Estes filtros podem impactar os resultados de intrapredição por suavização.[0079] These filters can impact the smoothing intraprediction results.
[0080] A Figura 3 ilustra uma sequência de filtros 300 que compreende um módulo de controle de filtro 360 para ajustar parâmetros de filtragem em diferentes estágios de intrapredição. O controlador de módulo de filtro 360 é um controlador de filtro.[0080] Figure 3 illustrates a filter sequence 300 comprising a filter control module 360 for adjusting filtering parameters at different intraprediction stages. The 360 filter module controller is a filter controller.
[0081] Os parâmetros de intrapredição podem incluir, mas não estão limitados a: - um tamanho de uma unidade de predição, - um tamanho de um bloco sendo predito, - um modo de intrapredição, - índice de intramodo de múltiplos parâmetros, e/ou - um sinalizador de filtragem de amostra de referência.[0081] Intraprediction parameters may include, but are not limited to: - a size of a prediction unit, - a size of a block being predicted, - an intraprediction mode, - multi-parameter intramode index, and/ or - a reference sample filtering flag.
[0082] Um ou mais dos parâmetros acima podem ser parâmetros primários ou secundários.[0082] One or more of the above parameters may be primary or secondary parameters.
[0083] À parte do módulo de controle de filtro 360, a sequência de filtros 300 compreende uma unidade de suavização de amostras de referência 310, uma unidade de intrapredição 320, uma unidade de filtro de bloco predito 330, e a unidade de suavização de fronteira 340. A unidade de suavização de amostras de referência 310 está configurada para ser provida com uma ou mais amostras vizinhas 302 como entrada. Esta está configurada para suavizar e/ou adicionalmente processar as uma ou mais amostras vizinhas 302 para obter uma ou mais amostras de referência 312, as quais são providas para a unidade de intrapredição 320 como entrada. A unidade de intrapredição 320 compreende um filtro de interpolação 322. A unidade de intrapredição 320 provê sua saída 324 como entrada para o filtro de bloco predito 330.[0083] Apart from the filter control module 360, the filter sequence 300 comprises a reference sample smoothing unit 310, an intraprediction unit 320, a predicted block filter unit 330, and the boundary 340. The reference sample smoothing unit 310 is configured to be provided with one or more neighboring samples 302 as input. This is configured to smooth and/or further process the one or more neighboring samples 302 to obtain one or more reference samples 312, which are provided to the intraprediction unit 320 as input. The intraprediction unit 320 comprises an interpolation filter 322. The intraprediction unit 320 provides its output 324 as input to the predicted block filter 330.
[0084] O filtro de bloco predito 330 está configurado para computar um ou mais blocos preditos 332, os quais são providos para a unidade de suavização de fronteira 340 como entrada. A unidade de suavização de fronteira 340 gera como saída 342 um ou mais blocos intrapreditos 350.[0084] The predicted block filter 330 is configured to compute one or more predicted blocks 332, which are provided to the boundary smoothing unit 340 as input. The boundary smoothing unit 340 outputs 342 one or more intrapredicted blocks 350.
[0085] Um dispositivo de codificação de vídeo que compreende uma sequência de filtros 300 pode estar configurado para utilizar sinalização implícita ou explícita de filtro de amostras de referência seletivamente, isto é, somente para aquelas TUs que atendem condições específicas.[0085] A video coding device comprising a sequence of filters 300 may be configured to use implicit or explicit filter signaling of reference samples selectively, that is, only for those TUs that meet specific conditions.
[0086] O módulo de controle de filtro 360 pode estar configurado para ler os parâmetros de intrapredição 362 como parâmetros primários. Este pode estar configurado para derivar os parâmetros secundários com base nestes parâmetros primários.[0086] The filter control module 360 may be configured to read the intraprediction parameters 362 as primary parameters. This can be configured to derive secondary parameters based on these primary parameters.
[0087] Resultados de particionamento de quadtree podem ser utilizados como uma indicação de seleção de filtro de amostras de referência utilizando sinalização explícita ou implícita. Especificamente, se o tamanho de uma PU for maior do que um valor de fronteira (por exemplo, 32x32), o sinalizador de filtro de amostra de referência é ajustado para zero. Esta designação cancela as condições da técnica anterior. Se uma condição de um tamanho de PU for verdadeira, somente as opções de "SEM FILTRO" e "APLICAR FILTRO FRACO" poderiam ser selecionadas de acordo com a tamanho de PU e/ou condições de intramodo.[0087] Quadtree partitioning results can be used as an indication of reference sample filter selection using explicit or implicit signaling. Specifically, if the size of a PU is greater than a threshold value (e.g., 32x32), the reference sample filter flag is set to zero. This designation cancels the conditions of the prior art. If a PU size condition is true, only the "NO FILTER" and "APPLY WEAK FILTER" options could be selected according to the PU size and/or intramode conditions.
[0088] A Figura 4 é um fluxograma de um método 400 para configurar uma sequência de filtros para filtragem adaptável de amostra de referência controlada.[0088] Figure 4 is a flowchart of a method 400 for configuring a sequence of filters for controlled reference sample adaptive filtering.
[0089] O método 400 compreende uma primeira etapa 402 de avaliar uma condição relativa a um tamanho de uma unidade de predição. Se a avaliação da condição for verdadeira, o método continua na etapa 404, em que um sinalizador de filtro de amostras de referência é derivado. Se a avaliação da condição relativa a um tamanho de uma unidade de predição for falsa, o método continua na etapa 406, em que um sinalizador de filtro de amostras de referência é ajustado para falso. A etapa 404 ou etapa 406 é seguida por uma etapa 408, em que uma ou mais condições relativas a um intramodo e um tamanho de bloco são avaliadas.[0089] Method 400 comprises a first step 402 of evaluating a condition relative to a size of a prediction unit. If the condition evaluation is true, the method continues to step 404, where a reference sample filter flag is derived. If the evaluation of the condition relative to a size of a prediction unit is false, the method continues to step 406, in which a reference sample filter flag is set to false. Step 404 or step 406 is followed by a step 408, in which one or more conditions relating to an intramode and a block size are evaluated.
[0090] Se o resultado de avaliação da etapa 408 for falso, o método continua na etapa 410, em que o sinalizador de filtro de amostras de referência é avaliado. Se for falso, o método continua na etapa 414, em que o filtro adaptável de amostra de referência é ajustado para não aplicar um filtro. Se na etapa 410 o sinalizador é avaliado como verdadeiro, na etapa 416 a filtro fraco é aplicado. Alternativamente, se a avaliação de condição na etapa 408 foi avaliada como verdadeira, o método continua na etapa 412, em que o sinalizador de filtro de amostras de referência é avaliado. Se a avaliação for falsa, na etapa 416 um filtro fraco é aplicado. Se o sinalizador de filtro de amostras de referência for na etapa 412 avaliado como verdadeiro, um filtro forte é aplicado na etapa 418.[0090] If the evaluation result of step 408 is false, the method continues to step 410, in which the reference sample filter flag is evaluated. If false, the method continues to step 414, where the reference sample adaptive filter is adjusted to not apply a filter. If in step 410 the flag evaluates to true, in step 416 a weak filter is applied. Alternatively, if the condition evaluation in step 408 evaluated as true, the method continues to step 412, in which the reference sample filter flag is evaluated. If the evaluation is false, in step 416 a weak filter is applied. If the reference samples filter flag in step 412 evaluates to true, a strong filter is applied in step 418.
[0091] Os estágios de "APLICAR FILTRO FRACO" e "APLICAR FILTRO FORTE" podem selecionar um filtro de um conjunto de filtros predefinido, logo que a seleção de um filtro específico do conjunto é mapeada para o intramodo e um tamanho de um bloco sendo predito. Esta modalidade específica, a qual tem apenas 3 filtros, não significa que a quantidade dos filtros dentro do conjunto de filtros set não pode ser estendida até uma quantidade arbitrária (por exemplo, 5 estados incluindo o estado de "SEM FILTRO", um "FILTRO FRACO", um "FILTRO FORTE" e dois filtros intermediários).[0091] The "APPLY WEAK FILTER" and "APPLY STRONG FILTER" stages can select a filter from a predefined filter set, as soon as the selection of a specific filter from the set is mapped to the intramode and a block size being predicted. This specific embodiment, which has only 3 filters, does not mean that the number of filters within the filter set cannot be extended to an arbitrary amount (for example, 5 states including the "NO FILTER" state, a "FILTER WEAK", a "STRONG FILTER" and two intermediate filters).
[0092] Em intrapredição direcional, um valor de pixels do bloco predito e uma projeção sobre as fronteiras de bloco esquerdo e superior é calculado. No entanto, a projeção pode ter uma posição fracionária, isto é, esta pode cair entre posições reais de amostras de referência sobre a fronteira. Uma soma ponderada de valores de amostras de referência adjacentes é calculada para determinar um valor de uma amostra do bloco intrapredito. Este processo é de fato um filtro de interpolação linear de duas derivações, o qual pode ser adicionalmente estendido para um filtro de interpolação de quatro derivações.[0092] In directional intraprediction, a pixel value of the predicted block and a projection onto the left and top block boundaries is calculated. However, the projection can have a fractional position, that is, it can fall between real positions of reference samples on the boundary. A weighted sum of values from adjacent reference samples is calculated to determine a value of a sample from the intrapredicted block. This process is in fact a two-lead linear interpolation filter, which can be further extended to a four-lead interpolation filter.
[0093] Os filtros de interpolação de quatro derivações podem ser utilizados para aperfeiçoar a precisão de intrapredição direcional. Em HEVC, um filtro de interpolação linear de duas derivações foi utilizado para gerar o bloco de intrapredição nos modos de predição direcional (isto é, excluindo preditores Planar e DC). Alternativamente, dois tipos de filtros de interpolação lineares de quatro derivações podem ser utilizados: Filtros de interpolação Cúbicos para blocos 4x4 e 8x8, e filtros de interpolação Gaussianos para blocos 16x16 e maiores. Os parâmetros dos filtros são fixos de acordo com o tamanho de bloco, e o mesmo filtro é utilizado para todos os pixels preditos, em todos os modos direcionais.[0093] Four-lead interpolation filters can be used to improve directional intraprediction accuracy. In HEVC, a two-lead linear interpolation filter was used to generate the intraprediction block in directional prediction modes (i.e., excluding Planar and DC predictors). Alternatively, two types of four-lead linear interpolation filters can be used: Cubic interpolation filters for 4x4 and 8x8 blocks, and Gaussian interpolation filters for 16x16 and larger blocks. The filter parameters are fixed according to the block size, and the same filter is used for all predicted pixels, in all directional modes.
[0094] Em HEVC, após o bloco de intrapredição ter sido gerado para intramodos VER e HOR, a coluna mais à esquerda e a linha mais superior das amostras de predição são adicionalmente ajustadas, respectivamente. Isto pode ser adicionalmente estendido para diversos intramodos diagonais, e amostras de fronteira até quatro colunas ou linhas são adicionalmente ajustadas utilizando um filtro de duas derivações (para intramodo 2 & 34) ou de três derivações (para intramodo 3-6 & 30-33).[0094] In HEVC, after the intraprediction block has been generated for VER and HOR intramodes, the leftmost column and the topmost row of the prediction samples are additionally adjusted, respectively. This can be further extended to several diagonal intramodes, and boundary samples up to four columns or rows are additionally fitted using a two-lead (for intramode 2 & 34) or three-lead (for intramode 3-6 & 30-33) filter. .
[0095] A Figura 4 e Figura 5 ilustram duas modalidades para sincronizar uma seleção de um tipo de filtro de interpolação com um processo de filtragem de amostras de referência. Ambas as modalidades consideram que dois tipos de filtro de interpolação poderiam ser aplicados: fraco e forte, por exemplo, um filtro Gaussiano é utilizado para blocos preditos 16x16 e maiores e para outros tamanhos de bloco um filtro Cúbico é selecionado. Para ambas as modalidades, uma seleção de filtro de interpolação pode ser harmonizada com um processo de filtragem de amostras de referência.[0095] Figure 4 and Figure 5 illustrate two modalities for synchronizing a selection of an interpolation filter type with a reference sample filtering process. Both modalities consider that two types of interpolation filter could be applied: weak and strong, for example, a Gaussian filter is used for predicted blocks 16x16 and larger and for other block sizes a Cubic filter is selected. For both modalities, an interpolation filter selection can be harmonized with a reference sample filtering process.
[0096] A Figura 5 é um fluxograma de um método 500 para configurar um filtro de interpolação para intrapredição.[0096] Figure 5 is a flowchart of a method 500 for configuring an interpolation filter for intraprediction.
[0097] O Método 500 Compreende Uma Primeira Etapa 502 De Derivar Um Sinalizador De Filtro De Amostras De Referência. Na Etapa 504, O Sinalizador De Filtro De Amostras De Referência É Avaliado. Se Este For Avaliado Como Verdadeiro, O Método Continua Na Etapa 506 Onde Uma Condição Relativa A Um Tamanho De Um Bloco De Transformada É Avaliada. Se A Condição For Avaliada Como Falsa, O Método Continua Na Etapa 508, Em Que A Filtro De Intra - Interpolação Fraco É Aplicado. Similarmente, Se O Sinalizador De Filtro De Amostras De Referência É Avaliado Como Falso Na Etapa 504, O Método Também Continua Na Etapa 508. Se A Condição Relativa A Um Tamanho De Um Bloco De Transformada For Avaliado Na Etapa 506 Como Verdadeiro, O Método Continua Na Etapa 510, Em Que A Filtro De Intra - Interpolação Forte É Aplicado.[0097] Method 500 Comprises A First Step 502 Of Deriving A Filter Flag From Reference Samples. In Step 504, the Reference Samples Filter Flag is Evaluated. If this evaluates to true, the method continues to step 506 where a condition regarding a size of a transform block is evaluated. If the condition evaluates to false, the method continues to step 508, where the weak intra-interpolation filter is applied. Similarly, if the reference sample filter flag evaluates to false in step 504, the method also continues in step 508. If the condition regarding a size of a transform block evaluates to true in step 506, the method continues In Step 510, Where The Intra Filter - Strong Interpolation Is Applied.
[0098] As modalidades da Figura 4 e Figura 5 têm diferenças com relação à derivação de sinalizador de filtro de amostras de referência. Na modalidade da Figura 4 o sinalizador de filtro de amostras de referência é verdadeiro se o bloco predito de acordo com a condição tiver uma opção de diferentes filtros de amostras de referência. Esta seleção de filtro seleção pode ser sinalizada explicitamente ou implicitamente ou (isto é, mapeando para modo de predição ou utilizando ocultação de dados em dados residuais quantizados). Para a modalidade da Figura 4 o valor de filtro de referência realmente selecionado não é considerado na derivação de sinalizador de filtro de amostras de referência. Mas se a seleção de filtro de amostras de referência for executada para o bloco predito no lado de codificador e a seleção for sinalizada para o decodificador explicitamente ou implicitamente, o valor de sinalizador de amostras de referência é verdadeiro. De outro modo, se um bloco predito tiver um a filtro de referência predefinido ou não tiver amostras de referência filtrando as amostras de referência o sinalizador valor é falso.[0098] The embodiments of Figure 4 and Figure 5 have differences with respect to filter flag derivation from reference samples. In the embodiment of Figure 4, the reference sample filter flag is true if the block predicted according to the condition has an option for different reference sample filters. This filter selection can be signaled explicitly or implicitly (i.e., by mapping to prediction mode or using data hiding on quantized residual data). For the embodiment of Figure 4, the actually selected reference filter value is not considered when deriving the filter flag from reference samples. But if the reference samples filter selection is performed for the predicted block on the encoder side and the selection is signaled to the decoder explicitly or implicitly, the reference samples flag value is true. Otherwise, if a predicted block has a predefined reference filter or has no reference samples filtering the reference samples the flag value is false.
[0099] A modalidade da Figura 5 utiliza um valor de uma seleção de filtro de referência como um valor de sinalizador de amostras de referência. Se um filtro forte for selecionado para as amostras de referência (tal como {1 2 1}, ou filtro de 5 derivações), um valor de sinalizador de amostras de referência é designado para verdadeiro. E similarmente à primeira modalidade, o valor de sinalizador de amostras de referência é falso para os blocos preditos que não tiverem filtragem de referência ou um filtro de amostras de referência fraco foi selecionado.[0099] The embodiment of Figure 5 uses a value from a reference filter selection as a reference sample flag value. If a strong filter is selected for the reference samples (such as {1 2 1}, or 5-lead filter), a reference samples flag value is assigned to true. And similar to the first embodiment, the reference samples flag value is false for predicted blocks that have no reference filtering or a weak reference samples filter has been selected.
[00100] Os efeitos benéficos das modalidades acima descritas são conseguidos por harmonização de filtragem de amostras de referência e processos de interpolação de intrapredição. Pode ser observado que estas modalidades impedem que os blocos preditos sejam muito suavizados.[00100] The beneficial effects of the above-described modalities are achieved by harmonizing reference sample filtering and intraprediction interpolation processes. It can be observed that these modalities prevent the predicted blocks from being greatly smoothed.
[00101] A Figura 6 é um fluxograma de um método 600 para configurar uma sequência de filtros para suavização de fronteira.[00101] Figure 6 is a flowchart of a method 600 for configuring a sequence of filters for boundary smoothing.
[00102] O método 600 compreende uma primeira etapa 602 de determinar se um filtro de bloco predito é direcional. Se assim, o método continua na etapa 604, em que um tamanho de bloco condição é avaliado. Se o tamanho de bloco condição for avaliado como falso ou a direcionalidade de filtro de bloco predito for avaliada como falsa, o método continua na etapa 606, em que uma condição de intramodo é avaliada. Se a condição de intramodo for avaliada como verdadeira, o método continua na etapa 608, em que uma suavização de fronteira é aplicada. De outro modo, e se a condição de tamanho de bloco na etapa 604 for avaliada como verdadeira, nenhuma suavização de fronteira é aplicada.[00102] Method 600 comprises a first step 602 of determining whether a predicted block filter is directional. If so, the method continues to step 604, in which a block size condition is evaluated. If the block size condition evaluates to false or the predicted block filter directionality evaluates to false, the method continues to step 606, in which an intramode condition is evaluated. If the intramode condition evaluates to true, the method continues to step 608, where a boundary smoothing is applied. Otherwise, and if the block size condition in step 604 evaluates to true, no boundary smoothing is applied.
[00103] Uma suavização de fronteira pode ser aplicada se um intramodo de predição for selecionado para ser um DC, horizontal, vertical ou diagonal. A invenção proposta sincroniza a suavização de fronteira com a seleção de um filtro para um bloco predito. Especificamente, a direcionalidade de um filtro de bloco predito é utilizada para tomar a decisão sobre se aplicar uma suavização de fronteira ou não. A direcionalidade é uma propriedade de um filtro espacial que indica a diferença em intensidade de filtragem entre direções de filtragem. Por exemplo, se um filtro bidimensional tiver a mesma intensidade em ambas as direções vertical e horizontal, este filtro é não direcional. Especificamente, para filtros não direcionais uma suavização de fronteira não é aplicada. A intrapredição de múltiplos parâmetros pode ser um exemplo de um filtro de bloco predito. Se esta técnica for utilizada como um filtro de bloco predito, a primeira condição na Figura 6 poderia ser formulada como "índice de MPI é maior do que um".[00103] A boundary smoothing can be applied if an intra-prediction mode is selected to be a DC, horizontal, vertical or diagonal. The proposed invention synchronizes boundary smoothing with the selection of a filter for a predicted block. Specifically, the directionality of a predicted block filter is used to make the decision on whether to apply a boundary smoothing or not. Directionality is a property of a spatial filter that indicates the difference in filtering intensity between filtering directions. For example, if a two-dimensional filter has the same intensity in both vertical and horizontal directions, this filter is non-directional. Specifically, for non-directional filters a boundary smoothing is not applied. Multi-parameter intraprediction can be an example of a predicted block filter. If this technique is used as a predicted block filter, the first condition in Figure 6 could be formulated as "MPI index is greater than one".
[00104] Para o caso oposto quando um filtro de bloco predito é direcional, a invenção considera outra restrição. Se um tamanho de um bloco sendo filtrado for menor do que 32 pixels, a suavização de fronteira é pulada para este bloco apesar da direcionalidade do filtro de bloco predito.[00104] For the opposite case when a predicted block filter is directional, the invention considers another restriction. If a size of a block being filtered is smaller than 32 pixels, boundary smoothing is skipped for this block despite the directionality of the predicted block filter.
[00105] A Figura 7 é um esquema de estrutura de uma sequência de filtros 700 para intrapredição. A sequência de filtros 700 pode ser utilizada para codificar ou decodificar um vídeo.[00105] Figure 7 is a schematic structure of a sequence of filters 700 for intraprediction. The filter sequence 700 can be used to encode or decode a video.
[00106] A sequência de filtros 700 compreende um módulo de controle de filtro 760 que está configurado para ajustar os parâmetros de diversos filtros. Especificamente, a sequência de filtros 700 recebe como entrada uma ou mais amostras vizinhas 702. Estas amostras vizinhas 702 são providas como entrada para um filtro adaptável de amostra de referência, SAF, 710, o qual representa um primeiro filtro da sequência de filtros 700. O filtro adaptável de amostra de referência 710 gera uma ou mais amostras de referência 712, as quais são providas como uma entrada para a unidade de intrapredição 720. A unidade de intrapredição 720 compreende um conjunto de filtros de interpolação de 4 derivações 722, os quais são configuráveis por um ou mais parâmetros de filtro de interpolação.[00106] The filter sequence 700 comprises a filter control module 760 that is configured to adjust the parameters of various filters. Specifically, the filter sequence 700 receives as input one or more neighboring samples 702. These neighboring samples 702 are provided as input to a reference sample adaptive filter, SAF, 710, which represents a first filter of the filter sequence 700. The adaptive reference sample filter 710 generates one or more reference samples 712, which are provided as an input to the intraprediction unit 720. The intraprediction unit 720 comprises a set of 4-lead interpolation filters 722, which are configurable by one or more interpolation filter parameters.
[00107] Uma saída 724 da unidade de intrapredição é provida como entrada para os filtros de predição de fronteira 730. Uma saída 732 dos filtros de predição de fronteira é provida como entrada para uma unidade de combinação de intrapredição de múltiplos parâmetros/intrapredição dependente de posição 740. A unidade 740 gera como saída 742 um ou mais blocos intrapreditos 750.[00107] An output 724 of the intraprediction unit is provided as input to the boundary prediction filters 730. An output 732 of the boundary prediction filters is provided as input to a multi-parameter intraprediction/intraprediction-dependent combination unit. position 740. Unit 740 generates as output 742 one or more intrapredicted blocks 750.
[00108] O filtro adaptável de amostra de referência 710, a unidade de intrapredição 720, os filtros de predição de fronteira 730, e a unidade de combinação de intrapredição de múltiplos parâmetros/intrapredição dependente de posição 740 podem cada um ser configurável por um ou mais parâmetros, os quais podem ser ajustados pelo módulo de controle de filtro 760.[00108] The reference sample adaptive filter 710, the intraprediction unit 720, the boundary prediction filters 730, and the multi-parameter intraprediction/position-dependent intraprediction combination unit 740 may each be configurable by one or more more parameters, which can be adjusted by the 760 filter control module.
[00109] A intrapredição de múltiplos parâmetros (MPI) é um pós- processamento for intrapredição a qual invoca uma suavização adicional com uma fronteira decodificada. Isto pode ser implementado como onde fora do bloco PMPI [i, j] é igual ao sinal reconstruído [00109] Multi-parameter intraprediction (MPI) is a post-processing for intraprediction which invokes additional smoothing with a decoded boundary. This can be implemented as where outside the PMPI block [i, j] is equal to the reconstructed signal
[00110] A intensidade deste pós-processamento (parâmetros a + β + Y + δ = 8) pode ser controlada em um nível de CU e sinalizada com até 2 bits.[00110] The intensity of this post-processing (parameters a + β + Y + δ = 8) can be controlled at a CU level and signaled with up to 2 bits.
[00111] A Combinação de Intrapredição Dependente de Posição (PDPC), a qual pode substituir MPI, é um pós-processamento adaptável de conteúdo para intrapredição que invoca a combinação de intrapredição acima descrita com uma fronteira não filtrada. Esta pode ser implementada como segue: [00111] Position Dependent Intraprediction Combination (PDPC), which can replace MPI, is a content adaptive post-processing for intraprediction that invokes the above-described intraprediction combination with an unfiltered boundary. This can be implemented as follows:
[00112] Aqui (i,j) indica a localização de amostra relativamente ao canto superior esquerdo, temp(i,j) é igual à Intrapredição acima descrita para i>0,j>0 e igual à referência não filtrada para i = −1 ,j = −1 .[00112] Here (i,j) indicates the sample location relative to the top left corner, temp(i,j) is equal to the Intraprediction described above for i>0,j>0 and equal to the unfiltered reference for i = − 1 ,j = −1 .
[00113] A intensidade deste pós-processamento pode ser controlada por parâmetros α + β + y = 8. Diferentes conjuntos de {α, β, y} compõem o dicionário resumido na Tabela 1. A intensidade de suavização de pós- processamento é diferente para os blocos codificados como 2N*2N e NxN. O mesmo pós-processamento pode ser aplicado para os blocos tanto de luminância quanto de crominância dentro da CU. Tabela 1: Dicionário de parâmetros de pós-processamento em intrapredição combinada [00113] The intensity of this post-processing can be controlled by parameters α + β + y = 8. Different sets of {α, β, y} make up the dictionary summarized in Table 1. The intensity of post-processing smoothing is different for blocks coded as 2N*2N and NxN. The same post-processing can be applied to both luminance and chrominance blocks within the CU. Table 1: Dictionary of post-processing parameters in combined intraprediction
[00114] O Intra Índice Combinado o qual determina o pós- processamento está sinalizado com 2 bits em um nível de CU. Este elemento de sintaxe não está sinalizado se a fronteira esquerda ou superior de CU for uma fronteira de imagem. Um valor zero deste índice indica que nenhum pós-processamento é utilizado.[00114] The Intra Combined Index which determines post-processing is signaled with 2 bits at a CU level. This syntax element is not flagged if the left or top boundary of CU is an image boundary. A zero value of this index indicates that no post-processing is used.
[00115] Se cada ferramenta tiver um sinalizador para ligá-la e desligá-la e o procedimento de RDO é executado não para cada ferramenta separadamente mas juntamente para todas as ferramentas que utilizam suavização, o problema de supersuavização pode ser superado. No entanto, esta solução pode ter uma desvantagem de sinalização redundante que pode diminuir um desempenho de codificação global.[00115] If each tool has a flag to turn it on and off and the RDO procedure is performed not for each tool separately but together for all tools that use smoothing, the oversmoothing problem can be overcome. However, this solution may have a disadvantage of redundant signaling which may decrease overall encoding performance.
[00116] A Figura 8 é um fluxograma de um método 800 para configurar uma sequência de filtros para intrapredição.[00116] Figure 8 is a flowchart of a method 800 for configuring a sequence of filters for intraprediction.
[00117] O método 800 compreende uma primeira etapa 810 de determinar se a filtragem adaptável de amostra de referência, RSAF, está em uso. Por exemplo, isto pode ser determinado avaliando um sinalizador de RSAF. Se for determinado que o RSAF está em uso, na etapa 812 a filtragem adaptável de amostra de referência é aplicada. Subsequentemente, na etapa 814, uma interpolação utilizando um filtro cúbico de 4 derivações é aplicada. Isto pode ser conseguido ajustando um parâmetro de modo de interpolação de um filtro de interpolação da sequência de filtros para intrapredição para o filtro cúbico de 4 derivações.[00117] Method 800 comprises a first step 810 of determining whether reference sample adaptive filtering, RSAF, is in use. For example, this can be determined by evaluating an RSAF flag. If it is determined that RSAF is in use, in step 812 reference sample adaptive filtering is applied. Subsequently, in step 814, an interpolation using a 4-lead cubic filter is applied. This can be achieved by adjusting an interpolation mode parameter of a filter sequence interpolation filter for intraprediction for the 4-lead cubic filter.
[00118] Se for determinado na etapa 810 que RSAF não está em uso, na etapa 816, interpolação utilizando um conjunto de filtros de 4 derivações é aplicada. Especificamente, este pode ser um conjunto de filtros de 4 derivações predeterminado. Ajustar o filtro de interpolação para utilizar o conjunto de filtros de 4 derivações pode ser conseguido, por exemplo, ajustando um parâmetro de interpolação do filtro de interpolação para "conjunto de filtros de 4 derivações".[00118] If it is determined in step 810 that RSAF is not in use, in step 816, interpolation using a 4-lead filter set is applied. Specifically, this may be a predetermined 4-lead filter set. Adjusting the interpolation filter to use the 4-lead filter set can be achieved, for example, by setting an interpolation parameter of the interpolation filter to "4-lead filter set".
[00119] Em uma etapa adicional 820, uma variável de índice de MPI i é ajustado para 0. Subsequentemente, na etapa 822, é determinado se a variável é maior do que 1. Se assim, na etapa 824 é determinado se um tamanho de unidade de predição corrente, PU é maior do que 32. Se assim, na etapa 826, uma filtragem de predição de fronteira é aplicada. Uma filtragem de predição de fronteira é também aplicada se na etapa 822 for determinado que i não é maior do que 1. Se na etapa 824 for determinado que o tamanho de PU corrente não é maior do que 32, o método continua na etapa 828 com combinação de intrapredição de múltiplos parâmetros/intrapredição dependente de posição.[00119] In a further step 820, an MPI index variable i is set to 0. Subsequently, in step 822, it is determined whether the variable is greater than 1. If so, in step 824 it is determined whether a size of current prediction unit, PU is greater than 32. If so, in step 826, a boundary prediction filtering is applied. A boundary prediction filtering is also applied if in step 822 it is determined that i is not greater than 1. If in step 824 it is determined that the current PU size is not greater than 32, the method continues in step 828 with combination of multi-parameter intraprediction/position-dependent intraprediction.
[00120] Subsequentemente, na etapa 830, um custo de distorção de taxa, custo de RD Jt para a configuração corrente é calculada. Especificamente, a configuração corrente pode corresponder um valor corrente do índice de MPI i. Em outras modalidades, também outros parâmetros são variados e um custo de RD para os diferentes ajustes de parâmetro podem ser determinados.[00120] Subsequently, in step 830, a rate distortion cost, RD cost Jt for the current configuration is calculated. Specifically, the current setting may correspond to a current value of the MPI index i. In other embodiments, also other parameters are varied and an RD cost for the different parameter settings can be determined.
[00121] Na etapa 832 é determinado se um índice de MPI i é maior do que ou igual a 3. Se não, o índice de MPI é aumentado por 1 na etapa 834 e o método continua na etapa 822. Se o índice de MPI for maior do que ou igual a 3, o método continua na etapa 836 selecionando um melhor índice de MPI. Isto pode ser conseguido escolhendo o índice de MPI o qual corresponde ao mais baixo custo de RD Jt.[00121] In step 832 it is determined whether an MPI index i is greater than or equal to 3. If not, the MPI index is increased by 1 in step 834 and the method continues in step 822. If the MPI index is greater than or equal to 3, the method continues to step 836 selecting a better MPI index. This can be achieved by choosing the MPI index which corresponds to the lowest RD Jt cost.
[00122] A Figura 9 é um fluxograma de um método 900 para configurar uma sequência de filtros para intrapredição com um módulo de controle de filtro no lado de decodificador.[00122] Figure 9 is a flowchart of a method 900 for configuring a sequence of filters for intraprediction with a filter control module on the decoder side.
[00123] Um mecanismo de interpredição pode compreender, por exemplo, os seguintes filtros: - um filtro regular com base em interpolação Lagrangiana, - um filtro de aguçamento utilizado em interpolação baseada em DCT (principalmente ao redor de bordas mais aguçadas), e/ou - um filtro de suavização não de interpolação.[00123] An interprediction mechanism may comprise, for example, the following filters: - a regular filter based on Lagrangian interpolation, - a sharpening filter used in DCT-based interpolation (mainly around sharper edges), and/ or - a non-interpolating smoothing filter.
[00124] De preferência, apenas um dos filtros pode ser selecionado. Para interpolação quarter-pel, um filtro de aguçamento pode ser habilitado por padrão, isto é, seus parâmetros devem ser recuperados analisando um fluxo de bits no lado de decodificador sem derivar nenhum outro sinalizador e parâmetro. Para interpolação half-pel, o aguçamento pode ser desligado. Para int-pel, ambos os filtros de aguçamento e suavização são habilitados e, com isto, podem ser desligados se necessário. No entanto, se um destes estiver ligado, seus parâmetros devem ser recuperados de um fluxo de bits antes de executar a filtragem.[00124] Preferably, only one of the filters can be selected. For quarter-pel interpolation, a sharpening filter can be enabled by default, that is, its parameters must be recovered by analyzing a bit stream on the decoder side without deriving any other flags and parameters. For half-pel interpolation, sharpening can be turned off. For int-pel, both sharpening and smoothing filters are enabled and can therefore be turned off if necessary. However, if either of these is on, its parameters must be retrieved from a bitstream before performing filtering.
[00125] O método 900 compreende uma primeira etapa 910 de determinar se uma filtragem adaptável de amostra de referência, RSAF, está em uso. Por exemplo, isto pode ser determinado avaliando um sinalizador de RSAF. Se for determinado que RSAF está em uso, na etapa 912 uma filtragem adaptável de amostra de referência é aplicada. Subsequentemente, na etapa 914, uma interpolação utilizando um filtro cúbico de 4 derivações é aplicada. Isto pode ser conseguido ajustando um parâmetro de modo de interpolação de um filtro de interpolação da sequência de filtros para intrapredição para o filtro cúbico de 4 derivações.[00125] Method 900 comprises a first step 910 of determining whether a reference sample adaptive filtering, RSAF, is in use. For example, this can be determined by evaluating an RSAF flag. If it is determined that RSAF is in use, in step 912 a reference sample adaptive filtering is applied. Subsequently, in step 914, an interpolation using a 4-lead cubic filter is applied. This can be achieved by adjusting an interpolation mode parameter of a filter sequence interpolation filter for intraprediction for the 4-lead cubic filter.
[00126] Se for determinado na etapa 910 que RSAF não está em uso, na etapa 916, uma interpolação utilizando um conjunto de filtros de 4 derivações é aplicada. Especificamente, este pode ser um conjunto predeterminado de filtros de 4 derivações. Ajustar o filtro de interpolação para utilizar o conjunto de filtros de 4 derivações pode ser conseguido, por exemplo, ajustando um parâmetro de interpolação do filtro de interpolação para "conjunto de filtros de 4 derivações".[00126] If it is determined in step 910 that RSAF is not in use, in step 916, an interpolation using a 4-lead filter set is applied. Specifically, this may be a predetermined set of 4-lead filters. Adjusting the interpolation filter to use the 4-lead filter set can be achieved, for example, by setting an interpolation parameter of the interpolation filter to "4-lead filter set".
[00127] Na etapa 920, é determinado se um índice de MPI é maior do que 1. O índice de MPI pode ter sido determinado, por exemplo, analisando ou de outro modo determinando o valor de índice de MPI de um fluxo de bits. Se o índice de MPI for maior do que 1 o método continua na etapa 924 avaliando se um tamanho de PU corrente é maior do que 32. Se assim, e se o índice de MPI não for maior do que 1, o método continua na etapa 926 aplicando uma filtragem de predição de fronteira. Se, no entanto, o tamanho de PU corrente não for maior do que 32, o método continua na etapa 928 com a combinação de intrapredição de múltiplos parâmetros/intrapredição dependente de posição.[00127] In step 920, it is determined whether an MPI index is greater than 1. The MPI index may have been determined, for example, by analyzing or otherwise determining the MPI index value of a bit stream. If the MPI index is greater than 1, the method continues to step 924 evaluating whether a current PU size is greater than 32. If so, and if the MPI index is not greater than 1, the method continues to step 926 applying a boundary prediction filtering. If, however, the current PU size is not greater than 32, the method continues to step 928 with the combination of multi-parameter intraprediction/position-dependent intraprediction.
[00128] A Figura 10 é um esquema de estrutura de uma sequência de filtros 1000, em que a sequência 1000 tem uma estrutura serial/paralela.[00128] Figure 10 is a schematic structure of a filter sequence 1000, wherein the sequence 1000 has a serial/parallel structure.
[00129] A sequência de filtros 1000 está configurada para processar um bloco de amostras 1002 para obter um bloco de referência (predito) 040. A sequência 1000 compreende um ou mais filtros de interpolação de subpixel 1010 os quais estão configurados para interpolar entre as amostras de blocos 1002. Um resultado 1012 da interpolação subpixel é provido como entrada para um filtro de suavização 1020 e/ou um filtro de aguçamento 1030. De preferência, ou o filtro de suavização 1020 ou o filtro de aguçamento 1030 é utilizado.[00129] The filter sequence 1000 is configured to process a block of samples 1002 to obtain a reference (predicted) block 040. The sequence 1000 comprises one or more subpixel interpolation filters 1010 which are configured to interpolate between the samples of blocks 1002. A result 1012 of the subpixel interpolation is provided as input to a smoothing filter 1020 and/or a sharpening filter 1030. Preferably, either the smoothing filter 1020 or the sharpening filter 1030 is used.
[00130] A saída do filtro de suavização 1020 e/ou de aguçamento 1030 é um bloco de referência (predito) 1040. A sequência de filtros 1000 é controlada por um módulo de controle de filtro 1050 o qual está configurado para ajustar os parâmetros dos filtros de interpolação de subpixel 1010, do filtro de suavização 1020 e/ou do filtro de aguçamento 1030.[00130] The output of the smoothing filter 1020 and/or sharpening 1030 is a reference (predicted) block 1040. The filter sequence 1000 is controlled by a filter control module 1050 which is configured to adjust the parameters of the subpixel interpolation filters 1010, smoothing filter 1020 and/or sharpening filter 1030.
[00131] A Figura 11 é um fluxograma de um método para configurar uma sequência de filtros para interpredição com um módulo de controle de filtro no lado de decodificador.[00131] Figure 11 is a flowchart of a method for configuring a sequence of filters for interprediction with a filter control module on the decoder side.
[00132] O método 1100 compreende uma primeira etapa de determinar se uma interpolação de %- %-PEL está em uso. Se este não for o caso, o método continua na etapa 1104 determinando ser uma interpolação de ^-PEL está em uso. Se assim, o método continua na etapa 1106 analisando um fluxo de bits para recuperar um ou mais valores de um sinalizador de controle. Subsequentemente, na etapa 1112, é determinado se o filtro de aguçamento está habilitado. Especificamente, isto pode ser determinado dos um ou mais valores do sinalizador de controle determinados na etapa 1106. Alternativamente, se na etapa 1104, tiver sido determinado que uma interpolação de ^- PEL não está em uso, o método continua na etapa 1108 com análise de um fluxo de bits para recuperar um ou mais valores de um ou mais sinalizadores de controle. Subsequentemente, na etapa 1110, é determinado se um filtro de suavização está habilitado. Especificamente, isto pode ser determinado dos um ou mais valores dos um ou mais sinalizadores de controle.[00132] Method 1100 comprises a first step of determining whether a %-%-PEL interpolation is in use. If this is not the case, the method continues at step 1104 determining whether a ^-PEL interpolation is in use. If so, the method continues at step 1106 analyzing a bit stream to retrieve one or more values of a control flag. Subsequently, in step 1112, it is determined whether the sharpening filter is enabled. Specifically, this can be determined from the one or more control flag values determined in step 1106. Alternatively, if in step 1104, it has been determined that a ^- PEL interpolation is not in use, the method continues at step 1108 with analysis of a bitstream to retrieve one or more values of one or more control flags. Subsequently, in step 1110, it is determined whether a smoothing filter is enabled. Specifically, this may be determined from the one or more values of the one or more control flags.
[00133] Se um filtro de suavização estiver habilitado, o método continua na etapa 1116, em que um fluxo de bits é analisado para recuperar um ou mais valores de um parâmetro de intensidade de filtro de suavização e a filtragem é executada consequentemente. Alternativamente, se na etapa 1110 for determinado, por exemplo, do fluxo de bits, que o filtro de suavização não está habilitado, o método continua na etapa 1112, em que é determinado se o filtro de aguçamento está habilitado. Se o filtro de aguçamento estiver habilitado, o método continua na etapa 1114, em que o fluxo de bits é analisado para recuperar um ou mais valores do parâmetro de intensidade de filtro de aguçamento, e filtragem é executada consequentemente.[00133] If a smoothing filter is enabled, the method continues to step 1116, in which a bit stream is analyzed to recover one or more values of a smoothing filter strength parameter and filtering is performed accordingly. Alternatively, if in step 1110 it is determined, for example from the bitstream, that the smoothing filter is not enabled, the method continues to step 1112, where it is determined whether the sharpening filter is enabled. If the sharpening filter is enabled, the method continues to step 1114, in which the bitstream is analyzed to recover one or more values of the sharpening filter strength parameter, and filtering is performed accordingly.
[00134] Uma codificação de vídeo do estado da técnica também provê etapas de filtragem no estágio final de codificador e decodificador. Esta filtragem é referida como filtragem em loop, logo que os dados de saída deste processamento são passados pelo loop de compensação de movimento.[00134] A prior art video encoding also provides filtering steps in the final encoder and decoder stage. This filtering is referred to as loop filtering, as the output data from this processing is passed through the motion compensation loop.
[00135] Algumas sequências de filtros podem ser utilizadas tanto em um codificador quanto em um decodificador. De preferência, um primeiro estágio da sequência de filtros está configurado para remover artefatos de bloqueio utilizando um filtro de desblocagem. Filtros passa baixa são aplicados a bordas de TUs de acordo com um conjunto de regras pré-definidas. Estas regras têm parâmetros referidos como parâmetros de desblocagem que poderiam ser especificados para sequência toda ou para cada quadro separadamente.[00135] Some filter sequences can be used in both an encoder and a decoder. Preferably, a first stage of the filter sequence is configured to remove blocking artifacts using an unblocking filter. Low-pass filters are applied to edges of TUs according to a set of pre-defined rules. These rules have parameters referred to as unblocking parameters that could be specified for the entire sequence or for each frame separately.
[00136] De preferência, um segundo estágio está configurado para remover ruído de quantização pela utilização de deslocamento adaptável de amostra. Um quadro pode estar subdividido em áreas de pixel com parâmetros de SAO atribuídos para cada uma destas áreas. Os parâmetros de SAO podem compreender: • Tipo de SAO que controla o tipo de classificador: o BO (deslocamento de banda): este tipo de SAO seleciona para adicionar deslocamentos para pixels que têm valores na faixa especificada por categoria de SAO o EO (deslocamento de borda): este tipo de SAO seleciona para adicionar diferentes deslocamentos para pixels dependendo da categoria de SAO • Classe de SAO: especifica um padrão de pixels que deve ser utilizado para derivar a categoria de SAO • Deslocamentos de SAO: uma tabela de consulta que atribui cada categoria de SAO com um deslocamento. De acordo com a categoria de pixel um deslocamento correspondente deve ser adicionado.[00136] Preferably, a second stage is configured to remove quantization noise by using adaptive sample shifting. A frame can be subdivided into pixel areas with SAO parameters assigned to each of these areas. SAO parameters can comprise: • SAO type that controls the classifier type: o BO (band offset): this SAO type selects to add offsets to pixels that have values in the range specified by SAO category o EO (band offset). edge): This type of SAO selects to add different offsets to pixels depending on the SAO category • SAO Class: Specifies a pixel pattern that should be used to derive the SAO category • SAO Offsets: A lookup table that assigns each SAO category with an offset. According to the pixel category a corresponding offset must be added.
[00137] De preferência, um ou mais destes parâmetros de SAO são derivados no lado codificado e são codificados para o fluxo de bits, de modo que o decodificador possa analisá-los.[00137] Preferably, one or more of these SAO parameters are derived on the encoded side and are encoded into the bit stream so that the decoder can analyze them.
[00138] O próximo estágio é aplicar um filtro de loop adaptável (ALF) o qual é bastante próximo do filtro Wiener. No lado de codificador tais coeficientes de filtro são derivados que proveem um erro quadrático médio mínimo após a filtrar pixels reconstruídos. Estes coeficientes são adicionalmente quantizados e sinalizados para o decodificador no fluxo de bits.[00138] The next stage is to apply an adaptive loop filter (ALF) which is very close to the Wiener filter. On the encoder side such filter coefficients are derived that provide a minimum mean squared error after filtering reconstructed pixels. These coefficients are additionally quantized and signaled to the decoder in the bitstream.
[00139] De preferência, um módulo de controle de filtro para coincidir intensidade de filtro em diferentes estágios da cadeia de filtragem em loop está configurado para ajustar um processamento em um estágio de filtragem de acordo com os valores de parâmetros no(s) outro(s) estágio(s).[00139] Preferably, a filter control module for matching filter intensity at different stages of the loop filtering chain is configured to adjust processing at one filtering stage according to parameter values in the other(s). s) internship(s).
[00140] A Figura 12 é um esquema de estrutura de uma cadeia de filtros em loop 1200, a qual é uma sequência de filtros.[00140] Figure 12 is a schematic structure of a loop filter chain 1200, which is a sequence of filters.
[00141] A cadeia de filtros em loop 1200 está configurada para processar um quadro reconstruído 1202 para obter um armazenamento temporário de imagem de referência 1240. O quadro reconstruído 1202 é provido como entrada para o filtro de desblocagem 1210. Uma saída do filtro de desblocagem é provida como entrada 1212 para um filtro de deslocamento adaptável de amostra 1220. Uma saída do filtro de deslocamento adaptável de amostra 1220 é provido como entrada 1222 para um filtro de loop adaptável 1230. Uma saída do filtro de loop adaptável 1230 é provida como entrada 1232 da imagem de referência 1240.[00141] The loop filter chain 1200 is configured to process a reconstructed frame 1202 to obtain a temporary reference image storage 1240. The reconstructed frame 1202 is provided as input to the deblocking filter 1210. An output of the deblocking filter is provided as input 1212 to an adaptive sample shift filter 1220. An output from the adaptive sample shift filter 1220 is provided as input 1222 to an adaptive loop filter 1230. An output from the adaptive loop filter 1230 is provided as input 1232 of reference image 1240.
[00142] O filtro de desblocagem 1210, o filtro de deslocamento adaptável de amostra 1220 e o filtro de loop adaptável 1230 são configuráveis com parâmetros que podem ser ajustados pelo módulo de controle de filtro 1250. O módulo de controle de filtro 1250 está configurado para determinar estes parâmetros com base em parâmetros de entrada, os quais incluem um ou mais parâmetros de filtro de desblocagem 1252, um ou mais parâmetros de SAO 1254 e um ou mais parâmetros de ALF 1256. Por exemplo, estes parâmetros podem ser definidos por usuário ou obtidos de um fluxo de bits.[00142] The deblocking filter 1210, the adaptive sample shift filter 1220, and the adaptive loop filter 1230 are configurable with parameters that can be adjusted by the filter control module 1250. The filter control module 1250 is configured to determine these parameters based on input parameters, which include one or more deblocking filter parameters 1252, one or more SAO parameters 1254, and one or more ALF parameters 1256. For example, these parameters may be user-defined or obtained from a bit stream.
[00143] O filtro de desblocagem 1210 pode depender de um ou mais parâmetros de SAO. De preferência, no lado de codificador, se o tipo de SAO for selecionado para ser EO (deslocamento de borda) e o padrão de pixel (classe de SAO) está alinhado com a direção horizontal ou vertical, a operação de desblocagem é desabilitada para as bordas que têm uma direção ortogonal à direção de padrão de pixel selecionada.[00143] The deblocking filter 1210 may depend on one or more SAO parameters. Preferably, on the encoder side, if the SAO type is selected to be EO (edge shift) and the pixel pattern (SAO class) is aligned with the horizontal or vertical direction, the unblocking operation is disabled for the encoder side. edges that have a direction orthogonal to the selected pixel pattern direction.
[00144] A Figura 13 é um fluxograma de um método 1300 para configurar uma sequência de filtros, em que a filtragem de desblocagem depende de um ou mais parâmetros de SAO.[00144] Figure 13 is a flowchart of a method 1300 for configuring a sequence of filters, wherein the unblocking filtering depends on one or more SAO parameters.
[00145] O método 1300 compreende uma primeira etapa 1302 de estimar um ou mais parâmetros de SAO. Os parâmetros de SAO podem incluir um parâmetro de deslocamento de borda e uma classe de SAO.[00145] Method 1300 comprises a first step 1302 of estimating one or more SAO parameters. SAO parameters can include an edge offset parameter and an SAO class.
[00146] Na etapa 1304 é determinado se o parâmetro de deslocamento de borda é ajustado para verdadeiro. Se assim, na etapa 1306 o parâmetro de classe de SAO é avaliado. Se o parâmetro de classe de SAO for ajustado para vertical, o método na etapa 1308 desabilita a desblocagem de bordas horizontais. Se o parâmetro de classe de SAO for ajustado para horizontal, na etapa 1310, a desblocagem de bordas verticais é desabilitada. Se a classe de SAO for ajustada para outro valor, ou se na etapa 1304 o parâmetro de deslocamento de borda for determinado ser falso, o método continua na etapa 1312 de aplicar o filtro de desblocagem de acordo com a configuração acima determinada. Subsequentemente o método continua na etapa 1314 com filtragem de deslocamento adaptável de amostra e possivelmente etapas de filtragem adicionais.[00146] In step 1304 it is determined whether the edge displacement parameter is set to true. If so, in step 1306 the SAO class parameter is evaluated. If the SAO class parameter is set to vertical, the method in step 1308 disables the unblocking of horizontal edges. If the SAO class parameter is set to horizontal, in step 1310, vertical edge unblocking is disabled. If the SAO class is set to another value, or if in step 1304 the edge shift parameter is determined to be false, the method continues to step 1312 of applying the deblocking filter according to the above determined setting. Subsequently the method continues at step 1314 with adaptive sample displacement filtering and possibly additional filtering steps.
[00147] A Figura 14 é um fluxograma de um método adicional 1400 para configurar uma sequência de filtros, em que a filtragem de desblocagem depende de parâmetros de SAO e em que a filtragem ocorre em um lado de decodificador.[00147] Figure 14 is a flowchart of an additional method 1400 for configuring a sequence of filters, wherein the deblocking filtering depends on SAO parameters and wherein the filtering occurs on a decoder side.
[00148] Em uma primeira etapa 1402, um ou mais parâmetros de SAO são recuperados de um fluxo de bits.[00148] In a first step 1402, one or more SAO parameters are retrieved from a bit stream.
[00149] Na etapa 1404 é determinado se o parâmetro de deslocamento de borda é ajustado para verdadeiro. Se assim, na etapa 1406 o parâmetro de classe de SAO é avaliado. Se o parâmetro de classe de SAO é ajustado para vertical, o método na etapa 1408 desabilita a desblocagem de bordas horizontais. Se o parâmetro de classe de SAO for ajustado para horizontal, na etapa 1410, desblocagem de bordas verticais é desabilitado. Se a classe de SAO for ajustada para outro valor, ou se na etapa 1404 o parâmetro de deslocamento de borda for determinado ser falso, o método continua na etapa 1412 de aplicar o filtro de desblocagem de acordo com a configuração acima determinada. Subsequentemente o método continua na etapa 1414 com filtragem de deslocamento adaptável de amostra e possivelmente etapas de filtragem adicionais.[00149] In step 1404 it is determined whether the edge displacement parameter is set to true. If so, in step 1406 the SAO class parameter is evaluated. If the SAO class parameter is set to vertical, the method in step 1408 disables the unblocking of horizontal edges. If the SAO class parameter is set to horizontal, in step 1410, vertical edge unlocking is disabled. If the SAO class is set to another value, or if in step 1404 the edge shift parameter is determined to be false, the method continues to step 1412 of applying the deblocking filter according to the above determined setting. Subsequently the method continues at step 1414 with adaptive sample displacement filtering and possibly additional filtering steps.
[00150] A Figura 15 é um fluxograma de um método 1500 para configurar uma sequência de filtros, em que o método 1500 ajusta um ou mais parâmetros de filtro de loop adaptável de acordo com um ou mais parâmetros de SAO em um lado de decodificador.[00150] Figure 15 is a flowchart of a method 1500 for configuring a filter sequence, wherein the method 1500 adjusts one or more adaptive loop filter parameters in accordance with one or more SAO parameters on a decoder side.
[00151] Especificamente, o método 1500 compreende uma primeira etapa 1502 de estimar os parâmetros de SAO. Em uma segunda etapa 1504, é determinado se um sinalizador de deslocamento de borda é ajustado. Se este for ajustado, na etapa 1506, filtros de suavização no filtro de loop adaptável, ALF, são desabilitados.[00151] Specifically, method 1500 comprises a first step 1502 of estimating the SAO parameters. In a second step 1504, it is determined whether an edge offset flag is set. If this is adjusted, in step 1506, smoothing filters in the adaptive loop filter, ALF, are disabled.
[00152] Subsequentemente, nas etapas 1508 a 1514, um desblocagem, filtragem de deslocamento adaptável de amostra, estimativa de parâmetro de filtro de loop adaptável, e a filtragem de loop adaptável são aplicados.[00152] Subsequently, in steps 1508 to 1514, an unblocking, adaptive sample shift filtering, adaptive loop filter parameter estimation, and adaptive loop filtering are applied.
[00153] Comparado com os métodos ilustrados por exemplo, na Figura 13 e Figura 14, a seleção de livro de códigos para codificar e decodificar parâmetros de ALF é diferente especificamente para casos de SAO de deslocamento de borda e deslocamento de banda.[00153] Compared to the methods illustrated for example in Figure 13 and Figure 14, the codebook selection for encoding and decoding ALF parameters is different specifically for edge-shift and band-shift SAO cases.
[00154] A Figura 16 é um fluxograma de um método 1600 para ajustar um ou mais parâmetros de ALF de acordo com um ou mais parâmetros de SAO em um lado de codificador.[00154] Figure 16 is a flowchart of a method 1600 for adjusting one or more ALF parameters in accordance with one or more SAO parameters on an encoder side.
[00155] Em uma primeira etapa 1602, parâmetros de SAO são derivados de um fluxo de bits. Em uma segunda etapa 1604, é determinado se um sinalizador de deslocamento de borda é ajustado. Se este não for ajustado, na etapa 1606 um primeiro livro de códigos de parâmetro de ALF é selecionado. Se o sinalizador de deslocamento de borda não for ajustado, na etapa 1608, um segundo livro de códigos de parâmetro ALF é selecionado.[00155] In a first step 1602, SAO parameters are derived from a bit stream. In a second step 1604, it is determined whether an edge offset flag is set. If this is not set, in step 1606 a first ALF parameter codebook is selected. If the edge shift flag is not set, in step 1608, a second ALF parameter codebook is selected.
[00156] Subsequentemente, nas etapas 1610 a 1616, os parâmetros de ALF são recuperados de um fluxo de bits, um filtro de desblocagem é aplicado, uma filtragem de deslocamento adaptável de amostra é aplicada e um filtragem de loop adaptável é aplicada.[00156] Subsequently, in steps 1610 to 1616, the ALF parameters are retrieved from a bit stream, an unblocking filter is applied, an adaptive sample shift filtering is applied, and an adaptive loop filtering is applied.
[00157] As modalidades da invenção podem referir aos seguintes aspectos adicionais:[00157] Embodiments of the invention may refer to the following additional aspects:
[00158] 1. Um método de codificar e decodificar dados de vídeo, que compreende um processo de intrapredição que consiste em a. Configurar parâmetros de filtro das etapas dadas abaixo de acordo com parâmetros de intrapredição b. Preparar amostras de referência adaptavelmente aplicando um filtro nas amostras vizinhas do bloco sendo predito. c. Calcular um valor predito para cada amostra do bloco sendo predito utilizando valores interpolados de amostras de referência d. Aplicar um filtro no bloco predito e. Executar suavização de fronteira.[00158] 1. A method of encoding and decoding video data, comprising an intraprediction process consisting of a. Configure filter parameters from steps given below according to intraprediction parameters b. Adaptively prepare reference samples by applying a filter to neighboring samples of the block being predicted. w. Calculate a predicted value for each sample in the block being predicted using interpolated values from reference samples d. Apply a filter to the predicted block e. Perform border smoothing.
[00159] 2. Um método do aspecto 1, onde resultados de particiona- mento de quadtree são utilizados como uma indicação de seleção de filtro de amostras de referência utilizando sinalização explícita ou implícita.[00159] 2. A method of aspect 1, where quadtree partitioning results are used as an indication of reference sample filter selection using explicit or implicit signaling.
[00160] 3. Um método do aspecto 1, onde calcular o valor predito para cada amostra do bloco sendo predito é executada utilizando um filtro de interpolação o qual é selecionado de acordo com um processo de filtragem de amostras de referência.[00160] 3. A method of aspect 1, wherein calculating the predicted value for each sample of the block being predicted is performed using an interpolation filter which is selected in accordance with a reference sample filtering process.
[00161] 4. Um método do aspecto 3, onde a seleção de filtro de interpolação é executada para os blocos sendo preditos que foram calculados sem sinalização implícita ou explícita de seleção de filtro de amostras de referência.[00161] 4. A method of aspect 3, wherein interpolation filter selection is performed for the blocks being predicted that were calculated without implicit or explicit reference sample filter selection signaling.
[00162] 5. Um método do aspecto 3, onde a seleção de filtro de interpolação é executada para os blocos sendo preditos que foram obtidos das amostras de referência filtradas por um filtro de amostra de referência fraco.[00162] 5. A method of aspect 3, wherein interpolation filter selection is performed for the blocks being predicted that were obtained from the reference samples filtered by a weak reference sample filter.
[00163] 6. Um método do aspecto 1, onde uma suavização de fronteira é executada para TUs que pertencem a PUs que atendem uma restrição de tamanho.[00163] 6. A method of aspect 1, where a boundary smoothing is performed for TUs that belong to PUs that meet a size constraint.
[00164] 7. Um método do aspecto 6, onde a direcionalidade de filtro de bloco predito afeta a decisão de aplicar suavização de fronteira.[00164] 7. A method of aspect 6, where the predicted block filter directionality affects the decision to apply boundary smoothing.
[00165] 8. Um método de codificar e decodificar dados de vídeo, que compreende um processo de interpredição que consiste em a. Configurar parâmetros de filtro das etapas dadas abaixo de acordo com parâmetros de interpredição b. Preparar amostras de referência adaptavelmente aplicando um filtro na área de pesquisa utilizada para procurar tal bloco que será utilizado como referência após processamento com filtros de interpolação e predição. c. Aplicar um filtro de interpolação no bloco que é correntemente processado d. Aplicar filtros de predição no bloco que é correntemente processado.[00165] 8. A method of encoding and decoding video data, comprising an interprediction process consisting of a. Configure filter parameters from steps given below according to interprediction parameters b. Adaptively prepare reference samples by applying a filter in the search area used to search for such a block that will be used as a reference after processing with interpolation and prediction filters. w. Apply an interpolation filter to the block that is currently processed d. Apply prediction filters to the block that is currently processed.
[00166] 9. Um método do aspecto 8, onde a etapa d precede a etapa c.[00166] 9. A method of aspect 8, where step d precedes step c.
[00167] 10. Um método de filtrar um sinal que compreende a. diversas etapas de filtragem iterativas, onde a intensidade de filtro depende de condições adicionais, b. indicação associada com algumas das etapas de filtragem, que a especificam a intensidade de filtragem na etapa associada, e c. unidade de controle que ignora condições adicionais em etapas de filtragem a dependendo da indicação associada com as etapas precedentes.[00167] 10. A method of filtering a signal comprising a. several iterative filtering steps, where the filter strength depends on additional conditions, b. indication associated with some of the filtering steps, which specifies the filtering intensity in the associated step, and c. control unit that ignores additional conditions in filtering steps depending on the indication associated with the preceding steps.
[00168] 11. Um método do aspecto 10, onde a indicação de um filtro forte na etapa de filtragem i ignora uma verificação de condições adicionais nas etapas k>i para selecionar um filtro mais fraco.[00168] 11. A method of aspect 10, wherein indicating a strong filter in filtering step i bypasses a check of additional conditions in steps k>i to select a weaker filter.
[00169] As modalidades da presente invenção proveem uma ou mais das seguintes vantagens: - Muitas aplicações potenciais em estrutura de codificação de vídeo híbrida que são compatíveis com JEM que é a fundação para um padrão de codificação de vídeo de próxima geração; - Taxa de BD reduzida e aperfeiçoamentos de qualidade subjetiva em comparação com JEM1. - Reduzida a complexidade computacional tanto para o codificador quanto o decodificador se comparada com JEM1 com RSAF integrado, o que faz a invenção ser potencialmente atrativa para muitas aplicações móveis; - Evitar sinalização redundante (sintaxe).[00169] Embodiments of the present invention provide one or more of the following advantages: - Many potential applications in hybrid video coding framework that are compatible with JEM which is the foundation for a next generation video coding standard; - Reduced BD rate and subjective quality improvements compared to JEM1. - Reduced computational complexity for both the encoder and decoder compared to JEM1 with integrated RSAF, which makes the invention potentially attractive for many mobile applications; - Avoid redundant signaling (syntax).
[00170] Modalidades adicionais do presente pedido são fornecidas no que segue. Deve-se notar que a numeração usada na seção que segue não necessariamente precisar concordar com a numeração usada em seções anteriores Modalidade 1. Dispositivo de codificação de vídeo (100), que compreende: - uma sequência de filtros (110; 300; 700; 1000; 1200) que são configuráveis por um ou mais parâmetros primários e um ou mais parâmetros secundários, e - um controlador de filtro (120) configurado para ajustar os um ou mais parâmetros secundários com base nos um ou mais parâmetros primários e com base em um critério de intensidade da sequência de filtros. Modalidade 2. Dispositivo de codificação de vídeo (100) de acordo com modalidade 1, em que o critério de intensidade compreende: - um critério de suavização, - uma razão de um fator de amplificação para um domínio de alta frequência e um fator de amplificação para um domínio de baixa frequência, e/ou - uma razão de um valor de contraste antes da filtragem e um valor de contraste após a filtragem. Modalidade 3. Dispositivo de codificação de vídeo (100) de acordo com qualquer uma das modalidades precedentes, em que os um ou mais parâmetros primários são parâmetros predeterminados, especificamente parâmetros que são predeterminados de um fluxo de bits codificados, um ajuste de usuário e/ou um loop de pesquisa de parâmetro em um dispositivo de codificação. Modalidade 4. Dispositivo de codificação de vídeo (100) de acordo com qualquer uma das modalidades precedentes, em que a sequência de filtros (110; 300; 700; 1000; 1200) compreende um ou mais filtros primários que são configuráveis por um ou mais parâmetros primários e um ou mais filtros secundários que são configuráveis por um ou mais parâmetros secundários, em que os um ou mais filtros primários estão localizados na sequência de filtros antes dos um ou mais filtros secundários. Modalidade 5. Dispositivo de codificação de vídeo (100) de acordo com qualquer uma das modalidades precedentes, em que a sequência de filtros (110; 300; 700; 1000; 1200) compreende: - um filtro de amostra de referência (310; 710) configurado para adaptavelmente filtrar uma ou mais amostras vizinhas de um bloco de vídeo corrente para obter uma ou mais amostras de referência, e - um filtro de interpolação (320; 720; 1010) configurado para predizer uma ou mais amostras do bloco de vídeo corrente utilizando uma interpolação das uma ou mais amostras de referência, em que os um ou mais parâmetros primários compreendem um parâmetro de referência do filtro de amostra de referência e os um ou mais parâmetros secundários compreendem um parâmetro de seleção do filtro de interpolação, em que o filtro de interpolação está configurado para utilizar um método de interpolação de acordo com o parâmetro de seleção. Modalidade 6. Dispositivo de codificação de vídeo (100) de acordo com qualquer uma das modalidades precedentes, em que os um ou mais parâmetros primários incluem um sinalizador de filtro de amostras de referência de um filtro de amostras de referência e os um ou mais parâmetros secundários incluem um parâmetro de intensidade de filtro de um filtro de interpolação de intrapredição. Modalidade 7. Dispositivo de codificação de vídeo (100) de acordo com qualquer uma das modalidades precedentes, em que a sequência de filtros (110; 300; 700; 1000; 1200) compreende um filtro de suavização de limite (340; 730) o qual está configurado para executar uma suavização de limite para uma ou mais unidades de transformada que pertencem a uma ou mais unidades de predição que atendem uma restrição de tamanho. Modalidade 8. Dispositivo de codificação de vídeo (100) de acordo com qualquer uma das modalidades precedentes, em que os um ou mais parâmetros primários incluem um parâmetro de direção de um filtro de bloco predito e os um ou mais parâmetros secundários incluem um parâmetro de liga-desliga de um filtro de suavização de limite. Modalidade 9. Dispositivo de codificação de vídeo (100) de acordo com qualquer uma das modalidades precedentes, em que a sequência de filtros (110; 300; 700; 1000; 1200) compreende: - um filtro de interpolação de subpixel configurado para adaptavelmente filtrar amostras de um bloco de referência para obter um bloco de referência interpolado, e - um filtro de passagem baixa e/ou de passagem alta configurado para suavizar e/ou aguçar o bloco de referência interpolado para obter um bloco de referência filtrado, em que os um ou mais parâmetros primários compreendem um parâmetro de interpolação do filtro de interpolação e os um ou mais parâmetros secundários compreendem um parâmetro de seleção dos filtros de aguçamento e/ou suavização, em que o controlador de filtro (120) está configurado para derivar os parâmetros secundários com base no parâmetro de interpolação do filtro de interpolação. Modalidade 10. Dispositivo de codificação de vídeo (100) de acordo com qualquer uma das modalidades precedentes, em que a sequência de filtros (110; 300; 700; 1000; 1200) compreende um filtro de loop adaptável configurado para utilizar um livro de códigos selecionados para indicar um ou mais coeficientes de filtro em um fluxo de bits, em que o controlador de filtro está configurado para selecionar o livro de códigos entre uma pluralidade de livros de códigos com base nos um ou mais parâmetros primários. Modalidade 11. Dispositivo de codificação de vídeo (100) de acordo com qualquer uma das modalidades precedentes, em que a sequência de filtros (110; 300; 700; 1000; 1200) ainda compreende: - um filtro de desbloqueio (1210) configurado para processar as bordas verticais com base em um parâmetro de intensidade de filtro vertical e as bordas horizontais com base em um parâmetro de intensidade de filtro horizontal, - um filtro de deslocamento adaptável de amostra, SAO (1220) configurado para classificar os pixels e adicionar valores de deslocamento aos pixels de acordo com um parâmetro de classe de SAO, e - um filtro de loop adaptável (1230) configurado para utilizar dois ou mais livros de códigos para indicar um ou mais coeficientes de filtro em um fluxo de bits, em que os um ou mais parâmetros primários compreendem o parâmetro de classe de SAO e um parâmetro de tipo de SAO do filtro de SAO e os um ou mais parâmetros secundários compreendem o parâmetro de intensidade de filtro horizontal e o parâmetro de intensidade vertical em que o controlador de filtro (120) está configurado para derivar os parâmetros secundários com base no parâmetro de classe de SAO e/ou no parâmetro de tipo de SAO do filtro de SAO, e/ou em que o controlador de filtro (120) está configurado para selecionar dois ou mais livros de códigos com base no parâmetro de tipo de SAO. Modalidade 12. Método (200; 400; 500; 600; 800; 900; 1100; 1300; 1400; 1500; 1600) para configurar uma sequência de filtros (110; 300; 700; 1000; 1200) para codificação de vídeo, em que o método compreende: - ajustar um ou mais parâmetros secundários com base em um ou mais parâmetros primários e com base em um critério de intensidade da sequência de filtros, e - configurar a sequência de filtros com os parâmetros primários e secundários. Modalidade 13. Método (200; 400; 500; 600; 800; 900; 1100; 1300; 1400; 1500; 1600) de acordo com a modalidade 12, em que compreende ainda uma etapa inicial de determinar os um ou mais parâmetros primários de um fluxo de bits. Modalidade 14. Meio de armazenamento legível por computador que tem armazenado no mesmo um código de programa, o código de programa compreende instruções para executar o método como definido em qualquer uma das modalidades 12 e 13, quando executado em um computador.[00170] Additional embodiments of the present application are provided in what follows. It should be noted that the numbering used in the following section does not necessarily need to agree with the numbering used in previous sections. Embodiment 1. Video coding device (100), comprising: - a sequence of filters (110; 300; 700; 1000; 1200) which are configurable by one or more primary parameters and one or more secondary parameters, and - a filter controller (120) configured to adjust the one or more secondary parameters based on the one or more primary parameters and based on an intensity criterion for the filter sequence. Embodiment 2. Video coding device (100) according to embodiment 1, wherein the intensity criterion comprises: - a smoothing criterion, - a ratio of an amplification factor to a high frequency domain and an amplification factor for a low frequency domain, and/or - a ratio of a contrast value before filtering and a contrast value after filtering. Embodiment 3. Video encoding device (100) according to any of the preceding embodiments, wherein the one or more primary parameters are predetermined parameters, specifically parameters that are predetermined from an encoded bit stream, a user setting and/or or a parameter lookup loop in an encoding device. Embodiment 4. Video coding device (100) according to any of the preceding embodiments, wherein the filter sequence (110; 300; 700; 1000; 1200) comprises one or more primary filters that are configurable by one or more primary parameters and one or more secondary filters that are configurable by one or more secondary parameters, wherein the one or more primary filters are located in the filter sequence before the one or more secondary filters. Embodiment 5. Video coding device (100) according to any of the preceding embodiments, wherein the filter sequence (110; 300; 700; 1000; 1200) comprises: - a reference sample filter (310; 710 ) configured to adaptively filter one or more neighboring samples of a current video block to obtain one or more reference samples, and - an interpolation filter (320; 720; 1010) configured to predict one or more samples of the current video block using an interpolation of the one or more reference samples, wherein the one or more primary parameters comprise a reference sample filter reference parameter and the one or more secondary parameters comprise an interpolation filter selection parameter, wherein the Interpolation filter is configured to use an interpolation method according to the selection parameter. Embodiment 6. Video encoding device (100) according to any of the preceding embodiments, wherein the one or more primary parameters include a reference sample filter flag of a reference sample filter and the one or more parameters Secondary variables include a filter strength parameter of an intraprediction interpolation filter. Embodiment 7. Video coding device (100) according to any of the preceding embodiments, wherein the filter sequence (110; 300; 700; 1000; 1200) comprises a threshold smoothing filter (340; 730) or which is configured to perform threshold smoothing for one or more transform units that belong to one or more prediction units that meet a size constraint. Embodiment 8. Video coding device (100) according to any of the preceding embodiments, wherein the one or more primary parameters include a direction parameter of a predicted block filter and the one or more secondary parameters include a direction parameter. on-off of a threshold smoothing filter. Embodiment 9. Video coding device (100) according to any of the preceding embodiments, wherein the filter sequence (110; 300; 700; 1000; 1200) comprises: - a subpixel interpolation filter configured to adaptively filter samples from a reference block to obtain an interpolated reference block, and - a low-pass and/or high-pass filter configured to smooth and/or sharpen the interpolated reference block to obtain a filtered reference block, wherein the one or more primary parameters comprise an interpolation filter interpolation parameter and the one or more secondary parameters comprise a sharpening and/or smoothing filter selection parameter, wherein the filter controller (120) is configured to derive the parameters secondaries based on the interpolation parameter of the interpolation filter. Embodiment 10. Video coding device (100) according to any of the preceding embodiments, wherein the filter sequence (110; 300; 700; 1000; 1200) comprises an adaptive loop filter configured to use a codebook selected to indicate one or more filter coefficients in a bit stream, wherein the filter controller is configured to select the codebook from among a plurality of codebooks based on the one or more primary parameters. Embodiment 11. Video coding device (100) according to any of the preceding embodiments, wherein the filter sequence (110; 300; 700; 1000; 1200) further comprises: - an unblocking filter (1210) configured to process the vertical edges based on a vertical filter intensity parameter and the horizontal edges based on a horizontal filter intensity parameter, - a sample adaptive shift filter, SAO (1220) configured to sort the pixels and add values of offset to pixels according to an SAO class parameter, and - an adaptive loop filter (1230) configured to use two or more codebooks to indicate one or more filter coefficients in a bit stream, wherein the one or more primary parameters comprise the SAO class parameter and an SAO filter SAO type parameter and the one or more secondary parameters comprise the horizontal filter intensity parameter and the vertical intensity parameter in which the filter controller (120) is configured to derive secondary parameters based on the SAO class parameter and/or the SAO filter SAO type parameter, and/or the filter controller (120) is configured to select two or more codebooks based on the SAO type parameter. Embodiment 12. Method (200; 400; 500; 600; 800; 900; 1100; 1300; 1400; 1500; 1600) for configuring a sequence of filters (110; 300; 700; 1000; 1200) for video encoding, in that the method comprises: - adjusting one or more secondary parameters based on one or more primary parameters and based on an intensity criterion of the filter sequence, and - configuring the filter sequence with the primary and secondary parameters. Modality 13. Method (200; 400; 500; 600; 800; 900; 1100; 1300; 1400; 1500; 1600) according to modality 12, which further comprises an initial step of determining the one or more primary parameters of a stream of bits. Embodiment 14. A computer-readable storage medium that has stored thereon a program code, the program code comprising instructions for executing the method as defined in any of embodiments 12 and 13, when executed on a computer.
[00171] As descrições acima são somente modos de implementação da presente invenção, o escopo da presente invenção não está limitado a isto. Quaisquer variações ou substituições podem ser facilmente feitas através de uma pessoa versada na técnica. Portanto, o escopo de proteção da presente invenção deve estar sujeito ao escopo de proteção das concretizações anexas.[00171] The above descriptions are only ways of implementing the present invention, the scope of the present invention is not limited to this. Any variations or substitutions can be easily made by a person skilled in the art. Therefore, the scope of protection of the present invention must be subject to the scope of protection of the attached embodiments.
Claims (15)
Publications (1)
Publication Number | Publication Date |
---|---|
BR122020024442B1 true BR122020024442B1 (en) | 2023-08-15 |
Family
ID=
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11902515B2 (en) | Method and apparatus for video coding | |
US11792438B2 (en) | Using neural network filtering in video coding | |
JP7291846B2 (en) | Sample decision for adaptive loop filtering | |
EP3979206A1 (en) | Convolutional neural network-based filter for video coding | |
US20190238845A1 (en) | Adaptive loop filtering on deblocking filter results in video coding | |
JP5763210B2 (en) | Method and apparatus for improved loop-type filtering process | |
KR20240068078A (en) | Method and apparatus for filtering with mode-aware deep learning | |
WO2020249124A1 (en) | Handling video unit boundaries and virtual boundaries based on color format | |
KR20220020268A (en) | Processing of Video Unit Boundaries and Virtual Boundaries | |
US20180184128A1 (en) | Non-local adaptive loop filter combining multiple denoising technologies and grouping image patches in parallel | |
JP7520933B2 (en) | Method and apparatus for sample adaptive filtering for video encoding - Patents.com | |
CN115695787A (en) | Segmentation information in neural network-based video coding and decoding | |
BR122020024442B1 (en) | VIDEO CODING DEVICE AND METHOD FOR CONFIGURING A SEQUENCE OF FILTERS FOR VIDEO CODING | |
BR112018009921B1 (en) | DEVICE AND METHOD FOR CONFIGURING A SEQUENCE OF FILTERS FOR VIDEO CODING | |
WO2024007116A1 (en) | Decoding method, encoding method, decoder, and encoder | |
CN118633289A (en) | Method, apparatus and medium for video processing | |
CN113170120A (en) | Deblocking or deringing filter and encoder, decoder and method for applying and changing the strength of the deblocking or deringing filter |