Originally posted by rawr I think much of the image analysis software smarts is available in software libraries and API's that are readily available for purchase by camera makers, or may even be open-source. Face detection in particular, but also scene analysis and possibly even predictive tracking.
But yes, good camera hardware needs good software, and the software is often the hardest to get right in complex systems.
The software library and API may not do what you want or may not run that great on a small embedded chip. You may have to encode some routine directly in hardware to make them faster. You also need to search for them, compare them, configure them and potentially rewrite/update/modify them. You may have to combine several things together to make things work. There may be some patent hold by Nikon and Canon for the most obvious way to make this work and none of them agreeing on giving a fair price for a licence.
And the problem are not really the algorithms that are known but more all the glueing and tuning that may require lot of traning data, tuning and iterations to get right.
I honestly think that if Pentax could just buy a good AF-C tracking software for a fair price and get their problem solved, they would have done it already. After all, most of the things that Pentax put inside their camera is outsourced. The assembly and overall design is their own, but they mostly depend of what available on third party.
People think software is free because they don't pay much for it and there lot of free software out there. The truth is that common software is sold to millions of people so that you don't need to ask too much to each and can still cover the hundred millions of investment. The biggest one like Windows or Linux or firefox are the results of investment of a few hundred millions (firefox) to few billions a year (windows)...
Out of the many application that are free, many depend on the advertisement (most websites that are not themselve eCommerce), many sell your profile to ads companies and a good share of the open source libraries available are backed by big companies that are not just giving away their work and expertise. A good open source API often lack some key feature that is only available in the (quite expensive) paid version or is so complex to configure that you need a team of people working on it to get anything actually working with great results. Google before and now Yahoo pay Mozilla so they are the default search engine and they depend on good browser to be available on the web for their own survival. Eclipse, a very advanced IDE cost IBM billions, but they made it as a enabler for selling java software... Many companies contributing to the Linux kernel sell support for their own distribution...
A very small software, mostly bult on top of what already exist can easily cost a few millions for something quite basi and the price goes on exponentially as you refine it.