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")
(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")
(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


View All Comments

  • tipoo - Wednesday, March 26, 2014 - link

    I'm dying at the mustachioed Anand and the punk hat.
  • bj_murphy - Thursday, March 27, 2014 - link

    Yeah me too, that was my favourite part of the review, hands down!
  • tzhu07 - Thursday, March 27, 2014 - link

    HTC has a real-time 3D model of the M8. Pretty cool.
  • skingtech - Tuesday, April 15, 2014 - link

    This article helps convince me to go Samsung Galaxy S5 for sure. The M8 has a nice feature set - better built in sound and nicer look but, Samsung has better display, better camera, and comparable if not faster everything else (I don't know about you but, I put a case on my phone - the look of the device should be the LAST thing focus'd on for crying out loud.
  • dylan522p - Wednesday, March 26, 2014 - link

    I think those selfies may be the greatest thing ever!
  • KPOM - Wednesday, March 26, 2014 - link

    Nice review, as usual. I wonder if 5" is where phone manufacturers finally "stop" in terms of the "standard" phone size. Above that, and a small tablet paired with a 4-5" phone really is a better solution.

    If I were to get an Android phone, it would be an HTC. They should lobby hard to get a Nexus phone. With Google subsidies that might be what kicks their sales efforts into gear. Otherwise, I see the new HTC One in much the same light as the old HTC One: the best Android phone out there in terms of build quality and style, and one of the best in terms of performance, but a distant also-ran behind Samsung in terms of sales.
  • fokka - Wednesday, March 26, 2014 - link

    i don't think we reached the end of increasing screen sizes yet. the one just hit 5", in a relatively big body though, the s5 jumped to 5,1", also by increasing body size. the z2 is at 5,2" and the only phones seemingly at least trying to offset the big screen with small bezels are the g2 and note3.

    the next note will be 5,9-6" and the next round of flagships will be in the 5,5" ballpark.

    we can only hope for devices like the z1 compact to make top notch hardware available in more pocketable form factors.
  • Honest Accounting - Wednesday, March 26, 2014 - link

    Moto X: optimal form factor and minimal bezels.
    I think we'll end up with 3 'standard' sizes. 4.7", 5.5", and 6.3"
  • piroroadkill - Thursday, March 27, 2014 - link

    Yeah, Moto X is the right size.

    2.6mm shorter and 2.6mm narrower than my Motorola DROID RAZR MAXX HD. (Although the Moto X is thicker with a lot less battery!).

    I still think if I had to pick any phone available, I'd stick with the one I have. The new DROID MAXX is closest to what I'd want, but it has no microSD slot or HDMI out, which the HD has both of.
  • Jeffrey Bosboom - Wednesday, March 26, 2014 - link

    Can we get some remarks about audio quality? I use my phone for two things: taking pictures of whiteboards and listening to music. Given that my old EVO 3D's camera (and heavy JPEG compression) takes acceptable pictures, I think the ultrapixel camera will suffice. So if it also offers decent audio quality, I'll probably get one.

Log in

Don't have an account? Sign up now