7.2.2. De-Interleaving Process
7.2.2. De-Interleaving Process
Il existe deux états de mise en mémoire tampon chez le récepteur : la mise en mémoire tampon initiale (initial buffering) et la mise en mémoire tampon pendant la lecture (buffering while playing). La mise en mémoire tampon initiale se produit lorsque la session RTP est initialisée. Après la mise en mémoire tampon initiale, le décodage et la lecture commencent, et le mode de mise en mémoire tampon pendant la lecture est utilisé.
Quel que soit l'état de mise en mémoire tampon, le récepteur stocke les unités NAL entrantes, par ordre de réception, dans le tampon de désentrelacement comme suit. Les unités NAL des paquets d'agrégation sont stockées individuellement dans le tampon de désentrelacement. La valeur du DON (decoding order number) est calculée et stockée pour chaque unité NAL.
Le fonctionnement du récepteur est décrit ci-dessous à l'aide des fonctions et constantes suivantes :
-
La fonction
AbsDONest spécifiée à la section 8.1. -
La fonction
don_diffest spécifiée à la section 5.5. -
La constante N est la valeur du paramètre de type de média facultatif
sprop-interleaving-depth(voir section 8.1) incrémentée de 1.
La mise en mémoire tampon initiale dure jusqu'à ce que l'une des conditions suivantes soit remplie :
-
Il y a N unités NAL VCL (VCL NAL units) ou plus dans le tampon de désentrelacement.
-
Si
sprop-max-don-diffest présent,don_diff(m,n)est supérieur à la valeur desprop-max-don-diff, où n correspond à l'unité NAL ayant la plus grande valeur d'AbsDONparmi les unités NAL reçues et m à celle ayant la plus petite valeur d'AbsDON. -
La mise en mémoire tampon initiale a duré un temps supérieur ou égal à la valeur du paramètre de type de média facultatif
sprop-init-buf-time.
Les unités NAL à retirer du tampon de désentrelacement sont déterminées comme suit :
-
Si le tampon de désentrelacement contient au moins N unités NAL VCL, des unités NAL sont retirées du tampon de désentrelacement et transmises au décodeur dans l'ordre spécifié ci-dessous jusqu'à ce que le tampon contienne N-1 unités NAL VCL.
-
Si
sprop-max-don-diffest présent, toutes les unités NAL m pour lesquellesdon_diff(m,n)est supérieur àsprop-max-don-diffsont retirées du tampon de désentrelacement et transmises au décodeur dans l'ordre spécifié ci-dessous. Ici, n correspond à l'unité NAL ayant la plus grande valeur d'AbsDONparmi les unités NAL dans le tampon de désentrelacement.
L'ordre dans lequel les unités NAL sont transmises au décodeur est spécifié comme suit :
-
Soit PDON une variable initialisée à 0 au début de la session RTP.
-
Pour chaque unité NAL associée à une valeur de DON, une distance DON (DON distance) est calculée comme suit. Si la valeur de DON de l'unité NAL est supérieure à la valeur de PDON, la distance DON est égale à DON moins PDON. Sinon, la distance DON est égale à 65535 moins PDON plus DON plus 1.
-
Les unités NAL sont livrées au décodeur par ordre croissant de distance DON. Si plusieurs unités NAL partagent la même distance DON, elles PEUVENT être transmises au décodeur dans n'importe quel ordre.
-
Lorsqu'un nombre souhaité d'unités NAL a été transmis au décodeur, la valeur de PDON est fixée à la valeur de DON de la dernière unité NAL transmise au décodeur.