BR112016025109B1 - BLOCK-BASED STATIC REGION DETECTION FOR VIDEO PROCESSING - Google Patents

BLOCK-BASED STATIC REGION DETECTION FOR VIDEO PROCESSING Download PDF

Info

Publication number
BR112016025109B1
BR112016025109B1 BR112016025109-1A BR112016025109A BR112016025109B1 BR 112016025109 B1 BR112016025109 B1 BR 112016025109B1 BR 112016025109 A BR112016025109 A BR 112016025109A BR 112016025109 B1 BR112016025109 B1 BR 112016025109B1
Authority
BR
Brazil
Prior art keywords
static
block
map
frame
video
Prior art date
Application number
BR112016025109-1A
Other languages
Portuguese (pt)
Other versions
BR112016025109A2 (en
Inventor
Anton Igorevich Veselov
Aleksandar Beric
Jean-Pierre Giacalone
Marat Ravilevich Gilmutdinov
Ramanathan Sethuraman
Vladimir Kovacevic
Zdravko Pantic
Original Assignee
Intel Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US14/287,967 external-priority patent/US9407926B2/en
Application filed by Intel Corporation filed Critical Intel Corporation
Publication of BR112016025109A2 publication Critical patent/BR112016025109A2/en
Publication of BR112016025109B1 publication Critical patent/BR112016025109B1/en

Links

Classifications

    • H04N5/23241
    • H04N5/235
    • H04N5/347

Abstract

DETECÇÃO DE REGIÃO ESTÁTICA BASEADA EM BLOCO PARA PROCESSAMENTO DE VÍDEO. Trata-se de métodos, aparelho, sistemas e artigos de manufatura para realizar detecção de região estática baseada em bloco para processamento de vídeo. Os métodos de processamento de vídeo exemplificativos revelados incluem segmentar pixels em um primeiro quadro de uma sequência de vídeo em uma primeira pluralidade de blocos de pixel. Tais métodos exemplificativos podem também incluir processar a primeira pluralidade de blocos de pixel e uma segunda pluralidade de blocos de pixel correspondentes a um segundo quadro anterior da sequência de vídeo para criar, com base em um primeiro critério, um mapa que identifica um ou mais blocos estáticos de pixel na primeira pluralidade de blocos de pixel. Tais métodos exemplificativos podem incluir, ainda, identificar, com base no mapa, uma região estática no primeiro quadro da sequência de vídeo.BLOCK-BASED STATIC REGION DETECTION FOR VIDEO PROCESSING. These are methods, apparatus, systems, and articles of manufacture for performing block-based static region detection for video processing. Exemplary video processing methods disclosed include segmenting pixels in a first frame of a video sequence into a first plurality of pixel blocks. Such exemplary methods may also include processing the first plurality of pixel blocks and a second plurality of pixel blocks corresponding to a previous second frame of the video sequence to create, based on a first criterion, a map that identifies one or more blocks. pixel blocks in the first plurality of pixel blocks. Such exemplary methods may further include identifying, based on the map, a static region in the first frame of the video sequence.

Description

CAMPO DA INVENÇÃOFIELD OF INVENTION

[001] Esta revelação refere-se, de modo geral, a processamento de vídeo e, mais particularmente, a detecção de região estática baseada em bloco para processamento de vídeo.[001] This disclosure relates generally to video processing and more particularly to block-based static region detection for video processing.

HISTÓRICOHISTORIC

[002] No processamento de vídeo, a detecção de região estática envolve identificar uma ou mais regiões de um quadro de vídeo que são estáticas ou imutáveis em relação a um quadro de vídeo anterior em uma sequência de vídeo. Identificando-se a(s) região(ões) estática(s) em um quadro de vídeo, tal(is) região(ões) estática(s) pode(m) ser, então, preservada(s) e/ou aproveitada(s) durante as operações de processamento de vídeo subsequentes, tal como conversão ascendente de velocidade de quadros e/ou compactação de vídeo.[002] In video processing, static region detection involves identifying one or more regions of a video frame that are static or unchanging with respect to a previous video frame in a video sequence. By identifying the static region(s) in a video frame, such static region(s) can then be preserved and/or used( s) during subsequent video processing operations, such as frame rate upconversion and/or video compression.

BREVE DESCRIÇÃO DOS DESENHOSBRIEF DESCRIPTION OF THE DRAWINGS

[003] A Figura 1 é um diagrama de blocos de um sistema de processamento de vídeo de exemplo que inclui um detector de região estática que emprega detecção de região estática baseada em bloco, conforme revelado no presente documento.[003] Figure 1 is a block diagram of an example video processing system that includes a static region detector that employs block-based static region detection, as disclosed herein.

[004] As Figuras 2A e B e 3A e B ilustram artefatos de imagem de exemplo que podem ser criados por sistemas de processamento de vídeo anteriores que não empregam detecção de região estática baseada em bloco, conforme revelado no presente documento.[004] Figures 2A and B and 3A and B illustrate example image artifacts that may be created by prior video processing systems that do not employ block-based static region detection as disclosed herein.

[005] A Figura 4 é um diagrama de blocos que ilustra uma implantação de exemplo do detector de região estática da Figura 1.[005] Figure 4 is a block diagram illustrating an example implementation of the static region detector of Figure 1.

[006] A Figura 5 ilustra uma operação de exemplo do detector de região estática de exemplo da Figura 4.[006] Figure 5 illustrates an example operation of the example static region detector of Figure 4.

[007] A Figura 6 é um diagrama de blocos de um avaliador de critérios de bloco estático de exemplo que pode ser usado para implantar o detector de região estática de exemplo da Figura 4.[007] Figure 6 is a block diagram of an example static block criteria evaluator that can be used to implement the example static region detector of Figure 4.

[008] As Figuras 7A e B ilustram uma operação de exemplo do avaliador de critérios de bloco estático de exemplo da Figura 6.[008] Figures 7A and B illustrate an example operation of the example static block criteria evaluator of Figure 6.

[009] A Figura 8 é um diagrama de blocos de um ajustador de critérios de bloco estático de exemplo que pode ser usado para implantar o detector de região estática de exemplo da Figura 4.[009] Figure 8 is a block diagram of an example static block criteria adjuster that can be used to implement the example static region detector of Figure 4.

[010] A Figura 9 é um diagrama de blocos de um combinador de mapa estático de exemplo que pode ser usado para implantar o detector de região estática de exemplo da Figura 4.[010] Figure 9 is a block diagram of an example static map combiner that can be used to implement the example static region detector of Figure 4.

[011] A Figura 10 ilustra os resultados de operação de exemplo que podem ser atingidos pelo sistema de processamento de vídeo de exemplo da Figura 1.[011] Figure 10 illustrates example operation results that can be achieved by the example video processing system of Figure 1.

[012] A Figura 11 é um fluxograma representativo de instruções legíveis por máquina de exemplo que podem ser executadas para implantar o detector de região estática de exemplo das Figuras 1 e/ou 4.[012] Figure 11 is a representative flowchart of example machine-readable instructions that can be executed to implement the example static region detector of Figures 1 and/or 4.

[013] A Figura 12 é um fluxograma representativo de instruções legíveis por máquina de exemplo que podem ser executadas para implantar o avaliador de critérios de bloco estático de exemplo da Figura 6 e/ou a avaliação de critérios de bloco estático e o critério de mapa estático no detector de região estática de exemplo das Figuras 1 e/ou 4.[013] Figure 12 is a representative flowchart of example machine-readable instructions that can be executed to implement the example static block criteria evaluator of Figure 6 and/or the static block criteria evaluation and map criteria static region detector in the example static region detector of Figures 1 and/or 4.

[014] A Figura 13 é um fluxograma representativo de instruções legíveis por máquina de exemplo que podem ser executadas para implantar o combinador de mapa estático de exemplo da Figura 9 e/ou a combinação de mapa estático no detector de região estática de exemplo das Figuras 1 e/ou 4.[014] Figure 13 is a representative flowchart of example machine-readable instructions that can be executed to deploy the example static map combiner of Figure 9 and/or the static map combiner in the example static region detector of Figures 1 and/or 4.

[015] A Figura 14 é um fluxograma representativo de instruções legíveis por máquina de exemplo que podem ser executadas para implantar o ajustador de critérios de bloco estático de exemplo da Figura 8 e/ou o ajuste de critérios de bloco estático no detector de região estática de exemplo das Figuras 1 e/ou 4.[015] Figure 14 is a representative flowchart of example machine-readable instructions that can be executed to implement the example static block criteria adjuster of Figure 8 and/or the static block criteria adjustment in the static region detector example of Figures 1 and/or 4.

[016] A Figura 15 é um diagrama de blocos de uma plataforma de processador de exemplo que pode executar as instruções legíveis por máquina de exemplo das Figuras 11 a 13 e/ou 14 para implantar o sistema de processamento de vídeo de exemplo da Figura 1, o detector de região estática de exemplo das Figuras 1 e/ou 4, o avaliador de critérios de bloco estático de exemplo da Figura 6, o ajustador de critérios de bloco estático de exemplo da Figura 8 e/ou o combinador de mapa estático de exemplo da Figura 9.[016] Figure 15 is a block diagram of an example processor platform that can execute the example machine-readable instructions of Figures 11 to 13 and/or 14 to implement the example video processing system of Figure 1 , the example static region detector of Figures 1 and/or 4, the example static block criteria evaluator of Figure 6, the example static block criteria adjuster of Figure 8, and/or the example static block map combiner of example in Figure 9.

[017] O material revelado no presente documento é ilustrado a título de exemplo e não a título de limitação nas figuras anexas. Para simplicidade e clareza de ilustração, os elementos ilustrados nas figuras não estão necessariamente desenhados em escala. Por exemplo, as dimensões de alguns elementos podem ser exageradas em relação a outros elementos para clareza. Além disso, sempre que possível, os mesmos números de referência serão usados por todo(s) o(s) desenho(s) e descrição escrita anexa para referência a partes, elementos, etc. iguais ou similares. DESCRIÇÃO DETALHADA[017] The material disclosed in this document is illustrated by way of example and not by way of limitation in the attached figures. For simplicity and clarity of illustration, the elements illustrated in the figures are not necessarily drawn to scale. For example, the dimensions of some elements may be exaggerated relative to other elements for clarity. Furthermore, whenever possible, the same reference numbers will be used throughout the drawing(s) and attached written description for reference to parts, elements, etc. the same or similar. DETAILED DESCRIPTION

[018] São revelados no presente documento métodos, aparelho, sistemas e artigos de manufatura (por exemplo, meios de armazenamento físico) para implantar detecção de região estática baseada em bloco para processamento de vídeo. Alguns métodos de processamento de vídeo de exemplo revelados no presente documento incluem segmentar pixels em um primeiro quadro de uma sequência de vídeo em uma primeira pluralidade de blocos de pixel. Alguns de tais métodos de exemplo incluem também processar a primeira pluralidade de blocos de pixel e uma segunda pluralidade de blocos de pixel correspondentes a um segundo quadro anterior da sequência de vídeo para criar, com base em um ou mais critérios, um mapa que identifica um ou mais blocos estáticos de pixel na primeira pluralidade de blocos de pixel. Alguns de tais métodos de exemplo incluem, ainda, identificar, com base no mapa, uma ou mais regiões estáticas no primeiro quadro da sequência de vídeo.[018] Disclosed herein are methods, apparatus, systems and articles of manufacture (e.g., physical storage media) for implementing block-based static region detection for video processing. Some example video processing methods disclosed herein include segmenting pixels in a first frame of a video sequence into a first plurality of pixel blocks. Some such exemplary methods also include processing the first plurality of pixel blocks and a second plurality of pixel blocks corresponding to a previous second frame of the video sequence to create, based on one or more criteria, a map that identifies a or more static pixel blocks in the first plurality of pixel blocks. Some such example methods further include identifying, based on the map, one or more static regions in the first frame of the video sequence.

[019] Em alguns métodos de exemplo revelados, o processamento da primeira pluralidade de blocos de pixel e da segunda pluralidade de blocos de pixel inclui avaliar a primeira pluralidade de blocos de pixel e a segunda pluralidade de blocos de pixel com base em um primeiro critério para determinar um primeiro resultado de identificação de bloco estático. Alguns de tais métodos de exemplo também incluem avaliar a primeira pluralidade de blocos de pixel e a segunda pluralidade de blocos de pixel com base em um segundo critério para determinar um segundo resultado de identificação de bloco estático. Alguns de tais métodos de exemplo incluem, ainda, combinar o primeiro e o segundo resultados de identificação de bloco estático para criar o mapa que identifica o um ou mais blocos estáticos de pixel na primeira pluralidade de blocos de pixel.[019] In some disclosed example methods, processing the first plurality of pixel blocks and the second plurality of pixel blocks includes evaluating the first plurality of pixel blocks and the second plurality of pixel blocks based on a first criterion to determine a first static block identification result. Some such example methods also include evaluating the first plurality of pixel blocks and the second plurality of pixel blocks based on a second criterion to determine a second static block identification result. Some such example methods further include combining the first and second static block identification results to create the map that identifies the one or more static pixel blocks in the first plurality of pixel blocks.

[020] Em alguns métodos de exemplo revelados, o um ou mais critérios incluem um critério de soma de diferenças absolutas. Em tais métodos de exemplo, o processamento da primeira pluralidade de blocos de pixel e da segunda pluralidade de blocos de pixel inclui computar uma soma de diferenças absolutas entre pixels em um primeiro bloco de pixel da primeira pluralidade de blocos de pixel e os pixels correspondentes em um segundo bloco de pixel correspondente da segunda pluralidade de blocos de pixel. Alguns de tais métodos de exemplo também incluem determinar se o primeiro bloco de pixel é um bloco estático com base na comparação da soma de diferenças absolutas a um limite.[020] In some disclosed example methods, the one or more criteria include a sum of absolute differences criterion. In such exemplary methods, processing the first plurality of pixel blocks and the second plurality of pixel blocks includes computing a sum of absolute differences between pixels in a first pixel block of the first plurality of pixel blocks and the corresponding pixels in a corresponding second pixel block of the second plurality of pixel blocks. Some such example methods also include determining whether the first pixel block is a static block based on comparing the sum of absolute differences to a threshold.

[021] Em alguns métodos de exemplo revelados, o um ou mais critérios incluem um critério de contagem de borda. Em alguns de tais métodos de exemplo, o processamento da primeira pluralidade de blocos de pixel e da segunda pluralidade de blocos de pixel inclui determinar um mapa de borda que identifica bordas no primeiro quadro da sequência de vídeo. Alguns de tais métodos de exemplo também incluem contar um número de pixels em um primeiro bloco de pixel da primeira pluralidade de blocos de pixel associados às bordas identificadas no mapa de borda. Alguns de tais métodos de exemplo incluem, ainda, determinar se o primeiro bloco de pixel é um bloco estático com base na comparação do número a um limite.[021] In some disclosed example methods, the one or more criteria include an edge count criterion. In some such exemplary methods, processing the first plurality of pixel blocks and the second plurality of pixel blocks includes determining an edge map that identifies edges in the first frame of the video sequence. Some such example methods also include counting a number of pixels in a first pixel block of the first plurality of pixel blocks associated with the edges identified in the edge map. Some such example methods further include determining whether the first pixel block is a static block based on comparing the number to a threshold.

[022] Em alguns métodos de exemplo revelados, o um ou mais critérios incluem um critério de correspondência de borda. Em alguns de tais métodos de exemplo, o processamento da primeira pluralidade de blocos de pixel e da segunda pluralidade de blocos de pixel inclui determinar um primeiro mapa de borda que identifica bordas no primeiro quadro da sequência de vídeo. Alguns de tais métodos de exemplo também incluem identificar os primeiros pixels de borda em um primeiro bloco de pixel da primeira pluralidade de blocos de pixel, em que os primeiros pixels de borda estão associados às bordas identificadas no primeiro mapa de borda. Alguns de tais métodos de exemplo incluem, ainda, determinar um número de primeiros pixels de borda que não têm correspondência de borda com os respectivos segundos pixels de borda em um segundo bloco de pixel correspondente da segunda pluralidade de blocos de pixel. Por exemplo, dois pixels de borda podem ser correspondência de borda quando os dois pixels de borda têm uma mesma localização de quadro e estão associados a uma mesma orientação de borda. Alguns de tais métodos de exemplo incluem, adicionalmente, determinar se o primeiro bloco de pixel é um bloco estático com base na comparação do número a um limite.[022] In some disclosed example methods, the one or more criteria include an edge matching criterion. In some such exemplary methods, processing the first plurality of pixel blocks and the second plurality of pixel blocks includes determining a first edge map that identifies edges in the first frame of the video sequence. Some such example methods also include identifying the first edge pixels in a first pixel block of the first plurality of pixel blocks, wherein the first edge pixels are associated with the edges identified in the first edge map. Some such example methods further include determining a number of first edge pixels that have no edge correspondence with respective second edge pixels in a corresponding second pixel block of the second plurality of pixel blocks. For example, two edge pixels can be edge-matched when the two edge pixels have the same frame location and are associated with the same edge orientation. Some such example methods further include determining whether the first pixel block is a static block based on comparing the number to a threshold.

[023] Em alguns métodos de exemplo revelados, o primeiro quadro tem múltiplos componentes de vídeo, a primeira pluralidade de blocos de pixel está associada a um primeiro plano de componente de vídeo, e o mapa é um primeiro mapa. Alguns de tais métodos de exemplo incluem segmentar os pixels no primeiro quadro da sequência de vídeo em uma terceira pluralidade de blocos de pixel associados a um segundo plano de componente de vídeo diferente do primeiro plano de componente de vídeo. Alguns de tais métodos de exemplo também incluem processar a terceira pluralidade de blocos de pixel e uma quarta pluralidade de blocos de pixel correspondentes ao segundo plano de componente de vídeo do segundo quadro anterior da sequência de vídeo para criar, com base nos um ou mais critérios, um segundo mapa que identifica um ou mais blocos estáticos de pixel na terceira pluralidade de blocos de pixel. Alguns de tais métodos de exemplo incluem identificar, com base no primeiro e no segundo mapas, as uma ou mais regiões estáticas no primeiro quadro da sequência de vídeo. Em alguns de tais exemplos, a identificação das uma ou mais regiões estáticas no primeiro quadro inclui combinar o primeiro mapa e o segundo mapa para determinar um mapa geral que identifica um ou mais blocos estáticos de pixel no primeiro quadro da sequência de vídeo.[023] In some disclosed example methods, the first frame has multiple video components, the first plurality of pixel blocks is associated with a video component foreground, and the map is a first map. Some such example methods include segmenting the pixels in the first frame of the video sequence into a third plurality of pixel blocks associated with a video component background different from the video component foreground. Some of such exemplary methods also include processing the third plurality of pixel blocks and a fourth plurality of pixel blocks corresponding to the video component background of the previous second frame of the video sequence to create, based on the one or more criteria , a second map that identifies one or more static pixel blocks in the third plurality of pixel blocks. Some such example methods include identifying, based on the first and second maps, the one or more static regions in the first frame of the video sequence. In some such examples, identifying the one or more static regions in the first frame includes combining the first map and the second map to determine an overall map that identifies the one or more static pixel blocks in the first frame of the video sequence.

[024] Em alguns métodos de exemplo revelados, o mapa é um primeiro mapa. Alguns de tais métodos de exemplo incluem segmentar os pixels no primeiro quadro da sequência de vídeo em uma terceira pluralidade de blocos de pixel, de modo que aqueles da terceira pluralidade de blocos de pixel se sobreponham parcialmente àqueles da primeira pluralidade de blocos. Alguns de tais métodos de exemplo também incluem processar a terceira pluralidade de blocos de pixel e uma quarta pluralidade de blocos de pixel correspondentes ao segundo quadro anterior da sequência de vídeo para criar, com base nos um ou mais critérios, um segundo mapa que identifica um ou mais blocos estáticos de pixel na terceira pluralidade de blocos de pixel. Em alguns de tais exemplos, aqueles da quarta pluralidade de blocos de pixel se sobrepõem parcialmente àqueles da segunda pluralidade de blocos. Alguns de tais métodos de exemplo incluem identificar, com base no primeiro e no segundo mapas, as uma ou mais regiões estáticas no primeiro quadro da sequência de vídeo. Em alguns de tais exemplos, a identificação das uma ou mais regiões estáticas no primeiro quadro inclui combinar o primeiro mapa e o segundo mapa para determinar um mapa geral que identifica um ou mais sub-blocos estáticos de pixel no primeiro quadro da sequência de vídeo. Por exemplo, um primeiro sub-bloco no primeiro quadro está incluído em um primeiro bloco da primeira pluralidade de blocos de pixel e um primeiro bloco da terceira pluralidade de blocos, e o mapa geral tem melhor resolução do que o primeiro e o segundo blocos. Alguns de tais métodos de exemplo incluem também identificar uma ou mais regiões estáticas no primeiro quadro da sequência de vídeo com base no mapa geral.[024] In some disclosed example methods, the map is a first map. Some such example methods include segmenting the pixels in the first frame of the video sequence into a third plurality of pixel blocks such that those of the third plurality of pixel blocks partially overlap those of the first plurality of blocks. Some such exemplary methods also include processing the third plurality of pixel blocks and a fourth plurality of pixel blocks corresponding to the previous second frame of the video sequence to create, based on the one or more criteria, a second map that identifies a or more static pixel blocks in the third plurality of pixel blocks. In some such examples, those of the fourth plurality of pixel blocks partially overlap those of the second plurality of blocks. Some such example methods include identifying, based on the first and second maps, the one or more static regions in the first frame of the video sequence. In some such examples, identifying the one or more static regions in the first frame includes combining the first map and the second map to determine an overall map that identifies one or more static pixel sub-blocks in the first frame of the video sequence. For example, a first sub-block in the first frame is included in a first block of the first plurality of pixel blocks and a first block of the third plurality of blocks, and the overall map has better resolution than the first and second blocks. Some such example methods also include identifying one or more static regions in the first frame of the video sequence based on the overall map.

[025] Em alguns métodos de exemplo revelados, o mapa é um primeiro mapa. Tal método de exemplo pode incluir também ajustar um primeiro critério dentre os um ou mais critérios com base em pelo menos um dentre (1) uma correlação determinada entre o primeiro e o segundo quadros da sequência de vídeo ou (2) avaliação de um segundo mapa anterior que identifica um ou mais blocos estáticos de pixel na segunda pluralidade de blocos de pixel correspondente ao segundo quadro anterior da sequência de vídeo.[025] In some disclosed example methods, the map is a first map. Such an exemplary method may also include adjusting a first criterion among the one or more criteria based on at least one of (1) a determined correlation between the first and second frames of the video sequence or (2) evaluating a second map prior that identifies one or more static pixel blocks in the second plurality of pixel blocks corresponding to the second preceding frame of the video sequence.

[026] Esses e outros métodos, aparelhos, sistemas e artigos de manufatura de exemplo (por exemplo, meios de armazenamento físico) para implantar detecção de região estática baseada em bloco para processamento de vídeo são revelados em mais detalhes abaixo.[026] These and other example methods, apparatus, systems, and articles of manufacture (e.g., physical storage media) for implementing block-based static region detection for video processing are disclosed in more detail below.

[027] Conforme mencionado acima, a detecção de região estática envolve identificar uma ou mais regiões de um quadro de vídeo que são estáticas ou imutáveis em relação a um quadro de vídeo anterior em uma sequência de vídeo. Uma região estática identificada pode ser, então, preservada e/ou aproveitada, se adequado, durante operações de processamento de vídeo subsequentes, tal como conversão ascendente de velocidade de quadros e/ou compactação de vídeo. No entanto, a falsa detecção de uma região estática em um quadro de imagem pode produzir artefatos indesejáveis nas regiões em movimento de uma sequência de vídeo. Similarmente, a detecção perdida de uma região estática ou, em outras palavras, a previsão errônea de movimento no que é na realidade uma região estática pode produzir artefatos indesejáveis em regiões sem movimento de uma sequência de vídeo. Conforme discutido em mais detalhes abaixo, os exemplos revelados no presente documento empregam detecção de região estática baseada em bloco e, em pelo menos alguns exemplos, múltiplos critérios de detecção, que podem reduzir a probabilidade de detecção falsa e/ou perdida de região(ões) estática(s) em uma sequência de vídeo.[027] As mentioned above, static region detection involves identifying one or more regions of a video frame that are static or unchanging with respect to a previous video frame in a video sequence. An identified static region can then be preserved and/or leveraged, if appropriate, during subsequent video processing operations, such as frame rate upconversion and/or video compression. However, false detection of a static region in an image frame can produce undesirable artifacts in moving regions of a video sequence. Similarly, missed detection of a static region or, in other words, misprediction of motion in what is actually a static region can produce undesirable artifacts in non-motion regions of a video sequence. As discussed in more detail below, the examples disclosed herein employ block-based static region detection and, in at least some examples, multiple detection criteria, which can reduce the likelihood of false and/or missed region(s) detection. ) static(s) in a video sequence.

[028] Voltando-se para as figuras, um diagrama de blocos de pelo menos uma porção de um sistema de processamento de vídeo de exemplo 100 que emprega detecção de região estática baseada em bloco, conforme revelado no presente documento, é ilustrado na Figura 1. O sistema de processamento de vídeo 100 do exemplo ilustrado processa uma sequência de vídeo de entrada de exemplo 105 para produzir uma sequência de vídeo de saída de exemplo 110. As sequências de vídeo 105 e 110 incluem, cada uma, uma série de quadros de vídeo sequenciais (também referidos como imagens, quadros de imagens, etc.). Um quadro de vídeo nas sequências de vídeo 105 ou 110 pode incluir um ou mais componentes de vídeo, em que cada componente de vídeo corresponde a um respectivo plano de componente do quadro de vídeo. Por exemplo, para suportar um vídeo colorido, um quadro de vídeo nas sequências de vídeo 105 ou 110 pode incluir um componente de luminância (também referido como o componente Y) e dois componentes de crominância (também referido como os componentes U e V), e tal quadro de vídeo pode ser decomposto em um plano de componente de luminância e dois planos de componente de crominância. Outras representações de quadro de vídeo que têm diferentes componentes, e/ou mais ou menos componentes, podem ser suportadas pelo sistema de processamento de vídeo 100 e pelas técnicas de detecção de região estática baseada em bloco reveladas no presente documento.[028] Turning to the figures, a block diagram of at least a portion of an example video processing system 100 that employs block-based static region detection, as disclosed herein, is illustrated in Figure 1 The video processing system 100 of the illustrated example processes an example input video sequence 105 to produce an example output video sequence 110. The video sequences 105 and 110 each include a series of video frames. sequential videos (also referred to as images, image frames, etc.). A video frame in video sequences 105 or 110 may include one or more video components, wherein each video component corresponds to a respective component plane of the video frame. For example, to support color video, a video frame in video sequences 105 or 110 may include a luminance component (also referred to as the Y component) and two chrominance components (also referred to as the U and V components), and such a video frame can be decomposed into one luminance component plane and two chrominance component planes. Other video frame representations that have different components, and/or more or fewer components, may be supported by the video processing system 100 and the block-based static region detection techniques disclosed herein.

[029] No exemplo ilustrado da Figura 1, o sistema de processamento de vídeo 100 inclui um detector de região estática de exemplo 115 que implanta detecção de região estática baseada em bloco, conforme revelado no presente documento, para detectar uma ou mais regiões estáticas em um quadro de vídeo da sequência de vídeo de entrada 105. Em geral, uma região estática de um quadro de vídeo da sequência de vídeo de entrada 105 é uma região do quadro de vídeo que é estática, ou imutável, em relação a um quadro de vídeo precedente na sequência de vídeo de entrada 105. De modo contrário, uma região do quadro de vídeo que muda em relação à mesma região do quadro de vídeo precedente na sequência de vídeo de entrada 105 é considerada como sendo uma região associada ao movimento. Uma implantação de exemplo do detector de região estática 115 é ilustrada na Figura 4, que é descrita em mais detalhes abaixo.[029] In the illustrated example of Figure 1, the video processing system 100 includes an exemplary static region detector 115 that implements block-based static region detection, as disclosed herein, to detect one or more static regions in a video frame of the input video sequence 105. In general, a static region of a video frame of the input video sequence 105 is a region of the video frame that is static, or unchanging, with respect to a video frame of the input video sequence 105. preceding video in the input video sequence 105. Conversely, a region of the video frame that changes with respect to the same region of the preceding video frame in the input video sequence 105 is considered to be a region associated with motion. An example implementation of the static region detector 115 is illustrated in Figure 4, which is described in more detail below.

[030] A(s) região(ões) estática(s) identificada(s) pelo detector de região estática 115 ilustrado pode(m) ser preservada(s) durante operações de processamento de vídeo subsequentes (por exemplo, para aprimorar a qualidade do vídeo evitando-se a introdução de artefatos na(s) região(ões) estática(s)). A(s) região(ões) estática(s) identificada(s) pode(m) ser adicional ou alternativamente aproveitada(s) durante operações de processamento de vídeo subsequentes (por exemplo, para aprimorar o desempenho de compactação de vídeo aproveitando-se redundâncias na sequência de vídeo). Por exemplo, no exemplo ilustrado da Figura 1, o detector de região estática 115 fornece informações que identificam a(s) região(ões) estática(s) detectada(s) de um quadro de vídeo na sequência de vídeo de entrada 105 a um conversor ascendente de velocidade de quadros de exemplo 120. A velocidade de quadros de uma sequência de vídeo refere-se ao número de quadros da sequência de vídeo que corresponde a um dado intervalo de tempo. Por exemplo, a velocidade de quadros pode ser expressa em unidades de quadros por segundo (fps), Hertz (Hz), etc., ou quaisquer outras unidades adequadas. As velocidades de quadros de vídeo típicas podem incluir, por exemplo, 15 fps (ou 15 Hz), 30 fps (ou 30 Hz), 60 fps (ou 60 Hz), 120 fps (ou 120 Hz), etc. Em geral, a conversão ascendente de velocidade de quadros envolve processar a sequência de vídeo de entrada 105, que tem uma primeira velocidade de quadros (por exemplo, 60 fps ou 60 Hz), para produzir uma sequência de vídeo de saída 110 que presenta o mesmo conjunto de imagens de vídeo tendo uma segunda velocidade de quadros mais alta (por exemplo, 120 fps ou 120 Hz). O conversor ascendente de velocidade de quadros 120 do exemplo ilustrado implanta qualquer número e/ou tipo(s) de técnicas de conversão ascendente de velocidade de quadros para aumentar a velocidade de quadros entre a sequência de vídeo de entrada 105 e a sequência de vídeo de saída 110. Por exemplo, o conversor ascendente de velocidade de quadros 120 pode implantar interpolação para inserir um novo quadro de vídeo entre dois quadros existentes da sequência de vídeo de entrada 105, previsão para prever um novo quadro de vídeo a partir de um ou mais quadros existentes da sequência de vídeo de entrada 105, outras técnicas ou qualquer combinação dos mesmos.[030] The static region(s) identified by the illustrated static region detector 115 may be preserved during subsequent video processing operations (e.g., to improve quality of the video, avoiding the introduction of artifacts in the static region(s)). The identified static region(s) can be additionally or alternatively leveraged during subsequent video processing operations (e.g., to improve video compression performance by taking advantage of redundancies in the video sequence). For example, in the illustrated example of Figure 1, the static region detector 115 provides information that identifies the detected static region(s) of a video frame in the input video sequence 105 at a example frame rate upconverter 120. The frame rate of a video sequence refers to the number of frames of the video sequence that correspond to a given time interval. For example, frame rate may be expressed in units of frames per second (fps), Hertz (Hz), etc., or any other suitable units. Typical video frame rates may include, for example, 15 fps (or 15 Hz), 30 fps (or 30 Hz), 60 fps (or 60 Hz), 120 fps (or 120 Hz), etc. In general, frame rate upconversion involves processing the input video sequence 105, which has a first frame rate (e.g., 60 fps or 60 Hz), to produce an output video sequence 110 that presents the same set of video images having a second higher frame rate (e.g., 120 fps or 120 Hz). The frame rate upconverter 120 of the illustrated example deploys any number and/or type(s) of framerate upconversion techniques to increase the framerate between the input video stream 105 and the input video stream. output 110. For example, frame rate upconverter 120 may deploy interpolation to insert a new video frame between two existing frames of input video sequence 105, prediction to predict a new video frame from one or more existing frames of the input video sequence 105, other techniques, or any combination thereof.

[031] No exemplo ilustrado da Figura 1, o conversor ascendente de velocidade de quadros 120 recebe a(s) região(ões) estática(s) identificada(s) pelo detector de região estática 115 em quadros de vídeo da sequência de vídeo de entrada 105. O conversor ascendente de velocidade de quadros de exemplo 120 pode usar, então, informações para preservar as regiões estáticas nos quadros de vídeo da sequência de vídeo de entrada 105 durante a conversão ascendente para formar a sequência de vídeo de saída 110. Os exemplos de artefatos de imagem que podem ser introduzidos por conversão ascendente de velocidade de quadros na sequência de vídeo de saída 110 se as regiões estáticas não forem adequadamente preservadas são ilustrados nas Figuras 2A e B e 3A e B. Por exemplo, a Figura 2A representa um quadro de vídeo de exemplo da sequência de vídeo de entrada de exemplo 105. A Figura 2B representa um quadro convertido de modo ascendente correspondente da exemplo sequência de vídeo de saída 110, que exibe artefatos perceptíveis (por exemplo, tal como embaçamento) que podem ser causados pela conversão ascendente de velocidade de quadros que exibe detecção perdida de regiões estáticas (ou, em outras palavras, detecção falsa de movimento). A Figura 3A representa um quadro de vídeo de exemplo de outra sequência de vídeo de entrada de exemplo 105. A Figura 3B representa um quadro convertido de modo ascendente correspondente da exemplo sequência de vídeo de saída 110, que exibe artefatos perceptíveis (por exemplo, tal como bloqueio) que podem ser causados pela conversão ascendente de velocidade de quadros que exibe detecção falsa de regiões estáticas. A detecção de região estática baseada em bloco, conforme revelado no presente documento e empregado pelo detector de região estática de exemplo 115 da Figura 1, reduz a probabilidade de detecção falsa e/ou perdida de região(ões) estática(s) na sequência de vídeo de entrada 105, o que reduz a probabilidade de a sequência de vídeo de saída 110 exibir os artefatos indesejados ilustrados nos exemplos das Figuras 2B e/ou 3B.[031] In the illustrated example of Figure 1, the frame rate upconverter 120 receives the static region(s) identified by the static region detector 115 in video frames of the video sequence of The example frame rate upconverter 120 may then use information to preserve static regions in the video frames of the input video sequence 105 during upconversion to form the output video sequence 110. Examples of image artifacts that may be introduced by frame rate upconversion into the output video sequence 110 if static regions are not adequately preserved are illustrated in Figures 2A and B and 3A and B. For example, Figure 2A represents an example video frame from example input video sequence 105. Figure 2B depicts a corresponding upconverted frame from example output video sequence 110, which exhibits noticeable artifacts (e.g., such as blurring) that may be caused by frame rate upconversion that exhibits missed detection of static regions (or, in other words, false motion detection). Figure 3A represents an example video frame from another example input video sequence 105. Figure 3B represents a corresponding upconverted frame from example output video sequence 110, which exhibits noticeable artifacts (e.g., such such as blocking) that may be caused by frame rate upconversion that exhibits false detection of static regions. Block-based static region detection, as disclosed herein and employed by example static region detector 115 of Figure 1, reduces the likelihood of false and/or missed detection of static region(s) in the sequence of input video 105, which reduces the likelihood that the output video sequence 110 will exhibit the unwanted artifacts illustrated in the examples of Figures 2B and/or 3B.

[032] No exemplo ilustrado, o sistema de processamento de vídeo 100 inclui, ainda, um estimador de movimento de exemplo 125. O estimador de movimento 125 do exemplo ilustrado determina, com o uso de qualquer técnica adequada ou combinação(ões) de técnicas, dados de movimento para caracterizar o movimento entre quadros de vídeo sucessivos da sequência de vídeo de entrada 105. Por exemplo, os dados de movimento determinados pelo estimador de movimento 125 podem incluir, porém, sem limitação, um ou mais vetores de movimento, índices de referência, interdireções, etc. No exemplo ilustrado da Figura 1, os dados de movimento determinados pelo estimador de movimento 125 podem ser usados pelo conversor ascendente de velocidade de quadros 120 para interpolar, prever e/ou criar de outro modo novos quadros para inclusão na sequência de saída 110 que considera o movimento exibido no quadro de vídeos da sequência de vídeo de entrada 105. Em alguns exemplos, o estimador de movimento 125 pode usar informações de região estática fornecidas pelo detector de região estática 115 para aprimorar a precisão, a qualidade, etc. dos dados de movimento determinados. Adicional ou alternativamente, em alguns exemplos, o detector de região estática 115 pode usar os dados de movimento determinados pelo estimador de movimento 125 para verificar a exatidão da(s) região(ões) estática(s) detectada(s) com o uso de detecção de região estática baseada em bloco, conforme revelado no presente documento. A operação do detector de região estática 115 para verificar a detecção de região estática com o uso de dados de movimento é revelada em mais detalhes abaixo.[032] In the illustrated example, the video processing system 100 further includes an example motion estimator 125. The illustrated example motion estimator 125 determines, using any suitable technique or combination(s) of techniques , motion data to characterize motion between successive video frames of input video sequence 105. For example, motion data determined by motion estimator 125 may include, but is not limited to, one or more motion vectors, indices reference, interdirections, etc. In the illustrated example of Figure 1, motion data determined by motion estimator 125 may be used by frame rate upconverter 120 to interpolate, predict, and/or otherwise create new frames for inclusion in the output sequence 110 that it considers. the motion displayed in the video frame of the input video sequence 105. In some examples, the motion estimator 125 may use static region information provided by the static region detector 115 to improve accuracy, quality, etc. of the determined movement data. Additionally or alternatively, in some examples, the static region detector 115 may use the motion data determined by the motion estimator 125 to verify the accuracy of the static region(s) detected using block-based static region detection as disclosed herein. The operation of the static region detector 115 to verify static region detection using motion data is disclosed in more detail below.

[033] Embora a detecção de região estática baseada em bloco seja descrita no contexto do sistema de vídeo de exemplo 100 da Figura 1, a detecção de região estática baseada em bloco, conforme revelada no presente documento, não é limitada ao mesmo. Por exemplo, a detecção de região estática baseada em bloco, conforme revelada no presente documento, não é limitada a ser usada com conversão ascendente de velocidade de quadros, mas pode ser usada com técnicas de processamento de vídeo adicionais ou alternativas, tal como compactação de vídeo, etc.[033] Although block-based static region detection is described in the context of the example video system 100 of Figure 1, block-based static region detection, as disclosed herein, is not limited to the same. For example, block-based static region detection as disclosed herein is not limited to use with frame rate upconversion, but may be used with additional or alternative video processing techniques, such as video compression. video, etc.

[034] Um diagrama de blocos de uma implantação de exemplo do detector de região estática 115 da Figura 1 é ilustrado na Figura 4. O detector de região estática de exemplo 115 da Figura 4 emprega detecção de região estática baseada em bloco, que pode ser mais robusta e render uma possibilidade (ou probabilidade) mais baixa de detecções falsas e/ou perdidas de região estática do que as técnicas anteriores de detecção de região estática. Além disso, a detecção de região estática baseada em bloco, conforme revelado no presente documento, presta-se a um nível mais alto de vetorização do que as técnicas anteriores que envolvem comparação de pixels de imagem individuais, o que pode resultar em uma implantação econômica do detector de região estática 115 em hardware.[034] A block diagram of an example implementation of the static region detector 115 of Figure 1 is illustrated in Figure 4. The example static region detector 115 of Figure 4 employs block-based static region detection, which can be more robust and yield a lower possibility (or probability) of false and/or missed static region detections than previous static region detection techniques. Furthermore, block-based static region detection, as disclosed herein, lends itself to a higher level of vectorization than previous techniques involving comparison of individual image pixels, which can result in cost-effective deployment. of static region detector 115 in hardware.

[035] No exemplo ilustrado, o detector de região estática 115 da Figura 4 realiza a detecção de região estática independentemente nos diferentes planos de componente de vídeo de um quadro de vídeo na sequência de vídeo de entrada 105. Por exemplo, o detector de região estática 115 da Figura 4 realiza a detecção de região estática independentemente do plano de luminância (Y) e dos dois planos de crominância (U/V) do quadro de vídeo de entrada. Conforme revelado em mais detalhes abaixo, o detector de região estática de exemplo 115 da Figura 4 segmenta os quadros de vídeo da sequência de vídeo de entrada 105 em blocos de pixel e utiliza os três componentes de vídeo (por exemplo, um de luminância e dois de crominância) de dois quadros de vídeo sucessivos (por exemplo, um quadro atual e um anterior) da sequência de vídeo de entrada 105 para criar mapas estáticos binários individuais para cada um dos planos de componente de vídeo que passam por processamento. Cada bit em um mapa estático binário para um dado plano de componente de vídeo de um quadro de vídeo (por exemplo, o quadro de vídeo atual sendo processado) corresponde a um respectivo bloco de pixel no dado plano de componente de vídeo do quadro de vídeo segmentado e indica se o bloco de pixel correspondente é um bloco estático ou não. Em alguns exemplos, os mesmos critérios de detecção de bloco estático são usados para detecção de bloco estático em cada um dos planos de componente de vídeo, enquanto em outros exemplos, diferentes critérios de detecção de bloco estático podem ser usados para diferentes planos de componente de vídeo. Os critérios de detecção de bloco estático de exemplo que podem ser empregados pelo detector de região estática 115 são revelados em mais detalhes abaixo.[035] In the illustrated example, the static region detector 115 of Figure 4 performs static region detection independently on the different video component planes of a video frame in the input video sequence 105. For example, the region detector static region 115 of Figure 4 performs static region detection independently of the luminance plane (Y) and the two chrominance planes (U/V) of the input video frame. As disclosed in more detail below, the example static region detector 115 of Figure 4 segments the video frames of the input video sequence 105 into pixel blocks and utilizes the three video components (e.g., one luminance and two chroma) of two successive video frames (e.g., a current and a previous frame) of the input video sequence 105 to create individual binary static maps for each of the video component planes undergoing processing. Each bit in a binary static map for a given video component plane of a video frame (e.g., the current video frame being processed) corresponds to a respective pixel block in the given video component plane of the video frame segmented and indicates whether the corresponding pixel block is a static block or not. In some examples, the same static block detection criteria are used for static block detection in each of the video component planes, while in other examples, different static block detection criteria may be used for different video component planes. video. Example static block detection criteria that may be employed by static region detector 115 are disclosed in more detail below.

[036] No exemplo ilustrado da Figura 4, o detector de região estática 115 combina os mapas estáticos binários para os diferentes planos de componente de vídeo em um mapa estático binário geral que identifica os blocos estáticos de pixel em um quadro de vídeo (por exemplo, o quadro de vídeo atual sendo processado). Em alguns exemplos, o detector de região estática 115 processa posteriormente o mapa estático binário geral para aprimorar a confiabilidade de detecção. Os blocos estáticos de pixel identificados podem ser, então, agrupados em regiões estáticas e/ou fornecidos pelo detector de região estática 115 a outros módulos de processamento de vídeo, tal como o conversor ascendente de velocidade de quadros de exemplo 120. Em alguns exemplos, melhorias de processamento adicionais são implantadas pelo detector de região estática de exemplo 115 da Figura 4.[036] In the illustrated example of Figure 4, the static region detector 115 combines the binary static maps for the different video component planes into an overall binary static map that identifies the static pixel blocks in a video frame (e.g. , the current video frame being processed). In some examples, the static region detector 115 further processes the overall binary static map to improve detection reliability. The identified static pixel blocks may then be grouped into static regions and/or provided by static region detector 115 to other video processing modules, such as example frame rate upconverter 120. In some examples, Additional processing improvements are implemented by example static region detector 115 of Figure 4.

[037] O detector de região estática de exemplo 115 da Figura 4 inclui um segmentador de vídeo de exemplo 405 para segmentar quadros de vídeo da sequência de vídeo de entrada 105 em blocos de pixels, também referidos como blocos de pixel. Por exemplo, o segmentador de vídeo 405 pode segmentar um quadro de vídeo de entrada em blocos de pixel, em que cada um contém 16 x 16 pixels, que é adequado para suportar algoritmos de estimativa de movimento para sequências de vídeo que têm 1.080 pixels de resolução vertical (1.080p). Em outros exemplos, o segmentador de vídeo 405 pode segmentar um quadro de vídeo de entrada em blocos de pixel que têm outros tamanhos (por exemplo, 4 x 4 pixels, 8 x 8 pixels, etc.). Além disso, em alguns exemplos, o tamanho dos blocos de pixel determinados pelo segmentador de vídeo 405 é programável ou configurável de outro modo (por exemplo, por meio de uma entrada de usuário). No exemplo ilustrado da Figura 4, o segmentador de vídeo 405 segmenta cada plano de componente de vídeo (por exemplo, o plano de luminância e os dois planos de crominância) para formar três planos de componente de vídeo segmentados de blocos de pixel para um dado quadro de vídeo de entrada (por exemplo, representado pelo “3” que identifica a linha de saúda do segmentador de vídeo 405 no exemplo ilustrado da Figura 4).[037] The example static region detector 115 of Figure 4 includes an example video segmenter 405 for segmenting video frames from the input video sequence 105 into blocks of pixels, also referred to as pixel blocks. For example, video segmenter 405 may segment an input video frame into pixel blocks, each of which contains 16 x 16 pixels, which is suitable for supporting motion estimation algorithms for video sequences that are 1080 pixels in size. vertical resolution (1,080p). In other examples, video segmenter 405 may segment an input video frame into pixel blocks that have other sizes (e.g., 4 x 4 pixels, 8 x 8 pixels, etc.). Furthermore, in some examples, the size of pixel blocks determined by video segmenter 405 is programmable or otherwise configurable (e.g., via user input). In the example illustrated in Figure 4, video segmenter 405 segments each video component plane (e.g., the luminance plane and the two chrominance planes) to form three video component planes segmented from pixel blocks for a given input video frame (for example, represented by the “3” that identifies the output line of the video segmenter 405 in the example illustrated in Figure 4).

[038] O detector de região estática de exemplo 115 da Figura 4 também inclui um avaliador de critérios de bloco estático de exemplo 410 para processar os planos de componente de vídeo segmentados fornecidos pelo segmentador de vídeo 405 para identificar zero ou mais blocos estáticos de pixel nos respectivos planos de componente de vídeo de um quadro de vídeo de entrada. No exemplo ilustrado, para identificar zero ou mais bloco estáticos em um quadro de vídeo atual (por exemplo, o primeiro) da sequência de vídeo de entrada 105, o avaliador de critérios de bloco estático 410 avalia os blocos de pixel no quadro de vídeo atual (por exemplo, o primeiro) e os blocos de pixel correspondentes em um quadro de vídeo precedente (por exemplo, o segundo) da sequência de vídeo de entrada 105 contra um ou mais critérios de detecção de bloco estático. Se os critérios de detecção de bloco estático forem satisfeitos por um dado par de blocos de pixel atual/precedente, o avaliador de critérios de bloco estático 410 indica que o bloco de pixel correspondente no quadro de vídeo atual é um bloco estático. Os exemplos de critérios de detecção de bloco estático que podem ser avaliados pelo avaliador de critérios de bloco estático 410 são revelados em mais detalhes abaixo. No exemplo ilustrado da Figura 4, o avaliador de critérios de bloco estático 410 realiza a avaliação de bloco estático individualmente para cada plano de componente de vídeo (por exemplo, o plano de luminância e os dois planos de crominância) segmentado pelo segmentador de vídeo 405. Assim, para um dado bloco de pixel de um quadro de vídeo, o avaliador de critérios de bloco estático 410 produz resultados de detecção de bloco estático separados para cada um dos planos de componente de vídeo de um dado quadro de vídeo de entrada (por exemplo, representado pelo “3” que identifica a linha de saída do avaliador de critérios de bloco estático 410 no exemplo ilustrado da Figura 4). Uma implantação de exemplo do avaliador de critérios de bloco estático 410 é ilustrada na Figura 6, que é descrita em mais detalhes abaixo.[038] The example static region detector 115 of Figure 4 also includes an example static block criteria evaluator 410 for processing the segmented video component planes provided by the video segmenter 405 to identify zero or more static pixel blocks in the respective video component planes of an input video frame. In the illustrated example, to identify zero or more static blocks in a current video frame (e.g., the first) of the input video sequence 105, the static block criteria evaluator 410 evaluates the pixel blocks in the current video frame. (e.g., the first) and corresponding pixel blocks in a preceding video frame (e.g., the second) of the input video sequence 105 against one or more static block detection criteria. If the static block detection criteria are satisfied by a given current/previous pixel block pair, the static block criteria evaluator 410 indicates that the corresponding pixel block in the current video frame is a static block. Examples of static block detection criteria that can be evaluated by the static block criteria evaluator 410 are disclosed in more detail below. In the example illustrated in Figure 4, the static block criteria evaluator 410 performs the static block evaluation individually for each video component plane (e.g., the luminance plane and the two chrominance planes) segmented by the video segmenter 405 Thus, for a given pixel block of a video frame, the static block criteria evaluator 410 produces separate static block detection results for each of the video component planes of a given input video frame (e.g. example, represented by the “3” that identifies the output line of the static block criteria evaluator 410 in the example illustrated in Figure 4). An example implementation of the static block criteria evaluator 410 is illustrated in Figure 6, which is described in more detail below.

[039] O detector de região estática de exemplo 115 da Figura 4 inclui, ainda, um criador de mapa estático de exemplo 415 para criar um mapa estático que identifica zero ou mais blocos estáticos de pixel determinados pelo avaliador de critérios de bloco estático de exemplo 410. Por exemplo, o criador de mapa estático 415 pode criar um mapa estático separado para cada plano de componente de vídeo (por exemplo, o plano de luminância e os dois planos de crominância) segmentado pelo segmentador de vídeo 405 (por exemplo, representado pelo “3” que identifica a linha de saída do criador de mapa estático 415 no exemplo ilustrado da Figura 4). Cada entrada em um mapa estático para um dado plano de componente de vídeo de um quadro de vídeo (por exemplo, o quadro de vídeo atual sendo processado) corresponde a um respectivo bloco de pixel no dado plano de componente de vídeo do quadro de vídeo segmentado e indica se o bloco de pixel correspondente é um bloco estático ou não. Por exemplo, os mapas estáticos criados pelo criador de mapa estático 415 podem ser mapas estáticos binários em que cada entrada do mapa é um bit que tem um valor lógico de “1” ou “0”. Em tais exemplos, para um dado bloco de pixel em um dado plano de componente de vídeo de um quadro de vídeo de entrada correspondente, o criador de mapa estático 415 pode definir o bit correspondente no mapa estático binário para o dado plano de componente de vídeo em um dos valores lógicos (por exemplo, “1” ou “0”) para indicar que o dado bloco de pixel é um bloco estático, e pode definir o bit correspondente no mapa estático binário para o dado plano de componente de vídeo no outro valor lógico (por exemplo, “0” ou “1”) para indicar que o dado bloco de pixel não é um bloco estático. No exemplo ilustrado da Figura 4, o criador de mapa estático 415 define as estradas de seus mapas estáticos de acordo com os resultados de avaliação fornecidos pelo avaliador de critérios de bloco estático 410.[039] The example static region detector 115 of Figure 4 further includes an example static map creator 415 for creating a static map that identifies zero or more static pixel blocks determined by the example static block criteria evaluator 410. For example, the still map creator 415 may create a separate static map for each video component plane (e.g., the luminance plane and the two chrominance planes) segmented by the video segmenter 405 (e.g., represented by the “3” that identifies the output line of the static map creator 415 in the example illustrated in Figure 4). Each entry in a static map for a given video component plane of a video frame (e.g., the current video frame being processed) corresponds to a respective pixel block in the given video component plane of the segmented video frame and indicates whether the corresponding pixel block is a static block or not. For example, static maps created by static map creator 415 may be binary static maps in which each map entry is a bit that has a logical value of “1” or “0”. In such examples, for a given pixel block in a given video component plane of a corresponding input video frame, the static map creator 415 may set the corresponding bit in the binary static map for the given video component plane. into one of the logical values (e.g., “1” or “0”) to indicate that the given pixel block is a static block, and may set the corresponding bit in the binary static map for the given video component plane in the other logical value (e.g., “0” or “1”) to indicate that the given pixel block is not a static block. In the illustrated example of Figure 4, the static map creator 415 defines the roads of its static maps according to the evaluation results provided by the static block criteria evaluator 410.

[040] No exemplo ilustrado da Figura 4, o detector de região estática 115 inclui um armazenamento de mapa estático de exemplo 420 para armazenar os mapas estáticos criados pelo criador de mapa estático de exemplo 415 para os diferentes planos de componente de vídeo de um quadro de vídeo de entrada que está sendo processado. Por exemplo, se o segmentador de vídeo de exemplo 405 segmentar um quadro de vídeo de entrada sobre três planos de componente de vídeo (por exemplo, um plano de luminância e dois planos de crominância), então, o armazenamento de mapa estático 420 armazena três mapas estáticos para o quadro de vídeo de entrada, um mapa estático para cada um dos diferentes planos de componente de vídeo. O armazenamento de mapa estático de exemplo 420 pode ser implantado por qualquer número e/ou tipo(s) de memórias, dispositivos de armazenamento, etc., tal como, porém, sem limitação, a memória 1514 e/ou o dispositivo de armazenamento 1528 da plataforma de processador de exemplo1500, que é descrito em mais detalhes abaixo.[040] In the example illustrated in Figure 4, the static region detector 115 includes an example static map store 420 to store the static maps created by the example static map creator 415 for the different video component planes of a frame. of input video being processed. For example, if example video segmenter 405 segments an input video frame over three component video planes (e.g., one luminance plane and two chrominance planes), then static map storage 420 stores three static maps for the input video frame, a static map for each of the different video component planes. Example static map storage 420 may be implemented by any number and/or type(s) of memories, storage devices, etc., such as, but not limited to, memory 1514 and/or storage device 1528 of the example 1500 processor platform, which is described in more detail below.

[041] O detector de região estática de exemplo 115 da Figura 4 inclui um combinador de mapa estático de exemplo 425 para combinar os diferentes mapas estáticos para um dado quadro de vídeo de entrada (por exemplo, atual) em um mapa estático geral que identifica os zero ou mais blocos estáticos de pixel no dado quadro de vídeo de entrada (por exemplo, atual). Por exemplo, o combinador de mapa estático 425 da Figura 4 recupera, a partir do armazenamento de mapa estático de exemplo 420, os mapas estáticos criados pelo criador de mapa estático de exemplo 415 para os três diferentes planos de componente de vídeo (por exemplo, um de luminância e dois de crominância) do dado quadro de vídeo de entrada (por exemplo, atual) (por exemplo, representado pelo “3” que identifica a linha de entrada no combinador de mapa estático 425 no exemplo ilustrado da Figura 4). O combinador de mapa estático 425, então, combina os mapas estáticos para os diferentes planos de componente de vídeo em um mapa estático geral que identifica os zero ou mais blocos estáticos de pixel no dado vídeo de entrada (por exemplo, atual). Tal combinação é referida no presente documento como “combinação intercomponentes” devido ao fato de que a combinação de mapa estático é realizada através de dois ou mais planos de componente de vídeo diferentes. As técnicas de exemplo que podem ser usadas pelo combinador de mapa estático 425 para combinar mapas estáticos para diferentes planos de componente de vídeo em um mapa estático geral são reveladas em mais detalhes abaixo.[041] The example static region detector 115 of Figure 4 includes an example static map combiner 425 for combining the different static maps for a given input video frame (e.g., current) into an overall static map that identifies the zero or more static pixel blocks in the given input (e.g. current) video frame. For example, the static map combiner 425 of Figure 4 retrieves, from the example static map store 420, the static maps created by the example static map creator 415 for the three different video component planes (e.g., one for luminance and two for chrominance) of the given input (e.g., current) video frame (e.g., represented by the “3” identifying the input line in the static map combiner 425 in the illustrated example of Figure 4). The static map combiner 425 then combines the static maps for the different video component planes into an overall static map that identifies the zero or more static pixel blocks in the given input (e.g., current) video. Such combination is referred to herein as “intercomponent combination” due to the fact that static map combination is performed across two or more different video component planes. Example techniques that can be used by static map combiner 425 to combine static maps for different video component planes into an overall static map are disclosed in more detail below.

[042] Em alguns exemplos, o combinador de mapa estático 425 da Figura 4 implanta adicional ou alternativamente “combinação intracomponentes”, que se refere a combinar múltiplos mapas estáticos que estão associados ao mesmo plano de componente de vídeo. A combinação intracomponentes pode ser usada, por exemplo, quando o segmentador de vídeo de exemplo 405 é configurado para segmentar um quadro de vídeo de entrada da sequência de vídeo de entrada múltiplas vezes, com os blocos de pixel em cada iteração de segmentação sendo deslocado em relação aos blocos de pixel associados a outra(s) interação(ões) de segmentação. Em tais exemplos, os blocos de pixel determinados pelo segmentador de vídeo 405 para o quadro de vídeo de entrada em uma iteração de segmentação irão se sobrepor parcialmente aos blocos de pixel determinados pelo segmentador de vídeo 405 em outra(s) interação(ões) de segmentação. As regiões de bloco sobrepostas através de diferentes iterações de segmentação definem sub-blocos menores. Assim, o mapa estático geral resultante determinado pelo combinador de mapa estático 425 que realiza combinação intracomponentes dos mapas estáticos correspondentes às diferentes iterações de segmentação terá resolução mais alta correspondente ao tamanho menor de sub-bloco. Devido ao fato de que os sub-blocos de pixel representados no mapa estático geral determinado pelo combinador de mapa estático 425 em tal exemplo estão, cada um, associados a múltiplas decisões de bloco estático correspondentes aos múltiplos blocos de pixel que se sobrepõem a um dado sub-bloco, a precisão de uma decisão de bloco estático para um dado sub-bloco pode ser aprimorada combinando-se as decisões para os múltiplos blocos de pixel que se sobrepõem ao dado sub- bloco.[042] In some examples, the static map combiner 425 of Figure 4 additionally or alternatively implements “intra-component combining”, which refers to combining multiple static maps that are associated with the same video component plane. Intracomponent combination may be used, for example, when example video segmenter 405 is configured to segment an input video frame from the input video sequence multiple times, with the pixel blocks in each segmentation iteration being shifted by relative to pixel blocks associated with other segmentation interaction(s). In such examples, pixel blocks determined by video segmenter 405 for the input video frame in one segmentation iteration will partially overlap with pixel blocks determined by video segmenter 405 in other segmentation iteration(s). segmentation. Block regions overlapped through different segmentation iterations define smaller sub-blocks. Thus, the resulting overall static map determined by the static map combiner 425 that performs intra-component combination of the static maps corresponding to the different segmentation iterations will have higher resolution corresponding to the smaller sub-block size. Due to the fact that the pixel sub-blocks represented in the overall static map determined by the static map combiner 425 in such an example are each associated with multiple static block decisions corresponding to the multiple pixel blocks that overlap a given sub-block, the accuracy of a static block decision for a given sub-block can be improved by combining the decisions for multiple pixel blocks that overlap the given sub-block.

[043] Um exemplo de segmentação de quadro de vídeo sobreposto, que pode ser realizada pelo segmentador de vídeo de exemplo 405, e combinação intracomponentes correspondente, que pode ser realizada pelo combinador de mapa estático de exemplo 425, é ilustrado na Figura 5. O exemplo da Figura 5 corresponde a um cenário de exemplo em que o segmentador de vídeo 405 segmenta um quadro de vídeo de entrada sobre múltiplas iterações de modo que os blocos de pixel em iterações sucessivas sejam deslocados em 50% (ou metade) do tamanho de bloco de pixel nas direções horizontal ou vertical. Por exemplo, em uma primeira segmentação de exemplo 505 ilustrada na Figura 5, o segmentador de vídeo 405 começa a segmentar no canto superior esquerdo do quadro de vídeo de entrada, que produz blocos de pixel 510, etc., que têm um tamanho de 16 x 16 pixels, ou algum outro tamanho. Em uma segunda segmentação de exemplo 520 ilustrada na Figura 5, o segmentador de vídeo 405 desloca a segmentação em 50% do tamanho de bloco de pixel (por exemplo, 8 pixels nesse exemplo) na direção horizontal em relação à primeira segmentação de exemplo 505 para produzir blocos de pixel 525, etc. Em uma terceira segmentação de exemplo 530 ilustrada na Figura 5, o segmentador de vídeo 405 desloca a segmentação em 50% do tamanho de bloco de pixel (por exemplo, 8 pixels no exemplo) na direção vertical em relação à primeira segmentação de exemplo 505 para produzir blocos de pixel 535, etc. Em uma quarta segmentação de exemplo 545 ilustrada na Figura 5, o segmentador de vídeo 405 desloca a segmentação em 50% do tamanho de bloco de pixel (por exemplo, 8 pixels no exemplo) na direção horizontal em relação à terceira segmentação de exemplo 505 para produzir blocos de pixel 550, etc.[043] An example of overlapping video frame segmentation, which can be performed by example video segmenter 405, and corresponding intra-component combination, which can be performed by example static map combiner 425, is illustrated in Figure 5. Example of Figure 5 corresponds to an example scenario in which video segmenter 405 segments an input video frame over multiple iterations such that pixel blocks in successive iterations are offset by 50% (or half) of the block size of pixels in horizontal or vertical directions. For example, in a first example segmentation 505 illustrated in Figure 5, the video segmenter 405 begins segmenting in the upper left corner of the input video frame, which produces pixel blocks 510, etc., that have a size of 16 x 16 pixels, or some other size. In a second example segmentation 520 illustrated in Figure 5, the video segmenter 405 shifts the segmentation by 50% of the pixel block size (e.g., 8 pixels in this example) in the horizontal direction relative to the first example segmentation 505 to produce 525 pixel blocks, etc. In a third example slicer 530 illustrated in Figure 5, the video slicer 405 shifts the slicer by 50% of the pixel block size (e.g., 8 pixels in the example) in the vertical direction relative to the first example slicer 505 to produce 535 pixel blocks, etc. In a fourth example slicer 545 illustrated in Figure 5, the video slicer 405 shifts the slicer by 50% of the pixel block size (e.g., 8 pixels in the example) in the horizontal direction relative to the third example slicer 505 to produce 550 pixel blocks, etc.

[044] No exemplo da Figura 5, o avaliador de critérios de bloco estático de exemplo 410 e o criador de mapa estático 415 realizam avaliação de critérios de bloco estático e criação de mapa estático para cada uma das iterações de segmentação diferentes 505, 520, 530, 545. Por exemplo, o criador de mapa estático 415 do exemplo ilustrado emite três mapas estáticos correspondentes aos três diferentes planos de componente de vídeo resultantes da primeira segmentação de exemplo 505, três mapas estáticos correspondentes aos três diferentes planos de componente de vídeo resultantes da segunda segmentação de exemplo 520, três mapas estáticos correspondentes aos três diferentes planos de componente de vídeo resultantes da terceira segmentação de exemplo 530, três mapas estáticos correspondentes aos três diferentes planos de componente de vídeo resultantes da quarta segmentação de exemplo 545, etc. Conforme mostrado no exemplo da Figura 5, o bloco de pixel 510 da primeira segmentação de exemplo 505, o bloco de pixel 525 da segunda segmentação de exemplo 520, o bloco de pixel 535 da terceira segmentação de exemplo 530 e o bloco de pixel 550 da quarta segmentação de exemplo 545 todos se sobrepõem a um sub-bloco de exemplo 560 (por exemplo, que tem 8 x 8 pixels no exemplo ilustrado). No exemplo ilustrado da Figura 5, o combinador de mapa estático 425 pode realizar combinação intracomponentes para combinar, para um dado plano de componente de vídeo, os diferentes mapas estáticos correspondentes às diferentes segmentações de exemplo 505, 520, 530 e 545 para determinar um único mapa estático combinado para o dado plano de componente de vídeo que tem uma entrada para o sub-bloco 560. Por exemplo, a entrada para o sub- bloco 560 no mapa estático combinado para um dado plano de componente de vídeo poderia ser uma combinação das entradas para o bloco de pixel 510, 525, 535 e 550 nos diferentes mapas estáticos criados para as diferentes iterações de segmentação 505, 520, 530 e 545. Uma implantação de exemplo do combinador de mapa estático 425 da Figura 4 é ilustrada na Figura 9, que é descrita em mais detalhes abaixo.[044] In the example of Figure 5, the example static block criteria evaluator 410 and the static map creator 415 perform static block criteria evaluation and static map creation for each of the different segmentation iterations 505, 520, 530, 545. For example, the static map creator 415 of the illustrated example outputs three static maps corresponding to the three different video component planes resulting from the first example segmentation 505, three static maps corresponding to the three different video component planes resulting of the second example segmentation 520, three static maps corresponding to the three different video component planes resulting from the third example segmentation 530, three static maps corresponding to the three different video component planes resulting from the fourth example segmentation 545, etc. As shown in the example of Figure 5, the pixel block 510 of the first example segmentation 505, the pixel block 525 of the second example segmentation 520, the pixel block 535 of the third example segmentation 530, and the pixel block 550 of the fourth example segmentation 545 all overlap an example subblock 560 (e.g., which is 8 x 8 pixels in the illustrated example). In the example illustrated in Figure 5, the static map combiner 425 may perform intra-component combination to combine, for a given video component plane, the different static maps corresponding to the different example segmentations 505, 520, 530 and 545 to determine a single combined static map for the given component video plane that has an entry for subblock 560. For example, the entry for subblock 560 in the combined static map for a given component video plane could be a combination of entries for pixel block 510, 525, 535, and 550 in the different static maps created for the different segmentation iterations 505, 520, 530, and 545. An example deployment of the static map combiner 425 of Figure 4 is illustrated in Figure 9 , which is described in more detail below.

[045] Retornando-se à Figura 4, o combinador de mapa estático de exemplo 425 combina os mapas estáticos para diferentes planos de componente de vídeo de um dado quadro de vídeo de entrada (por exemplo, atual) e/ou para diferentes segmentações do dado quadro de vídeo de entrada (por exemplo, atual), para produzir um único mapa estático geral que identifica o(s) bloco(s) estático(s), caso haja, no dado quadro de vídeo de entrada (por exemplo, atual) (por exemplo, representado pelo “1” que identifica a linha de saída do combinador de mapa estático 425 no exemplo ilustrado da Figura 4). Em alguns exemplos, o detector de região estática 115 da Figura 4 inclui um filtro de mídia de exemplo 430 para filtrar o mapa estático geral para o dado quadro de vídeo de entrada (por exemplo, atual) para remover entradas espúrias que identificam bloco(s) estático(s) ou não estático(s) isolado(s). O filtro mediano de exemplo 430 pode implantar qualquer tipo de filtro mediano e/ou outra filtragem/pós-processamento para remover identificações espúrias de bloco estático/não estático do mapa estático geral emitido pelo combinador de mapa estático 425. Em alguns exemplos, adicionalmente ou como uma alternativa ao processamento do mapa estático geral emitido pelo combinador de mapa estático 425, o filtro mediano 430 pode ser configurado para filtrar/processar os mapas estáticos determinados pelo criador de mapa estático 415 para os planos de componente de vídeo individuais do dado quadro de vídeo de entrada (por exemplo, atual).[045] Returning to Figure 4, example static map combiner 425 combines static maps for different video component planes of a given input video frame (e.g., current) and/or for different segmentations of the given input video frame (e.g., current), to produce a single overall static map that identifies the static block(s), if any, in the given input video frame (e.g., current ) (e.g., represented by the “1” that identifies the output line of the static map combiner 425 in the example illustrated in Figure 4). In some examples, the static region detector 115 of Figure 4 includes an example media filter 430 to filter the overall static map for the given input (e.g., current) video frame to remove spurious entries that identify block(s). ) static or non-static isolated(s). Example median filter 430 may deploy any type of median filter and/or other filtering/post-processing to remove spurious static/non-static block identifications from the overall static map output by static map combiner 425. In some examples, additionally or As an alternative to processing the overall still map output by the still map combiner 425, the median filter 430 can be configured to filter/process the still maps determined by the still map creator 415 for the individual video component planes of the given image frame. input video (e.g. current).

[046] No exemplo ilustrado da Figura 4, o detector de região estática 115 inclui um identificador de região estática de exemplo 435 para emitir informações que identificam a(s) região(ões) estática(s), caso haja, indicada pelo mapa estático geral para um dado quadro de vídeo de entrada (por exemplo, atual). Por exemplo, o identificador de região estática 435 pode emitir informações de localização que identificam os blocos estáticos indicados no mapa estático geral para o dado quadro de vídeo de entrada (por exemplo, atual). Em alguns exemplos, o identificador de região 435 combina blocos estáticos de pixels indicados no mapa estático geral para o dado quadro de vídeo de entrada (por exemplo, atual) para formar regiões estáticas maiores e, então, emite informações de localização/tamanho/formato que especificam as regiões estáticas no dado quadro de vídeo de entrada (por exemplo, atual).[046] In the example illustrated in Figure 4, the static region detector 115 includes an example static region identifier 435 to output information that identifies the static region(s), if any, indicated by the static map general for a given input video frame (e.g. current). For example, the static region identifier 435 may output location information that identifies the static blocks indicated in the overall static map for the given input (e.g., current) video frame. In some examples, region identifier 435 combines static blocks of pixels indicated in the overall static map for the given input (e.g., current) video frame to form larger static regions and then outputs location/size/shape information. which specify the static regions in the given input (e.g. current) video frame.

[047] Em alguns exemplos, o detector de região estática 115 da Figura 4 inclui um verificador de região estática de exemplo 440 para verificar a(s) região(ões) estática(s), caso haja, a ser emitida(s) pelo identificador de região estática de exemplo 435. No exemplo ilustrado da Figura 4, o verificador de região estática 440 obtém informações de verificação (por exemplo, a partir do estimador de movimento de exemplo 125) e compara essas informações com os blocos/regiões estáticas a serem emitidos pelo verificador de região estática 440. Dependendo dos resultados da verificação, o verificador de região estática 440 pode fazer com que as informações de região estática que são emitidas pelo identificador de região estática 435 permaneçam inalteradas ou pode fazer com que todas as informações sejam alteradas (por exemplo, fazendo, assim, com que a(s) região(ões) estática(s) seja identificada como não estática e/ou vice-versa). Por exemplo, o verificador de região estática 440 pode receber informações de verificação na forma de dados de movimento (por exemplo, vetores de movimento) a partir do estimador de movimento de exemplo 125. Em tais exemplos, o verificador de região estática 440 compara os dados de movimento para um dado bloco de pixel com a entrada de mapa estático filtrada para o dado bloco de pixel. Se os dados de movimento indicarem que o bloco de pixel está associado a pouco a nenhum movimento (por exemplo, se os dados de movimento tiverem magnitude(s) pequena(s)), e a entrada de mapa estático identificar o bloco de pixel como um bloco estático, a identificação do bloco de pixel como um bloco estático permanece inalterada. Similarmente, se os dados de movimento indicarem que o bloco de pixel está associado a nenhum movimento (por exemplo, se os dados de movimento tiverem magnitude(s) grande(s)), e a entrada de mapa estático identificar o bloco de pixel como um bloco não estático, a identificação do bloco de pixel como um bloco não estático permanece inalterada. Entretanto, se os dados de movimento e a entrada de mapa estático forem divergentes (por exemplo, um indicar movimento e o outro indicar estático, ou vice-versa), então, a magnitude e/ou a confiabilidade dos dados de movimento inseridos no verificador de região estática 440 podem ser usadas para determinar a possibilidade de alterar a entrada de mapa estático para o dado bloco de pixel. Por exemplo, se os dados de movimento indicarem fortemente que um bloco de pixel está associado a uma região que tem pouco ou nenhum movimento, mas a entrada de mapa estático para esse bloco de pixel identificar o bloco de pixel como um bloco não estático, então, o verificador de região estática 440 pode revisar a entrada de mapa estático para identificar o bloco de pixel como um bloco estático. De modo contrário, se os dados de movimento indicarem fortemente que um bloco de pixel está associado a uma região que tem movimento, mas a entrada de mapa estático para esse bloco de pixel identificar o bloco de pixel como um bloco estático, então, o verificador de região estática 440 pode revisar a entrada de mapa estático para identificar o bloco de pixel como um bloco não estático.[047] In some examples, the static region detector 115 of Figure 4 includes an example static region checker 440 to check the static region(s), if any, to be emitted by the example static region identifier 435. In the illustrated example of Figure 4, the static region checker 440 obtains verification information (e.g., from the example motion estimator 125) and compares this information with the static blocks/regions to be be emitted by the static region checker 440. Depending on the results of the check, the static region checker 440 may cause the static region information that is emitted by the static region identifier 435 to remain unchanged or it may cause all of the information to be changed (e.g., thus causing the static region(s) to be identified as non-static and/or vice versa). For example, the static region checker 440 may receive verification information in the form of motion data (e.g., motion vectors) from the example motion estimator 125. In such examples, the static region checker 440 compares the motion data for a given pixel block with the filtered static map input for the given pixel block. If the motion data indicates that the pixel block is associated with little to no motion (for example, if the motion data has small magnitude(s)), and the static map input identifies the pixel block as a static block, the identification of the pixel block as a static block remains unchanged. Similarly, if the motion data indicates that the pixel block is associated with no motion (for example, if the motion data has large magnitude(s)), and the static map input identifies the pixel block as a non-static block, the identification of the pixel block as a non-static block remains unchanged. However, if the motion data and the static map input differ (e.g., one indicates motion and the other indicates static, or vice versa), then the magnitude and/or reliability of the motion data entered into the verifier static region map 440 can be used to determine whether to change the static map input for the given pixel block. For example, if the motion data strongly indicates that a pixel block is associated with a region that has little or no motion, but the static map entry for that pixel block identifies the pixel block as a non-static block, then , the static region checker 440 may review the static map input to identify the pixel block as a static block. Conversely, if the motion data strongly indicates that a pixel block is associated with a region that has motion, but the static map entry for that pixel block identifies the pixel block as a static block, then the checker static region block 440 may review the static map input to identify the pixel block as a non-static block.

[048] Em alguns exemplos, o detector de região estática 115 da Figura 4 inclui um ajustador de critérios de bloco estático de exemplo 445 para ajustar os critérios de detecção de bloco estático pelo avaliador de critérios de bloco estático de exemplo 410. Por exemplo, o ajustador de critérios de bloco estático 445 de alguns exemplos examina a correlação entre o quadro de vídeo de entrada (por exemplo, atual) que está sendo processado e o quadro precedente para determinar se as regiões do quadro de vídeo de entrada correspondem às regiões de movimento ou sem movimento. Se adequado, o ajustador de critérios de bloco estático 445 pode, então, ajustar um ou mais dos critérios de detecção de bloco estático da mesma forma. Como outro exemplo, o ajustador de critérios de bloco estático 445 de alguns exemplos examina mapas estáticos anteriores determinados pelo detector de região estática 115 e aplica histerese ou outra retroalimentação para determinar a possibilidade de ajustar um ou mais dos critérios de detecção de bloco estático e, se sim, em quanto. Uma implantação de exemplo do ajustador de critérios de bloco estático 445 da Figura 4 é ilustrada na Figura 8, que é descrita em mais detalhes abaixo.[048] In some examples, the static region detector 115 of Figure 4 includes an example static block criteria adjuster 445 to adjust the static block detection criteria by the example static block criteria evaluator 410. For example, The static block criteria adjuster 445 of some examples examines the correlation between the input (e.g., current) video frame being processed and the preceding frame to determine whether regions of the input video frame correspond to regions of movement or no movement. If appropriate, the static block criteria adjuster 445 may then adjust one or more of the static block detection criteria in the same way. As another example, the static block criteria adjuster 445 of some examples examines previous static maps determined by the static region detector 115 and applies hysteresis or other feedback to determine whether to adjust one or more of the static block detection criteria, and, If yes, by how much. An example implementation of the static block criteria adjuster 445 of Figure 4 is illustrated in Figure 8, which is described in more detail below.

[049] Uma implantação de exemplo do avaliador de critérios de bloco estático 410 da Figura 4 é ilustrada na Figura 6. Conforme mencionado acima, o avaliador de critérios de bloco estático 410 avalia os blocos de pixel em um quadro de vídeo atual (por exemplo, o primeiro) e nos blocos de pixel correspondentes em um quadro de vídeo precedente (por exemplo, o segundo) da sequência de vídeo de entrada 105 contra um ou mais critérios de detecção de bloco estático para identificar zero ou mais blocos estáticos de pixel no quadro de vídeo atual (por exemplo, o primeiro). Em alguns exemplos, o avaliador de critérios de bloco estático 410 realiza avaliações de critérios de bloco estático independentes para diferentes planos de componente de vídeo do quadro de vídeo atual (por exemplo, o primeiro).[049] An example implementation of the static block criteria evaluator 410 of Figure 4 is illustrated in Figure 6. As mentioned above, the static block criteria evaluator 410 evaluates the pixel blocks in a current video frame (e.g. , the first) and corresponding pixel blocks in a preceding video frame (e.g., the second) of the input video sequence 105 against one or more static block detection criteria to identify zero or more static pixel blocks in the current video frame (e.g. the first). In some examples, the static block criteria evaluator 410 performs independent static block criteria evaluations for different video component planes of the current video frame (e.g., the first).

[050] Voltando-se para a Figura 6, o avaliador de critérios de bloco estático de exemplo ilustrado 410 inclui um comparador de pixel por bloco de exemplo 605 para compara os pixels em um primeiro bloco de pixel do quadro de vídeo atual (por exemplo, o primeiro) e um segundo bloco de pixel correspondente do quadro de vídeo precedente (por exemplo, o segundo) contra um critério de soma de diferenças absolutas para determinar se o primeiro bloco de pixel é um bloco estático. O primeiro bloco de pixel do quadro de vídeo atual (por exemplo, o primeiro) e o segundo bloco de pixel correspondente do quadro de vídeo precedente (por exemplo, o segundo) estão ambos localizados na mesma localização de quadro e no mesmo plano de componente de vídeo e, assim, correspondem um ao outro. No exemplo ilustrado da Figura 6, o comparador de pixel por bloco 605 computa uma soma das diferentes absolutas entre pixels no primeiro bloco de pixel e pixels correspondentes (por exemplo, na mesma localização de quadro) no segundo bloco de pixel. O comparador de pixel por bloco 605, então, compara a soma das diferenças absolutas a um limite. Se a soma das diferenças absolutas satisfizer (por exemplo, for menor que) o limite, o comparador de pixel por bloco 605 identifica o primeiro bloco de pixel do quadro de vídeo atual (por exemplo, o primeiro) como um bloco estático. De outro modo, o comparador de pixel por bloco 605 identifica o primeiro bloco de pixel do quadro de vídeo atual (por exemplo, o primeiro) como um bloco não estático.[050] Turning to Figure 6, the illustrated example static block criteria evaluator 410 includes an example block pixel comparator 605 to compare the pixels in a first pixel block of the current video frame (e.g. , the first) and a corresponding second pixel block of the preceding video frame (e.g., the second) against a sum of absolute differences criterion to determine whether the first pixel block is a static block. The first pixel block of the current video frame (e.g., the first) and the corresponding second pixel block of the preceding video frame (e.g., the second) are both located at the same frame location and on the same component plane video and thus correspond to each other. In the illustrated example of Figure 6, the block-pixel comparator 605 computes a sum of absolute differences between pixels in the first pixel block and corresponding pixels (e.g., at the same frame location) in the second pixel block. The block-pixel comparator 605 then compares the sum of the absolute differences to a threshold. If the sum of the absolute differences satisfies (e.g., is less than) the threshold, the block-pixel comparator 605 identifies the first pixel block of the current video frame (e.g., the first) as a static block. Otherwise, the pixel-per-block comparator 605 identifies the first pixel block of the current video frame (e.g., the first) as a non-static block.

[051] Em alguns exemplos, o comparador de pixel por bloco 605 emprega diferentes limites para diferentes planos de componente de vídeo. Por exemplo, o comparador de pixel por bloco 605 pode empregar um primeiro limite ao avaliar a soma das diferenças absolutas para um bloco de pixel no plano de luminância, e um segundo limite diferente ao avaliar a soma das diferenças absolutas para um bloco de pixel em um dos planos de crominância. A título de exemplo, para um bloco de 16 x 16 pixels, que contém 256 pixels totais, o comparador de pixel por bloco 605 pode usar um limite de 3 por pixel para o plano de luminância, produzindo um limite total de 3 x 256 = 768, contra o qual a soma das diferenças absolutas deve ser comparada. Entretanto, o comparador de pixel por bloco 605 pode usar um limite de 4 por pixel para cada um dos planos de crominância, produzindo um limite total de 4 x 256 = 1.024, contra o qual a soma das diferenças absolutas deve ser comparada. Diferentes valores por pixel para calcular os limites para uso nos planos de luminância e/ou crominância, e/ou diferentes limites em sua entrada, poderiam ser alternativamente usados.[051] In some examples, the block pixel comparator 605 employs different thresholds for different video component planes. For example, the block-pixel comparator 605 may employ a first threshold when evaluating the sum of absolute differences for a pixel block in the luminance plane, and a different second threshold when evaluating the sum of absolute differences for a pixel block in one of the chrominance planes. By way of example, for a 16 x 16 pixel block, which contains 256 total pixels, the pixel per block comparator 605 may use a threshold of 3 per pixel for the luminance plane, producing a total threshold of 3 x 256 = 768, against which the sum of absolute differences must be compared. However, the pixel per block comparator 605 may use a threshold of 4 per pixel for each of the chrominance planes, yielding a total threshold of 4 x 256 = 1024, against which the sum of the absolute differences must be compared. Different values per pixel to calculate thresholds for use in the luminance and/or chrominance planes, and/or different thresholds on their input, could alternatively be used.

[052] O avaliador de critérios de bloco estático de exemplo 410 da Figura 6 também inclui um criador de mapa de borda de exemplo 610 para criar um mapa de borda para o quadro de vídeo de entrada atual. Em alguns exemplos, o criador de mapa de borda 610 cria mapas de borda separados para os diferentes planos de componente de vídeo do quadro de vídeo de entrada atual. O criador de mapa de borda 610 pode usar qualquer tipo ou combinação de técnicas de mapeamento de borda para identificar bordas no quadro de vídeo de entrada atual. Por exemplo, o criador de mapa de borda 610 do exemplo ilustrado aplica operadores de Sobel horizontais e verticais aos diferentes planos de componente de vídeo (por exemplo, planos de luminância e crominância) do quadro de vídeo de entrada atual. O mapa de borda resultante determinado pelo criador de mapa de borda 610 identifica se cada pixel no quadro de vídeo de entrada atual é parte de uma borda vertical, é parte de uma borda horizontal, é parte tanto de uma borda vertical como de uma borda horizontal, não é parte de uma borda, etc.[052] The example static block criteria evaluator 410 of Figure 6 also includes an example edge map creator 610 to create an edge map for the current input video frame. In some examples, the edge map creator 610 creates separate edge maps for the different video component planes of the current input video frame. The edge map creator 610 may use any type or combination of edge mapping techniques to identify edges in the current input video frame. For example, the edge map creator 610 of the illustrated example applies horizontal and vertical Sobel operators to the different video component planes (e.g., luminance and chrominance planes) of the current input video frame. The resulting edge map determined by edge map creator 610 identifies whether each pixel in the current input video frame is part of a vertical edge, is part of a horizontal edge, is part of both a vertical edge and a horizontal edge. , not part of a border, etc.

[053] O avaliador de critérios de bloco estático de exemplo 410 da Figura 6 inclui, ainda, um ou ambos dentre um contador de borda por bloco de exemplo 615 e um avaliador de correspondência de borda por bloco de exemplo 620 para usar o(s) mapa(s) de borda criado(s) pelo criador de mapa de borda 610 para determinar se um dado bloco de pixel do quadro de vídeo de entrada atual é um bloco estático. Por exemplo, o contador de borda por bloco 615 compara os pixels no dado bloco de pixel do quadro de vídeo de entrada atual (por exemplo, para um dado plano de componente de vídeo) contra um critério de contagem de borda para determinar se há um número suficiente de pixels de borda no dado bloco de pixel para realizar uma determinação de bloco estático precisa. Por exemplo, o contador de borda por bloco 615 pode usar o mapa de borda cria pelo criador de mapa de borda 610 para um dado plano de componente de vídeo para determinar que pixels no dado bloco de pixel para o dado plano de componente de vídeo estão associados às bordas e, assim, considerados como sendo pixels de borda. O contador de borda por bloco 615 do exemplo ilustrado, então, conta o número de pixels de borda no dado bloco de pixel e compara o número a um limite. Se o número de pixels de borda satisfizer (por exemplo, for maior ou igual a) o limite, o contador de borda por bloco 615 indica que uma determinação de bloco estático pode ser realizada para o dado bloco de pixel para o dado plano de componente de vídeo.[053] The example static block criteria evaluator 410 of Figure 6 further includes one or both of an example block edge counter 615 and an example block edge match evaluator 620 to use the ) edge map(s) created by edge map creator 610 to determine whether a given pixel block of the current input video frame is a static block. For example, the per-block edge counter 615 compares the pixels in the given pixel block of the current input video frame (e.g., for a given component video plane) against an edge count criterion to determine whether there is a sufficient number of edge pixels in the given pixel block to perform an accurate static block determination. For example, the per-block edge counter 615 may use the edge map created by the edge map creator 610 for a given video component plane to determine which pixels in the given pixel block for the given video component plane are associated with edges and thus considered to be edge pixels. The per-block edge counter 615 of the illustrated example then counts the number of edge pixels in the given pixel block and compares the number to a threshold. If the number of edge pixels satisfies (e.g., is greater than or equal to) the threshold, the per-block edge counter 615 indicates that a static block determination can be performed for the given pixel block for the given component plane. of video.

[054] Entretanto, se o número de pixels de borda não satisfizer (por exemplo, for menor que) o limite, o contador de borda por bloco 615 indica que uma determinação de bloco estático não pode ser realizada para o dado bloco de pixel para o dado plano de componente de vídeo. Por exemplo, um bloco de pixel contendo desfoque de movimento devido a um grande movimento e/ou contendo ruído (por exemplo, resultante de alterações de fonte de luz, imperfeições de câmera/sensor, etc.) pode ter algumas bordas e, assim, a detecção estática realizada naquele bloco de pixel pode não ser confiável. Em alguns exemplos, o limite usado para avaliar o número de pixels de borda é determinado dividindo-se o número de pixels em um bloco de pixel por um fator. A título de exemplo, para um bloco de 16 x 16 pixels, que contém 256 pixels totais, o contador de borda por bloco 615 pode usar um fator de 4 para produzir um limite de 256 / 4 = 64, contra o qual o número de pixels de borda em um bloco de pixel deve ser comparado. Diferentes fatores e/ou técnicas para determinar o limite poderiam ser alternativamente usados.[054] However, if the number of edge pixels does not satisfy (e.g., is less than) the threshold, the per-block edge counter 615 indicates that a static block determination cannot be performed for the given pixel block to the given video component plane. For example, a pixel block containing motion blur due to large motion and/or containing noise (e.g. resulting from light source changes, camera/sensor imperfections, etc.) may have some edges and thus static detection performed on that pixel block may be unreliable. In some examples, the threshold used to evaluate the number of edge pixels is determined by dividing the number of pixels in a pixel block by a factor. By way of example, for a 16 x 16 pixel block, which contains 256 total pixels, the edge counter per block 615 may use a factor of 4 to produce a threshold of 256 / 4 = 64, against which the number of edge pixels in a pixel block must be compared. Different factors and/or techniques for determining the limit could alternatively be used.

[055] No exemplo ilustrado da Figura 6, o avaliador de correspondência de borda por bloco 620 compara os pixels de borda em um primeiro bloco de pixel do quadro de vídeo atual (por exemplo, o primeiro) e os pixels correspondentes em um segundo bloco de pixel do quadro de vídeo precedente (por exemplo, o segundo) contra um critério de correspondência de borda para determinar se o primeiro bloco de pixel é um bloco estático. Por exemplo, o avaliador de correspondência de borda por bloco 620 pode usar o mapa de borda cria pelo criador de mapa de borda 610 para um dado plano de componente de vídeo para determinar que pixels no primeiro bloco de pixel do quadro de vídeo atual (por exemplo, o primeiro) (e para o dado plano de componente de vídeo) estão associados às bordas e, assim, considerados como sendo pixels de borda. O avaliador de correspondência de borda por bloco 620 pode também usar o mapa de borda para identificar a orientação de borda associada a cada pixel de borda no primeiro bloco de pixel (por exemplo, horizontal, vertical, tanto horizontal como vertical, nenhum, etc.). O avaliador de correspondência de borda por bloco 620 do exemplo ilustrado, então, compara os pixels de borda identificados no primeiro bloco de pixel do quadro de vídeo atual (por exemplo, o primeiro) (e para o dado plano de componente de vídeo) contra os pixels correspondentes nas mesmas localizações no quadro de vídeo precedente (por exemplo, o segundo) (e ara o dado plano de componente de vídeo) para determinar o número de pares de pixels que não estão em correspondência de borda (por exemplo, que não estão e ambas as bordas ou que estão em ambas as bordas, mas têm orientações diferentes).[055] In the illustrated example of Figure 6, the block edge matching evaluator 620 compares the edge pixels in a first pixel block of the current video frame (e.g., the first) and the corresponding pixels in a second block of the preceding video frame (e.g., the second) against an edge matching criterion to determine whether the first pixel block is a static block. For example, the block edge match evaluator 620 may use the edge map created by the edge map creator 610 for a given video component plane to determine which pixels in the first pixel block of the current video frame (e.g., example, the first) (and for the given video component plane) are associated with edges and thus considered to be edge pixels. The tile edge matching evaluator 620 may also use the edge map to identify the edge orientation associated with each edge pixel in the first pixel block (e.g., horizontal, vertical, both horizontal and vertical, none, etc. ). The block edge matching evaluator 620 of the illustrated example then compares the edge pixels identified in the first pixel block of the current (e.g., the first) video frame (and for the given video component plane) against the corresponding pixels at the same locations in the preceding (e.g., the second) video frame (and for the given video component plane) to determine the number of pixel pairs that are not in edge correspondence (e.g., that do not are on both edges or that are on both edges but have different orientations).

[056] O avaliador de correspondência de borda por bloco de exemplo 620 da Figura 6 compara, ainda, o número de pares de pixels divergentes (ou, em outras palavras, o número de pares de pixels que não estão em correspondência) com um limite. Se o número de pares de pixels divergentes para o primeiro bloco de pixel do quadro de vídeo atual (por exemplo, o primeiro) (e para o dado plano de componente de vídeo) satisfizer (por exemplo, for menor ou igual a) o limite, o número de pares de bordas divergentes é pequeno e, assim, o avaliador de correspondência de borda por bloco 620 identifica o primeiro bloco de pixel do quadro de vídeo atual (por exemplo, o primeiro) (e para o dado plano de componente de vídeo) como um bloco estático. De outro modo, se o número de pares de borda divergentes não satisfizer (por exemplo, for maior que) o limite, o avaliador de correspondência de borda por bloco 620 identifica o primeiro bloco de pixel do quadro de vídeo atual (por exemplo, o primeiro) (e para o dado plano de componente de vídeo) como um bloco não estático.[056] The example block edge correspondence evaluator 620 of Figure 6 further compares the number of divergent pixel pairs (or, in other words, the number of pixel pairs that are not in correspondence) with a threshold . If the number of divergent pixel pairs for the first pixel block of the current (e.g., the first) video frame (and for the given component video plane) satisfies (e.g., is less than or equal to) the threshold , the number of diverging edge pairs is small, and thus the block edge matching evaluator 620 identifies the first (e.g., the first) pixel block of the current video frame (and for the given video component plane video) as a static block. Otherwise, if the number of divergent edge pairs does not satisfy (e.g., is greater than) the threshold, the block edge match evaluator 620 identifies the first pixel block of the current video frame (e.g., the first) (and for the given video component plane) as a non-static block.

[057] Em alguns exemplos, o limite usado para avaliar o número de pares de bordas divergentes é determinado dividindo-se o número de pixels de borda em um bloco de pixel por um fator. A título de exemplo, o avaliador de correspondência de borda por bloco 620 pode usar um fator de 32 para dividir o número de pixels de borda em um bloco de pixel para determinar o limite para avaliar o número de pares de borda divergentes. Como tal, o limite varia em conformidade com o número de pixels de borda no bloco de pixel que é examinado. Para um bloco de 16 x 6 pixels que tem 256 pixels totais, o limite superior em tal limite poderia ser 256 / 36 = 8. Assim, em tal exemplo, se mais de 8 pares de borda no bloco de pixel atual e precedente não tiverem correspondência, então, o bloco de pixel atual é identificado como não estático. Diferentes fatores e/ou técnicas para determinar o limite poderiam ser alternativamente usados.[057] In some examples, the threshold used to evaluate the number of divergent edge pairs is determined by dividing the number of edge pixels in a pixel block by a factor. By way of example, the block edge matching evaluator 620 may use a factor of 32 to divide the number of edge pixels in a pixel block to determine the threshold for evaluating the number of divergent edge pairs. As such, the threshold varies depending on the number of edge pixels in the pixel block that is examined. For a 16 x 6 pixel block that has 256 total pixels, the upper limit on such a limit could be 256 / 36 = 8. Thus, in such an example, if more than 8 edge pairs in the current and preceding pixel block have no match, then the current pixel block is identified as non-static. Different factors and/or techniques for determining the limit could alternatively be used.

[058] No exemplo ilustrado da Figura 6, o avaliador de critérios de bloco estático 410 inclui um combinador de avaliação de exemplo 625 para combinar os resultados da avaliação dos critérios de detecção de bloco estático (por exemplo, que corresponde a combinar os resultados de detecção de bloco estático obtidos por um ou mais ou todos dentre o comparador de pixel por bloco de exemplo 605, o contador de borda por bloco de exemplo 615 e/ou o avaliador de correspondência de borda por bloco de exemplo 620 no exemplo ilustrado, mas poderia corresponder a combinar outros grupos de critérios em outros exemplos). Em alguns exemplos, o combinador de avaliação 625 determina que um dado bloco de pixel em um dado plano de componente de vídeo de um dado quadro de entrada é um bloco estático se todos os critérios de bloco estático avaliados indicarem que o dado bloco de pixel é um bloco estático. De outro modo, se qualquer um dos critérios de bloco estático avaliados indicar que o dado bloco de pixel não é um bloco estático, o combinador de avaliação 625 determina que o dado bloco de pixel é um bloco não estático. Em outros exemplos, o combinador de avaliação 625 determina que um dado bloco de pixel em um dado plano de componente de vídeo de um dado quadro de entrada é um bloco estático se a maioria dos critérios de bloco estático avaliados indicarem que o dado bloco de pixel é um bloco estático. De outro modo, se a maioria dos critérios de bloco estático avaliados indicar que o dado bloco de pixel não é um bloco estático, o combinador de avaliação 625 determina que o dado bloco de pixel é um bloco não estático. Em ainda outros exemplos, o combinador de avaliação 625 determina que um dado bloco de pixel em um dado plano de componente de vídeo de um dado quadro de entrada é um bloco estático se qualquer um dos critérios de bloco estático avaliados indicarem que o dado bloco de pixel é um bloco estático. De outro modo, se todos os critérios de bloco estático avaliados indicarem que o dado bloco de pixel não é um bloco estático, o combinador de avaliação 625 determina que o dado bloco de pixel é um bloco não estático.[058] In the example illustrated in Figure 6, the static block criteria evaluator 410 includes an example evaluation combiner 625 for combining the results of evaluating the static block detection criteria (e.g., which corresponds to combining the results of static block detection obtained by one or more or all of the example block pixel comparator 605, the example block edge counter 615, and/or the example block edge matching evaluator 620 in the illustrated example, but could correspond to combining other groups of criteria in other examples). In some examples, the evaluation combiner 625 determines that a given pixel block in a given video component plane of a given input frame is a static block if all evaluated static block criteria indicate that the given pixel block is a static block. Otherwise, if any of the evaluated static block criteria indicate that the given pixel block is not a static block, the evaluation combinator 625 determines that the given pixel block is a non-static block. In other examples, the evaluation combiner 625 determines that a given pixel block in a given video component plane of a given input frame is a static block if the majority of the evaluated static block criteria indicate that the given pixel block is a static block. Otherwise, if the majority of the evaluated static block criteria indicate that the given pixel block is not a static block, the evaluation combinator 625 determines that the given pixel block is a non-static block. In still other examples, evaluation combiner 625 determines that a given pixel block in a given video component plane of a given input frame is a static block if any of the evaluated static block criteria indicate that the given block of pixel is a static block. Otherwise, if all evaluated static block criteria indicate that the given pixel block is not a static block, the evaluation combinator 625 determines that the given pixel block is a non-static block.

[059] As Figuras 7A e B ilustram operações de exemplo do avaliador de critérios de bloco estático de exemplo 410 da Figura 6. A Figura 7A representa um primeiro bloco de pixel de um quadro de vídeo atual (por exemplo, o primeiro) e a Figura 7B representa o segundo bloco de pixel correspondente do quadro de vídeo precedente (por exemplo, o segundo). No exemplo ilustrado das Figuras 7A e B, os pixels com sombreado mais claro correspondem aos pixels de borda identificados pelo criador de mapa de borda de exemplo 610. Em uma operação de exemplo, o contador de borda por bloco 615 conta o número de pixels de bordas (por exemplo, com sombreado leve) no primeiro bloco de pixel representado na Figura 7A e determina que o número de pixels de borda atende o limite para realizar a determinação de bloco estático. Em uma operação de exemplo adicional, o avaliador de correspondência de borda por bloco de exemplo 620 determina que o número de pares de pixels divergentes entre o primeiro bloco de pixel representado na Figura 7A e o segundo bloco de pixel representado na Figura 7B satisfaz o limite usado para avaliar o número de pares de bordas divergentes. De modo correspondente, em tal exemplo, o avaliador de correspondência de borda por bloco 620 determina que o primeiro bloco de pixel representado na Figura 7A é um bloco estático.[059] Figures 7A and B illustrate example operations of the example static block criteria evaluator 410 of Figure 6. Figure 7A represents a first pixel block of a current video frame (e.g., the first) and the Figure 7B represents the corresponding second pixel block of the preceding video frame (e.g., the second). In the illustrated example of Figures 7A and B, the lighter shaded pixels correspond to the edge pixels identified by the example edge map creator 610. In an example operation, the edge counter per block 615 counts the number of pixels of edges (e.g., lightly shaded) in the first pixel block depicted in Figure 7A and determines that the number of edge pixels meets the threshold to perform static block determination. In a further example operation, the example block edge matching evaluator 620 determines that the number of divergent pixel pairs between the first pixel block depicted in Figure 7A and the second pixel block depicted in Figure 7B satisfies the threshold used to evaluate the number of divergent edge pairs. Correspondingly, in such an example, the block edge matching evaluator 620 determines that the first pixel block depicted in Figure 7A is a static block.

[060] Uma implantação de exemplo do ajustador de critérios de bloco estático 445 da Figura 4 é ilustrada na Figura 8. Conforme mencionado acima, o ajustador de critérios de bloco estático 445 pode ajustar os critérios de detecção de bloco estático pelo avaliador de critérios de bloco estático de exemplo 410. Em alguns exemplos, o ajustador de critérios de bloco estático 445 faz com que diferentes ajustes aos critérios de detecção de bloco estático sejam aplicados ao avaliar diferentes blocos de pixel do quadro de vídeo atual (por exemplo, o primeiro) que está sendo processado. Em outros exemplos, o ajustador de critérios de bloco estático 445 faz com que o(s) mesmo(s) ajuste(s) seja(m) aplicado(s) para avaliar todos os blocos de pixel do quadro de vídeo atual (por exemplo, o primeiro) que está sendo processado.[060] An example implementation of the static block criteria adjuster 445 of Figure 4 is illustrated in Figure 8. As mentioned above, the static block criteria adjuster 445 can adjust the static block detection criteria by the static block criteria evaluator. example static block 410. In some examples, the static block criteria adjuster 445 causes different adjustments to the static block detection criteria to be applied when evaluating different pixel blocks of the current video frame (e.g., the first). that is being processed. In other examples, the static block criteria adjuster 445 causes the same adjustment(s) to be applied to evaluate all pixel blocks of the current video frame (e.g. , the first) that is being processed.

[061] Voltando-se para a Figura 8, o ajustador de critérios de bloco estático de exemplo 445 ilustrado na mesma inclui um correlacionador de plano de fase de exemplo 805 para examinar a correlação entre o quadro de vídeo de entrada (por exemplo, atual) que está sendo processado e o quadro precedente para determinar se as regiões do quadro de vídeo de entrada correspondem às regiões de movimento ou sem movimento. No exemplo ilustrado, o correlacionador de plano de fase 805 divide o par de quadros de vídeo de entrada (por exemplo, atual) e precedente para um dado plano de componente de vídeo (também referido como o dado plano de fase) nas regiões (por exemplo, tais como as regiões de 512 x 256 pixels ou algum outro tamanho de pixel). Então, para cada região, o correlacionador de plano de fase 805 calcula a correlação de plano de fase entre o quadro de vídeo de entrada (por exemplo, atual) e o quadro precedente na dada região. Se o primeiro pico de correlação (por exemplo, mais forte) para a dada região estiver na posição correspondente a movimento zero, então, o correlacionador de plano de fase 805 do exemplo ilustrado indica que um ou mais dos critérios de detecção de bloco estático deveria ser ajustado a fim de declarar os blocos de pixel na dada região como sendo blocos estáticos. Se o segundo pico de correlação (por exemplo, o segundo mais forte) para a dada região estiver na posição correspondente a movimento zero, então, o correlacionador de plano de fase 805 do exemplo ilustrado deixa os critérios de detecção de bloco estático inalterados para avaliar os blocos de pixel na dada região. Se nenhum dos primeiros dois picos de correlação (por exemplo, o pico mais forte e o segundo pico mais forte) para a dada região estiver na posição correspondente a movimento zero, então, o correlacionador de plano de fase 805 do exemplo ilustrado indica que um ou mais dos critérios de detecção de bloco estático deve ser ajustado a fim de declarar os blocos de pixel na dada região como sendo blocos não estáticos.[061] Turning to Figure 8, the example static block criteria adjuster 445 illustrated therein includes an example phase plane correlator 805 for examining the correlation between the input video frame (e.g., current ) being processed and the preceding frame to determine whether regions of the input video frame correspond to motion or non-motion regions. In the illustrated example, the phase plane correlator 805 divides the pair of input (e.g., current) and preceding video frames for a given component video plane (also referred to as the given phase plane) into regions (e.g., example, such as regions of 512 x 256 pixels or some other pixel size). Then, for each region, the phase plane correlator 805 calculates the phase plane correlation between the input (e.g., current) video frame and the preceding frame in the given region. If the first (e.g., strongest) correlation peak for the given region is in the position corresponding to zero motion, then the phase plane correlator 805 of the illustrated example indicates that one or more of the static block detection criteria should be adjusted in order to declare the pixel blocks in the given region to be static blocks. If the second correlation peak (e.g., the second strongest) for the given region is in the position corresponding to zero motion, then the phase plane correlator 805 of the illustrated example leaves the static block detection criteria unchanged to evaluate the pixel blocks in the given region. If neither of the first two correlation peaks (e.g., the strongest peak and the second strongest peak) for the given region is in the position corresponding to zero motion, then the phase plane correlator 805 of the illustrated example indicates that a or more of the static block detection criteria must be adjusted in order to declare the pixel blocks in the given region to be non-static blocks.

[062] Em alguns exemplos, o ajustador de critérios de bloco estático de exemplo 445 da Figura 8 também inclui um avaliador de histerese de mapa estático de exemplo 810, que pode examinar mapas estáticos anteriores determinados pelo detector de região estática 115 e aplicar histerese ou outra retroalimentação para ajustar, se for necessário, um ou mais dos critérios de detecção de bloco estático. Por exemplo, o avaliador de histerese de mapa estático 810 pode examinar a entrada para uma dada local de bloco de pixel e/ou a entrada ou entradas para suas localizações de bloco próximas em um mapa estático anterior determinado pelo detector de região estática 115. Se a entrada ou entradas de mapa estático anterior para a dada localização de bloco de pixel e/ou suas localizações de bloco vizinhas indicarem que essa(s) localização(ões) foram identificadas como sendo blocos estáticos no mapa estático anterior (por exemplo, que corresponde ao quadro de vídeo precedente), então, há uma forte possibilidade/probabilidade de que o dado bloco de pixel no quadro de vídeo atual que está sendo processado seja ainda um bloco estático. De modo correspondente, em tal caso, o avaliador de histerese de mapa estático 810 indica que um ou mais dos critérios de detecção de bloco estático deve ser ajustado a fim de declarar o dado bloco de pixel no quadro atual como sendo um bloco estático. Entretanto, se, para um dado bloco de pixel no quadro de vídeo atual, a dada localização de bloco de pixel e/ou suas localizações de bloco próximas foram identificadas como sendo blocos não estáticos no mapa estático anterior (por exemplo, que corresponde ao quadro de vídeo precedente), então, há uma forte possibilidade/probabilidade de que o dado bloco de pixel no quadro de vídeo atual que está sendo processado seja ainda um bloco não estático. De modo correspondente, em tal caso, o avaliador de histerese de mapa estático 810 indica que um ou mais dos critérios de detecção de bloco estático deve ser ajustado a fim de declarar o dado bloco de pixel no quadro atual como sendo um bloco não estático.[062] In some examples, the example static block criteria adjuster 445 of Figure 8 also includes an example static map hysteresis evaluator 810, which can examine previous static maps determined by the static region detector 115 and apply hysteresis or another feedback to adjust, if necessary, one or more of the static block detection criteria. For example, the static map hysteresis evaluator 810 may examine the input for a given pixel block location and/or the input or inputs for its nearby block locations in a previous static map determined by the static region detector 115. If the previous static map entry or entries for the given pixel block location and/or its neighboring block locations indicate that those location(s) were identified as being static blocks in the previous static map (e.g., that it corresponds to to the preceding video frame), then there is a strong possibility/probability that the given pixel block in the current video frame being processed is still a static block. Correspondingly, in such a case, the static map hysteresis evaluator 810 indicates that one or more of the static block detection criteria must be adjusted in order to declare the given pixel block in the current frame to be a static block. However, if, for a given pixel block in the current video frame, the given pixel block location and/or its nearby block locations were identified as being non-static blocks in the previous static map (e.g., corresponding to the frame video frame), then there is a strong possibility/probability that the given pixel block in the current video frame being processed is still a non-static block. Correspondingly, in such a case, the static map hysteresis evaluator 810 indicates that one or more of the static block detection criteria must be adjusted in order to declare the given pixel block in the current frame to be a non-static block.

[063] O ajustador de critérios de bloco estático de exemplo 445 da Figura 8 inclui, ainda, um especificador de ajuste de critérios de bloco estático de exemplo 815 para especificar o(s) ajuste(s), caso haja, a ser realizado em um ou mais dos critérios de detecção de bloco estático com base nos resultados do correlacionador de plano de fase 805 e/ou o avaliador de histerese de mapa estático 810. Em alguns exemplos, para ajustar um critério de detecção de bloco estático particular a fim de declarar os blocos de pixel na dada região como sendo blocos estáticos, o especificador de ajuste de critérios de bloco estático 815 ajusta o limite do critério de detecção de bloco estático particular em algum valor percentual em uma primeira direção. De modo contrário, em alguns exemplos, para ajustar um critério de detecção de bloco estático particular a fim de declarar os blocos de pixel na dada região como sendo blocos não estáticos, o especificador de ajuste de critérios de bloco estático 815 ajusta o limite do critério de detecção de bloco estático particular em um valor percentual igual ou diferente em uma segunda direção oposta. Por exemplo, o especificador de ajuste de critérios de bloco estático 815 pode, em alguns exemplos, ajustar (por exemplo, aumentar) o limite usado pelo comparador de pixel por bloco 605 da Figura 6 em alguma porcentagem (por exemplo, 10%, 25%, etc.) para induzir o comparador de pixel por bloco 605 em direção à identificação de blocos de pixel em uma dada região como blocos estáticos, e pode ajustar (por exemplo, diminuir) o limite em alguma porcentagem (por exemplo, 10%, 25%, etc.) para induzir o comparador de pixel por bloco 605 em direção à identificação de blocos de pixel na dada região como as blocos não estáticos. Adicional ou alternativamente, em alguns exemplos, o especificador de ajuste de critérios de bloco estático 815 pode ajustar (por exemplo, aumentar) o limite usado pelo avaliador de correspondência de borda por bloco 620 da Figura 6 em alguma porcentagem (por exemplo, 10%, 25%, etc.) para induzir o avaliador de correspondência de borda por bloco 620 em direção à identificação de blocos de pixel em uma dada região como blocos estáticos e pode ajustar (por exemplo, diminuir) o limite em alguma porcentagem (por exemplo, 10%, 25%, etc.) para induzir o avaliador de correspondência de borda por bloco 620 em direção à identificação de blocos de pixel na dada região como blocos não estáticos.[063] The example static block criteria adjuster 445 of Figure 8 further includes an example static block criteria adjustment specifier 815 to specify the adjustment(s), if any, to be performed on one or more of the static block detection criteria based on the results of the phase plane correlator 805 and/or the static map hysteresis evaluator 810. In some examples, to adjust a particular static block detection criterion in order to declaring the pixel blocks in the given region to be static blocks, the static block criteria adjustment specifier 815 adjusts the threshold of the particular static block detection criteria by some percentage value in a first direction. Conversely, in some examples, to adjust a particular static block detection criterion in order to declare the pixel blocks in the given region to be non-static blocks, the static block criteria adjustment specifier 815 adjusts the criteria threshold. particular static block detection by the same or different percentage value in a second opposite direction. For example, the static block criteria tuning specifier 815 may, in some examples, adjust (e.g., increase) the threshold used by the per-block pixel comparator 605 of Figure 6 by some percentage (e.g., 10%, 25 %, etc.) to nudge the pixel-by-block comparator 605 toward identifying pixel blocks in a given region as static blocks, and may adjust (e.g., decrease) the threshold by some percentage (e.g., 10% , 25%, etc.) to induce the block-pixel comparator 605 toward identifying pixel blocks in the given region as non-static blocks. Additionally or alternatively, in some examples, the static block criteria adjustment specifier 815 may adjust (e.g., increase) the threshold used by the per-block edge match evaluator 620 of Figure 6 by some percentage (e.g., 10% , 25%, etc.) to nudge the block edge matching evaluator 620 toward identifying pixel blocks in a given region as static blocks and may adjust (e.g., decrease) the threshold by some percentage (e.g. , 10%, 25%, etc.) to nudge the block edge matching evaluator 620 toward identifying pixel blocks in the given region as non-static blocks.

[064] Uma implantação de exemplo do combinador de mapa estático 425 da Figura 4 é ilustrada na Figura 9. Conforme mencionado acima, o combinador de mapa estático de exemplo 425 combina os diferentes mapas estáticos para um dado quadro de vídeo de entrada (por exemplo, atual) em um mapa estático geral que identifica os zero ou mais blocos estáticos de pixel no dado quadro de vídeo de entrada (por exemplo, atual). No exemplo ilustrado da Figura 9, o combinador de mapa estático 425 inclui um combinador de mapa estático intracomponentes de exemplo 905 para combinar múltiplos mapas estáticos que estão associados ao mesmo plano de componente de vídeo do quadro de vídeo de entrada (por exemplo, atual) que está sendo processado. Por exemplo, para um dado plano de componente de vídeo (por exemplo, o plano de luminância, um dos planos de crominância, etc.), o segmentador de vídeo de exemplo 405 pode realizar múltiplas iterações de segmentação do quadro de vídeo atual que está sendo processado, em que os blocos de pixel obtidos a partir de uma primeira iteração de segmentação se sobrepõem parcialmente aos blocos de pixel obtidos a partir de uma segunda iteração de segmentação. O avaliador de critérios de bloco estático 410 pode, então, comparar, para o dado plano de componente de vídeo, os blocos de pixel obtidos para o quadro de vídeo atual a partir da primeira iteração de segmentação com os blocos de pixel correspondentes obtidos a partir de uma primeira iteração de segmentação correspondente do quadro de vídeo precedente para determinar o(s) bloco(s) estático(s) correspondente(s) a primeira iteração de segmentação do quadro de vídeo atual. Similarmente, o avaliador de critérios de bloco estático 410 pode comparar, para o dado plano de componente de vídeo, os blocos de pixel obtidos a partir da segunda iteração de segmentação do quadro de vídeo com blocos de pixel correspondentes obtidos a partir de uma segunda iteração de segmentação correspondente do quadro de vídeo precedente para determinar o(s) bloco(s) estático(s) correspondente(s) à segunda iteração de segmentação do quadro de vídeo atual. O criador de mapa estático 415 pode, então, criar mapas estáticos separados para cada iteração de segmentação, que identificam, respectivamente, os blocos estáticos detectados em cada iteração de segmentação do quadro de vídeo atual.[064] An example implementation of the static map combiner 425 of Figure 4 is illustrated in Figure 9. As mentioned above, the example static map combiner 425 combines the different static maps for a given input video frame (e.g. , current) into a general static map that identifies the zero or more static pixel blocks in the given input video frame (e.g., current). In the example illustrated in Figure 9, the static map combiner 425 includes an example intra-component static map combiner 905 for combining multiple static maps that are associated with the same video component plane of the input (e.g., current) video frame. that is being processed. For example, for a given video component plane (e.g., the luminance plane, one of the chrominance planes, etc.), example video segmenter 405 may perform multiple segmentation iterations of the current video frame that is being processed, wherein the pixel blocks obtained from a first segmentation iteration partially overlap the pixel blocks obtained from a second segmentation iteration. The static block criteria evaluator 410 may then compare, for the given video component plane, the pixel blocks obtained for the current video frame from the first segmentation iteration with the corresponding pixel blocks obtained from of a corresponding first segmentation iteration of the preceding video frame to determine the static block(s) corresponding to the first segmentation iteration of the current video frame. Similarly, the static block criteria evaluator 410 may compare, for the given video component plane, the pixel blocks obtained from the second iteration of segmenting the video frame with corresponding pixel blocks obtained from a second iteration. corresponding segmentation iteration of the preceding video frame to determine the static block(s) corresponding to the second segmentation iteration of the current video frame. The static map creator 415 can then create separate static maps for each segmentation iteration, which respectively identify the static blocks detected in each segmentation iteration of the current video frame.

[065] Em alguns de tais exemplos, o combinador de mapa estático de intracomponentes 905 combina os diferentes mapas estáticos correspondentes às diferentes iterações de segmentação para formar um mapa estático compósito para o dado plano de componente de vídeo. Em alguns exemplos, cada entrada no mapa estático compósito para um dado plano de componente de vídeo corresponde a um sub-bloco de pixel no dado plano de componente de vídeo. Um sub-bloco de pixel corresponde à região de bloco de pixel sobreposta que está incluída nos blocos de pixel de diferentes iterações de segmentação. Por exemplo, o sub-bloco 560 da Figura 5 corresponde à região de bloco de pixel sobreposta que está incluída nos blocos de pixel 510, 525, 535 e 550 de iterações de segmentação 505, 520, 530 e 545, respectivamente. De modo correspondente, a resolução do mapa estático compósito será melhor (por exemplo, resolução mais alta) que os mapas estáticos individuais devido ao fato de que os sub-blocos no mapa compósito serão menores que os blocos de pixel nos mapas estáticos individuais correspondentes a diferentes iterações de segmentação.[065] In some such examples, the intracomponent static map combiner 905 combines the different static maps corresponding to the different segmentation iterations to form a composite static map for the given video component plane. In some examples, each entry in the composite static map for a given video component plane corresponds to a pixel subblock in the given video component plane. A pixel subblock corresponds to the overlapping pixel block region that is included in the pixel blocks of different segmentation iterations. For example, subblock 560 of Figure 5 corresponds to the overlapping pixel block region that is included in pixel blocks 510, 525, 535, and 550 of segmentation iterations 505, 520, 530, and 545, respectively. Correspondingly, the resolution of the composite static map will be better (e.g., higher resolution) than the individual static maps due to the fact that the sub-blocks in the composite map will be smaller than the pixel blocks in the individual static maps corresponding to different segmentation iterations.

[066] E alguns exemplos, o combinador de mapa estático intracomponentes 905 determina o valor de uma entrada para um dado sub-bloco com base nos valores de alguns ou todos os blocos de pixel, através das diferentes iterações de segmentação, que contêm o dado sub-bloco. Por exemplo, o combinador de mapa estático de intracomponentes 905 pode ser configurado para definir o valor da entrada de mapa de pixel compósita para o dado sub-bloco para ser um valor (por exemplo, uma lógica “1”) que identifica o sub-bloco como sendo um bloco estático se todos os blocos de pixel (através das diferentes iterações de segmentação) que contêm o sub- bloco tiverem as respectivas entradas de mapa estático que identificam os blocos como blocos estáticos. De outro modo, se qualquer um dos blocos de pixel que contêm o sub-bloco tiverem um respectivo valor de mapa que identifica o bloco como um bloco não estático, o combinador de mapa estático de intracomponentes 905 define o valor da entrada de mapa de pixel compósito para o dado sub-bloco como sendo um valor (por exemplo, uma lógica “0”) que identifica o sub-bloco como sendo um bloco não estático. Em outros exemplos, o combinador de mapa estático de intracomponentes 905 define o valor da entrada de mapa de pixel compósito para o dado sub-bloco como sendo um valor correspondente a um voto por maioria das respectivas entradas de mapa estático para os blocos de pixel (através das diferentes iterações de segmentação) que contêm o sub-bloco. Em tais exemplos, se a maioria dos blocos de pixel (através das diferentes iterações de segmentação) que contêm o dado sub-bloco for identificada como blocos estáticos, o dado sub-bloco de pixel é também identificado como um bloco estático. De outro modo, se a maioria dos blocos de pixel (através das diferentes iterações de segmentação) que contêm o dado sub-bloco for identificada como blocos não estáticos, o dado sub-bloco de pixel é também identificado como um bloco não estático.[066] As a few examples, the intracomponent static map combiner 905 determines the value of an input for a given sub-block based on the values of some or all of the pixel blocks, across the different segmentation iterations, that contain the data. sub-block. For example, the intracomponent static map combiner 905 may be configured to set the value of the composite pixel map input for the given sub-block to be a value (e.g., a logical “1”) that identifies the sub-block. block as being a static block if all pixel blocks (across the different segmentation iterations) that contain the subblock have respective static map entries that identify the blocks as static blocks. Otherwise, if any of the pixel blocks containing the subblock have a respective map value that identifies the block as a non-static block, the intracomponent static map combiner 905 sets the value of the pixel map input composite for the given sub-block as a value (e.g., a logical “0”) that identifies the sub-block as being a non-static block. In other examples, the intracomponent static map combiner 905 sets the value of the composite pixel map input for the given subblock to be a value corresponding to a majority vote of the respective static map inputs for the pixel blocks ( through the different segmentation iterations) that contain the sub-block. In such examples, if the majority of pixel blocks (across the different segmentation iterations) that contain the given sub-block are identified as static blocks, the given pixel sub-block is also identified as a static block. Otherwise, if the majority of pixel blocks (across different segmentation iterations) that contain the given sub-block are identified as non-static blocks, the given pixel sub-block is also identified as a non-static block.

[067] O combinador de mapa estático de exemplo 425 também inclui um exemplo combinador de mapa estático intracomponentes 910 para combinar múltiplos mapas estáticos que estão associados a diferentes planos de componente de vídeo do quadro de vídeo de entrada (por exemplo, atual) que está sendo processado. Por exemplo, e, conforme descrito acima, o criador de mapa estático 415 do exemplo ilustrado cria diferentes mapas estáticos para os diferentes planos de componente de vídeo (por exemplo, um plano de luminância e dois planos de crominância) de um quadro de vídeo atual que está sendo processado, em que cada mapa estático identifica os blocos estáticos no respectivo plano de componente de vídeo do quadro de vídeo atual que está sendo processado. Em tais exemplos, o combinador de mapa estático intracomponentes 910 obtém os diferentes mapas estáticos (por exemplo, que podem ser mapas compósitos se o combinador de mapa estático de intracomponentes de exemplo 905 estiver presente) determinados para os diferentes planos de componente de vídeo do quadro de vídeo atual que está sendo processado e combina os mapas estáticos individuais para os diferentes planos de componente de vídeo em um mapa estático geral para o quadro de vídeo atual.[067] Example static map combiner 425 also includes an example intra-component static map combiner 910 for combining multiple static maps that are associated with different video component planes of the input (e.g., current) video frame that is being processed. For example, as described above, the static map creator 415 of the illustrated example creates different static maps for the different video component planes (e.g., one luminance plane and two chrominance planes) of a current video frame. being processed, where each static map identifies the static blocks in the respective video component plane of the current video frame being processed. In such examples, the intra-component static map combiner 910 obtains the different static maps (e.g., which may be composite maps if the example intra-component static map combiner 905 is present) determined for the different video component planes of the frame. current video frame being processed and combines the individual static maps for the different video component planes into an overall static map for the current video frame.

[068] Em alguns exemplos, o combinador de mapa estático intracomponentes 910 é configurado para definir o valor da entrada de mapa de pixel geral para o dado bloco de pixel como sendo um valor (por exemplo, uma lógica “1”) que identifica o dado bloco de pixel como sendo um bloco estático se todos os blocos de pixel para os diferentes planos de componente de vídeo, que correspondem ao dado bloco de pixel, tiverem as respectivas entradas de mapa estático que identificam os blocos como blocos estáticos. De outro modo, se qualquer um dos blocos de pixel, nos diferentes planos de componente de vídeo, correspondente ao dado bloco de pixel de interesse tiver um respectivo valor de mapa que identifica o bloco como um bloco não estático, o combinador de mapa estático intracomponentes 910 de tais exemplos define o valor da entrada de mapa de pixel geral para o dado bloco de pixel como sendo um valor (por exemplo, uma lógica “0”) que identifica o bloco de pixel como sendo um bloco não estático. Em outros exemplos, o combinador de mapa estático intracomponentes 910 define o valor da entrada de mapa de pixel geral para o dado bloco de pixel de interesse como sendo um valor correspondente a um voto por maioria das respectivas entradas de mapa estático para blocos de pixel, a partir dos diferentes planos de componente de vídeo, correspondendo ao dado bloco de pixel de interesse. Em tais exemplos, o dado bloco de pixel de interesse é definido como um bloco estático se a maioria dos blocos de pixel, a partir dos diferentes planos de componente de vídeo, correspondendo ao dado bloco de pixel for identificada como bloco estáticos. De outro modo, o dado bloco de pixel de interesse é definido como um bloco não estático se a maioria dos blocos de pixel, a partir dos diferentes planos de componente de vídeo, correspondendo ao dado bloco de pixel for identificada como bloco não estáticos.[068] In some examples, the intracomponent static map combiner 910 is configured to set the value of the general pixel map input for the given pixel block to be a value (e.g., a logical “1”) that identifies the given pixel block as being a static block if all pixel blocks for the different video component planes corresponding to the given pixel block have respective static map entries that identify the blocks as static blocks. Otherwise, if any of the pixel blocks, in the different video component planes, corresponding to the given pixel block of interest have a respective map value that identifies the block as a non-static block, the intra-component static map combiner 910 of such examples define the value of the general pixel map input for the given pixel block to be a value (e.g., a logical “0”) that identifies the pixel block as being a non-static block. In other examples, the intracomponent static map combiner 910 sets the value of the overall pixel map input for the given pixel block of interest to be a value corresponding to a majority vote of the respective static map inputs for pixel blocks. from the different video component planes, corresponding to the given pixel block of interest. In such examples, the given pixel block of interest is defined as a static block if the majority of pixel blocks, from the different video component planes, corresponding to the given pixel block are identified as static blocks. Otherwise, the given pixel block of interest is defined as a non-static block if the majority of pixel blocks from the different video component planes corresponding to the given pixel block are identified as non-static blocks.

[069] A Figura 10 ilustra resultados de operação de exemplo que podem ser atingidos pelo sistema de processamento de vídeo de exemplo 100 que emprega o detector de região estática de exemplo 115 da Figura 1. Em particular, a Figura 10 ilustra os resultados de interpolação de quadro de exemplo que podem ser atingidos ao realizar conversão ascendente de velocidade de quadros com o uso de detecção de região estática baseada em bloco conforme implantada pelo detector de região estática 115 da Figura 1. A Figura 10 representa um quadro de exemplo 1005 correspondente a um quadro interpolado de exemplo determinado pelo conversor ascendente de velocidade de quadros 120 sem usar quaisquer informações de região estática fornecidas pelo detector de região estática 115. Um quadro de exemplo 1010 representado na Figura 10 corresponde a um quadro interpolado de exemplo determinado pelo conversor ascendente de velocidade de quadros 120 com informações de região estática determinadas pelo detector de região estática 115 sob uma primeira configuração de exemplo. Na primeira configuração de exemplo, o avaliador de critérios de bloco estático 410 do detector de região estática 115 inclui o comparador de pixel por bloco 605 e o contador de borda por bloco 615, mas não o avaliador de correspondência de borda por bloco 620. Além disso, na primeira configuração de exemplo, o detector de região estática 115 não inclui o ajustador de critérios de bloco estático 445.[069] Figure 10 illustrates example operation results that can be achieved by the example video processing system 100 that employs the example static region detector 115 of Figure 1. In particular, Figure 10 illustrates the interpolation results example frame rate that can be achieved when performing frame rate upconversion using block-based static region detection as implemented by static region detector 115 of Figure 1. Figure 10 depicts an example frame 1005 corresponding to an example interpolated frame determined by the frame rate upconverter 120 without using any static region information provided by the static region detector 115. An example frame 1010 depicted in Figure 10 corresponds to an example interpolated frame determined by the framerate upconverter 1010. frame rate 120 with static region information determined by static region detector 115 under a first example configuration. In the first example configuration, the static block criteria evaluator 410 of the static region detector 115 includes the per-block pixel comparator 605 and the per-block edge counter 615, but not the per-block edge matching evaluator 620. In addition Furthermore, in the first example configuration, the static region detector 115 does not include the static block criteria adjuster 445.

[070] Um quadro de exemplo 1015 representado na Figura 10 corresponde a um quadro interpolado de exemplo determinado pelo conversor ascendente de velocidade de quadros 120 com informações de região estática determinadas pelo detector de região estática 115 sob uma segunda configuração de exemplo. Na segunda configuração de exemplo, o avaliador de critérios de bloco estático 410 do detector de região estática 115 inclui o comparador de pixel por bloco 605, o contador de borda por bloco 615, e não o avaliador de correspondência de borda por bloco 620. Além disso, na segunda configuração de exemplo, o detector de região estática 115 inclui o ajustador de critérios de bloco estático 445. As regiões com sombreado leve no quadro de exemplo 1020 da Figura 10 correspondem às regiões estáticas identificadas pelo detector de região estática 115 sob a segunda configuração de exemplo.[070] An example frame 1015 depicted in Figure 10 corresponds to an example interpolated frame determined by frame rate upconverter 120 with static region information determined by static region detector 115 under a second example configuration. In the second example configuration, the static block criteria evaluator 410 of the static region detector 115 includes the per-block pixel comparator 605, the per-block edge counter 615, and not the per-block edge matching evaluator 620. In addition Furthermore, in the second example configuration, the static region detector 115 includes the static block criteria adjuster 445. The lightly shaded regions in the example frame 1020 of Figure 10 correspond to the static regions identified by the static region detector 115 under the second example configuration.

[071] Embora modos de exemplo para implantar o sistema de processamento de vídeo de exemplo 100 e, mais especificamente, o detector de região estática de exemplo 115 sejam ilustrados nas Figuras 1 a 10, um ou mais dos elementos, processos e/ou dispositivos ilustrados nas Figuras 1 a 10 podem ser combinados, divididos, reorganizados, omitidos, eliminados e/ou implantados de qualquer outra forma. Ademais, o conversor ascendente de velocidade de quadros de exemplo 120, o estimador de movimento de exemplo 125, o segmentador de vídeo de exemplo 405, o avaliador de critérios de bloco estático de exemplo 410, o criador de mapa estático de exemplo 415, o armazenamento de mapa estático de exemplo 420, o combinador de mapa estático de exemplo 425, o filtro de mídia de exemplo 430, o identificador de região estática de exemplo 435, o verificador de região estática de exemplo 440, o ajustador de critérios de bloco estático de exemplo 445, o comparador de pixel por bloco de exemplo 605, o criador de mapa de borda de exemplo 610, o contador de borda por bloco de exemplo 615, o avaliador de correspondência de borda por bloco de exemplo 620, o combinador de avaliação de exemplo 625, o correlacionador de plano de fase de exemplo 805, o avaliador de histerese de mapa estático de exemplo 810, o especificador de ajuste de critérios de bloco estático de exemplo 815, o combinador de mapa estático de intracomponentes de exemplo 905, o combinador de mapa estático intracomponentes de exemplo 910 e/ou, de modo mais geral, o detector de região estática de exemplo 115 e/ou o sistema de processamento de vídeo de exemplo 100 das Figuras 1 a 10 podem ser implantados por hardware, software, firmware e/ou qualquer combinação de hardware, software e/ou firmware. Assim, por exemplo, qualquer um dentre o conversor ascendente de velocidade de quadros de exemplo 120, o estimador de movimento de exemplo 125, o segmentador de vídeo de exemplo 405, o avaliador de critérios de bloco estático de exemplo 410, o criador de mapa estático de exemplo 415, o armazenamento de mapa estático de exemplo 420, o combinador de mapa estático de exemplo 425, o filtro de mídia de exemplo 430, o identificador de região estática de exemplo 435, o verificador de região estática de exemplo 440, o ajustador de critérios de bloco estático de exemplo 445, o comparador de pixel por bloco de exemplo 605, o criador de mapa de borda de exemplo 610, o contador de borda por bloco de exemplo 615, o avaliador de correspondência de borda por bloco de exemplo 620, o combinador de avaliação de exemplo 625, o correlacionador de plano de fase de exemplo 805, o avaliador de histerese de mapa estático de exemplo 810, o especificador de ajuste de critérios de bloco estático de exemplo 815, o combinador de mapa estático de intracomponentes de exemplo 905, o combinador de mapa estático intracomponentes de exemplo 910 e/ou, de modo mais geral, o detector de região estática de exemplo 115 e/ou o sistema de processamento de vídeo de exemplo 100 poderia ser implantado por um ou mais circuito(s) analógico(s) ou digital(is), circuitos lógicos, processador(es) programável(is), circuito(s) integrado(s) de aplicação específica (ASIC(s)), dispositivo(s) lógico(s) programável(is) (PLD(s)) e/ou dispositivo(s) lógico(s) programável(is) de campo (FPLD(s)). Ao ler qualquer uma das reivindicações de aparelho ou sistema desta patente para abranger uma implantação puramente de software e/ou firmware, pelo menos um dentre o sistema de processamento de vídeo de exemplo 100, o detector de região estática de exemplo 115, o conversor ascendente de velocidade de quadros de exemplo 120, o estimador de movimento de exemplo 125, o segmentador de vídeo de exemplo 405, o avaliador de critérios de bloco estático de exemplo 410, o criador de mapa estático de exemplo 415, o armazenamento de mapa estático de exemplo 420, o combinador de mapa estático de exemplo 425, o filtro de mídia de exemplo 430, o identificador de região estática de exemplo 435, o verificador de região estática de exemplo 440, o ajustador de critérios de bloco estático de exemplo 445, o comparador de pixel por bloco de exemplo 605, o criador de mapa de borda de exemplo 610, o contador de borda por bloco de exemplo 615, o avaliador de correspondência de borda por bloco de exemplo 620, o combinador de avaliação de exemplo 625, o correlacionador de plano de fase de exemplo 805, o avaliador de histerese de mapa estático de exemplo 810, o especificador de ajuste de critérios de bloco estático de exemplo 815, o combinador de mapa estático de intracomponentes de exemplo 905 e/ou o combinador de mapa estático intracomponentes de exemplo 910 é/são expressamente definidos no presente documento como incluindo um dispositivo de armazenamento tangível legível por computador ou disco de armazenamento, tal como uma memória, um disco versátil digital (DVD), um disco compacto (CD), um disco Blu-ray, etc. que armazena o software e/ou o firmware. Além disso, o sistema de processamento de vídeo de exemplo 100 e/ou o detector de região estática de exemplo 115 das Figuras 1 a 10 podem incluir um ou mais elementos, processos e/ou dispositivos adicionalmente àqueles ilustrados nas Figuras 1 a 10, ou em vez dos mesmos, e/ou podem incluir mais de um dentre quaisquer ou todos os elementos, processos e dispositivos ilustrados.[071] Although example modes for implementing example video processing system 100 and, more specifically, example static region detector 115 are illustrated in Figures 1 to 10, one or more of the elements, processes and/or devices illustrated in Figures 1 to 10 may be combined, divided, reorganized, omitted, eliminated and/or implemented in any other way. Additionally, example frame rate upconverter 120, example motion estimator 125, example video segmenter 405, example static block criteria evaluator 410, example static map creator 415, example example static map store 420, example static map combiner 425, example media filter 430, example static region identifier 435, example static region checker 440, example static block criteria adjuster example 445, the example tile pixel comparator 605, the example edgemap creator 610, the example tile edge counter 615, the example tile edge match evaluator 620, the evaluation combiner example 625, example phase plane correlator 805, example static map hysteresis evaluator 810, example static block criteria adjustment specifier 815, example intracomponent static map combiner 905, example Example intracomponent static map combiner 910 and/or, more generally, example static region detector 115 and/or example video processing system 100 of Figures 1 to 10 may be implemented by hardware, software, firmware and/or any combination of hardware, software and/or firmware. Thus, for example, any of example frame rate upconverter 120, example motion estimator 125, example video segmenter 405, example static block criteria evaluator 410, example map creator example static map 415, the example static map store 420, the example static map combiner 425, the example media filter 430, the example static region identifier 435, the example static region checker 440, the example static tile criteria adjuster 445, example tile per pixel comparator 605, example edge map creator 610, example per tile edge counter 615, example per tile edge match evaluator 620, example evaluation combiner 625, example phase plane correlator 805, example static map hysteresis evaluator 810, example static block criteria adjustment specifier 815, example static map combiner example intracomponent static map combiner 905, the example intracomponent static map combiner 910 and/or, more generally, the example static region detector 115 and/or the example video processing system 100 could be deployed by one or more analog or digital circuit(s), logic circuits, programmable processor(s), application-specific integrated circuit(s) (ASIC(s)), logic device(s) programmable logic device(s) (PLD(s)) and/or field programmable logic device(s) (FPLD(s)). When reading any of the apparatus or system claims of this patent to encompass a purely software and/or firmware implementation, at least one of example video processing system 100, example static region detector 115, upconverter example framerate 120, example motion estimator 125, example video segmenter 405, example static tile criteria evaluator 410, example static map creator 415, example static map store example 420, example static map combiner 425, example media filter 430, example static region identifier 435, example static region checker 440, example static block criteria adjuster 445, example example per-tile pixel comparator 605, the example edge map creator 610, the example per-tile edge counter 615, the example per-tile edge match evaluator 620, the example evaluation combiner 625, the example phase plane correlator 805, example static map hysteresis evaluator 810, example static block criteria adjustment specifier 815, example intracomponent static map combiner 905, and/or the map combiner static intracomponent example 910 is/are expressly defined herein as including a computer-readable tangible storage device or storage disk, such as a memory, a digital versatile disk (DVD), a compact disk (CD), a Blu-ray, etc. which stores the software and/or firmware. Furthermore, the example video processing system 100 and/or the example static region detector 115 of Figures 1 to 10 may include one or more elements, processes and/or devices in addition to those illustrated in Figures 1 to 10, or rather than the same, and/or may include more than one of any or all of the illustrated elements, processes and devices.

[072] Os fluxogramas representativos de instruções legíveis por máquina de exemplo para implantar o sistema de processamento de vídeo de exemplo 100, o detector de região estática de exemplo 115, o conversor ascendente de velocidade de quadros de exemplo 120, o estimador de movimento de exemplo 125, o segmentador de vídeo de exemplo 405, o avaliador de critérios de bloco estático de exemplo 410, o criador de mapa estático de exemplo 415, o armazenamento de mapa estático de exemplo 420, o combinador de mapa estático de exemplo 425, o filtro de mídia de exemplo 430, o identificador de região estática de exemplo 435, o verificador de região estática de exemplo 440, o ajustador de critérios de bloco estático de exemplo 445, o comparador de pixel por bloco de exemplo 605, o criador de mapa de borda de exemplo 610, o contador de borda por bloco de exemplo 615, o avaliador de correspondência de borda por bloco de exemplo 620, o combinador de avaliação de exemplo 625, o correlacionador de plano de fase de exemplo 805, o avaliador de histerese de mapa estático de exemplo 810, o especificador de ajuste de critérios de bloco estático de exemplo 815, o combinador de mapa estático de intracomponentes de exemplo 905 e/ou o combinador de mapa estático intracomponentes de exemplo 910 são mostrados nas Figuras 11 a 14. Nesses exemplos, as instruções legíveis por máquina compreendem um ou mais programas para execução por um processador, tal como o processador 1512 mostrado na plataforma de processador de exemplo 1500 discutida abaixo em conexão com a Figura 15. Os um ou mais programas, ou porção(ões) dos mesmos, podem ser incorporados em software armazenado e um meio de armazenamento tangível legível por computador, tal como um CD-ROM, um disquete, um disco rígido, um disco versátil digital (DVD), um disco Blu-ray™ ou uma memória associada ao processador 1512, o programa ou programas inteiro(s) e/ou porções dos mesmos poderiam ser alternativamente executados por um dispositivo diferente do processador 1512 e/ou incorporados em firmware ou hardware dedicado (por exemplo, implantado por um ASIC, um PLD, um FPLD, uma lógica discreta, etc.). Além disso, uma ou mais das instruções legíveis por máquina representadas pelos fluxogramas das Figuras 11 a 14 podem ser implantadas manualmente. Ademais, embora o(s) programa(s) de exemplo seja(m) descrito(s) em referência aos fluxogramas ilustrados nas Figuras 11 a 14, muitos outros métodos para implantar o sistema de processamento de vídeo de exemplo 100, o detector de região estática de exemplo 115, o conversor ascendente de velocidade de quadros de exemplo 120, o estimador de movimento de exemplo 125, o segmentador de vídeo de exemplo 405, o avaliador de critérios de bloco estático de exemplo 410, o criador de mapa estático de exemplo 415, o armazenamento de mapa estático de exemplo 420, o combinador de mapa estático de exemplo 425, o filtro de mídia de exemplo 430, o identificador de região estática de exemplo 435, o verificador de região estática de exemplo 440, o ajustador de critérios de bloco estático de exemplo 445, o comparador de pixel por bloco de exemplo 605, o criador de mapa de borda de exemplo 610, o contador de borda por bloco de exemplo 615, o avaliador de correspondência de borda por bloco de exemplo 620, o combinador de avaliação de exemplo 625, o correlacionador de plano de fase de exemplo 805, o avaliador de histerese de mapa estático de exemplo 810, o especificador de ajuste de critérios de bloco estático de exemplo 815, o combinador de mapa estático de intracomponentes de exemplo 905 e/ou o combinador de mapa estático intracomponentes de exemplo 910 podem ser alternativamente usados. Por exemplo, em referência aos fluxogramas ilustrados nas Figuras 11 a 14, a ordem de execução dos blocos pode ser alterada e/ou alguns dos blocos descritos podem ser alterados, eliminados, combinados e/ou subdivididos em múltiplos blocos.[072] Flowcharts representative of example machine-readable instructions for implementing example video processing system 100, example static region detector 115, example frame rate upconverter 120, example motion estimator example 125, the example video slicer 405, the example static block criteria evaluator 410, the example static map creator 415, the example static map store 420, the example static map combiner 425, the example example media filter 430, example static region identifier 435, example static region checker 440, example static tile criteria adjuster 445, example tile pixel comparator 605, map creator example edge matcher 610, the example block edge counter 615, the example block edge matching evaluator 620, the example evaluation combiner 625, the example phase plane correlator 805, the hysteresis evaluator example static map combiner 810, example static block criteria tuning specifier 815, example intracomponent static map combiner 905 and/or example intracomponent static map combiner 910 are shown in Figures 11 to 14. In these examples, the machine-readable instructions comprise one or more programs for execution by a processor, such as the processor 1512 shown in example processor platform 1500 discussed below in connection with Figure 15. The one or more programs, or portion ( s) thereof, may be embodied in stored software and a computer-readable tangible storage medium, such as a CD-ROM, a floppy disk, a hard drive, a digital versatile disc (DVD), a Blu-ray™ disc, or a memory associated with processor 1512, the entire program(s) and/or portions thereof could alternatively be executed by a device other than processor 1512 and/or incorporated into dedicated firmware or hardware (e.g., implemented by an ASIC, a PLD, an FPLD, a discrete logic, etc.). Additionally, one or more of the machine-readable instructions represented by the flow charts in Figures 11 through 14 can be implemented manually. Furthermore, although the example program(s) are described with reference to the flowcharts illustrated in Figures 11 to 14, many other methods for implementing the example video processing system 100, the example static region 115, example frame rate upconverter 120, example motion estimator 125, example video segmenter 405, example static block criteria evaluator 410, example static map creator example 415, example static map store 420, example static map combiner 425, example media filter 430, example static region identifier 435, example static region checker 440, example static region adjuster example static block criteria 445, the example block pixel comparator 605, the example edge map creator 610, the example per block edge counter 615, the example per block edge match evaluator 620, example evaluation combiner 625, example phase plane correlator 805, example static map hysteresis evaluator 810, example static block criteria tuning specifier 815, example example 905 and/or the intracomponent static map combiner of example 910 may alternatively be used. For example, with reference to the flowcharts illustrated in Figures 11 to 14, the order of execution of the blocks may be changed and/or some of the described blocks may be altered, deleted, combined and/or subdivided into multiple blocks.

[073] Conforme mencionado acima, os processos de exemplo das Figuras 11 a 14 podem ser implantados com o uso de instruções codificadas (por exemplo, instruções legíveis por computador e/ou máquina) armazenadas em um meio de armazenamento tangível legível por computador, tal como uma unidades de disco rígido, uma memória flash, uma memória somente de leitura (ROM), um disco compacto (CD), um disco versátil digital (DVD), um armazenamento temporário de provisão, uma memória de acesso aleatório (RAM) e/ou qualquer outro dispositivo de armazenamento ou disco de armazenamento em que informações são armazenadas por qualquer duração (por exemplo, por períodos de tempo estendidos, permanentemente, por instantes breves, para armazenamento em memória temporária e/ou armazenamento temporário de provisão das informações). Conforme usado no presente documento, o termo meio de armazenamento tangível legível por computador é expressamente definido como incluindo qualquer tipo de dispositivo de armazenamento e/ou disco de armazenamento legível por computador e excluindo propagar sinais e excluindo mídia de transmissão. Conforme usado no presente documento, “meio de armazenamento tangível legível por computador” e “meio de armazenamento tangível legível por máquina” são usados de forma intercambiável. Adicional ou alternativamente, os processos de exemplo das Figuras 11 a 14 podem ser implantados com o uso de instruções codificadas (por exemplo, instruções legíveis por computador e/ou máquina) armazenadas em um meio legível por computador e/ou máquina não transitório, tal como uma unidades de disco rígido, uma memória flash, uma ROM, um CD, um DVD, um cache, uma RAM e/ou qualquer outro dispositivo de armazenamento ou disco de armazenamento em que informações são armazenadas por qualquer duração (por exemplo, por períodos de tempo estendidos, permanentemente, por instantes breves, para armazenamento em memória temporária e/ou armazenamento em cache das informações). Conforme usado no presente documento, o termo meio legível por computador não transitório é expressamente definido como incluindo qualquer tipo de dispositivo de armazenamento e/ou disco de armazenamento legível por computador e excluindo propagar sinais e excluindo mídia de transmissão. Conforme usado no presente documento, quando a frase “pelo menos” é usada como o termo de transição em um preâmbulo de uma reivindicação, o mesmo é aberto da mesma maneira que o termo “que compreende” é aberto. Além disso, conforme usado no presente documento, os termos “legível por computador” e “legível por máquina” são considerados equivalentes a não ser que indicado de outro modo.[073] As mentioned above, the example processes of Figures 11 to 14 can be implemented using encoded instructions (e.g., computer-readable and/or machine-readable instructions) stored on a tangible computer-readable storage medium, such such as hard disk drives, flash memory, read-only memory (ROM), compact disk (CD), digital versatile disk (DVD), provisional temporary storage, random access memory (RAM), and /or any other storage device or storage disk on which information is stored for any duration (e.g., for extended periods of time, permanently, briefly, for temporary memory storage and/or temporary provision storage of the information) . As used herein, the term computer-readable tangible storage medium is expressly defined as including any type of computer-readable storage device and/or storage disk and excluding propagating signals and excluding transmission media. As used herein, “computer-readable tangible storage medium” and “machine-readable tangible storage medium” are used interchangeably. Additionally or alternatively, the example processes of Figures 11 to 14 may be implemented with the use of encoded instructions (e.g., computer- and/or machine-readable instructions) stored on a non-transitory computer- and/or machine-readable medium, such such as a hard disk drive, a flash memory, a ROM, a CD, a DVD, a cache, a RAM and/or any other storage device or storage disk on which information is stored for any duration (e.g. extended periods of time, permanently, for brief moments, for temporary memory storage and/or caching of information). As used herein, the term non-transitory computer-readable medium is expressly defined as including any type of computer-readable storage device and/or storage disk and excluding propagating signals and excluding transmission media. As used herein, when the phrase “at least” is used as the transitional term in a preamble to a claim, the same is open-ended in the same manner as the term “comprising” is open-ended. Furthermore, as used herein, the terms “computer readable” and “machine readable” are considered equivalent unless otherwise indicated.

[074] Um programa de exemplo 1100 que pode ser executado para implantar o detector de região estática de exemplo 115 das Figuras 1 e/ou 4 é representado pelo fluxograma mostrado na Figura 11. O programa de exemplo 1100 pode ser executado pelo detector de região estática 115 para realizar detecção de região estática baseada em bloco, conforme revelado no presente documento. Com referência às figuras anteriores e descritos escritas associadas, o programa de exemplo 1100 da Figura 11 começa a execução no bloco 1105, em que o detector de região estática 115 obtém um quadro de vídeo atual da sequência de vídeo de entrada 105 para processamento, conforme descrito acima. No bloco 1110, o segmentador de vídeo de exemplo 405 do detector de região estática 115 segmenta os diferentes planos de componente de vídeo (por exemplo, o plano de luminância e os dois planos de crominância) do quadro de vídeo atual em blocos de pixel, conforme descrito acima.[074] An example program 1100 that can be executed to implement the example static region detector 115 of Figures 1 and/or 4 is represented by the flowchart shown in Figure 11. The example program 1100 can be executed by the region detector static region 115 to perform block-based static region detection as disclosed herein. With reference to the preceding figures and associated written descriptions, the example program 1100 of Figure 11 begins execution at block 1105, in which the static region detector 115 obtains a current video frame from the input video sequence 105 for processing, as per described above. In block 1110, the example video segmenter 405 of the static region detector 115 segments the different video component planes (e.g., the luminance plane and the two chrominance planes) of the current video frame into pixel blocks, as described above.

[075] No bloco 1115, o detector de região estática 115 avalia, para cada plano de componente de vídeo, os blocos de pixel obtidos no bloco 1100 para o quadro de vídeo atual e blocos de pixel correspondentes para um quadro de vídeo precedente contra um ou mais critérios de detecção de bloco estático para identificar o(s) bloco(s) estático(s), caso haja, em cada plano de componente de vídeo do quadro atual, conforme descrito acima. Conforme descrito, ainda, acima, no bloco 1115 o detector de região estática 115 usa esses resultados de avaliação para determinar mapas estáticos para os diferentes planos de componente de vídeo do quadro de vídeo atual. O mapa estático para um dado plano de componente de vídeo inclui entradas para cada bloco de pixel no dado plano de componente de vídeo do quadro de vídeo atual, e a entrada para blocos de pixel particulares identifica o bloco de pixel como um bloco estático ou um bloco não estático. Um programa de exemplo que pode implantar o processamento no bloco 1115 é ilustrado na Figura 12, que é descrita em mais detalhes abaixo.[075] In block 1115, the static region detector 115 evaluates, for each video component plane, the pixel blocks obtained in block 1100 for the current video frame and corresponding pixel blocks for a preceding video frame against a or more static block detection criteria to identify the static block(s), if any, in each video component plane of the current frame, as described above. As further described above, in block 1115 the static region detector 115 uses these evaluation results to determine static maps for the different video component planes of the current video frame. The static map for a given video component plane includes entries for each pixel block in the given video component plane of the current video frame, and the entry for particular pixel blocks identifies the pixel block as a static block or a non-static block. An example program that can implement processing in block 1115 is illustrated in Figure 12, which is described in more detail below.

[076] No bloco 1120, o detector de região estática 115 determina se múltiplas iterações de segmentação, com sobreposição, do quadro de vídeo atual, conforme descrito acima, são suportadas. Se múltiplas iterações de segmentação, com sobreposição, forem suportadas (bloco 1120), então, no bloco 1125, o detector de região estática 115 determina se todas as iterações para segmentar o quadro de vídeo atual estão completas. Se a segmentação do quadro de vídeo atual não estiver completa (bloco 1125), então, no bloco 1130, o segmentador de vídeo 405 do detector de região estática 115 é configurado com deslocamento de segmentação a ser usado para a iteração de segmentação seguinte. O processamento, então, retorna aos blocos 1110, e os blocos subsequentes aos mesmos, em que o quadro de vídeo atual é segmentado com base no deslocamento configurado, e o(s) bloco(s) estático(s), caso haja, é(são) detectado(s) nos blocos de pixel resultantes, conforme descrito acima.[076] In block 1120, static region detector 115 determines whether multiple overlapping segmentation iterations of the current video frame, as described above, are supported. If multiple segmentation iterations, with overlap, are supported (block 1120), then, in block 1125, the static region detector 115 determines whether all iterations to segment the current video frame are complete. If the segmentation of the current video frame is not complete (block 1125), then in block 1130, the video segmenter 405 of the static region detector 115 is configured with segmentation offset to be used for the next segmentation iteration. Processing then returns to blocks 1110, and the blocks subsequent thereto, where the current video frame is segmented based on the configured offset, and the static block(s), if any, are (are) detected in the resulting pixel blocks as described above.

[077] No bloco 1135, o combinador de mapa estático de exemplo 425 do detector de região estática 115 combina os mapas estáticos individuais determinados para o quadro de vídeo atual sobre os múltiplos planos de componente de vídeo e/ou sobre os múltiplos diferentes deslocamentos de segmentação para determinar um mapa estático geral que identifica o(s) bloco(s) estático(s), caso haja, no quadro de vídeo atual, conforme descrito acima. Um programa de exemplo que pode implantar o processamento no bloco 1135 é ilustrado na Figura 13, que é descrita em mais detalhes abaixo. O mapa estático geral determinado no bloco 1135 pode ser, então, adicionalmente processado pelo detector de região estática 115 para identificar a(s) região(ões) estática(s), caso haja, do quadro de vídeo atual, conforme descrito acima.[077] In block 1135, example static map combiner 425 of static region detector 115 combines the individual static maps determined for the current video frame over multiple video component planes and/or over multiple different video offsets. segmentation to determine a general static map that identifies the static block(s), if any, in the current video frame, as described above. An example program that can implement processing in block 1135 is illustrated in Figure 13, which is described in more detail below. The overall static map determined in block 1135 may then be further processed by static region detector 115 to identify the static region(s), if any, of the current video frame, as described above.

[078] Um programa de exemplo 1115P que pode ser executado para implantar o avaliador de critérios de bloco estático de exemplo 410 das Figuras 4 e/ou 6, e/ou o criador de mapa estático de exemplo 415 da Figura 4, e/ou que pode ser usado para implantar o processamento no bloco 1115 da Figura 11, é representado pelo fluxograma mostrado na Figura 12. Com referência às figuras anteriores e descrições escritas associadas, o programa de exemplo 1115P da Figura 12 começa a execução no bloco 1205, em que o avaliador de critérios de bloco estático 410 e o criador de mapa estático 415 do detector de região estática 115 são configurados para realizar a detecção de bloco estático para um dado plano de componente de vídeo (por exemplo, o plano de luminância ou um dos planos de crominância) do quadro de vídeo atual que está sendo processado. No bloco 1210, o avaliador de critérios de bloco estático 410 compara, com base nos critérios de detecção de bloco estático, blocos de pixel correspondentes no dado plano de componente de vídeo do quadro de vídeo atual e no quadro de vídeo precedente para identificar o(s) bloco(s) estático(s), caso haja, no quadro de vídeo atual. Por exemplo, o avaliador de critérios de bloco estático 410 pode usar um, alguns ou todos dentre o comparador de pixel por bloco de exemplo 605, o contador de borda por bloco de exemplo 615 e/ou o avaliador de correspondência de borda por bloco de exemplo 620, que são descritos acima, para avaliar os critérios de detecção de bloco estático no bloco 1210.[078] An example program 1115P that can be executed to implement the example static block criteria evaluator 410 of Figures 4 and/or 6, and/or the example static map creator 415 of Figure 4, and/or which can be used to implement processing in block 1115 of Figure 11, is represented by the flowchart shown in Figure 12. With reference to the previous figures and associated written descriptions, the example program 1115P of Figure 12 begins execution in block 1205, at that the static block criteria evaluator 410 and the static map maker 415 of the static region detector 115 are configured to perform static block detection for a given video component plane (e.g., the luminance plane or one of the chrominance planes) of the current video frame being processed. In block 1210, the static block criteria evaluator 410 compares, based on the static block detection criteria, corresponding pixel blocks in the given video component plane of the current video frame and the preceding video frame to identify the ( s) static block(s), if any, in the current video frame. For example, the static block criteria evaluator 410 may use one, some, or all of the example block pixel comparator 605, the sample block edge counter 615, and/or the sample block edge match evaluator 605. example 620, which are described above, to evaluate the static block detection criteria in block 1210.

[079] No bloco 1215, o combinador de avaliação de exemplo 625 do avaliador de critérios de bloco estático 410 combina, conforme descrito acima, os resultados da avaliação dos critérios de detecção de bloco estático no bloco 1210 para determinar o(s) bloco(s) estático(s), caso haja, no dado plano de componente do quadro de vídeo atual. No bloco 1220, o criador de mapa estático 415 cria um mapa estático para o dado plano de componente de vídeo do quadro de vídeo atual. Conforme descrito acima, o mapa estático inclui as respectivas entradas para cada bloco de pixel no dado plano de componente de vídeo do quadro de vídeo atual, e os valores do mapa estático são definidos para indicar quais blocos de pixel, caso haja, são blocos estáticos e quais blocos de pixel, caso haja, são blocos não estáticos. No bloco 1225, o detector de região estática 115 faz com que o processamento continue até todos os planos de componente de vídeo do quadro de vídeo atual terem sido processados. No bloco 1230, o criador de mapa estático 415 emite e/ou armazena os respectivos mapas estáticos determinados para os diferentes planos de componente de vídeo do quadro de vídeo atual.[079] In block 1215, example evaluation combiner 625 of static block criteria evaluator 410 combines, as described above, the results of evaluating the static block detection criteria in block 1210 to determine the block(s) s) static(s), if any, in the given component plane of the current video frame. In block 1220, static map creator 415 creates a static map for the given video component plane of the current video frame. As described above, the static map includes the respective entries for each pixel block in the given video component plane of the current video frame, and the static map values are set to indicate which pixel blocks, if any, are static blocks. and which pixel blocks, if any, are non-static blocks. In block 1225, static region detector 115 causes processing to continue until all video component planes of the current video frame have been processed. In block 1230, the static map creator 415 outputs and/or stores respective static maps determined for the different video component planes of the current video frame.

[080] Um programa de exemplo 1135P que pode ser executado para implantar o combinador de mapa estático de exemplo 425 das Figuras 4 e/ou 9, e/ou que pode ser usado para implantar o processamento no bloco 1135 da Figura 11, é representado pelo fluxograma mostrado na Figura 13. Em referência às figuras anteriores e descrições descritas associadas, o programa de exemplo 1135P da Figura 13 começa a execução no bloco 1305, em que o combinador de mapa estático 425 do detector de região estática 115 determina se múltiplas iterações de segmentação, com sobreposição, do quadro de vídeo atual, conforme descrito acima, são suportadas. Se múltiplas iterações de segmentação, com sobreposição, forem suportadas (bloco 1305), então, no bloco 1310, o combinador de mapa estático de intracomponentes de exemplo 905 do combinador de mapa estático 425 é configurado para realizar a combinação de mapa estático intracomponentes para um dado plano de componente de vídeo (por exemplo, o plano de luminância ou um dos planos de crominância) do quadro de vídeo atual que está sendo processado. No bloco 1315, o combinador de mapa estático de intracomponentes 905 realiza a combinação de mapa estático intracomponentes de diferentes mapas estáticos determinados para o dado plano de componente de vídeo do quadro de vídeo atual. Conforme descrito acima, os diferentes mapas estáticos correspondem às diferentes segmentações do dado plano de componente de vídeo do vídeo atual com diferentes deslocamentos de segmentação, e cada mapa estático identifica o(s) bloco(s) estático(s), caso haja, identifica(s) para um deslocamento de segmentação particular. No bloco 1315, o resultado da combinação de mapa estático intracomponentes é um único mapa estático compósito que identifica o(s) bloco(s) estático(s), caso haja, no dado plano de componente de vídeo do quadro de vídeo atual que está sendo processado.[080] An example program 1135P that can be executed to implement the example static map combiner 425 of Figures 4 and/or 9, and/or that can be used to implement processing in block 1135 of Figure 11, is depicted by the flowchart shown in Figure 13. Referring to the preceding figures and associated descriptions, the example program 1135P of Figure 13 begins execution at block 1305, wherein the static map combiner 425 of the static region detector 115 determines whether multiple iterations overlay segmentation of the current video frame as described above is supported. If multiple segmentation iterations, with overlap, are supported (block 1305), then, in block 1310, example intracomponent static map combiner 905 of example static map combiner 425 is configured to perform intracomponent static map combining for a given video component plane (e.g., the luminance plane or one of the chrominance planes) of the current video frame being processed. In block 1315, intracomponent static map combiner 905 performs intracomponent static map combining of different static maps determined for the given video component plane of the current video frame. As described above, the different static maps correspond to different segmentations of the given video component plane of the current video with different segmentation offsets, and each static map identifies the static block(s), if any, identifies (s) for a particular targeting offset. At block 1315, the result of the intra-component static map combination is a single composite static map that identifies the static block(s), if any, in the given video component plane of the current video frame that is being processed.

[081] No bloco 1320, o combinador de mapa estático de intracomponentes de exemplo 905 faz com que o processamento continue até a combinação de mapa estático intracomponentes para todos os planos de componente de vídeo do quadro de vídeo atual está completa. No bloco 1325, o combinador de mapa estático intracomponentes de exemplo 910 do combinador de mapa estático 425 realiza a combinação de mapa estático intracomponentes dos diferentes mapas estáticos, que podem ou não ser mapas estáticos compósitos, para os diferentes planos de componente de vídeo do quadro de vídeo atual para determinar um mapa estático geral para o quadro de vídeo atual, conforme descrito acima. O mapa estático geral identifica o(s) bloco(s) estático(s), caso haja, no quadro de vídeo atual que está sendo processado.[081] In block 1320, example intracomponent static map combiner 905 causes processing to continue until intracomponent static map combining for all video component planes of the current video frame is complete. In block 1325, example intra-component static map combiner 910 of static map combiner 425 performs intra-component static map combining of the different static maps, which may or may not be composite static maps, for the different video component planes of the frame. current video frame to determine a general static map for the current video frame, as described above. The overall static map identifies the static block(s), if any, in the current video frame being processed.

[082] Um programa de exemplo 1400 que pode ser executado para implantar o ajustador de critérios de bloco estático de exemplo 445 das Figuras 4 e/ou 8 é representado pelo fluxograma mostrado na Figura 14. Com referência às figuras anteriores e descrições escritas associadas, o programa de exemplo 1400 da Figura 14 começa a execução no bloco 1405, em que o ajustador de critérios de bloco estático 445 do detector de região estática 115 é configurado para avaliar um dado plano de componente de vídeo (por exemplo, o plano de luminância ou um dos planos de crominância) do quadro de vídeo atual que está sendo processado. No bloco 1410, o correlacionador de plano de fase de exemplo 805 do ajustador de critérios de bloco estático 445 compara a(s) região(ões) dos quadros de vídeo atuais e precedentes da sequência de vídeo de entrada 105 para determinar o(s) ajuste(s), caso haja, a ser feito(s) em um ou mais dos critérios de detecção de bloco estático avaliados pelo avaliador de critérios de bloco estático 410, conforme descrito acima. No bloco 1415, o avaliador de histerese de mapa estático de exemplo 810 do ajustador de critérios de bloco estático 445 examina um ou mais mapas estáticos anteriores determinados para um ou mais quadros de vídeo anteriores na sequência de vídeo de entrada 105 para determinar o(s) ajuste(s), caso haja, a ser feito(s) em um ou mais critérios de detecção de bloco estático avaliados pelo avaliador de critérios de bloco estático 410, conforme descrito acima. No bloco 1420, o ajustador de critérios de bloco estático 445 faz com que o processamento continue até a avaliação de todos os planos de componente de vídeo estar completa. Então, no bloco 1425, o especificador de ajuste de critérios de bloco estático de exemplo 815 aplica, conforme descrito acima, o(s) ajuste(s), caso haja, a ser feito(s) em um ou mais dos critérios de detecção de bloco estático com base nos resultados obtidos nos blocos 1410 e/ou 1415.[082] An example program 1400 that can be executed to implement the example static block criteria adjuster 445 of Figures 4 and/or 8 is represented by the flowchart shown in Figure 14. With reference to the preceding figures and associated written descriptions, The example program 1400 of Figure 14 begins execution at block 1405, in which the static block criteria adjuster 445 of the static region detector 115 is configured to evaluate a given video component plane (e.g., the luminance plane or one of the chroma planes) of the current video frame being processed. In block 1410, the example phase plane correlator 805 of the static block criteria adjuster 445 compares the region(s) of the current and preceding video frames of the input video sequence 105 to determine the adjustment(s), if any, to be made to one or more of the static block detection criteria evaluated by the static block criteria evaluator 410, as described above. In block 1415, example static map hysteresis evaluator 810 of static block criteria adjuster 445 examines one or more previous static maps determined for one or more previous video frames in the input video sequence 105 to determine the ) adjustment(s), if any, to be made to one or more static block detection criteria evaluated by the static block criteria evaluator 410, as described above. In block 1420, static block criteria adjuster 445 causes processing to continue until evaluation of all video component planes is complete. Then, in block 1425, example static block criteria adjustment specifier 815 applies, as described above, the adjustment(s), if any, to be made to one or more of the detection criteria. static block based on the results obtained in blocks 1410 and/or 1415.

[083] A Figura 15 é um diagrama de blocos de uma plataforma de processador de exemplo 1500 que tem capacidade para executar as instruções das Figuras 11 a 14 para implantar o sistema de processamento de vídeo de exemplo 100, o detector de região estática de exemplo 115, o conversor ascendente de velocidade de quadros de exemplo 120, o estimador de movimento de exemplo 125, o segmentador de vídeo de exemplo 405, o avaliador de critérios de bloco estático de exemplo 410, o criador de mapa estático de exemplo 415, o armazenamento de mapa estático de exemplo 420, o combinador de mapa estático de exemplo 425, o filtro de mídia de exemplo 430, o identificador de região estática de exemplo 435, o verificador de região estática de exemplo 440, o ajustador de critérios de bloco estático de exemplo 445, o comparador de pixel por bloco de exemplo 605, o criador de mapa de borda de exemplo 610, o contador de borda por bloco de exemplo 615, o avaliador de correspondência de borda por bloco de exemplo 620, o combinador de avaliação de exemplo 625, o correlacionador de plano de fase de exemplo 805, o avaliador de histerese de mapa estático de exemplo 810, o especificador de ajuste de critérios de bloco estático de exemplo 815, o combinador de mapa estático de intracomponentes de exemplo 905 e/ou o combinador de mapa estático intracomponentes de exemplo 910 das Figuras 11 a 14. A plataforma de processador 1500 pode ser, por exemplo, um servidor, um computador pessoal, um dispositivo móvel (por exemplo, um telefone celular, um telefone do tipo smartphone, um computador do tipo tablet, tal como um iPadTM), um assistente digital pessoal (PDA), um aparelho conectado à Internet, um reprodutor de DVD, um reprodutor de CD, um gravador de vídeo digital, um reprodutor de Blu-ray, um console de jogo, um gravador de vídeo pessoal, um decodificador, uma câmera digital ou qualquer outro tipo de dispositivo de computação.[083] Figure 15 is a block diagram of an example processor platform 1500 that has the ability to execute the instructions of Figures 11 to 14 to implement the example video processing system 100, the example static region detector 115, the example frame rate upconverter 120, the example motion estimator 125, the example video segmenter 405, the example static block criteria evaluator 410, the example static map creator 415, the example static map store 420, example static map combiner 425, example media filter 430, example static region identifier 435, example static region checker 440, example static block criteria adjuster example 445, the example tile pixel comparator 605, the example edgemap creator 610, the example tile edge counter 615, the example tile edge match evaluator 620, the evaluation combiner example 625, example phase plane correlator 805, example static map hysteresis evaluator 810, example static block criteria adjustment specifier 815, example intracomponent static map combiner 905, and/or or the example intracomponent static map combiner 910 of Figures 11 through 14. The processor platform 1500 may be, for example, a server, a personal computer, a mobile device (e.g., a cell phone, a smartphone-type phone, , a tablet-type computer such as an iPadTM), a personal digital assistant (PDA), an Internet-connected device, a DVD player, a CD player, a digital video recorder, a Blu-ray player, a game console, personal video recorder, set-top box, digital camera, or any other type of computing device.

[084] A plataforma de processador 1500 do exemplo ilustrado inclui um processador 1512. O processador 1512 do exemplo ilustrado é um hardware. Por exemplo, o processador 1512 pode ser implantado por um ou mais circuitos integrados, circuitos lógicos, microprocessadores ou controladores de qualquer família ou fabricante desejado.[084] The processor platform 1500 of the illustrated example includes a processor 1512. The processor 1512 of the illustrated example is hardware. For example, processor 1512 may be implemented by one or more integrated circuits, logic circuits, microprocessors, or controllers of any desired family or manufacturer.

[085] O processador 1512 do exemplo ilustrado inclui uma memória local 1513 (por exemplo, um cache). O processador 1512 do exemplo ilustrado está em comunicação com uma memória principal que inclui uma memória volátil 1514 e uma memória não volátil 1516 por meio de um enlace 1518. O enlace 1518 pode ser implantado por um barramento, uma ou mais conexões ponto a ponto, etc., ou uma combinação dos mesmos. A memória volátil 1514 pode ser implantada por Memória de Acesso Aleatório Dinâmico Sincronizado (SDRAM), Memória de Acesso Aleatório Dinâmico (DRAM), Memória de Acesso Aleatório Dinâmico RAMBUS (RDRAM) e/ou qualquer outro tipo de dispositivo de memória de acesso aleatório. A memória não volátil 1516 pode ser implantada por memória flash e/ou qualquer outro tipo desejado de dispositivo de memória. O acesso à memória principal 1514, 1516 é controlado por um controlador de memória.[085] The processor 1512 of the illustrated example includes a local memory 1513 (e.g., a cache). The processor 1512 of the illustrated example is in communication with a main memory that includes a volatile memory 1514 and a non-volatile memory 1516 via a link 1518. The link 1518 may be implemented by a bus, one or more point-to-point connections, etc., or a combination thereof. The volatile memory 1514 may be deployed by Synchronized Dynamic Random Access Memory (SDRAM), Dynamic Random Access Memory (DRAM), RAMBUS Dynamic Random Access Memory (RDRAM), and/or any other type of random access memory device. The non-volatile memory 1516 may be implemented by flash memory and/or any other desired type of memory device. Access to main memory 1514, 1516 is controlled by a memory controller.

[086] A plataforma de processador 1500 do exemplo ilustrado também inclui um circuito de interface 1520. O circuito de interface 1520 pode ser implantado por qualquer tipo de padrão de interface, tal como uma interface Ethernet, um barramento serial universal (USB) e/ou um interface expressa de PCI.[086] The processor platform 1500 of the illustrated example also includes an interface circuit 1520. The interface circuit 1520 can be implemented by any type of interface standard, such as an Ethernet interface, a universal serial bus (USB) and/or or a PCI express interface.

[087] No exemplo ilustrado, um ou mais dispositivos de entrada 1522 estão conectados ao circuito de interface 1520. O dispositivo(s) de entrada 1522 permite(m) que um usuário insira dados e comandos no processador 1512. O(s) dispositivo(s) de entrada pode(m) ser implantado(s) por, por exemplo, um sensor de áudio, um microfone, uma câmera (imóvel ou vídeo), um teclado, um botão, um mouse, uma tela sensível ao toque, um trackpad, um trackball, um trackbar (tal como um isopoint), um sistema de reconhecimento de voz e/ou qualquer outra interface entre ser humano e máquina. Além disso, muitos sistemas, tal como a plataforma de processador 1500, podem permitir que o usuário controle o sistema de computador e forneça dados ao computador com o uso de gestos físicos, tal como, porém, sem limitação, movimentos com as mãos ou corpo, expressões faciais e reconhecimento de face.[087] In the illustrated example, one or more input devices 1522 are connected to the interface circuit 1520. The input device(s) 1522 allows a user to enter data and commands into the processor 1512. The device(s) input(s) may be implemented by, for example, an audio sensor, a microphone, a camera (still or video), a keyboard, a button, a mouse, a touch screen, a trackpad, a trackball, a trackbar (such as an isopoint), a voice recognition system and/or any other interface between human and machine. Additionally, many systems, such as processor platform 1500, may allow the user to control the computer system and provide data to the computer using physical gestures, such as, but not limited to, hand or body movements. , facial expressions and face recognition.

[088] Um ou mais dispositivos de saída 1524 estão também conectados ao circuito de interface 1520 do exemplo ilustrado. Os dispositivos de saída 1524 podem ser implantados, por exemplo, por dispositivos de exibição (por exemplo, um diodo emissor de luz (LED), um diodo emissor de luz orgânico (OLED), uma tela de cristal líquido, uma tela de tubo de raios de catodo (CRT), uma tela sensível ao toque, um dispositivo de saída tátil, um diodo emissor de luz (LED), uma impressora e/ou alto-falantes). O circuito de interface 1520 do exemplo ilustrado, assim, inclui tipicamente um cartão de unidade de gráfico, um chip de unidade de gráfico ou um processador de unidade de gráfico.[088] One or more output devices 1524 are also connected to the interface circuit 1520 of the illustrated example. The output devices 1524 may be implemented, for example, by display devices (e.g., a light-emitting diode (LED), an organic light-emitting diode (OLED), a liquid crystal display, a cathode rays (CRT), a touch screen, a tactile output device, a light-emitting diode (LED), a printer, and/or speakers). The interface circuit 1520 of the illustrated example thus typically includes a graphics card, a graphics chip, or a graphics processor.

[089] O circuito de interface 1520 do exemplo ilustrado também inclui um dispositivo de comunicação, tal como um transmissor, um receptor, um transceptor, um modem e/ou um cartão de interface de rede para facilitar a troca de dados com máquinas externas (por exemplo, dispositivos de computação de qualquer tipo) por meio de uma rede 1526 (por exemplo, uma conexão Ethernet, uma linha de assinante digital (DSL), uma linha de telefone, um cabo coaxial, um sistema de telefone celular, etc.).[089] The interface circuit 1520 of the illustrated example also includes a communication device, such as a transmitter, a receiver, a transceiver, a modem and/or a network interface card to facilitate data exchange with external machines ( e.g., computing devices of any type) via a network 1526 (e.g., an Ethernet connection, a digital subscriber line (DSL), a telephone line, a coaxial cable, a cellular telephone system, etc. ).

[090] A plataforma de processador 1500 do exemplo ilustrado também inclui um ou mais dispositivos de armazenamento em massa 1528 para armazenar software e/ou dados. Os exemplos de tais dispositivos de armazenamento em massa 1528 incluem unidades de disquete, unidades de disco rígido, unidades de disco compacto, unidades de disco Blu-ray, sistemas de RAID (arranjo redundante de discos independentes) e unidades de disco versátil digital (DVD).[090] The processor platform 1500 of the illustrated example also includes one or more mass storage devices 1528 for storing software and/or data. Examples of such mass storage devices 1528 include floppy disk drives, hard disk drives, compact disk drives, Blu-ray disk drives, RAID (redundant array of independent disks) systems, and digital versatile disk (DVD) drives. ).

[091] Instruções codificadas 1532 correspondentes às instruções das Figuras 11 a 14 podem ser armazenadas nos dispositivos de armazenamento em massa 1528, na memória volátil 1514, na memória não volátil 1516, na memória local 1513 e/ou em um meio de armazenamento tangível legível por computador removível, tal como um CD ou DVD 1536.[091] Coded instructions 1532 corresponding to the instructions of Figures 11 to 14 may be stored in mass storage devices 1528, volatile memory 1514, non-volatile memory 1516, local memory 1513 and/or a readable tangible storage medium by removable computer, such as a CD or DVD 1536.

[092] Os exemplos adicionais a seguir incluem tal método para realizar a detecção de região estática baseada em bloco para processamento de vídeo, meios para realizar a detecção de região estática baseada em bloco para processamento de vídeo, pelo menos um meio legível por máquina que inclui instruções que, quando realizadas por uma máquina fazem a máquina realizar a detecção de região estática baseada em bloco para processamento de vídeo, um aparelho e/ou um sistema para implantar a detecção de região estática baseada em bloco para processamento de vídeo que são revelados no presente documento.[092] The following additional examples include such a method for performing block-based static region detection for video processing, means for performing block-based static region detection for video processing, at least one machine-readable medium that includes instructions that, when performed by a machine cause the machine to perform block-based static region detection for video processing, an apparatus and/or a system for implementing block-based static region detection for video processing that are disclosed in this document.

[093] O exemplo 1 é um método de processamento de vídeo que inclui segmentar pixels em um primeiro quadro de uma sequência de vídeo em uma primeira pluralidade de blocos de pixel. O método do exemplo 1 também inclui processar, com um processador, a primeira pluralidade de blocos de pixel e uma segunda pluralidade de blocos de pixel correspondente a um segundo quadro anterior da sequência de vídeo para criar, com base em um primeiro critério, um mapa que identifica um ou mais blocos estáticos de pixel na primeira pluralidade de blocos de pixel. O método do exemplo 1 inclui, ainda, identificar, com base no mapa, uma região estática no primeiro quadro da sequência de vídeo.[093] Example 1 is a video processing method that includes segmenting pixels in a first frame of a video sequence into a first plurality of pixel blocks. The method of example 1 also includes processing, with a processor, the first plurality of pixel blocks and a second plurality of pixel blocks corresponding to a previous second frame of the video sequence to create, based on a first criterion, a map that identifies one or more static pixel blocks in the first plurality of pixel blocks. The method of example 1 further includes identifying, based on the map, a static region in the first frame of the video sequence.

[094] O exemplo 2 inclui a matéria do exemplo 1, em que o processamento inclui avaliar a primeira pluralidade de blocos de pixel e a segunda pluralidade de blocos de pixel com base no primeiro critério para determinar um primeiro resultado de identificação de bloco estático, avaliar a primeira pluralidade de blocos de pixel e a segunda pluralidade de blocos de pixel com base em um segundo critério para determinar um segundo resultado de identificação de bloco estático e combinar o primeiro e o segundo resultados de identificação de bloco estático para criar o mapa que identifica os um ou mais blocos estáticos de pixel na primeira pluralidade de blocos de pixel.[094] Example 2 includes the subject matter of example 1, wherein the processing includes evaluating the first plurality of pixel blocks and the second plurality of pixel blocks based on the first criterion to determine a first static block identification result, evaluate the first plurality of pixel blocks and the second plurality of pixel blocks based on a second criterion to determine a second static block identification result and combine the first and second static block identification results to create the map that identifies the one or more static pixel blocks in the first plurality of pixel blocks.

[095] O exemplo 3 inclui a matéria do exemplo 1, em que o primeiro critério inclui um critério de soma de diferenças absolutas, e o processamento inclui computar uma soma de diferenças absolutas entre pixels em um primeiro bloco de pixel da primeira pluralidade de blocos de pixel e pixels correspondentes em um segundo bloco de pixel correspondente da segunda pluralidade de blocos de pixel e determinar se o primeiro bloco de pixel é um bloco estático comparando-se a soma de diferenças absolutas a um limite.[095] Example 3 includes the subject matter of example 1, wherein the first criterion includes a sum of absolute differences criterion, and the processing includes computing a sum of absolute differences between pixels in a first pixel block of the first plurality of blocks of pixel and corresponding pixels in a second corresponding pixel block of the second plurality of pixel blocks and determining whether the first pixel block is a static block by comparing the sum of absolute differences to a threshold.

[096] O exemplo 4 inclui a matéria do exemplo 1, em que o primeiro critério inclui um critério de contagem de borda, e o processamento inclui determinar um mapa de borda que identifica as bordas no primeiro quadro da sequência de vídeo, contar um número de pixels em um primeiro bloco de pixel da primeira pluralidade de blocos de pixel associados às bordas identificadas no mapa de borda e determinar se o primeiro bloco de pixel é um bloco estático comparando-se o número a um limite.[096] Example 4 includes the subject matter of example 1, wherein the first criterion includes an edge count criterion, and the processing includes determining an edge map that identifies the edges in the first frame of the video sequence, counting a number of pixels in a first pixel block of the first plurality of pixel blocks associated with the edges identified in the edge map and determining whether the first pixel block is a static block by comparing the number to a threshold.

[097] O exemplo 5 inclui a matéria do exemplo 1, em que o primeiro critério inclui um critério de correspondência de borda, e o processamento inclui determinar um primeiro mapa de borda que identifica bordas no primeiro quadro da sequência de vídeo, identificar os primeiros pixels de borda em um primeiro bloco de pixel da primeira pluralidade de blocos de pixel, em que os primeiros pixels de borda estão associados às bordas identificadas no primeiro mapa de borda, determinar um número de primeiros pixels de borda que não têm correspondência de borda com os respectivos segundos pixels de borda em um segundo bloco de pixel correspondente da segunda pluralidade de blocos de pixel, em que dois pixels de borda têm correspondência de borda quando os dois pixels de borda têm uma mesma localização de quadro e estão associados a uma mesma orientação de borda e determinar se o primeiro bloco de pixel é um bloco estático comparando-se o número a um limite.[097] Example 5 includes the subject matter of example 1, wherein the first criterion includes an edge matching criterion, and the processing includes determining a first edge map that identifies edges in the first frame of the video sequence, identifying the first edge pixels in a first pixel block of the first plurality of pixel blocks, wherein the first edge pixels are associated with the edges identified in the first edge map, determine a number of first edge pixels that have no edge correspondence with the respective second edge pixels in a corresponding second pixel block of the second plurality of pixel blocks, wherein two edge pixels are edge matched when the two edge pixels have the same frame location and are associated with the same orientation edge and determine whether the first pixel block is a static block by comparing the number to a threshold.

[098] O exemplo 6 inclui a matéria do exemplo 1, em que o primeiro quadro tem múltiplos componentes de vídeo, a primeira pluralidade de blocos de pixel está associada a um primeiro plano de componente de vídeo, o mapa é um primeiro mapa e inclui, ainda, segmentar os pixels no primeiro quadro da sequência de vídeo em uma terceira pluralidade de blocos de pixel associada a um segundo plano de componente de vídeo diferente do primeiro plano de componente de vídeo. O exemplo 6 também inclui processar a terceira pluralidade de blocos de pixel e uma quarta pluralidade de blocos de pixel correspondentes ao segundo plano de componente de vídeo do segundo quadro anterior da sequência de vídeo para criar, com base no primeiro critério, um segundo mapa que identifica um ou mais blocos estáticos de pixel na terceira pluralidade de blocos de pixel. O exemplo 6 inclui, ainda, identificar, com base no primeiro e no segundo mapas, a região estática no primeiro quadro da sequência de vídeo.[098] Example 6 includes the subject matter of example 1, wherein the first frame has multiple video components, the first plurality of pixel blocks is associated with a video component foreground, the map is a first map and includes , further, segmenting the pixels in the first frame of the video sequence into a third plurality of pixel blocks associated with a video component background different from the video component foreground. Example 6 also includes processing the third plurality of pixel blocks and a fourth plurality of pixel blocks corresponding to the video component background of the previous second frame of the video sequence to create, based on the first criterion, a second map that identifies one or more static pixel blocks in the third plurality of pixel blocks. Example 6 further includes identifying, based on the first and second maps, the static region in the first frame of the video sequence.

[099] O exemplo 7 inclui a matéria do exemplo 6, em que identificar, com base no primeiro e no segundo mapas, a região estática no primeiro quadro da sequência de vídeo inclui combinar o primeiro mapa e o segundo mapa para determinar um mapa geral que identifica um ou mais blocos estáticos de pixel no primeiro quadro da sequência de vídeo.[099] Example 7 includes the subject matter of example 6, wherein identifying, based on the first and second maps, the static region in the first frame of the video sequence includes combining the first map and the second map to determine an overall map that identifies one or more static pixel blocks in the first frame of the video sequence.

[0100] O exemplo 8 inclui a matéria do exemplo 1, em que o mapa é um primeiro mapa e inclui, ainda. O exemplo 8 também inclui segmentar os pixels no primeiro quadro da sequência de vídeo em uma terceira pluralidade de blocos de pixel, em que aqueles da terceira pluralidade de blocos de pixel sobrepõem parcialmente aqueles da primeira pluralidade de blocos. O exemplo 8 também inclui processar a terceira pluralidade de blocos de pixel e uma quarta pluralidade de blocos de pixel correspondentes ao segundo quadro anterior da sequência de vídeo para criar, com base no primeiro critério, um segundo mapa que identifica um ou mais blocos estáticos de pixel na terceira pluralidade de blocos de pixel, em que aqueles da quarta pluralidade de blocos de pixel se sobrepõem parcialmente àqueles da segunda pluralidade de blocos. O exemplo 8 inclui, ainda, identificar, com base no primeiro e no segundo mapas, a região estática no primeiro quadro da sequência de vídeo.[0100] Example 8 includes the material of example 1, in which the map is a first map and also includes. Example 8 also includes segmenting the pixels in the first frame of the video sequence into a third plurality of pixel blocks, wherein those of the third plurality of pixel blocks partially overlap those of the first plurality of blocks. Example 8 also includes processing the third plurality of pixel blocks and a fourth plurality of pixel blocks corresponding to the previous second frame of the video sequence to create, based on the first criterion, a second map that identifies one or more static blocks of pixel in the third plurality of pixel blocks, wherein those of the fourth plurality of pixel blocks partially overlap those of the second plurality of blocks. Example 8 further includes identifying, based on the first and second maps, the static region in the first frame of the video sequence.

[0101] O exemplo 9 inclui a matéria do exemplo 8, em que identificar, com base no primeiro e no segundo mapas, a região estática no primeiro quadro da sequência de vídeo inclui combinar o primeiro mapa e o segundo mapa para determinar um mapa geral que identifica um ou mais sub-blocos estáticos de pixel no primeiro quadro da sequência de vídeo, em que um primeiro sub-bloco no primeiro quadro está incluído em um primeiro bloco da primeira pluralidade de blocos de pixel e um primeiro bloco da terceira pluralidade de blocos, em que o mapa geral tem uma melhor resolução do que que o primeiro e o segundo blocos. O exemplo 9 também inclui identificar a região estática no primeiro quadro da sequência de vídeo com base no mapa geral.[0101] Example 9 includes the subject matter of example 8, wherein identifying, based on the first and second maps, the static region in the first frame of the video sequence includes combining the first map and the second map to determine an overall map that identifies one or more static pixel sub-blocks in the first frame of the video sequence, wherein a first sub-block in the first frame is included in a first block of the first plurality of pixel blocks and a first block of the third plurality of blocks, where the overall map has a better resolution than the first and second blocks. Example 9 also includes identifying the static region in the first frame of the video sequence based on the overall map.

[0102] O exemplo 10 inclui a matéria do exemplo 1, em que o mapa é um primeiro mapa e inclui, ainda, ajustar o primeiro critério com base em pelo menos um dentre (1) uma correlação determinada entre o primeiro e o segundo quadros da sequência de vídeo ou (2) avaliação de um segundo mapa anterior que identifica um ou mais blocos estáticos de pixel na segunda pluralidade de blocos de pixel correspondente ao segundo quadro anterior da sequência de vídeo.[0102] Example 10 includes the subject matter of example 1, wherein the map is a first map and further includes adjusting the first criterion based on at least one of (1) a correlation determined between the first and second frames of the video sequence or (2) evaluating a second prior map that identifies one or more static pixel blocks in the second plurality of pixel blocks corresponding to the second prior frame of the video sequence.

[0103] O exemplo 11 é um método, conforme definido em qualquer uma das reivindicações 1 a 5, em que o mapa é um primeiro mapa e inclui, ainda, ajustar o primeiro critério com base em pelo menos um dentre (1) uma correlação determinada entre o primeiro e o segundo quadros da sequência de vídeo ou (2) avaliação de um segundo mapa anterior que identifica um ou mais blocos estáticos de pixel na segunda pluralidade de blocos de pixel correspondente ao segundo quadro anterior da sequência de vídeo.[0103] Example 11 is a method as defined in any one of claims 1 to 5, wherein the map is a first map and further includes adjusting the first criterion based on at least one of (1) a correlation determined between the first and second frames of the video sequence or (2) evaluating a second prior map that identifies one or more static pixel blocks in the second plurality of pixel blocks corresponding to the second prior frame of the video sequence.

[0104] O exemplo 12 é pelo menos um meio de armazenamento tangível legível por máquina que inclui instruções legíveis por máquina que, quando executadas, fazem uma máquina pelo menos segmentar os pixels em um primeiro quadro de uma sequência de vídeo em uma primeira pluralidade de blocos de pixel. As instruções do exemplo 12, quando executadas, também fazem a máquina pelo menos processar a primeira pluralidade de blocos de pixel e uma segunda pluralidade de blocos de pixel correspondentes a um segundo quadro anterior da sequência de vídeo para criar, com base em um primeiro critério, um mapa que identifica um ou mais blocos estáticos de pixel na primeira pluralidade de blocos de pixel. As instruções do exemplo 12, quando executadas, fazem, ainda, a máquina pelo menos identificar, com base no mapa, uma região estática no primeiro quadro da sequência de vídeo.[0104] Example 12 is at least one machine-readable tangible storage medium that includes machine-readable instructions that, when executed, cause a machine to at least segment the pixels in a first frame of a video sequence into a first plurality of pixel blocks. The instructions of example 12, when executed, also cause the machine to at least process the first plurality of pixel blocks and a second plurality of pixel blocks corresponding to a previous second frame of the video sequence to create, based on a first criterion , a map that identifies one or more static pixel blocks in the first plurality of pixel blocks. The instructions in example 12, when executed, also cause the machine to at least identify, based on the map, a static region in the first frame of the video sequence.

[0105] O exemplo 13 inclui a matéria do exemplo 12, em que as instruções legíveis por máquina, quando executadas, fazem, ainda, a máquina avaliar a primeira pluralidade de blocos de pixel e a segunda pluralidade de blocos de pixel com base no primeiro critério para determinar um primeiro resultado de identificação de bloco estático, avaliar a primeira pluralidade de blocos de pixel e a segunda pluralidade de blocos de pixel com base em um segundo critério para determinar um segundo resultado de identificação de bloco estático e combinar o primeiro e o segundo resultados de identificação de bloco estático para criar o mapa que identifica os um ou mais blocos estáticos de pixel na primeira pluralidade de blocos de pixel.[0105] Example 13 includes the subject matter of example 12, wherein the machine-readable instructions, when executed, further cause the machine to evaluate the first plurality of pixel blocks and the second plurality of pixel blocks based on the first criterion for determining a first static block identification result, evaluating the first plurality of pixel blocks and the second plurality of pixel blocks based on a second criterion for determining a second static block identification result, and combining the first and the second static block identification results to create the map that identifies the one or more static pixel blocks in the first plurality of pixel blocks.

[0106] O exemplo 14 inclui a matéria do exemplo 12, em que o primeiro critério inclui um critério de soma de diferenças absolutas, e as instruções legíveis por máquina, quando executadas, fazem, ainda, a máquina computar uma soma de diferenças absolutas entre pixels em um primeiro bloco de pixel da primeira pluralidade de blocos de pixel e pixels correspondentes em um segundo bloco de pixel correspondente da segunda pluralidade de blocos de pixel e determinar se o primeiro bloco de pixel é um bloco estático comparando-se a soma de diferenças absolutas a um limite.[0106] Example 14 includes the subject matter of example 12, in which the first criterion includes a sum of absolute differences criterion, and the machine-readable instructions, when executed, further cause the machine to compute a sum of absolute differences between pixels in a first pixel block of the first plurality of pixel blocks and corresponding pixels in a second corresponding pixel block of the second plurality of pixel blocks and determining whether the first pixel block is a static block by comparing the sum of differences absolute to a limit.

[0107] O exemplo 15 inclui a matéria do exemplo 12, em que o primeiro critério inclui um critério de contagem de borda, e as instruções legíveis por máquina, quando executadas, fazem, ainda, a máquina determinar um mapa de borda que identifica as bordas no primeiro quadro da sequência de vídeo, contar um número de pixels em um primeiro bloco de pixel da primeira pluralidade de blocos de pixel associados às bordas identificadas no mapa de borda e determinar se o primeiro bloco de pixel é um bloco estático comparando-se o número a um limite.[0107] Example 15 includes the subject matter of example 12, wherein the first criterion includes an edge count criterion, and the machine-readable instructions, when executed, further cause the machine to determine an edge map that identifies the edges in the first frame of the video sequence, count a number of pixels in a first pixel block of the first plurality of pixel blocks associated with the edges identified in the edge map, and determine whether the first pixel block is a static block by comparing the number to a limit.

[0108] O exemplo 16 inclui a matéria do exemplo 12, em que o primeiro critério inclui um critério de correspondência de borda, e as instruções legíveis por máquina, quando executadas, fazem, ainda, a máquina determinar um primeiro mapa de borda que identifica bordas no primeiro quadro da sequência de vídeo, identificar os primeiros pixels de borda em um primeiro bloco de pixel da primeira pluralidade de blocos de pixel, em que os primeiros pixels de borda estão associados às bordas identificadas no primeiro mapa de borda, determinar um número de primeiros pixels de borda que não têm correspondência de borda com os respectivos segundos pixels de borda em um segundo bloco de pixel correspondente da segunda pluralidade de blocos de pixel, em que os dois pixels de borda têm correspondência de borda quando os dois pixels de borda têm uma mesma localização de quadro e estão associados a uma mesma orientação de borda, e determinar se o primeiro bloco de pixel é um bloco estático comparando- se o número a um limite.[0108] Example 16 includes the subject matter of example 12, wherein the first criterion includes an edge matching criterion, and the machine-readable instructions, when executed, further cause the machine to determine a first edge map that identifies edges in the first frame of the video sequence, identify the first edge pixels in a first pixel block of the first plurality of pixel blocks, wherein the first edge pixels are associated with the edges identified in the first edge map, determine a number of first edge pixels that do not have edge correspondence with respective second edge pixels in a corresponding second pixel block of the second plurality of pixel blocks, wherein the two edge pixels have edge correspondence when the two edge pixels have the same frame location and are associated with the same edge orientation, and determine whether the first pixel block is a static block by comparing the number to a threshold.

[0109] O exemplo 17 inclui a matéria do exemplo 12, em que o primeiro quadro tem múltiplos componentes de vídeo, a primeira pluralidade de blocos de pixel está associada a um primeiro plano de componente de vídeo, o mapa é um primeiro mapa, e as instruções legíveis por máquina, quando executadas, fazem, ainda, a máquina segmentar os pixels no primeiro quadro da sequência de vídeo em uma terceira pluralidade de blocos de pixel associada a um segundo plano de componente de vídeo diferente do primeiro plano de componente de vídeo, processar a terceira pluralidade de blocos de pixel e uma quarta pluralidade de blocos de pixel correspondentes ao segundo plano de componente de vídeo do segundo quadro anterior da sequência de vídeo para criar, com base no primeiro critério, um segundo mapa que identifica um ou mais blocos estáticos de pixel na terceira pluralidade de blocos de pixel, e identificar, com base no primeiro e no segundo mapas, a região estática no primeiro quadro da sequência de vídeo.[0109] Example 17 includes the subject matter of example 12, wherein the first frame has multiple video components, the first plurality of pixel blocks is associated with a video component foreground, the map is a first map, and the machine-readable instructions, when executed, further cause the machine to segment the pixels in the first frame of the video sequence into a third plurality of pixel blocks associated with a component video background different from the component video foreground , processing the third plurality of pixel blocks and a fourth plurality of pixel blocks corresponding to the video component background of the previous second frame of the video sequence to create, based on the first criteria, a second map that identifies one or more static pixel blocks in the third plurality of pixel blocks, and identifying, based on the first and second maps, the static region in the first frame of the video sequence.

[0110] O exemplo 18 inclui a matéria do exemplo 17, em que as instruções legíveis por máquina, quando executadas, fazem, ainda, a máquina combinar o primeiro mapa e o segundo mapa para determinar um mapa geral que identifica um ou mais blocos estáticos de pixel no primeiro quadro da sequência de vídeo.[0110] Example 18 includes the subject matter of example 17, wherein the machine-readable instructions, when executed, further cause the machine to combine the first map and the second map to determine an overall map that identifies one or more static blocks of pixel in the first frame of the video sequence.

[0111] O exemplo 19 inclui a matéria do exemplo 12, em que o mapa é um primeiro mapa, e as instruções legíveis por máquina, quando executadas, fazem, ainda, a máquina segmentar os pixels no primeiro quadro da sequência de vídeo em uma terceira pluralidade de blocos de pixel, em que aqueles da terceira pluralidade de blocos de pixel se sobrepõem parcialmente àqueles da primeira pluralidade de blocos, processar a terceira pluralidade de blocos de pixel e uma quarta pluralidade de blocos de pixel correspondentes ao segundo quadro anterior da sequência de vídeo para criar, com base no primeiro critério, um segundo mapa que identifica um ou mais blocos estáticos de pixel na terceira pluralidade de blocos de pixel, em que aqueles da quarta pluralidade de blocos de pixel se sobrepõem parcialmente àqueles da segunda pluralidade de blocos, e identificar, com base no primeiro e no segundo mapas, a região estática no primeiro quadro da sequência de vídeo.[0111] Example 19 includes the subject matter of example 12, wherein the map is a first map, and the machine-readable instructions, when executed, further cause the machine to segment the pixels in the first frame of the video sequence into a third plurality of pixel blocks, wherein those of the third plurality of pixel blocks partially overlap those of the first plurality of blocks, processing the third plurality of pixel blocks and a fourth plurality of pixel blocks corresponding to the previous second frame of the sequence of video to create, based on the first criterion, a second map that identifies one or more static pixel blocks in the third plurality of pixel blocks, wherein those in the fourth plurality of pixel blocks partially overlap with those in the second plurality of blocks , and identify, based on the first and second maps, the static region in the first frame of the video sequence.

[0112] O exemplo 20 inclui a matéria do exemplo 19, em que as instruções legíveis por máquina, quando executadas, fazem, ainda, a máquina combinar o primeiro mapa e o segundo mapa para determinar um mapa geral que identifica um ou mais sub-blocos estáticos de pixel no primeiro quadro da sequência de vídeo, em que um primeiro sub-bloco no primeiro quadro está incluído em um primeiro bloco da primeira pluralidade de blocos de pixel e um primeiro bloco da terceira pluralidade de blocos, em que o mapa geral tem melhor resolução do que o primeiro e o segundo blocos, e identificar a região estática no primeiro quadro da sequência de vídeo com base no mapa geral.[0112] Example 20 includes the subject matter of example 19, wherein the machine-readable instructions, when executed, further cause the machine to combine the first map and the second map to determine an overall map that identifies one or more sub-maps. static pixel blocks in the first frame of the video sequence, wherein a first sub-block in the first frame is included in a first block of the first plurality of pixel blocks and a first block of the third plurality of blocks, wherein the general map has better resolution than the first and second blocks, and identify the static region in the first frame of the video sequence based on the overall map.

[0113] O exemplo 21 inclui a matéria do exemplo 12, em que o mapa é um primeiro mapa, e as instruções legíveis por máquina, quando executadas, fazem ainda, a máquina ajustar o primeiro critério com base em pelo menos um dentre (1) uma correlação determinada entre o primeiro e o segundo quadros da sequência de vídeo ou (2) avaliação de um segundo mapa anterior que identifica um ou mais blocos estáticos de pixel na segunda pluralidade de blocos de pixel correspondente ao segundo quadro anterior da sequência de vídeo.[0113] Example 21 includes the subject matter of example 12, wherein the map is a first map, and the machine-readable instructions, when executed, further cause the machine to adjust the first criterion based on at least one of (1 ) a determined correlation between the first and second frames of the video sequence or (2) evaluation of a second prior map that identifies one or more static pixel blocks in the second plurality of pixel blocks corresponding to the second prior frame of the video sequence .

[0114] O exemplo 22 inclui a matéria de exemplo de qualquer um dos exemplos 12 a 16, em que o mapa é um primeiro mapa, e as instruções legíveis por máquina, quando executadas, fazem ainda, a máquina ajustar o primeiro critério com base em pelo menos um dentre (1) uma correlação determinada entre o primeiro e o segundo quadros da sequência de vídeo ou (2) avaliação de um segundo mapa anterior que identifica um ou mais blocos estáticos de pixel na segunda pluralidade de blocos de pixel correspondente ao segundo quadro anterior da sequência de vídeo.[0114] Example 22 includes the example subject matter of any of examples 12 to 16, wherein the map is a first map, and the machine-readable instructions, when executed, further cause the machine to adjust the first criterion based on in at least one of (1) a determined correlation between the first and second frames of the video sequence or (2) evaluation of a second prior map that identifies one or more static pixel blocks in the second plurality of pixel blocks corresponding to the previous second frame of the video sequence.

[0115] O exemplo 23 é pelo menos um meio de armazenamento tangível legível por máquina que inclui instruções legíveis por máquina que, quando executadas, fazem uma máquina realizar um método, conforme definido em qualquer um dos exemplos 1 a 11.[0115] Example 23 is at least one machine-readable tangible storage medium that includes machine-readable instructions that, when executed, cause a machine to perform a method, as defined in any of examples 1 to 11.

[0116] O exemplo 24 é um aparelho de processamento de vídeo que inclui um segmentador para segmentar pixels em um primeiro quadro de uma sequência de vídeo em uma primeira pluralidade de blocos de pixel. O aparelho do exemplo 24 também inclui um avaliador para avaliar a primeira pluralidade de blocos de pixel e uma segunda pluralidade de blocos de pixel correspondentes a um segundo quadro da sequência de vídeo anterior ao primeiro quadro com base em um primeiro critério para determinar um ou mais blocos estáticos de pixel na primeira pluralidade de blocos de pixel. O aparelho do exemplo 24 inclui, ainda, um criador de mapa para criar um mapa que identifica o um ou mais blocos estáticos de pixel determinados pelo avaliador como estando na primeira pluralidade de blocos de pixel. O aparelho do exemplo 24 inclui, adicionalmente, um identificador para identificar, com base no mapa, uma região estática no primeiro quadro da sequência de vídeo.[0116] Example 24 is a video processing apparatus that includes a segmenter for segmenting pixels in a first frame of a video sequence into a first plurality of pixel blocks. The apparatus of example 24 also includes an evaluator for evaluating the first plurality of pixel blocks and a second plurality of pixel blocks corresponding to a second frame of the video sequence preceding the first frame based on a first criterion for determining one or more static pixel blocks in the first plurality of pixel blocks. The apparatus of example 24 further includes a map creator for creating a map that identifies the one or more static pixel blocks determined by the evaluator to be in the first plurality of pixel blocks. The apparatus of example 24 further includes an identifier for identifying, based on the map, a static region in the first frame of the video sequence.

[0117] O exemplo 25 inclui a matéria do exemplo 24 em que o avaliador é para avaliar a primeira pluralidade de blocos de pixel e a segunda pluralidade de blocos de pixel com base no primeiro critério para determinar um primeiro resultado de identificação de bloco estático, e avaliar a primeira pluralidade de blocos de pixel e a segunda pluralidade de blocos de pixel com base em um segundo critério para determinar um segundo resultado de identificação de bloco estático. No exemplo 25, o criador de mapa é para combinar o primeiro e o segundo resultados de identificação de bloco estático para criar o mapa que identifica o um ou mais blocos estáticos de pixel na primeira pluralidade de blocos de pixel.[0117] Example 25 includes the subject matter of example 24 wherein the evaluator is to evaluate the first plurality of pixel blocks and the second plurality of pixel blocks based on the first criterion to determine a first static block identification result, and evaluating the first plurality of pixel blocks and the second plurality of pixel blocks based on a second criterion to determine a second static block identification result. In example 25, the map creator is to combine the first and second static block identification results to create the map that identifies the one or more static pixel blocks in the first plurality of pixel blocks.

[0118] O exemplo 26 inclui a matéria do exemplo 24, em que o primeiro critério inclui um critério de soma de diferenças absolutas, e o avaliador é para computar uma soma de diferenças absolutas entre pixels em um primeiro bloco de pixel da primeira pluralidade de blocos de pixel e pixels correspondentes em um segundo bloco de pixel correspondente da segunda pluralidade de blocos de pixel e determinar se o primeiro bloco de pixel é um bloco estático comparando-se a soma de diferenças absolutas a um limite.[0118] Example 26 includes the subject matter of example 24, wherein the first criterion includes a sum of absolute differences criterion, and the evaluator is to compute a sum of absolute differences between pixels in a first pixel block of the first plurality of pixel blocks and corresponding pixels into a second corresponding pixel block of the second plurality of pixel blocks and determining whether the first pixel block is a static block by comparing the sum of absolute differences to a threshold.

[0119] O exemplo 27 inclui a matéria do exemplo 24, em que o primeiro critério inclui um critério de contagem de borda, e o avaliador é para determinar um mapa de borda que identifica as bordas no primeiro quadro da sequência de vídeo, contar um número de pixels em um primeiro bloco de pixel da primeira pluralidade de blocos de pixel associados às bordas identificadas no mapa de borda e determinar se o primeiro bloco de pixel é um bloco estático comparando-se o número a um limite.[0119] Example 27 includes the subject matter of example 24, wherein the first criterion includes an edge count criterion, and the evaluator is to determine an edge map that identifies the edges in the first frame of the video sequence, count a number of pixels in a first pixel block of the first plurality of pixel blocks associated with the edges identified in the edge map and determining whether the first pixel block is a static block by comparing the number to a threshold.

[0120] O exemplo 28 inclui a matéria do exemplo 24, em que o primeiro critério inclui um critério de correspondência de borda, e o avaliador é para determinar um primeiro mapa de borda que identifica bordas no primeiro quadro da sequência de vídeo, identificar os primeiros pixels de borda em um primeiro bloco de pixel da primeira pluralidade de blocos de pixel, em que os primeiros pixels de borda estão associados às bordas identificadas no primeiro mapa de borda, determinar um número de primeiros pixels de borda que não têm correspondência de borda com os respectivos segundos pixels de borda em um segundo bloco de pixel correspondente da segunda pluralidade de blocos de pixel, em que dois pixels de borda têm correspondência de borda quando os dois pixels de borda têm uma mesma localização de quadro e estão associados a uma mesma orientação de borda e determinar se o primeiro bloco de pixel é um bloco estático comparando-se o número a um limite.[0120] Example 28 includes the subject matter of example 24, wherein the first criterion includes an edge matching criterion, and the evaluator is to determine a first edge map that identifies edges in the first frame of the video sequence, identify the first edge pixels in a first pixel block of the first plurality of pixel blocks, wherein the first edge pixels are associated with the edges identified in the first edge map, determine a number of first edge pixels that have no edge correspondence with respective second edge pixels in a corresponding second pixel block of the second plurality of pixel blocks, wherein two edge pixels have edge correspondence when the two edge pixels have the same frame location and are associated with the same edge orientation and determine whether the first pixel block is a static block by comparing the number to a threshold.

[0121] O exemplo 29 inclui a matéria do exemplo 24, em que o primeiro quadro tem múltiplos componentes de vídeo, a primeira pluralidade de blocos de pixel está associada a um primeiro plano de componente de vídeo, o mapa é um primeiro mapa, e o segmentador é, ainda, para segmentar os pixels no primeiro quadro da sequência de vídeo em uma terceira pluralidade de blocos de pixel associada a um segundo plano de componente de vídeo diferente do primeiro plano de componente de vídeo. No exemplo 29, o avaliador é, ainda, para avaliar a terceira pluralidade de blocos de pixel e uma quarta pluralidade de blocos de pixel correspondentes ao segundo plano de componente de vídeo do segundo quadro anterior da sequência de vídeo, com base no primeiro critério, para determinar um ou mais blocos estáticos de pixel na terceira pluralidade de blocos de pixel. No exemplo 29, o criador de mapa é, ainda, para criar um segundo mapa que identifica o um ou mais blocos estáticos de pixel determinados pelo avaliador como estando na terceira pluralidade de blocos de pixel. No exemplo 29, o identificador é para identificar, com base no primeiro e no segundo mapas, a região estática no primeiro quadro da sequência de vídeo.[0121] Example 29 includes the subject matter of example 24, wherein the first frame has multiple video components, the first plurality of pixel blocks is associated with a video component foreground, the map is a first map, and the segmenter is further for segmenting the pixels in the first frame of the video sequence into a third plurality of pixel blocks associated with a video component background different from the video component foreground. In example 29, the evaluator is further to evaluate the third plurality of pixel blocks and a fourth plurality of pixel blocks corresponding to the video component background of the previous second frame of the video sequence, based on the first criterion. to determine one or more static pixel blocks in the third plurality of pixel blocks. In example 29, the map creator is further to create a second map that identifies the one or more static pixel blocks determined by the evaluator to be in the third plurality of pixel blocks. In example 29, the identifier is to identify, based on the first and second maps, the static region in the first frame of the video sequence.

[0122] O exemplo 30 inclui a matéria do exemplo 29 e inclui, ainda, um combinador de mapa para combinar o primeiro mapa e o segundo mapa para determinar um mapa geral que identifica um ou mais blocos estáticos de pixel no primeiro quadro da sequência de vídeo.[0122] Example 30 includes the subject matter of example 29 and further includes a map combiner for combining the first map and the second map to determine an overall map that identifies one or more static pixel blocks in the first frame of the sequence. video.

[0123] O exemplo 31 inclui a matéria do exemplo 24, em que o mapa é um primeiro mapa, e o segmentador é, ainda, para segmentar os pixels no primeiro quadro da sequência de vídeo em uma terceira pluralidade de blocos de pixel, em que aqueles da terceira pluralidade de blocos de pixel se sobrepõem parcialmente àqueles da primeira pluralidade de blocos. No exemplo 31, o avaliador é para avaliar a terceira pluralidade de blocos de pixel e uma quarta pluralidade de blocos de pixel correspondentes ao segundo quadro anterior da sequência de vídeo, com base no primeiro critério, para determinar um ou mais blocos estáticos de pixel na terceira pluralidade de blocos de pixel, em que aqueles da quarta pluralidade de blocos de pixel se sobrepõem parcialmente àqueles da segunda pluralidade de blocos. No exemplo 31, o criador de mapa é, ainda, para criar um segundo mapa que identifica o um ou mais blocos estáticos de pixel determinados pelo avaliador como estando na terceira pluralidade de blocos de pixel. No exemplo 31, o identificador é, ainda, para identificar, com base no primeiro e no segundo mapas, a região estática no primeiro quadro da sequência de vídeo.[0123] Example 31 includes the subject matter of example 24, wherein the map is a first map, and the segmenter is further for segmenting the pixels in the first frame of the video sequence into a third plurality of pixel blocks, in that those of the third plurality of pixel blocks partially overlap those of the first plurality of blocks. In example 31, the evaluator is to evaluate the third plurality of pixel blocks and a fourth plurality of pixel blocks corresponding to the previous second frame of the video sequence, based on the first criterion, to determine one or more static pixel blocks in the third plurality of pixel blocks, wherein those of the fourth plurality of pixel blocks partially overlap those of the second plurality of blocks. In example 31, the map creator is further to create a second map that identifies the one or more static pixel blocks determined by the evaluator to be in the third plurality of pixel blocks. In example 31, the identifier is further to identify, based on the first and second maps, the static region in the first frame of the video sequence.

[0124] O exemplo 32 inclui a matéria do exemplo 31 e inclui, ainda, um combinador de mapa para combinar o primeiro mapa e o segundo mapa para determinar um mapa geral que identifica um ou mais sub-blocos estáticos de pixel no primeiro quadro da sequência de vídeo, em que um primeiro sub-bloco no primeiro quadro está incluído em um primeiro bloco da primeira pluralidade de blocos de pixel e um primeiro bloco da terceira pluralidade de blocos, em que o mapa geral tem melhor resolução do que o primeiro e o segundo blocos. No exemplo 32, o identificador é para identificar a região estática no primeiro quadro da sequência de vídeo com base no mapa geral.[0124] Example 32 includes the subject matter of example 31 and further includes a map combiner for combining the first map and the second map to determine an overall map that identifies one or more static pixel sub-blocks in the first frame of the video sequence, wherein a first sub-block in the first frame is included in a first block of the first plurality of pixel blocks and a first block of the third plurality of blocks, wherein the overall map has better resolution than the first and the second blocks. In example 32, the identifier is to identify the static region in the first frame of the video sequence based on the overall map.

[0125] O exemplo 33 inclui a matéria do exemplo 24, em que o mapa é um primeiro mapa e inclui, ainda, um ajustador de critérios para ajustar o primeiro critério com base em pelo menos um dentre (1) uma correlação determinada entre o primeiro e o segundo quadros da sequência de vídeo ou (2) avaliação de um segundo mapa anterior que identifica um ou mais blocos estáticos de pixel na segunda pluralidade de blocos de pixel correspondente ao segundo quadro anterior da sequência de vídeo.[0125] Example 33 includes the subject matter of example 24, wherein the map is a first map and further includes a criteria adjuster for adjusting the first criterion based on at least one of (1) a correlation determined between the first and second frames of the video sequence or (2) evaluating a second prior map that identifies one or more static pixel blocks in the second plurality of pixel blocks corresponding to the second prior frame of the video sequence.

[0126] O exemplo 34 inclui a matéria de qualquer um dos exemplos 24 a 28, em que o mapa é um primeiro mapa e inclui, ainda, um ajustador de critérios para ajustar o primeiro critério com base em pelo menos um dentre (1) uma correlação determinada entre o primeiro e o segundo quadros da sequência de vídeo ou (2) avaliação de um segundo mapa anterior que identifica um ou mais blocos estáticos de pixel na segunda pluralidade de blocos de pixel correspondente ao segundo quadro anterior da sequência de vídeo.[0126] Example 34 includes the subject matter of any of examples 24 to 28, wherein the map is a first map and further includes a criteria adjuster for adjusting the first criterion based on at least one of (1) a determined correlation between the first and second frames of the video sequence or (2) evaluation of a second prior map that identifies one or more static pixel blocks in the second plurality of pixel blocks corresponding to the second prior frame of the video sequence.

[0127] O exemplo 35 é um aparelho que inclui um processador configurado para realizar um método, conforme definido em qualquer um dos exemplos 1 a 11.[0127] Example 35 is an apparatus that includes a processor configured to perform a method as defined in any of examples 1 to 11.

[0128] O exemplo 36 é um sistema de processamento de vídeo que inclui meios para segmentar pixels em um primeiro quadro de uma sequência de vídeo em uma primeira pluralidade de blocos de pixel. O sistema do exemplo 36 também inclui meios para processar a primeira pluralidade de blocos de pixel e uma segunda pluralidade de blocos de pixel correspondentes a um segundo quadro anterior da sequência de vídeo para criar, com base em um primeiro critério, um mapa que identifica um ou mais blocos estáticos de pixel na primeira pluralidade de blocos de pixel. O sistema do exemplo 36 inclui, ainda, meios para identificar, com base no mapa, uma região estática no primeiro quadro da sequência de vídeo.[0128] Example 36 is a video processing system that includes means for segmenting pixels in a first frame of a video sequence into a first plurality of pixel blocks. The system of example 36 also includes means for processing the first plurality of pixel blocks and a second plurality of pixel blocks corresponding to a previous second frame of the video sequence to create, based on a first criterion, a map that identifies a or more static pixel blocks in the first plurality of pixel blocks. The system of example 36 further includes means for identifying, based on the map, a static region in the first frame of the video sequence.

[0129] O exemplo 37 inclui a matéria do exemplo 36, em que os meios de processamento incluem meios para avaliar a primeira pluralidade de blocos de pixel e a segunda pluralidade de blocos de pixel com base no primeiro critério para determinar um primeiro resultado de identificação de bloco estático, meios para avaliar a primeira pluralidade de blocos de pixel e a segunda pluralidade de blocos de pixel com base em um segundo critério para determinar um segundo resultado de identificação de bloco estático e meios para combinar o primeiro e o segundo resultados de identificação de bloco estático para criar o mapa que identifica os um ou mais blocos estáticos de pixel na primeira pluralidade de blocos de pixel.[0129] Example 37 includes the subject matter of example 36, wherein the processing means includes means for evaluating the first plurality of pixel blocks and the second plurality of pixel blocks based on the first criterion to determine a first identification result of static block, means for evaluating the first plurality of pixel blocks and the second plurality of pixel blocks based on a second criterion for determining a second static block identification result, and means for combining the first and second identification results of static block to create the map that identifies the one or more static pixel blocks in the first plurality of pixel blocks.

[0130] O exemplo 38 inclui a matéria do exemplo 36, em que o primeiro critério inclui um critério de soma de diferenças absolutas, e os meios de processamento incluem meios para computar uma soma de diferenças absolutas entre pixels em um primeiro bloco de pixel da primeira pluralidade de blocos de pixel e pixels correspondentes em um segundo bloco de pixel correspondente da segunda pluralidade de blocos de pixel, meios para determinar se o primeiro bloco de pixel é um bloco estático comparando-se a soma de diferenças absolutas a um limite.[0130] Example 38 includes the subject matter of example 36, wherein the first criterion includes a sum of absolute differences criterion, and the processing means includes means for computing a sum of absolute differences between pixels in a first pixel block of the first plurality of pixel blocks and corresponding pixels in a second corresponding pixel block of the second plurality of pixel blocks, means for determining whether the first pixel block is a static block by comparing the sum of absolute differences to a threshold.

[0131] O exemplo 39 inclui a matéria do exemplo 36, em que o primeiro critério inclui um critério de contagem de borda, e os meios de processamento incluem meios para determinar um mapa de borda que identifica as bordas no primeiro quadro da sequência de vídeo, meios para contar um número de pixels em um primeiro bloco de pixel da primeira pluralidade de blocos de pixel associados às bordas identificadas no mapa de borda e meios para determinar se o primeiro bloco de pixel é um bloco estático comparando-se o número a um limite.[0131] Example 39 includes the subject matter of example 36, wherein the first criterion includes an edge count criterion, and the processing means includes means for determining an edge map that identifies the edges in the first frame of the video sequence , means for counting a number of pixels in a first pixel block of the first plurality of pixel blocks associated with the edges identified in the edge map, and means for determining whether the first pixel block is a static block by comparing the number to a limit.

[0132] O exemplo 40 inclui a matéria do exemplo 36, em que o primeiro critério inclui um critério de correspondência de borda, e os meios de processamento incluem meios para determinar um primeiro mapa de borda que identifica bordas no primeiro quadro da sequência de vídeo, meios para identificar os primeiros pixels de borda em um primeiro bloco de pixel da primeira pluralidade de blocos de pixel, em que os primeiros pixels de borda estão associados às bordas identificadas no primeiro mapa de borda, meios para determinar um número de primeiros pixels de borda que não têm correspondência de borda com os respectivos segundos pixels de borda em um segundo bloco de pixel correspondente da segunda pluralidade de blocos de pixel, em que dois pixels de borda têm correspondência de borda quando os dois pixels de borda têm uma mesma localização de quadro e estão associados a uma mesma orientação de borda e meios para determinar se o primeiro bloco de pixel é um bloco estático comparando- se o número a um limite.[0132] Example 40 includes the subject matter of example 36, wherein the first criterion includes an edge matching criterion, and the processing means includes means for determining a first edge map that identifies edges in the first frame of the video sequence. , means for identifying the first edge pixels in a first pixel block of the first plurality of pixel blocks, wherein the first edge pixels are associated with the edges identified in the first edge map, means for determining a number of first edge pixels of edge that do not have edge correspondence with the respective second edge pixels in a corresponding second pixel block of the second plurality of pixel blocks, wherein two edge pixels have edge correspondence when the two edge pixels have a same edge location. frame and are associated with the same edge orientation and means for determining whether the first pixel block is a static block by comparing the number to a threshold.

[0133] O exemplo 41 inclui a matéria do exemplo 36, em que o primeiro quadro tem múltiplos componentes de vídeo, a primeira pluralidade de blocos de pixel está associada a um primeiro plano de componente de vídeo, o mapa é um primeiro mapa e inclui, ainda, meios para segmentar os pixels no primeiro quadro da sequência de vídeo em uma terceira pluralidade de blocos de pixel associada a um segundo plano de componente de vídeo diferente do primeiro plano de componente de vídeo. O exemplo 41 também inclui meios para processar a terceira pluralidade de blocos de pixel e uma quarta pluralidade de blocos de pixel correspondentes ao segundo plano de componente de vídeo do segundo quadro anterior da sequência de vídeo para criar, com base no primeiro critério, um segundo mapa que identifica um ou mais blocos estáticos de pixel na terceira pluralidade de blocos de pixel. O exemplo 41 inclui, adicionalmente, meios para identificar, com base no primeiro e no segundo mapas, a região estática no primeiro quadro da sequência de vídeo.[0133] Example 41 includes the subject matter of example 36, wherein the first frame has multiple video components, the first plurality of pixel blocks is associated with a video component foreground, the map is a first map and includes , further, means for segmenting the pixels in the first frame of the video sequence into a third plurality of pixel blocks associated with a video component background different from the video component foreground. Example 41 also includes means for processing the third plurality of pixel blocks and a fourth plurality of pixel blocks corresponding to the second video component plane of the second preceding frame of the video sequence to create, based on the first criterion, a second map that identifies one or more static pixel blocks in the third plurality of pixel blocks. Example 41 further includes means for identifying, based on the first and second maps, the static region in the first frame of the video sequence.

[0134] O exemplo 42 inclui a matéria do exemplo 41, em que os meios para identificar, com base no primeiro e no segundo mapas, a região estática no primeiro quadro da sequência de vídeo incluem meios para combinar o primeiro mapa e o segundo mapa para determinar um mapa geral que identifica um ou mais blocos estáticos de pixel no primeiro quadro da sequência de vídeo.[0134] Example 42 includes the subject matter of example 41, wherein the means for identifying, based on the first and second maps, the static region in the first frame of the video sequence includes means for combining the first map and the second map to determine a general map that identifies one or more static pixel blocks in the first frame of the video sequence.

[0135] O exemplo 43 inclui a matéria do exemplo 36, em que o mapa é um primeiro mapa, e inclui, ainda, meios para segmentar os pixels no primeiro quadro da sequência de vídeo em uma terceira pluralidade de blocos de pixel, em que aqueles da terceira pluralidade de blocos de pixel se sobrepõem parcialmente àqueles da primeira pluralidade de blocos. O exemplo 43 também inclui meios para processar a terceira pluralidade de blocos de pixel e uma quarta pluralidade de blocos de pixel correspondentes ao segundo quadro anterior da sequência de vídeo para criar, com base no primeiro critério, um segundo mapa que identifica um ou mais blocos estáticos de pixel na terceira pluralidade de blocos de pixel, em que aqueles da quarta pluralidade de blocos de pixel se sobrepõem parcialmente àqueles da segunda pluralidade de blocos. O exemplo 43 inclui, adicionalmente, meios para identificar, com base no primeiro e no segundo mapas, a região estática no primeiro quadro da sequência de vídeo.[0135] Example 43 includes the subject matter of example 36, wherein the map is a first map, and further includes means for segmenting the pixels in the first frame of the video sequence into a third plurality of pixel blocks, wherein those of the third plurality of pixel blocks partially overlap those of the first plurality of blocks. Example 43 also includes means for processing the third plurality of pixel blocks and a fourth plurality of pixel blocks corresponding to the previous second frame of the video sequence to create, based on the first criterion, a second map that identifies one or more blocks. pixel statics in the third plurality of pixel blocks, wherein those of the fourth plurality of pixel blocks partially overlap those of the second plurality of blocks. Example 43 further includes means for identifying, based on the first and second maps, the static region in the first frame of the video sequence.

[0136] O exemplo 44 inclui a matéria do exemplo 43, em que os meios para identificar, com base no primeiro e no segundo mapas, a região estática no primeiro quadro da sequência de vídeo incluem meios para combinar o primeiro mapa e o segundo mapa para determinar um mapa geral que identifica um ou mais sub-blocos estáticos de pixel no primeiro quadro da sequência de vídeo, em que um primeiro sub-bloco no primeiro quadro está incluído em um primeiro bloco da primeira pluralidade de blocos de pixel e um primeiro bloco da terceira pluralidade de blocos, em que o mapa geral tem uma resolução melhor do que o primeiro e o segundo blocos. O exemplo 44 também inclui meios para identificar a região estática no primeiro quadro da sequência de vídeo com base no mapa geral.[0136] Example 44 includes the subject matter of example 43, wherein the means for identifying, based on the first and second maps, the static region in the first frame of the video sequence includes means for combining the first map and the second map to determine a general map that identifies one or more static pixel subblocks in the first frame of the video sequence, wherein a first subblock in the first frame is included in a first block of the first plurality of pixel blocks and a first block of the third plurality of blocks, where the overall map has a better resolution than the first and second blocks. Example 44 also includes means for identifying the static region in the first frame of the video sequence based on the overview map.

[0137] O exemplo 45 inclui a matéria do exemplo 36, em que o mapa é um primeiro mapa e inclui, ainda, meios para ajustar o primeiro critério com base em pelo menos um dentre (1) uma correlação determinada entre o primeiro e o segundo quadros da sequência de vídeo ou (2) avaliação de um segundo mapa anterior que identifica um ou mais blocos estáticos de pixel na segunda pluralidade de blocos de pixel correspondente ao segundo quadro anterior da sequência de vídeo.[0137] Example 45 includes the subject matter of example 36, wherein the map is a first map and further includes means for adjusting the first criterion based on at least one of (1) a correlation determined between the first and the second frames of the video sequence or (2) evaluating a second prior map that identifies one or more static pixel blocks in the second plurality of pixel blocks corresponding to the second prior frame of the video sequence.

[0138] O exemplo 46 é um sistema, conforme definido em qualquer uma das reivindicações 1 a 40, em que o mapa é um primeiro mapa e inclui, ainda, meios para ajustar o primeiro critério com base em pelo menos um dentre (36) uma correlação determinada entre o primeiro e o segundo quadros da sequência de vídeo ou (2) avaliação de um segundo mapa anterior que identifica um ou mais blocos estáticos de pixel na segunda pluralidade de blocos de pixel correspondente ao segundo quadro anterior da sequência de vídeo.[0138] Example 46 is a system as defined in any one of claims 1 to 40, wherein the map is a first map and further includes means for adjusting the first criterion based on at least one of (36) a determined correlation between the first and second frames of the video sequence or (2) evaluation of a second prior map that identifies one or more static pixel blocks in the second plurality of pixel blocks corresponding to the second prior frame of the video sequence.

[0139] O exemplo 47 é um sistema que inclui meios para realizar um método, conforme definido em qualquer um dos exemplos 1 a 11.[0139] Example 47 is a system that includes means for carrying out a method as defined in any of examples 1 to 11.

[0140] Embora certos métodos, aparelhos e artigos de manufatura de exemplo tenham sido revelados no presente documento, o escopo de cobertura desta parente não está limitado aos mesmos. Pelo contrário, está patente abrange todos os métodos, aparelhos e artigos de manufatura que se encontrem razoavelmente dentro do escopo das reivindicações desta patente.[0140] Although certain exemplary methods, apparatus and articles of manufacture have been disclosed herein, the scope of coverage of this parent is not limited thereto. Rather, this patent covers all methods, apparatus and articles of manufacture that are reasonably within the scope of the claims of this patent.

Claims (10)

1. Método de processamento de vídeo caracterizado por compreender: segmentar pixels em um primeiro quadro de uma sequência de vídeo em uma primeira pluralidade de blocos de pixels; segmentar pixels em um segundo quadro anterior da sequência de vídeo em uma segunda pluralidade de blocos de pixels; comparar (605) os pixels em cada bloco de pixels do primeiro quadro de vídeo e um bloco de pixels correspondente do segundo quadro de vídeo contra um critério de soma de diferenças absolutas para determinar uma primeira indicação sobre se um bloco de pixels é um bloco estático, onde os blocos de pixels do primeiro quadro de vídeo e os blocos de pixels correspondentes do segundo quadro de vídeo estão localizados na mesma localização de quadro e a soma de diferenças absolutas é comparada a um limiar; determinação de um mapa de borda (610) que identifica bordas no primeiro quadro da sequência de vídeo; contar um número de pixels de borda (615) em cada bloco de pixels da primeira pluralidade de blocos de pixels associados às bordas identificadas no mapa de borda; comparar (615) o número contado de pixels de borda para cada bloco de pixels na primeira pluralidade de blocos de pixels a um limiar para gerar uma segunda indicação sobre se um bloco de pixels é um bloco estático para cada bloco de pixels em resposta ao número contado de pixels de borda ser maior ou igual ao limiar; determinar (620) um número de pixels de borda em cada bloco de pixels do primeiro quadro de vídeo não tendo correspondência de borda com os respectivos pixels de borda em blocos correspondentes do segundo quadro de vídeo, em que dois pixels de borda têm correspondência de borda quando os pixels de borda têm uma localização de quadro semelhante e estão associados a uma mesma orientação de borda e comparar o número a um limiar para determinar uma terceira indicação de bloco estático; determinar um mapa que identifica um ou mais blocos de pixels estáticos na primeira pluralidade de blocos de pixels ao combinar (625) os resultados das primeira, segunda e terceira indicações; e identificar, com base no mapa, uma região estática no primeiro quadro da sequência de vídeo.1. A video processing method comprising: segmenting pixels in a first frame of a video sequence into a first plurality of pixel blocks; segmenting pixels in a previous second frame of the video sequence into a second plurality of pixel blocks; compare (605) the pixels in each pixel block of the first video frame and a corresponding pixel block of the second video frame against a sum of absolute differences criterion to determine a first indication of whether a pixel block is a static block , where the pixel blocks of the first video frame and the corresponding pixel blocks of the second video frame are located at the same frame location and the sum of absolute differences is compared to a threshold; determining an edge map (610) that identifies edges in the first frame of the video sequence; counting a number of edge pixels (615) in each pixel block of the first plurality of pixel blocks associated with the edges identified in the edge map; compare (615) the counted number of edge pixels for each pixel block in the first plurality of pixel blocks to a threshold to generate a second indication as to whether a pixel block is a static block for each pixel block in response to the number count of edge pixels is greater than or equal to the threshold; determine (620) a number of edge pixels in each pixel block of the first video frame not having edge correspondence with respective edge pixels in corresponding blocks of the second video frame, wherein two edge pixels have edge correspondence when the edge pixels have a similar frame location and are associated with the same edge orientation and comparing the number to a threshold to determine a third static block indication; determining a map that identifies one or more static pixel blocks in the first plurality of pixel blocks by combining (625) the results of the first, second and third indications; and identifying, based on the map, a static region in the first frame of the video sequence. 2. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que o primeiro quadro apresenta múltiplos componentes de vídeo, a primeira pluralidade de blocos de pixels está associada a um primeiro plano componente de vídeo, o mapa é um primeiro mapa, e compreende adicionalmente: segmentar os pixels no primeiro quadro da sequência de vídeo em uma terceira pluralidade de blocos de pixels associados a um segundo plano de componente de vídeo diferente do primeiro plano de componente de vídeo; processar a terceira pluralidade de blocos de pixels e uma quarta pluralidade de blocos de pixels correspondentes ao segundo plano de componente de vídeo do segundo quadro anterior da sequência de vídeo para criar um segundo mapa identificando um ou mais blocos de pixels estáticos na terceira pluralidade de blocos de pixels; e identificar, com base nos primeiro e segundo mapas, a região estática no primeiro quadro da sequência de vídeo.2. Method according to claim 1, characterized by the fact that the first frame presents multiple video components, the first plurality of pixel blocks is associated with a first video component, the map is a first map, and further comprises: segmenting the pixels in the first frame of the video sequence into a third plurality of pixel blocks associated with a second video component plane different from the first component video plane; process the third plurality of pixel blocks and a fourth plurality of pixel blocks corresponding to the video component background of the previous second frame of the video sequence to create a second map identifying one or more static pixel blocks in the third plurality of blocks of pixels; and identifying, based on the first and second maps, the static region in the first frame of the video sequence. 3. Método, de acordo com a reivindicação 2, caracterizado pelo fato de que identificar, com base nos primeiro e segundo mapas, a região estática no primeiro quadro da sequência de vídeo compreende a combinar o primeiro mapa e o segundo mapa para determinar um mapa geral que identifica um ou mais blocos de pixels estáticos no primeiro quadro da sequência de vídeo.3. Method according to claim 2, characterized by the fact that identifying, based on the first and second maps, the static region in the first frame of the video sequence comprises combining the first map and the second map to determine a map general that identifies one or more blocks of static pixels in the first frame of the video sequence. 4. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que o mapa é um primeiro mapa, e compreende adicionalmente: segmentar os pixels no primeiro quadro da sequência de vídeo em uma terceira pluralidade de blocos de pixels, aqueles da terceira pluralidade de blocos de pixels parcialmente sobrepostos àqueles da primeira pluralidade de blocos; processar a terceira pluralidade de blocos de pixels e uma quarta pluralidade de blocos de pixels correspondentes ao segundo quadro anterior da sequência de vídeo para criar um segundo mapa que identifica um ou mais blocos de pixels estáticos na terceira pluralidade de blocos de pixels, os da quarta pluralidade de blocos de pixels parcialmente sobrepostos àqueles da segunda pluralidade de blocos; e identificar, com base nos primeiro e segundo mapas, a região estática no primeiro quadro da sequência de vídeo.4. Method according to claim 1, characterized by the fact that the map is a first map, and further comprises: segmenting the pixels in the first frame of the video sequence into a third plurality of pixel blocks, those of the third plurality of blocks of pixels partially overlapping those of the first plurality of blocks; process the third plurality of pixel blocks and a fourth plurality of pixel blocks corresponding to the previous second frame of the video sequence to create a second map that identifies one or more static pixel blocks in the third plurality of pixel blocks, those of the fourth plurality of blocks of pixels partially overlapping those of the second plurality of blocks; and identifying, based on the first and second maps, the static region in the first frame of the video sequence. 5. Método, de acordo com a reivindicação 4, caracterizado pelo fato de que no qual identificar, com base nos primeiro e segundo mapas, a região estática no primeiro quadro da sequência de vídeo compreende: combinar o primeiro mapa e o segundo mapa para determinar um mapa geral que identifica um ou mais sub-blocos de pixels estáticos no primeiro quadro da sequência de vídeo, um primeiro sub-bloco no primeiro quadro sendo incluído em um primeiro da primeira pluralidade de blocos de pixels e um primeiro da terceira pluralidade de blocos, o mapa geral tendo resolução melhor do que o primeiro e segundo blocos; e identificar a região estática no primeiro quadro da sequência de vídeo com base no mapa geral.5. Method according to claim 4, characterized by the fact that identifying, based on the first and second maps, the static region in the first frame of the video sequence comprises: combining the first map and the second map to determine a general map that identifies one or more sub-blocks of static pixels in the first frame of the video sequence, a first sub-block in the first frame being included in a first of the first plurality of pixel blocks and a first of the third plurality of blocks , the overall map having better resolution than the first and second blocks; and identify the static region in the first frame of the video sequence based on the overall map. 6. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que o mapa é um primeiro mapa, e compreende adicionalmente ajuste do limiar para a comparação (615) do número contado de pixels de borda para cada bloco de pixels na primeira pluralidade de blocos de pixels com base em pelo menos um dentre: i) uma correlação determinada entre os primeiro e segundo quadros da sequência de vídeo, ou ii) avaliação de um segundo mapa anterior identificando um ou mais blocos de pixels estáticos na segunda pluralidade de blocos de pixels correspondentes ao segundo quadro anterior da sequência de vídeo.6. The method of claim 1, wherein the map is a first map, and further comprises adjusting the threshold for comparing (615) the counted number of edge pixels for each block of pixels in the first plurality. of blocks of pixels based on at least one of: i) a correlation determined between the first and second frames of the video sequence, or ii) evaluation of a second prior map identifying one or more blocks of static pixels in the second plurality of blocks of pixels corresponding to the previous second frame of the video sequence. 7. Mídia de armazenamento tangível legível por máquina, pelo menos uma, caracterizada por compreender instruções legíveis por máquina que, quando executadas, fazem com que uma máquina execute o método conforme definido na reivindicação 1.7. Machine-readable tangible storage media, at least one, characterized by comprising machine-readable instructions that, when executed, cause a machine to execute the method as defined in claim 1. 8. Aparelho caracterizado por compreender um processador configurado para executar o método conforme definido na reivindicação 1.8. Apparatus characterized by comprising a processor configured to execute the method as defined in claim 1. 9. Sistema de processamento de vídeo caracterizado por compreender: meios para segmentar pixels em um primeiro quadro de uma sequência de vídeo em uma primeira pluralidade de blocos de pixels; meios para segmentar pixels em um segundo quadro anterior da sequência de vídeo em uma segunda pluralidade de blocos de pixels; meios para comparar os pixels em cada bloco de pixels do primeiro quadro de vídeo e um bloco de pixels correspondente do segundo quadro de vídeo contra um critério de soma de diferenças absolutas para determinar uma primeira indicação sobre se um bloco de pixels é um bloco estático, onde os blocos de pixels do primeiro quadro de vídeo e os blocos de pixels correspondentes do segundo quadro de vídeo estão localizados na mesma localização de quadro e a soma de diferenças absolutas é comparada a um limiar; meios para determinação de um mapa de borda que identifica bordas no primeiro quadro da sequência de vídeo; meios para contar um número de pixels de borda em cada bloco de pixels da primeira pluralidade de blocos de pixels associados às bordas identificadas no mapa de borda; meios para comparar o número contado de pixels de borda para cada bloco de pixels na primeira pluralidade de blocos de pixels a um limiar para gerar uma segunda indicação sobre se um bloco de pixels é um bloco estático para cada bloco de pixels em resposta ao número contado de pixels de borda ser maior ou igual ao limiar; meios para determinar um número de pixels de borda em cada bloco de pixels do primeiro quadro de vídeo não tendo correspondência de borda com os respectivos pixels de borda em blocos correspondentes do segundo quadro de vídeo, em que dois pixels de borda têm correspondência de borda quando os pixels de borda têm uma localização de quadro semelhante e estão associados a uma mesma orientação de borda e comparar o número a um limiar para determinar uma terceira indicação de bloco estático; meios para determinar um mapa que identifica um ou mais blocos de pixels estáticos na primeira pluralidade de blocos de pixels ao combinar os resultados das primeira, segunda e terceira indicações; e meios para identificar, com base no mapa, uma região estática no primeiro quadro da sequência de vídeo.9. Video processing system characterized by comprising: means for segmenting pixels in a first frame of a video sequence into a first plurality of pixel blocks; means for segmenting pixels in a second preceding frame of the video sequence into a second plurality of pixel blocks; means for comparing pixels in each pixel block of the first video frame and a corresponding pixel block of the second video frame against a sum of absolute differences criterion to determine a first indication of whether a pixel block is a static block, wherein the pixel blocks of the first video frame and corresponding pixel blocks of the second video frame are located at the same frame location and the sum of absolute differences is compared to a threshold; means for determining an edge map that identifies edges in the first frame of the video sequence; means for counting a number of edge pixels in each pixel block of the first plurality of pixel blocks associated with the edges identified in the edge map; means for comparing the counted number of edge pixels for each pixel block in the first plurality of pixel blocks to a threshold for generating a second indication as to whether a pixel block is a static block for each pixel block in response to the counted number of edge pixels be greater than or equal to the threshold; means for determining a number of edge pixels in each pixel block of the first video frame having no edge correspondence with respective edge pixels in corresponding blocks of the second video frame, wherein two edge pixels have edge correspondence when the edge pixels have a similar frame location and are associated with the same edge orientation and comparing the number to a threshold to determine a third static block indication; means for determining a map that identifies one or more static pixel blocks in the first plurality of pixel blocks by combining the results of the first, second and third indications; and means for identifying, based on the map, a static region in the first frame of the video sequence. 10. Sistema de processamento de vídeo, de acordo com a reivindicação 9, caracterizado pelo fato de que o primeiro quadro apresenta múltiplos componentes de vídeo, a primeira pluralidade de blocos de pixels está associada a um primeiro plano componente de vídeo, o mapa é um primeiro mapa, e compreende adicionalmente: meios para segmentar os pixels no primeiro quadro da sequência de vídeo em uma terceira pluralidade de blocos de pixels associados a um segundo plano de componente de vídeo diferente do primeiro plano de componente de vídeo; meios para processar a terceira pluralidade de blocos de pixels e uma quarta pluralidade de blocos de pixels correspondentes ao segundo plano de componente de vídeo do segundo quadro anterior da sequência de vídeo para criar um segundo mapa identificando um ou mais blocos de pixels estáticos na terceira pluralidade de blocos de pixels; e meios para identificar, com base nos primeiro e segundo mapas, a região estática no primeiro quadro da sequência de vídeo.10. Video processing system according to claim 9, characterized by the fact that the first frame presents multiple video components, the first plurality of pixel blocks is associated with a first video component plane, the map is a first map, and further comprises: means for segmenting the pixels in the first frame of the video sequence into a third plurality of pixel blocks associated with a second video component plane different from the first component video plane; means for processing the third plurality of pixel blocks and a fourth plurality of pixel blocks corresponding to the video component background of the previous second frame of the video sequence to create a second map identifying one or more static pixel blocks in the third plurality of pixel blocks; and means for identifying, based on the first and second maps, the static region in the first frame of the video sequence.
BR112016025109-1A 2014-05-27 2015-04-28 BLOCK-BASED STATIC REGION DETECTION FOR VIDEO PROCESSING BR112016025109B1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/287,967 US9407926B2 (en) 2014-05-27 2014-05-27 Block-based static region detection for video processing
US14/287,967 2014-05-27
PCT/US2015/028025 WO2015183450A1 (en) 2014-05-27 2015-04-28 Block-based static region detection for video processing

Publications (2)

Publication Number Publication Date
BR112016025109A2 BR112016025109A2 (en) 2017-08-15
BR112016025109B1 true BR112016025109B1 (en) 2023-08-01

Family

ID=

Similar Documents

Publication Publication Date Title
US20230077355A1 (en) Tracker assisted image capture
CN106464865B (en) Block-based static region detection method, device and system for video processing
US10372970B2 (en) Automatic scene calibration method for video analytics
US8508605B2 (en) Method and apparatus for image stabilization
US10043278B2 (en) Method and apparatus for reconstructing 3D face with stereo camera
CN105404884B (en) Image analysis method
US20140362240A1 (en) Robust Image Feature Based Video Stabilization and Smoothing
KR20140141392A (en) Method and apparatus for processing the image
US10269099B2 (en) Method and apparatus for image processing
KR20160037643A (en) Method and Apparatus for Setting Candidate Area of Object for Recognizing Object
US10764563B2 (en) 3D enhanced image correction
JP6292540B2 (en) Information processing system, information processing method, and program
KR20140029689A (en) Apparatus and method for estimating motion in an image processing system
JP2016052013A (en) Image processing device, image processing method, program and recording medium
KR20130091441A (en) Object tracking device and method for controlling thereof
CN105338362B (en) Moving target detecting method and moving object detection device
KR101982258B1 (en) Method for detecting object and object detecting apparatus
Xu et al. Fast and accurate object detection using image Cropping/Resizing in multi-view 4K sports videos
US9082176B2 (en) Method and apparatus for temporally-consistent disparity estimation using detection of texture and motion
BR112016025109B1 (en) BLOCK-BASED STATIC REGION DETECTION FOR VIDEO PROCESSING
KR102282463B1 (en) Method of shortening video with event preservation and apparatus for the same
KR102556350B1 (en) Method and Apparatus for Calculating Ratio of Lesion Area
Deshmukh et al. Embedded vision system for atmospheric turbulence mitigation
KR20150057475A (en) Apparatus and method for detecting harmful video
Vatolin et al. Sharpness mismatch and 6 other stereoscopic artifacts measured on 10 Chinese S3D movies