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.
As aulas podem ser lidas gratuitamente. Inscreva-se para salvar o progresso.
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.
- Pixel de entrada: Avançar apenas em uma transferência aceita
- Dois atrasos de linha: Recuperar os valores das duas linhas anteriores
- Janela 3x3: Válida a partir da linha 2 e coluna 2
- 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.