Thursday, October 14, 2010
TI DM6467 Analysis
http://blog.radvision.com/voipsurvivor/2009/11/16/hd-video-chip-case-study-ti-dm6467-analysis/
This post is part of our Designing Hardware for HD series. Be sure to check it out!
[While I've done my best to cover the various options for HD video chips and the trends in the market, I also wanted to take a deeper dive and explain how we analyze such a chip. In this case, the TI DM6467, which we have selected as the basis for our BEEHD product. For that, I asked Amit Klir, our resident video architecture expert, to share his insights. I do warn you though some of the information here is quite low-level even for me.]
I’ve been working on the TI DM6467 for a while now, as part of our VC240 HD (video telephony LCD monitor) project. My role in the project is taking care of the audio and video codecs’ quality and the architecture of the media system we have built into the device, on top of the chip itself.
The DM6467 is a system-on-chip for multimedia applications. From an architecture point of view, it splits the media processing and the application into two separate processors: media processing is targeted to run on a powerful DSP that comes coupled with video accelerators, while the application is targeted to run on an ARM host processor.
I won’t go over the whole set of peripherals and devices in the block diagram above, but I do want to touch the areas that I think would interest you the most, especially if you are in a search for a video chip.
We have based our solution on top of the TI offering, although at times we had to “tweak” some of the drivers and the kernel itself.
In a way, the DSP itself doesn’t run the video coding engine, but acts as the controller of the process, which runs on the various accelerators. It is what allows the DM6467 to achieve HD video coding.
To access the video accelerators, the DSP uses the DMA engine for rapid data transfer, and interacts with small ARM 968 processors that control the accelerators.
Some other cool features the DSP has are the ability to handle very large vector operations and its advanced cache system.
These accelerators where designed to deal with the CPU-intensive video coding tasks required by H.264 and other codecs. These include motion estimation, intra-prediction, mathematical transforms, quantization, loop filtering and syntax coding.
As the goal is to deal with HD video, the memory bandwidth is extremely high, to the point that without the DMA engine it would simply be impossible.
These make it easier to design the hardware, when you finally get down to it.
The DM6467 has quite a large ecosystem, which is based on the fact that it uses an ARM 9 as host and a C64+ DSP. The C64+ DSP is one of the most popular DSPs out there, and has been in the market for a few years already. So additional tools and modules that you might need down the road – such as encryption algorithms, audio codecs, image processing libraries and the likes – are probably already available from 3rd party companies.
Here are a few, which might – sadly – require you to add additional hardware devices in your hardware design:
The fact that there isn’t such an interface means that some architecture solutions will simply be harder to implement (if not impossible altogether).
This post is part of our Designing Hardware for HD series. Be sure to check it out!
[While I've done my best to cover the various options for HD video chips and the trends in the market, I also wanted to take a deeper dive and explain how we analyze such a chip. In this case, the TI DM6467, which we have selected as the basis for our BEEHD product. For that, I asked Amit Klir, our resident video architecture expert, to share his insights. I do warn you though some of the information here is quite low-level even for me.]
I’ve been working on the TI DM6467 for a while now, as part of our VC240 HD (video telephony LCD monitor) project. My role in the project is taking care of the audio and video codecs’ quality and the architecture of the media system we have built into the device, on top of the chip itself.
The DM6467 is a system-on-chip for multimedia applications. From an architecture point of view, it splits the media processing and the application into two separate processors: media processing is targeted to run on a powerful DSP that comes coupled with video accelerators, while the application is targeted to run on an ARM host processor.
I won’t go over the whole set of peripherals and devices in the block diagram above, but I do want to touch the areas that I think would interest you the most, especially if you are in a search for a video chip.
EVM
The DM6467 has an EVM (evaluation board), which you can use to start the project without having to design and manufacture the hardware before the programmers start doing their thing. This is possible, as the DM6467 has a host of its own.Host
The DM6467 comes with a 300 MHz ARM 9 host processor. TI was kind enough to provide MontaVista Linux out of the box for it, with an almost full set of driver packages to start with.We have based our solution on top of the TI offering, although at times we had to “tweak” some of the drivers and the kernel itself.
DSP
The DSP on the DM6467 is a C64+ core – a technology that TI is using in a lot in other system-on-chip solutions of theirs, making it quite robust. It is fully programmable, allowing the use of it for a lot of tasks that are not related specifically to video coding. We actually use the DSP to deal with the audio coding in parallel.In a way, the DSP itself doesn’t run the video coding engine, but acts as the controller of the process, which runs on the various accelerators. It is what allows the DM6467 to achieve HD video coding.
To access the video accelerators, the DSP uses the DMA engine for rapid data transfer, and interacts with small ARM 968 processors that control the accelerators.
Some other cool features the DSP has are the ability to handle very large vector operations and its advanced cache system.
Accelerators
As mentioned already, the DM6467 comes with a set of video accelerators that are designed to meet specific video processing challenges.VICP
Video coding on the DM6467 is done in the VICP – the High Definition Video Imaging Co-Processor. There are two of those in the DM6467 – one for encoding and the other for decoding. This separation allows simultaneously encoding and decoding in a single chip.These accelerators where designed to deal with the CPU-intensive video coding tasks required by H.264 and other codecs. These include motion estimation, intra-prediction, mathematical transforms, quantization, loop filtering and syntax coding.
VDCE
The VDCE is an image co-processor which is used for specific pre- and post-processing algorithms on the video frame, such as:- Conversion between image formats (YUV420 to YUV422 and vice versa)
- Downscaling
- Cropping
- Anti aliasing
DMA
The DMA engine of the DM6467 is quite a powerful one. It deals with all data transfers from/to virtually everywhere on the system (from external memory to internal one, from external memory to the VICPs, etc). This means that the DSP remains “free” of these tedious memory transfers and can be utilized for “real” processing.As the goal is to deal with HD video, the memory bandwidth is extremely high, to the point that without the DMA engine it would simply be impossible.
Peripherals
The great thing about the DM6467, especially if you are planning on developing an endpoint device, is the fact that it comes with quite a wide range of peripherals: USB, video input and output ports, PCI, Ethernet to name a few.These make it easier to design the hardware, when you finally get down to it.
Large ecosystem
One thing that should not be left out when selecting a video chip is the ecosystem that comes with it, usually from the chipset vendor. Another aspect of it is the user base – how many have already used the chip (or are currently using) for a similar purpose?The DM6467 has quite a large ecosystem, which is based on the fact that it uses an ARM 9 as host and a C64+ DSP. The C64+ DSP is one of the most popular DSPs out there, and has been in the market for a few years already. So additional tools and modules that you might need down the road – such as encryption algorithms, audio codecs, image processing libraries and the likes – are probably already available from 3rd party companies.
What Else Is Needed?
While this might seem perfect, there are areas where the DM6467 is going to cause you some pain, if you are planning to use it for an HD videophone product.Here are a few, which might – sadly – require you to add additional hardware devices in your hardware design:
Only 2 Video Ports
The DM6467 comes with only two video ports. This allows connecting a camera from one side and a display from the other (or other devices). It doesn’t leave a lot of room for additional inputs and outputs that might be required in a full videophone product.OSD
While the DM6467 has its own On Screen Display (OSD) module, it supports only 2 bits-per- pixel. That’s a range of 4 colors for the OSD, which just doesn’t cut it for a good user interface. It means that you will need to find another solution for your OSD, external to the DM6467.Upscaler
The DM6467 provides a hardware-based down-scaler, but not an up-scaler. You will either need to implement it in software on the DSP, or do it on an external device. And you will definitely need to upscale once you get video in lower resolutions.Muxer
There is no hardware acceleration available in the DM6467 for comprising the video layout on the screen (combining several video images into a single display).No PCI Express Interface
While you might not need a PCI Express interface, but it might come handy at times – especially if the way you plan to deal with the OSD, Upscaling and muxing is by means of moving the data to and from the DM6467 to external devices doing these operations by way of PCI Express.The fact that there isn’t such an interface means that some architecture solutions will simply be harder to implement (if not impossible altogether).
Limited USB and PCI
If you plan on using the USB or PCI interfaces that come with the DM6467, you should check their specs closely. The way they are designed, and especially their memory management, doesn’t allow for high throughputs – at given use cases they provide a lot less bits per second than you need.Limitations Aside – DM6467 is a Solid Choice
While this may seem to a bit harsh, it still is one of the best solutions on the market today, and for good reasons:- The video processing capabilities of this chip are impressive. They give you the ability to do video at high definition with a lot of flexibility – something that greatly assisted us when we were adding our SVC technology to our solution. This flexibility is given at a price point that is quite low – probably the lowest you will find today for a flexible multimedia system-on-chip.
- I don’t know of other solutions out there that give all of the benefits that come from the DM6467 without any of its limitations, so it’s still the best you can get.
- TI is assisting their customers when it comes to finding workarounds to these deficiencies and with great success. They take video telephony seriously when it comes to DM6467 and their system engineers are quite capable of providing the answers necessary. This assistance, for me, is quite important when designing such a complex product.
Subscribe to Comments [Atom]

Post a Comment