Condividi tramite


Algoritmo Bob Deinterlacing

Se il driver di visualizzazione implementa la DDI di denterlacing DXVA, deve supportare l'algoritmo di denterlacing in stile bob oltre a qualsiasi algoritmo di denterlacing proprietario. Di seguito è riportata una descrizione dell'algoritmo di denterlacing di tipo bob:

L'input è un campo Fin(i,j) di dimensioni MxN in modo che 0 <= <M-1 e 0 <= j <=N-1, dove i e j siano rispettivamente indici di riga e colonna.

L'output è un frame Fout(i,j) di dimensioni 2xMxN in modo che 0 <= i <= 2M-1 e 0 <= j <=N-1, dove i e j siano rispettivamente indici di riga e colonna.

Se Fin(i,j) è un campo superiore:

Diagramma che mostra i calcoli dell'algoritmo bob deinterlacing per un campo superiore.

Se Fin(i,j) è un campo inferiore:

Diagramma che mostra i calcoli dell'algoritmo bob deinterlacing per un campo inferiore.

Ogni definizione usa un filtro FIR (Finite Impulse Response) con una risposta di impulso h di lunghezza 2K. La risposta di impulso h è simmetrica sul punto intermedio, in modo che h₋₍k₊₁₎ = hk per k=0 a K-1 e

Diagramma che illustra i calcoli per un algoritmo di filtro di risposta impulso finito.

La forma preferita di deinterlacing in stile bob usa K=2 e h₀ = 9/16 (quindi h₁ = 1/16). Questo filtro deve essere implementato come (9*(b+c)-(a+d)+8)>>4, dove a, b, c e d sono i quattro esempi di input usati per produrre un campione di output.