PyParrot move_relative

Im not sure where else to ask this as PyParrot does not have an official forum. But I wanted to know how a Bebop2 drone knows to move exactly 1 meter in dx, or dy when I cover the GPS receiver with aluminum foil? It is suggested in the docs [here|]
under move_relative to do this when flying indoors. Basically, how does the Bebop2 know how much 1 meter is if we cover its GPS receiver?

(if there is a better place for me to ask this question please let me know)

I am guessing the drone internally does a speed*time calculation to move the drone by a relative distance.

The drone basically needs to just determine the duration of move, since the speed and distance(user input) are already available.

Ya that seems to make sense