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


View All Comments

  • fokka - Wednesday, March 26, 2014 - link

    same here. i had hoped they keep it the same size and the bigger screen will be compensated by the on screen buttons. but seeing this huge black bar with the htc logo under the screen just about puts me off considering the new one is almost 1cm taller than the old.

    the problem is now that the m8 is here i would also feel dumb for buying an m7, the battery and sd slot alone are big selling points for me. but man is this thing big...
  • madwolfa - Wednesday, March 26, 2014 - link

    Remaining happy camper with my M7.. M8 is not a worthy upgrade for me.. Guess shoulda wait for M9. I have another year of contract anyway. Reply
  • hangfirew8 - Wednesday, March 26, 2014 - link

    My feelings as well, the M8 is a good fast phone, but I'm happy with my fast-enough M7. I still wish for a better still camera but the video is indeed good and it looks like we'll have to wait for the M9 to get the 6-8MP we need to make UltraPixel both sensitive and detailed. Reply
  • puremind - Saturday, March 29, 2014 - link

    Take the new HTC One Mini. It will probably fit thebill Reply
  • hangfirew8 - Saturday, March 29, 2014 - link

    Considering how much less the original Mini was compared to the M7, I doubt the new Mini will be better than my M7- which would make it better than the One M8. Reply
  • UltraWide - Wednesday, March 26, 2014 - link

    HTC needs to make sure to follow up with prompt Android updates and not drop support for phones like the ONE X+, etc.
    At the end of the day, I will probably check out the HTC One M8, praise it for all the great points highlighted in this article and just buy the Galaxy S5 because it makes less sacrifices in the name of design.
  • tipoo - Wednesday, March 26, 2014 - link

    They did really well with 2013 One updates, I don't know as much about the One X but I think that got pretty good update speeds too. Reply
  • sigmatau - Wednesday, March 26, 2014 - link

    "HTC clearly saw design where others were more focused on cost optimization."

    Not sure if that matters when "cost optimization" is not passed on to the customer. When they came out, the Galaxy S4 cost more than the HTC One.
  • Death666Angel - Friday, March 28, 2014 - link

    That's almost solely a function of hype/demand. After the great success of the Galaxy S2, Samsung had its bed made and simply needed to offer the new phone with everything a bit improved. Because of HTCs horrible marketing and naming scheme, they didn't have the same level of branding, so their new releases aren't nearly as covered, hyped and sought after.
    But as I said in my own comment, now the HTC M7 is the priciest of the former flagship phones, coming in at 410€ for the 32GB version, with the other brands bein 300 to 330€ for their 16GB versions. If you compare like to like, it is a bit closer.
  • hangfirew8 - Saturday, March 29, 2014 - link

    Savings from the cost optimization goes into Marketing. Reply

Log in

Don't have an account? Sign up now