Considering the AV market needs and the H.264 technological characteristics, we directed our efforts as follows:
- Lowest power Codec (Encoder/Decoder)suitable for use with portable applications.
- High quality standard definition video processing (with an eye towards high definition resolutions in the future).
- Specialized H.264 Codec algorithm and architecture to meet specific market requirements. More specifically, we selected "Main-profile at Level-3" as the most suitable profile for standard definition applications with very good video quality.
Meeting the Quality Requirement (Algorithmic Efforts)
Using the basic theory of video compression technology suggests the following:
(a) The human psycho-visual system ignores the detail of high-frequency textures.
(b) The resultant bitrate can be reduced by finding the best motion-estimation match among many possible options.
(c) Entropy coding results in the least number of bits without loss of information.
Items (a) and (b) required many algorithmic iterations to find out the best human-eye perception for a given bitrate. Item (c) required an innovative implementation.
In general, the Encoder is required to generate a standard compliant bit-stream, while the video quality and compression efficiency are not specified in the H.264 standard. However, our goal is to achieve high quality at low bit-rate under low-power conditions. These criteria are the focus of our efforts. The following summarize our algorithmic efforts and direction:
- Break the highly sequential structure of H.264's syntax chain into a smaller number of syntax elements without sacrificing compression efficiency, thus allowing more parallelism where processing power becomes a bottleneck.
- Intelligently pre-select more efficient compression algorithms without sacrificing video quality, thus reducing a required overall processing power.
- Implement the bursty and content-dependent characteristics of CABAC in a highly scalable manner, thus rendering CABAC more tractable for hardware implementation.
- Implement B pictures in a way which best balances its video quality with implementation costs.
- Re-use data effectively to maximize the performance of our video algorithms.
- Highly sequential syntax structure with syntax inter-dependency.
- Long-term memory allowed among syntax elements.