Frequently Asked Question
How do I determine the number of ADV2x2s required for a particular application?
There are two main factors that help you estimate how many ADV2x2s to use:
- Image size: the actual number of pixels in each frame. Each ADV2x2 has a maximum image size of 1.048 Msamples. Images larger than this must be tiled prior to being input to the ADV2x2.
- Throughput: the number of pixels per second. Each ADV2x2 has a maximum throughput of 65 Msamples per second (active resolution).
You need to determine which of these requirements is the largest for your application and to use the number of ADV2x2s that meets that larger requirement. In addition to these two major factors, there are other factors that influence how many ADV2x2s you may need. You may have to experiment with tradeoffs to get the right number of chips with the quality you want.
Image Size
Image size is limited to 1.048 Msamples per image to support all of the JPEG2000 features that the ADV2x2 provides. This applies to all compression modes (9/7i, 5/3i, 5/3r).
The samples per image = horizontal active resolution x vertical active resolution x number of components per pixel.
Example:
NTSC 720 x 242 YCbCr 4:2:2 format (NTSC requires fields, not images or frames)
samples/field = 720 x 242 x 2 = 348,480 samples/field
348,480 samples/field is less than the limit of 1.048 Msamples, so if the maximum throughput is not exceeded, only one ADV2x2 is required.
The root of the image-size limitation is the way the compression rate is controlled. Before the rate control algorithm is applied, the wavelet coefficients for an entire image must be present in memory. From this information, the best fit quality or size value is applied to the image.
The fact that all the memory is allocated dynamically complicates the situation. This means that there is no specified amount of memory that is available at any one time. The amount of memory depends on the content of the image currently being compressed as well as the content of the next image. For this reason, the ADV2x2 has a relatively conservative image-size limitation of 1.048 Msamples. This is roughly equal to the amount of data in a 1080i luminance or chrominance field.
Throughput
The second main limitation, throughput, is determined by the clock speed of the part itself. Input data rate limits are listed in the datasheet. Maximum input data rate is achieved on the VDATA bus. For the ADV2x2 with a speed grade of 150 MHz, the maximum throughput on the VDATA bus is 65 Msamples/sec (active resolution) or 74.25 Msamples/sec (total resolution). On the HDATA bus, the maximum throughput is 45 Msamples/sec.
If the image size isn't exceeded, you can always try to reduce the number of chips based on this limitation by slowing down the number of frames per second.
Example:
NTSC 720 x 242 at 60 Hz YCbCr 4:2:2 format
input data rate = 720 x 242 x 2 x 60 = 20.9 Msamples/sec
20.9 Msamples/sec is less than the limit of 65 Msamples/sec, so if the maximum image size is not exceeded, only one ADV2x2 is required.
Example:
720p / 60 FPS YCbCr 4:2:2
THROUGHPUT:
1280 x 720 x 2 samples per x 60 FPS = 110.6 Msamples/second
[110.6 / 65] Msamples/sec per ADV212 = 1.7 = 2 ADV212s
TILE SIZE
1280 x 720 x 2 samples per pixel = 1,843,200 samples per tile
1,843,200 sample per tile / 1,048,000 samples per ADV212 = 1.75 = 2 ADV212s.
This application would require 2 ADV212s.