Computing devices have made significant contributions toward the advancement of modern society and are utilized in a number of applications to achieve advantageous results. Numerous devices, such as computers, game consoles, smart phones, and the like have facilitated increased productivity and reduced costs in communicating and analyzing data in most areas of entertainment, education, business and science. The rendering and displaying of images is an important aspect of contemporary computing devices. Image rendering, storage and displaying tends to be computationally intensive, consume large communication bandwidth and memory storage capacity. Therefore, contemporary computing device typically use data encoding and decoding techniques to compress and decompress image data for storage, transmission and processing.
One common form of compression is the H.264/MPEG-4 video compression standard jointly developed by the International Telecommunication Union (ITU-T) Video Coding Experts Group (VCEG) and the International Organization for Standardization International Electrotechnical Commission (ISO/IEC) Moving Picture Experts Group (MPEG). Referring to FIG. 1, a video encoding/decoding device 100 according to the conventional art is illustrated. Encoding begins with receipt of frames of video data 110. In one implementation, the computing device may render video frames in R′G′B′ color space. The image frames in R′G′B′ color space (4:4:4) are down sampled to generate Y′CrCb color space (4:2:2) by a color space subsampling converter 115. The chromance Cr and Cb are down sampled by a factor of two 120 to reduce the amount of data of the Cr and Cb planes, because the human visual system is more sensitive to brightness than color. Therefore, the human visual system will perceive little visual difference in images based on the down sampled Y′CrCb color space (4:2:2), while Y′CrCb video data is approximately two thirds of the R′G′B′ video data.
The Y′CrCb frames are then compressed by a H.264 encoder 125. The H.264 encoder applies motion-compensated block encoding to the Y, Cr and Cb planes at one of a plurality of predetermined data rates. The lower the data rate the greater the loss incurred in compressing the data. The compressed data 130 may then be output by the H.264 encoder 125 to a transceiver to transmission across a communication channel, to a computing device readable media (e.g., optical disk, hard disk drive) for storage, or the like 135. The video data may then be reconstructed 140 from the stored or transmitted compressed data 130 by use of a H.264 decoder 145 and optional color space converter 150 in a substantially inverse process.
It is appreciated that the loss incurred as a result of down sampling during conversion from R′G′B′ color space to Y′CrCb color space is compounded by any loss incurred in the H.264 encoding/decoding. Accordingly, there is a continuing need for improved encoding/decoding techniques to reduce image compression losses.