For each of the left and right frames, an initial quantization scale Qbase is determined 306, 308. These initial base quantization scales may be determined using any suitable rate control technique. Depth-based perceptual quantization scaling 310, 312 is then performed to adapt the respective base quantization scales of the frames for each macroblock in the respective frames to generate a depth-based perceptual quantization scale for each of the macroblocks. The macroblock depth-based perceptual quantization scale is adapted from the frame base quantization scale based on a depth quality sensitivity measure computed for each macroblock. The depth quality sensitivity measure for each macroblock is determined using the depth map generated for the frame pair. Depth-based perceptual quantization scaling is described in more detail herein in reference to the method of
Two-dimensional (2D) perceptual quantization scaling 314, 316 may also be performed to further adapt the depth-based perceptual quantization scales computed for the macroblocks. Any suitable technique for 2D perceptual quantization scaling may be used. The macroblocks in the frame are then coded 318, 320 to generate respective compressed bit streams that multiplexed 322 to generate the final compressed 3D bit stream. As part of the frame coding 318, 320, the quantization is performed on the transform coefficients generated for each macroblock. For each macroblock, the quantization is performed using the quantization scale determined for the macroblock by the depth-based perceptual quantization scaling and the 2D perceptual quantization scaling.