This paper presents a new technique called motion balance filtering, which corrects an unbalanced motion to a balanced one while preserving the original motion characteristics as much as possible. Differently from previous approaches that deal only with the balance of static posture, we solve the problem of balancing a dynamic motion. We achieve dynamic balance by analyzing and controlling the trajectory of the zero moment point (ZMP). Our algorithm consists of three steps. First, it analyzes the ZMP trajectory to find out the duration in which dynamic balance is violated. Dynamic imbalance is identified by the ZMP trajectory segments lying out of the supporting area. Next, the algorithm modifies the ZMP trajectory by projecting it into the supporting area. Finally, it generates the balanced motion that satisfies the new ZMP constraint. This process is formulated as a constrained optimization problem so that the new motion resembles the original motion as much as possible. Experiments...