Proposed in this paper is a data hiding scheme featuring high capacity and low distortion. It is a reversible data hiding scheme, in which secret data is embedded into the host image by expanding the prediction errors of pixels, and the original host image can be exactly recovered once the embedded data is extracted. In this paper, three strategies are proposed to improve the performance. Different from most existing predictors, wherein only a partial prediction context is available, a predictor with full context for every pixel is proposed to enhance the accuracy. An expansion methods derived from difference expansion is presented for embedding secret data into the prediction errors. And a new boundary map strategy is proposed to avoid the overflow problem, which only introduces a little overhead data. Experimental results demonstrate that the proposed full-context predictor has better accuracy than other predictors and works out a more centralized histogram; and with the proposed expansion method as well as boundary map, the proposed scheme can provide a larger embedding capacity and a better image quality than those reported in other state-of-the-art literature. In addition, the proposed scheme is able to adjust the payload to embed different amount of bits into one prediction error.