Source: http://www-sop.inria.fr/members/Olivier.Bernard/hdr_obernard.pdf