Data processing apparatus and method, and computer program