Considering the robustness and imperceptibility of digital image watermarking, this paper proposes an watermark embedding algorithm, in which watermark is embedded in DC coefficients derived from a dual DCT transformations. After block based DCT transformation, DC coefficients of an image are arranged into a new matrix, on which block based DCT transformation is performed again. Through abound empirical tests, high frequency coefficients of DCT transformation are selected to be embedded with watermark. Allowing for properties of the human visual system (HVS), variance of each block is calculated to determine whether a bit will be embedded into it. Simulation tests demonstrate that the algorithm not only has good imperceptibility, but also has good robustness for JPEG compression, rotation, geometric shear, imposed noise and other attacks, etc.