13 / 24 · Concept
Tampons de lignes et fenêtres 3×3
Pour W=8, H=6, calculez les emplacements de stockage, l’indice de la première entrée acceptée produisant une fenêtre valide et le nombre total de fenêtres.
Les leçons sont gratuites. Inscrivez-vous pour enregistrer vos progrès.
Garder à proximité les données qui se chevauchent
Une opération 3×3 dans l’ordre par lignes nécessite le pixel courant et les valeurs de la même colonne des deux lignes précédentes. Deux retards de ligne fournissent ces lignes. Des registres à décalage horizontaux conservent trois échantillons de chaque ligne pour former la fenêtre. Cela évite de stocker une image entière, mais les premiers échantillons ne peuvent pas former une fenêtre complète. Données stockées et sortie valide sont des conditions distinctes.
Nous commençons avec un canal, un noyau 3×3 sans remplissage, un pas unitaire et une dilatation unitaire. Deux tableaux de lignes de largeur W plus une fenêtre 3×3 explicite contiennent 2W+9 emplacements d’échantillons. C’est le stockage du modèle pédagogique, et non un minimum universel. Remplissage, dilatation, autres pas ou canaux multiples nécessitent une nouvelle analyse des retards et de la validité.
Séquence d’arrivée détaillée
Transmettez en flux une entrée 4×4 contenant un à seize. L’indice d’entrée acceptée dix, numéroté depuis zéro, porte la valeur onze à la ligne deux, colonne deux. La première fenêtre complète est [1, 2, 3;5, 6, 7;9, 10, 11]. La valeur douze donne [2, 3, 4;6, 7, 8;10, 11, 12]. Les valeurs treize et quatorze commencent une nouvelle ligne et n’ont pas assez d’historique horizontal. Quinze et seize donnent les deux dernières fenêtres.
Ainsi, seize entrées acceptées produisent quatre fenêtres, aux indices [10, 11, 14, 15]. Même à un pixel par cycle, l’initialisation et les frontières de lignes créent des interruptions. Distinguez la cadence de l’image complète 4/16 de la cadence instantanée de sortie dans une séquence valide.
À la colonne zéro, réinitialisez ou invalidez l’historique horizontal. Sinon, une nouvelle ligne peut combiner ses premiers échantillons aux dernières colonnes de la ligne précédente. Notre modèle efface la fenêtre horizontale et supprime la sortie jusqu’à la colonne deux. Il conserve les retards de ligne. Faites avancer les compteurs de lignes et de colonnes selon les pixels acceptés, et non les horloges écoulées.
À largeur quatre, le stockage est dix-sept échantillons. Contrairement à un tampon d’image complète 4H, il ne croît pas avec la hauteur de l’image. Le consommateur MAC doit néanmoins avoir le temps de traiter chaque fenêtre complète, notamment sur plusieurs canaux de sortie. La leçon suivante ajoute la commande de transfert. Suivez entrée, retards de ligne, fenêtre et consommateur dans le diagramme pris en charge.
- Pixel d’entrée: Avancer uniquement sur un transfert accepté
- Deux retards de ligne: Récupérer les valeurs des deux lignes précédentes
- Fenêtre 3x3: Valide à partir de la ligne 2 et de la colonne 2
- Consommateur MAC: Traiter ou stocker la fenêtre complète
Essayez vous-même
Pour W=8, H=6, calculez les emplacements de stockage, l’indice de la première entrée acceptée produisant une fenêtre valide et le nombre total de fenêtres.
Lire l’explication
Le stockage est 25 emplacements. La première position valide est ligne deux, colonne deux, indice 2×8+2=18. La sortie est 4×6, donnant 24 fenêtres.