Total Hits: 774937
|Past 7 days: 767 hits|
Well, it was finally announced today, the long rumoured Apple Tablet, the iPad. To be honest, I was quite disappointed. Mostly because of the price, but also by some of the underwhelming specs of the device itself (especially the iPhone OS part, lack of multitasking, and the continuation of the orphan button philosophy). But that’s not what this post is about.
The most interesting part for me in the whole announcement shebang is that the iPad runs an ARM powered system-on-chip (SoC) manufactured by Apple-owned P.A. Semi. I’ve wrote before about P.A. Semi when they announced their PWRficient processors back in 2007. The PWRficient was basically the only piece of silicon announced by P.A. Semi before being acquired by Apple in April of 2008. Now we’re hearing that the P.A. Semi designed SoC in the iPad around ARM architecture.
This, to me, is very significant in more than one way:
1- This is the first piece of silicon designed by Apple. This is a significant strategy shift from Apple that will go beyond the iPad. Entering the silicon design business is certainly no cheap endeavour and if Apple is to recuperate its investments it will have to sell a hell lot of chips to justify the investment.
2- Apple chose to ditch P.A. Semi’s PowerPC ISA in favour of ARM. Licensing an ARM core is certainly no cheap thing.
3- The SoC in the iPad also includes an OpenGL ES 2.0 Graphics Processing Unit (GPU) licensed from Imagination Technologies (which confirmed Apple as a licensee back in December 2009), another not-so-cheap thing.
These three notes amount to a significant investment from Apple in a market that is VERY competitive. ARM said that in 2009 there were 1.1 Billion devices shipped with an ARM powered processor. The profit margins for such SoC’s are already very low, and unless you manage to ship very high volumes it just won’t be profitable.
My bet is the next iPhone/iPod Touch will run the same Apple SoC we just saw in the iPad. Probably tweaked a bit for lower power consumption to cope with the stringent power requirements of a phone. This in turn, raises another question. What other changes will the next iPhone bring to make it the next hot item that everyone wants to get (including current iphone owners)? Technically, apart from the clock speed bump, the Apple A4 is very similar to the SoC in the current iPhone 3GS, so that won’t be enough to justify upgrading for must current 3GS owners. 4G is nowhere near seeing wide deployment this year, let alone having low power chipsets that are suitable for such phones, so it won’t be that. WiMax doesn’t have large market penetration, so that neither. CDMA is mostly irrelevant outside the US (and a few Asian countries, where the iPhone doesn’t enjoy the success it enjoys in the US and Europe). So, what will the next iPhone have to offer that will best the current 3GS???
But lets assume Apple manages to cram something that will make the next iPhone the must have item that the previous ones were, even if we assume 20M units sold annually, I don’t think it will be enough to justify the investment that went to develop this chip in house, not to mention manufacturing costs, instead of sourcing it from someone else (like Samsung, as in the previous iPhones). I doubt the iPad will see any success similar to what the iPhone is enjoying in terms of sales. The Apple A4 will have to go in many more high volume devices to be able to compete, in terms of cost, with sourcing similar offerings from Samsung, TI, or Marvell. With Apple being Apple, I doubt they’ll sell the chip to other companies for use in 3rd party devices.
So, what other Apple devices will we see that will use the Apple A4 to justify all the money that went into making this chip???
Does it really need any additional comments?
On the eve of hitting 200k hits on my blog, WinSIXAXIS 18.104.22.168 is out. This new release adds a monolithic installer that installs both Libusb-win32-filter and PPJoy during the WinSIXAXIS installation process. It also automates the creation and maintenance of the PPJoy Virtual Joystick and its axes mapping to work properly with WinSIXAXIS.
The new release is available on
In memory of the good days back home in Baghdad…
I’ve written a small application that uses libusb-Win32 and PPJoy to allow the Sony SIXAXIS joypad to work under windows with motion tracking; mapping rotation along the roll and pitch axes as normal joystick axes under Windows. To download WinSIXAXIS, and read the instructions on how to install go HERE
Unfortunately, it seems that the gyroscope in my SIXAXIS joypad is defective. So, while WinSIXAXIS is able to read the gyro data, its not mapped to any joystick axis under windows, as I’m not able to properly calibrate it or use the data in any meaningful way. So for now there’s no Yaw tracking.
To calibrate your SIXAXIS to WinSIXAXIS, go HERE
A Very big thanks to Carl Keener for his generous help in explaining how to communicate with the Sony SIXAXIS using libusb-Win32. Without Carl’s help, this application wouldn’t be possible.
Before starting to use the WinSIXAXIS to track SIXAXIS attitude, it is important to calibrate the application to the SIXAXIS the application is talking to.
To do that, double click (or right click, and select restore) on the WinSIXAXIS icon in the system tray. This will bring up the WinSIXAXIS window.
Make sure WinSIXAXIS is tracking your SIXAXIS joystick by tilting it front, back, and sideways. If WinSIXAXIs isn’t tracking, press the PS button on your SIXAXIS.
To start the calibration process, press the the Calibrate on the WinSIXAXIS window.
Now tilt your SIXAXIS around the roll and pitch axes to get the accelerometers maximum and minimum ranges as shown in the video below:
Once you have finished tilting the SIXAXIS as shown in the video above, click the Ok
To hide WinSIXAXIS window, double click on the WinSIXAXIS icon in the system tray, or right click the WinSIXAXIS window and select Minimize.
The calibration process has to be done only the first time you plug in your SIXAXIS, or if you plugin a different joypad. WinSIXAXIS will remember the calibration data even after it exits or after windows restarts.
To reset the calibration data, just click on the Reset Calibration button. Then you can re-calibrate your SIXAXIS.
It’s been about four months since Casio showed the prototype of its high speed digital camera last August at IFA in Berlin. Now Casio has announced they’re going to push this to production as the EXILIM Pro EX-F1. This is the most exciting amateur camera I’ve seen in a long time.
The camera is based on the Sony IMX017CQE 1/1.8” CMOS sensor announced back in February 2007. This sensor is kind of a “light” version of the Sony 12.5MP APS-C IMX021 sensor used in cameras like the Sony Alpha A700 and Nikon D300.
The design of the CMOS sensor used in the EX-F1 is very interesting. Not only is it a CMOS sensor, as opposed to CCD sensors used in most consumer cameras, but it also integrates some really nice features. Some of the sensor’s highlights include on die A/D converters, 12-bit column A/D converters (operating at 10-bit resolution at higher than 15fps), and a 432MHz LVDS interface. Worth noting here are the column A/D converters. This feature allows the sensor to output captured images at the full 6MP resolution at an amazing 60fps. That’s about 425MBs per second of raw pixel data!
Casio aren’t saying much about the image processing engine they’re using in the EX-F1. It sure is a smart design, but I doubt there’s any ground breaking technology here in terms of image processing speed. The mere fact that the EX-F1 is a consumer camera means the Casio engineers don’t have a large R&D budget (when compared to professional DLSRs) or designs that require expensive manufacturing processes.
To get an idea how much processing power is required to crunch through all the data the Sony sensor can cram out, take the Canon 1D Mark III as an example. With its 10fps 10.1MP sensor outputting around 170MBs per second, the camera needed TWO full fledged DIGIC III processors to be able to go through all that data in realtime. I don’t think that Casio was somehow able to design an ASIC that is several times more powerful than the Canon DIGIC III processor used in the $5,000 MarkIII yet cheap enough to make for them to be able to cram it in a sub $1,000 camera.
So, how did Casio manage to do it?
I think the answer lied in the mini site Casio had for the prototype. Unfortunately, now that the camera has been officially announced, that mini site has been pulled down.
Within that site was an image of the image processing board for the prototype of the EX-F1. On that board, one could clearly see the image processing ASIC surrounded by two other chips. I think those chips were DRAM chips. Most probably two 2Gbit (256MB) DDR DRAM chips.
My theory is that the Casio engineers used a large DRAM buffer to achieve the 60fps at 6MP capability. Using a large DRAM buffer is a very cost effective way of achieving the high performance of this camera. By Buffering the entire burst of images allows the processing engine to take its time to go through the buffered images, process each one into a JPG, and then store it on the SDHC card. My theory is further strengthened by the fact that Casio stated the camera can sustain the 60fps rate at full esolution for only 60 frames. A 1 second burst would fill around 425MBs of a 512MB buffer. Which if true, leaves some 87MBs available, which is plenty for processing each buffered image and the housekeeping functions of the camera firmware.
Funny enough, when capturing video (even high speed video) the image processing engine has to handle less data than when capturing images at its full resolution at 60fps. When capturing full HD video (1080p@60fps) the engine has to handle around 356MBs per second of pixel data. When capturing 512×384 video at 300fps it has to handle around 211MBs of data per second. When capturing 432×192 video at 600fps it handles around 178MB per second. And 138MBs per second when shooting 336×96 video at 1200fps. That’s 83.7%, 49.6%, 41.9%, and 32.8% respectively of what the image processing engine handles at 6MP resolution at 60fps.
However, when capturing video, the engine doesn’t have to go through the grueling debayering algorithms used when capturing still images. This is because the sensor is outputting at 2×2 or 3×3 line readout. So debayering becomes a trivial task. There’s still the task of compressing the video stream, but that’s not much of an R&D problem, as there already are quite a lot of HD video compression engine designs the engineers can choose from. And because of the reduced resolution the higher the frame rate goes in video, the actual workload on the image processing engine would actually be reduced the higher the frame rate goes.
I doubt we will be seeing a similar camera based around the Sony IMX017CQE sensor from any other major camera brands like Canon, Nikon, Pentax, or even Sony. Not because of any technical hurdles that would prohibit the development of such a camera, but because such a camera would be competing directly with those brands’ entry level DSLRs. Casio can afford to make such a camera simply because they don’t have to worry about eating away from the sales of any higher model they have.
I can’t wait until this camera hits the store shelves. And I’m positive that once the price goes down a little(estimated initial retail price is $999), this baby will be one hot seller.
God, its been about four months since the last time I posted anything here. There are lots and lots of things I’ve been meaning to write about, but didn’t have the time to sit down and write any of them.
Anyway, a few months ago I setup a mirror of my proxy at another domain I own. The mirror is located at http://proxy.ainarts.com.
Any Joost users who are willing to share an invitation to Joost with me?
If you don’t have Joost, but would still like to join, leave a comment here. Once I get in, and get some beta invitations, I’ll start giving them away to anyone who registers and leaves a comment.