TECHNICAL
| question | answer |
| How do I compare the effects of your contrast enhancement (numerically) to other processors? | Our basic processing can be thought of as expanding local contrast by up to a factor of 8, removing up to 100% of the unwanted large-area "background" variation, and using a 2-D radially-symmetric convolution kernel ("neighborhood") up to several hundreds of pixels across. Additionally, our processing is locally adaptive in nature. |
| Why is large kernel processing such a big deal? | By considering the data in a large neighborhood centered around each pixel as it is being processed, it allows us to address a much larger range of spatial frequencies in the image. Traditional small kernel processing can only enhance details in the very highest spatial frequencies, which typically contain little of the spectral content of the image, and is where noise is prevalent. Hence, small kernel processors must employ relatively large gain to have much noticeable effect on the image, thereby typically producing sharp outlining artifacts and greatly increased visibility of noise. Our large kernel processing (operating on much more of the "meat" of the image) can produce dramatic results with much lower gain, with the additional benefits of large area shading, yielding much more natural-appearing images with increased local contrast, added dimensionality, and improved visibility of subtle details and features. |
| What is meant by "locally adaptive" processing? | Other methods (particularly those that are "global" in nature, including histogram-based ones) tend to simply crank up the gain uniformly across the entire image. In our case, for each pixel in the image, we vary the processing based on a large local "neighborhood" of image data surrounding that pixel. This "adapts" (adjusts) the processing to best fit the needs of each pixel's own area of the image. |
| What about latency? You say “no” lag; how much throughput latency is there REALLY, particularly at high-speed HDTV rates like 1080i and 1080p? | Processing latency of detailed video data through the EVD1000/1500 for ALL video formats is on the order of a hundred pixel times or so (only a small fraction of a single line of video data), depending in detail somewhat on things such as input/output data format conversions if used. That means changes in the scene at the input are processed and output in microseconds; not minutes, seconds, or even milliseconds. |
| What is your processing engine? | We don’t employ an “engine” per se. Other available products (even those designed for video use) either perform only a (very different) specific function, or use processing engines which are generally programmable to accommodate a wide range of potential functions and operations, and their applications do not employ our proprietary techniques. The EVD technology is implemented on the EVD1000/1500 in dedicated, optimized, gate-level hardware, with a high degree of parallelism, specifically designed to very rapidly and efficiently perform this particular class of proven beneficial image processing operations. It is also available for licensing as an FPGA core in special circumstances, although the available custom ASIC is truly hard to beat for cost effectiveness. |
| I have one (or more) DSPs already in place in my video system. Can't I just implement your algorithms in them and get the same results? | DSPs are a fantastic resource for powerful, general-purpose processing power… and the available development tools permit remarkable functions to be implemented in relatively short timeframes. However, to realize EVD's level of enhancement performance in a DSP-based system you would first need to know how we do what we do, and then you'd need one (or more) DSPs totally committed to performing this function… along with the required memory, etc.
Assuming you got this far, you'd wind up with a solution costing $50-$100 per installation and using a good deal of circuit board real estate (not to mention all the precious development time). So while it might be "possible" to put our processing into DSPs, why would you want to? |