Newsletter

Video/Imaging DesignLine  >  Design Center  >  Video Processing

H.264 encoder design using Application Engine Synthesis

The goal was to build an H.264 video encoder that would meet real-time requirements of 30 frames per second at D1 resolution with completion in less than 5 months.


Page 1 of 6

Video Imaging DesignLine


System on Chip design is driven by complex consumer devices that rely on standard algorithms such as H.264, WiMax, or JPEG for their defining capabilities. These reference standards allow room for innovative implementation that result in differentiated products.

Designing these SoCs is an enormous undertaking, with significant cost and risk associated with each project. One way to reduce both project cost and schedule risk is to use Application Engine Synthesis (AES) for the automatic creation of an application engine such as an H.264 encoder from a sequential, untimed C algorithm.

The goal of the project described in this article was to emulate a typical design process for an H.264 encoder and to determine AES's ability to generate efficient hardware designs for real-life, high-complexity applications, while also demonstrating significant savings in terms of time and cost (of resources). We set the target of building an H.264 encoder for D1 size video that would meet real-time requirements (30 frames per second) on the most stringent test sequences, and aimed to complete the project in less than 5 months.

This article describes the process used, targets met, and productivity gains achieved.



Figure 1: In a consumer SoC, complex application engines consume significant design and verification time. Other components rarely change.

The role of application engines
A typical SoC designed for a consumer device comprises various kinds of IP. At the highest level, there are four different types of IP:

  1. Complex application engines (e.g., video codecs, modems): These define the functionality of the product, and change rapidly with each revision. This type of IP is based on reference algorithms that are already in C and that are designed by architects who work in C.
  2. Star IP such as CPUs and DSPs: This is usually hand-crafted, built bottom-up, needs significant investment, and doesn't change often.
  3. Connectivity and Control IP such as USB and DMA: This type of IP never defines the functionality nor differentiates the end product. Sometimes, it needs a limited amount of tailoring.
  4. Memory: This takes up the largest amount of area, but also neither defines the function nor differentiates the end product. Memories are almost always compiled and built bottom-up.
Typically, the bulk of engineering effort is in designing and verifying complex application engines. These are complex pieces of IP and are usually subdivided into many blocks. Depending on the application, an engine may consist of a control processor and one or more hardware accelerators that help to meet design objectives such as cost, performance, and power.

Next: Building the application engines

Page 2: next page  

Page 1 | 2 | 3 | 4 | 5 | 6



Rate this article
WORSE | BETTER
1 2 3 4 5




Synfora
Related Content

COURSE
1. Fundamentals of Embedded Systems Security

TECH PAPER
2. Designing and Deploying with Mobile Virtualization

TECH PAPER
3. Thermal-Mechanical Considerations for In-Vehicle Infotainment

COURSE
4. Getting Started with Android Development for Embedded Devices

 


EE Times TechCareers
Search Jobs

Enter Keyword(s):


Function:


State:
  

Post Your Resume
-----------------
Employers Area
Most Recent Posts
Ascension Health seeking Solutions Development Analyst in St. Louis, MO

National Semiconductor seeking Principal IC Design Engineer in Santa Clara, CA

Taylor Guitars seeking Sr. Web Designer in El Cajon, CA

Covidien seeking Hardware Manager in Boulder, CO

Sierra Nevada seeking Software Engineer in Hagerstown, MD

More career-related news, resources and job postings for technology professionals

 Sponsor