Camera Architecture & Duo Cam

The last HTC phone I used with two rear facing cameras was the EVO 3D. Thankfully the M8 One doesn’t fall victim to the 3D fad of the early 2010s. I remember seeing Intel demos years ago (think Moorestown timeframe) that showed a smartphone with two rear cameras, each with a different lens system, in order to computationally improve image quality. Unfortunately, the M8’s Duo Cam system doesn’t go that far either.

HTC One Cameras
  HTC One (M7) HTC One (M8)
Front Camera 2.1MP 5.0MP
Front Camera - Sensor OV2722
(1.4µm, 1/5.8")
S5K5E2
(1.12µm, 1/5")
Front Camera - Focal Length 1.59mm 1.83mm
Front Camera - Max Aperture F/2.0 F/2.0
Rear Camera - Sensor ST VD6869
(2.0 µm, 1/3")
OV4688
(2.0 µm, 1/3")
Rear Camera - Focal Length 3.82mm (28mm eff) 3.82mm (28mm eff)
Rear Camera - Max Aperture F/2.0 F/2.0
Secondary Rear Camera - Sensor - OV2722
(1.4µm, 1/5.8")

The architecture is pretty simple. The primary shooter is still the 4MP UltraPixel camera from last year, without optical image stabilization (more on this later). The secondary sensor is actually the front facing camera module from the M7 (OmniVision OV2722, 1080p sensor with 1.4µm pixels).

Assuming you’re shooting in the right conditions, both sensors capture an image although only the image from the primary sensor is displayed. The second sensor captures what appears to be a wider field of view, as well as stores some depth information about the scene. This added data is stored outside of the normal address space for a JPEG file, and allegedly in a non-readable format (although my guess is with enough time you’d be able to extract the secondary image).

Images captured with Duo Cam enabled end up being around 60% larger than those shot with the rear sensor alone. Around 40% of the added file size is due to the secondary 1080p image, while the remaining 60% of the data is depth information.

HTC uses this depth information to enable a number of post processing effects that can be done on the One itself. Simply take a picture using the rear facing camera, tap edit, then effects and you’re presented with a list of all of the Duo Cam effects available on the One.

UFocus allows you to change the part of the scene in focus, either using the focus plane of the primary or secondary sensor. This isn’t completely open ended where you can selectively focus on anything in a scene. Instead, you’re basically toggling between focus captured by the primary or secondary sensor with the rest of the scene computationally put in/out of focus from what I can tell. In portraiture you end up with simulated bokeh, giving you heavily blurred backgrounds while keeping your subject in sharp focus. I was sitting across a table from Scott Wasson at a coffee shop and decided to snap a photo of him. Then I fired up UFocus, tapped on his face, and in about a second I had a processed result. I've embedded both images below, click on the buttons to toggle between the two images:


It’s an awesome effect, something that would take considerable time in post normally (not to mention time on a PC). You’ll notice the effect isn’t perfect though. Pay attention to the top of his left shoulder (on the right side of the image). There are clearly some difficulties determining boundaries between foreground and background. Scott then turned the camera on me. With my back to a scene with more depth enabling UFocus around took much longer to process, a matter of a few seconds. The result was even more impressive:


Here I’m clearly separated from the background. You can see some of the limitations of UFocus here as I’m not the only subject in focus. The table to my right is also in focus. It’s still impressive, and something that would be very difficult to do with manual editing (without multiple exposures).

UFocus is easily one of the most compelling applications for the Duo Cam. There’s no real flexibility with the feature though. Moving focus to the background is basically useless. And you can forget about using UFocus for anything other than a portrait. In most other scenes you end up with awkward focus boundaries.

Foregrounder is a pretty neat effect. Similar to UFocus you select a subject to be the focal point, but instead of blurring the rest of the scene HTC uses the depth information to apply shading effects to the rest of the scene. The result can be pretty dramatic if you’re shooting the right scene.

I came across this burrito shop in downtown San Jose, home of the Burritozilla:

The scene itself made for a great photo, but have a look at what happens when I use HTC’s Duo Cam to select the sign and apply an effect to everything physically behind it:


In the right scene the effect can be pretty cool.

Seasons is a bit cheesier although I can see it being quite popular with some folks. Here HTC uses the depth information as well as the image from the second sensor to create a panning effect through a scene while computationally adding in some element of a season (e.g. falling leaves or oversized snowflakes). The effect is best shown off in a video:

Dimension Plus uses the second sensor to enable a parallax effect on a given scene, allowing you to tilt the One in any direction to manipulate the effect. Unlike the other effects, this one can’t be easily exported to a video or other commonly used file format.

Stickers let you apply props to an image:

Copy and paste lets you quickly copy a person from one image and paste him/her into another. Even here, HTC is using the depth information captured from the secondary sensor to quickly separate the subject from the background. Typically these types of functions involve the user manually selecting the area of interest, here HTC is using the second sensor and a bunch of compute to do that for you. In practice even HTC’s Duo Cam approach requires user intervention, but not a ton if you’re fine with sharing an unpolished image. I figure many of these effects have pretty high comedic value, so something that’s a little less polished likely isn’t a problem.

Applying any of the Duo Cam effects is non destructive to the source image. You can cancel at any time, and hitting save creates a copy of the image - the original always remains intact (images with effects just get a numerical suffix e.g. _2).

There are a number of situations where Duo Cam won’t work. If you cover up the secondary sensor you’ll get a warning, but you’re still able to take shots. I’ve found the secondary sensor is pretty sensitive to things even partially occluding the image. The less obvious situations where Duo Cam disables itself automatically make sense when you think about the architecture of the setup.

Very low light and macro photography both disable Duo Cam. In the former case you’re dealing with a fairly small 1080p sensor that likely becomes useless as noise levels rise. In the latter case, there’s just nothing left for the secondary sensor to do. Burst mode also disables the second sensor, probably because all of the ISP’s bandwidth is being used for delivering throughput for the primary sensor and can’t be split between the two. Dual capture (front + primary rear sensors in tandem) disables Duo Cam, probably for the same ISP limitations. Finally, Duo Cam also won’t work if the flash fires.

I can see many of the Duo Cam effects being fun things to play around with. I originally wrote them off pretty early on, but just in writing this section alone I can see them resonating very well with some users. They are fun. The good news is that most of the Duo Cam effects can be shared as simple JPEGs or videos with anyone, the bad news is they don’t really do much to further improve image quality. And ultimately that’s one of the biggest challenges with using the M8 to further increase marketshare at the high end.

Introduction & Hardware Return of the UltraPixel
Comments Locked

222 Comments

View All Comments

  • Johnmcl7 - Sunday, March 30, 2014 - link

    Because there is no such thing as an absolute phone - everyone has different preferences and the market reflects that. I much prefer Samsung's lighter and durable plastic construction which can hold up to daily use and allows a removable battery rather than HTC's heavier metal cases which if used without a case easily pick up scuffs and scratches making them look decidedly second hand within a matter of months.
  • w2aith - Friday, March 28, 2014 - link

    Fantastic phone. Good weight, great hand feel. Faster than I expected. Camera is unimpressive, but that is not what i look for in a phone. Sound quality from the speakers on the phone is the best I've heard.
  • Death666Angel - Friday, March 28, 2014 - link

    "There’s nothing more to say other than I’m disappointed."
    Golden! Is it wrong that I read that in my head in Jon Stewart's Jewish Mother voice? :D
  • Death666Angel - Friday, March 28, 2014 - link

    Just finished reading your review.
    Feeling kinda underwhelmed by the M8. First off, I don't really care about the all metal design of a phone. I can appreciate that for all of 2 seconds before I put a plastic case on it and never see the body again unless it is for cleaning. So that advantage is lost for me. I want to like the camera and I kinda do. But 4MP is too low for me. Decrease pixel size, increase the sensor size a bit and give me 6 or 8. I don't need 13MP at 1.12 (?) um, but 4MP@2um is just not good enough, especially as a follow up to that same camera. I don't do that much low-light photography either, but I've used my SGS2 as a camera on holidays when my point and shoot was low on batteries, so outdoor pictures are very important. Losing OIS is an astonishing move and puzzles me greatly. The 801 is looking pretty cool, the mSD card helps, but those aren't unique features. For the price, the display needs to be calibrated better (although I also don't care much about that). I don't really care about the sound of a phone because my usage model does not involve playing anything without headphones plugged in.
    The old M7 is still ~70 to 120€ more expensive than any of its competitors phones (Nexus 5, LG G2, SGS4, Xperia Z, not comparing the same capacities, because I am fine with 16GB on my phone), so I don't think the new M8 will be a price competitive offering. I don't see myself being impressed by the SGS5 either. Note 4 maybe? Haven't heard too much about it. But any smartphone that costs over 400€ needs to offer some serious advantages to get me to consider it instead of a Nexus.
    If Nexus 5.2 gets a bigger battery, marginally faster SoC at better power characteristics and a better performing camera (1.4 - 1.7 um with 6 or 8MP image and OIS and a 4 or 5MP front facing camera), I'll be a happy boy and upgrade from my Galaxy Nexus.
  • tvandegr - Friday, March 28, 2014 - link

    Do we know if the Developer edition or the unlocked edition support carrier aggregation? They seem to be based off of the ATT model from what I have seen other places.
  • skylinkdave - Friday, March 28, 2014 - link

    You know what's even more fun than a fiddly phone camera? A real camera that's able to do all of this in-camera without all the post.
  • ol1bit - Saturday, March 29, 2014 - link

    As always, Anandtech is spot on with the review. Good Job! Just read some of the other reviews for comparison.
  • pdc200 - Saturday, March 29, 2014 - link

    Hmmmm so what happened to reviewing things like Call Quality, Boomsound Quality and loudness? Quality of Audio from the Headphone jack?
  • ghm3 - Saturday, March 29, 2014 - link

    I've been eagerly awaiting the Sony Xperia Z2 ever since MWC, and this review doesn't change that at all, but at this is clearly my next choice. The addition of a micro SD slot makes this far more appealing to me now.

    Either way I'm so done with Samsung's cheap garbage loaded with shitware you can't remove without cracking the phone. Beyond the hardware with the Z2 I'm really looking forward to the mostly un-molested Android build on it. Can anyone provide insight into how HTC is in this department?
  • thisiskicker - Sunday, March 30, 2014 - link

    Awesome It has a micro SD card expansion. This is what phones are now a days are missing.

Log in

Don't have an account? Sign up now