Altifigence Academy

13 / 24 · Conceito

Buffers de linha e janelas 3×3

Para W=8,H=6, calcule as posições de armazenamento, o primeiro índice válido de entrada aceita e o total de janelas.

Mantenha próximos os dados sobrepostos

Uma operação 3×3 na ordem por linhas precisa do pixel atual e dos valores da mesma coluna nas duas linhas anteriores. Dois atrasos de linha fornecem essas linhas. Registradores de deslocamento horizontais mantêm três amostras de cada linha, formando a janela. Isso evita armazenar um quadro inteiro, mas as primeiras amostras não conseguem formar uma janela completa. Dados armazenados e saída válida são condições distintas.

Começamos com um canal, janela 3×3 sem preenchimento, passo um e dilatação um. Dois arranjos de linha de largura W mais uma janela 3×3 explícita contêm 2W+9 posições de amostras. Esse é o armazenamento do modelo didático, não um mínimo universal. Preenchimento, dilatação, passos diferentes ou vários canais exigem uma nova análise de atrasos e validade.

Sequência de chegada resolvida

Transmita uma entrada 4×4 contendo de um a dezesseis. O índice dez da entrada aceita, começando em zero, transporta o valor onze na linha dois, coluna dois. A primeira janela completa é [1,2,3;5,6,7;9,10,11]. O valor doze dá [2,3,4;6,7,8;10,11,12]. Os valores treze e quatorze começam uma nova linha e têm histórico horizontal insuficiente. Os valores quinze e dezesseis produzem as duas últimas janelas.

Assim, dezesseis entradas aceitas produzem quatro janelas, nos índices [10,11,14,15]. Mesmo com um pixel por ciclo, a inicialização e as fronteiras das linhas criam lacunas. Distinga a taxa do quadro completo 4/16 da taxa instantânea de saída em uma sequência válida.

Na coluna zero, reinicialize ou invalide o histórico horizontal. Caso contrário, uma nova linha pode combinar suas primeiras amostras com as últimas colunas da linha precedente. Nosso modelo limpa a janela horizontal e suprime a saída até a coluna dois. Ele preserva os atrasos de linha. Avance os contadores de linha e coluna com base em pixels aceitos, não em clocks decorridos.

Na largura quatro, o armazenamento é de dezessete amostras. Diferentemente de um buffer de quadro inteiro 4H, ele não cresce com a altura do quadro. Ainda assim, o consumidor MAC deve ter tempo para processar cada janela completa, especialmente com vários canais de saída. A próxima aula acrescenta controle de transferência. Acompanhe entrada, atrasos de linha, janela e consumidor no diagrama suportado.

Caminho de janela válida 3x3
  1. Pixel de entrada: Avançar apenas em uma transferência aceita
  2. Dois atrasos de linha: Recuperar os valores das duas linhas anteriores
  3. Janela 3x3: Válida a partir da linha 2 e coluna 2
  4. Consumidor MAC: Processar ou armazenar a janela completa

Experimente

Para W=8,H=6, calcule as posições de armazenamento, o primeiro índice válido de entrada aceita e o total de janelas.

Ler a explicação

O armazenamento é de 25 posições. A primeira posição válida é a linha dois,coluna dois, índice 2×8+2=18. A saída é 4×6, produzindo 24 janelas.

Sua escolha vale neste navegador. Altere-a a qualquer momento no rodapé.