The bitcoin halving is the scheduled reduction, by half, of the number of new bitcoin paid to whoever adds the next block to the blockchain. An exchange filing published in the Federal Register describes the mechanism directly: under the source code that governs the bitcoin network, the supply of new bitcoin is mathematically controlled so that the number of bitcoin grows at a limited rate on a pre-set schedule, and the number awarded for solving a new block is automatically halved after every 210,000 blocks are added, which is approximately every four years.
Two things are unusual about it and both are the point. The trigger is a count of blocks rather than a moment in time, so the halving is exact in block terms and approximate in calendar terms. And no one decides it. There is no announcement, no vote and no discretion; the change happens because the network software applies the rule at that block height, which is why the schedule can be read years ahead by anyone who wants to.