Personal View site logo
Make sure to join PV Telegram channel! Perfect to keep up with community on your smartphone.
BMD Pocket Cinema Camera Stereoscopic Collaboration
  • After the success of our old Panny GH Collaboration, let's see if we can sync two BMD Pocket Cinema Camera (BMPCC) for stereoscopic 3D. I've got two on backorder (ETA 2 weeks), so I'll be able to run sync tests. If you're interested in shooting quality 3D on the Pocket or have one to try stuff on, join in!

    The Pocket is only $500 USD / £390 UKP this summer (very limited availability, buy now!) .

    Frame Sync is the big problem:

    Syncing two cams for 3D cannot be done in post - they need to be synced at the pixel level, ie. each camera should begin each frame at exactly the same time. In other words, this is a fractional-frame problem; but you can only correct whole frames in post (not counting pixel interpolators like Twixtor which can cause unacceptable artifacts in 3D).

    Pro cameras are synced with 'Genlock' - basically a connection between the two cameras that tightly synchronises frame capture. Without this, the cameras have a random gap between frame starts, anywhere up to 1/2 frame. So if you shoot 24p, the cameras will be randomly out up to 1/48th of a second, and you have no way to predict what that error will be at any given time. In 3D this is catastrophic, at least if there is any significant motion in the frame. The delay pushes moving objects forwards or backwards in 3D, and can also cause a weird shimmering effect. And forget high motion which looks awful.

    Solutions:

    1) hardware mod: do true genlocking by linking the cameras' capture timers or master clocks somehow at the circuit board level). This is perfect, but tricky/risky and requires skill and experience.

    2) Simul-power workaround (this is what we use on the Panny GHs, and works on many others): you power-up both cameras at exactly the same time (usually with external power and a dual-switch or a custom circuit). Many cameras synchronize their frame capture from a global running clock, which is initialised at boot and never changes. So it doesn't actually matter when you trigger record - the first frame capture is always locked to that clock (ie. it waits for the next frame 'slot' before starting recording). By simul-powering the bodies, those clocks start in sync on both bodies and frames are synced.

    we don't know if this works on the Pocket yet.

    Downside: as no two digital clocks run at exactly the same speed, the bodies slowly drift out of sync. How fast depends on how closely matched the bodies are - people usually try to get consecutive serial nos., hoping that the eletronics components are likely from the same batch and so a close match. My badly matched (2 month apart) GH2's are good for about 4-5 mins before the drift becomes bad. Apparently some drift far less. So you have to keep power-cycling.

    Problem: The Pocket only powers up when a button is pressed ('soft' power). It needs to power instantly as soon as external juice is on (one idea, permanently tape the power button down - does it work?).

    3) LANC. The Pocket apparently responds to the LANC 'record' command (but not power cmds). If we're really lucky and this resets the frame capture timers (unlikely), it might be enough.

    4) Firmware:

    If the capture timers are NOT reset by capture start, BMD could add this to a firmware update. Then LANC-initiated record would always start in sync (subject to gradual drift) - much nicer than having to power-cycle all the time. This might be super-easy for BMD to do.

    Of course some kind of true hardware sync option (maybe via the USB or LANC ports) would be best! BMD could probably do it if they wanted to - contact them if you want this: http://www.blackmagicdesign.com/uk/support (without demand it's unlikely to happen):

    Exposure / Zoom sync:

    Frame sync is the most important, but it would also be much nicer if exposure (iris, ISO, shutter-speed), focus etc settings could also be synchronised, ideally in real-time (one body acts as master, one as slave). Firmware or LANC command additions could do this.

    With the pocket's small size, ultra-light and compact SBS (side-by-side) 3D rigs are possible. With 'body stacking', you can even get the lenses as close as around 70mm! With Speedboosters and fast lenses you can do lowlight and shoot wide (my target), and you have 10bit ProRes and 12bit RAW. Let's make it happen!

  • 117 Replies sorted by
  • @gemuesesaft, I've actually only been on one shoot since my last post here, illness and other priorities got in the way and now I'm preparing for the Micro Cines. I'll throw a quick demo together soon.

  • _gl when will we see footage of your couple ?

  • Yeah, I think the applications for the Micro are gonna just blow up. There have been high quality cameras that small or smaller, like those used by Danny Boyle on a few films, but they cost as much as a Scarlet I'm pretty sure, and had to be tied to an external recorder I believe.

  • Cool, I've not seen T23D (UK bound), maybe someday I'll get to. + I like your hammerhead sharks analogy : ).

    But yeah the BMD cams give you amazing 3D quality for the money. Shame you have to hack the Pockets just to power them on together, no such problems on my old GH2 rig as they have real power switches, not software ones.

    If the Micros match the IQ and DR, and all the genlocking & remote control stuff works out in practice, they will be sweet.

  • The last time I worked with stereo film material it was around 1996 or so (T23D). I don't think the rig used was more sophisticated than a passive splitter. In some instances these rigs were mounted to motion-control cameras shooting miniatures so it had to be as light and compact as possible.

    The stereo consultant on that project juiced both the convergence and inter-occular on virtually every shot for maximum stereo separation. Reviews were often exhausting. So much of it is stereo designed for hammerhead sharks, I liked to say. His goal was to get items poking into the audience closer than some objects in the Captain Eo film at Disney which, at the time, was the benchmark for in-yo-face.

  • You mean from polarisation differences (the splitter rotates the polarisation of incoming light for one camera)? You should be able to work around this with a quarter-wave retarder, although I don't know how practical that is with common rigs?

    I also saw spectral differences from a similar mirror-based system, but you can usually grade around that. I don't have the full Resolve, but it has stereo colour matching (as does my own software LumaChroma3D, which I used to edit the above).

  • Yeah, some of the 35mm solutions used a beam splitter, either to two cameras or stacking eyes, one eye per two-perfs. You end up with some exposure variance in one eye but the brain is fairly forgiving in this regard and more or less averages them together.

    Interesting though about the jello. Have you tried it out to see if it falls apart? I ask because I'm doing some effects for this indie film where they used a complete shit pile of a camera that doesn't even record two whole streams of information for each eye, the right eye is stored as delta information, basically. There's all kinds of macroblocking and distortion and the incredible noise makes for this rainbow film at screen level. It's horrible and almost impossible to track to because nothing maintains geometric integrity it's so highly compressed.

    If this thing generates stereo that's acceptable to people I just wonder if a sometimes difference in jello would be such a deal breaker, but it's sometimes surprising what does and doesn't cause immediate fatigue.

  • Not possible without a global shutter, as jello would not match. If you maintain a minimum distance to the nearest object (I use ~3m) it works fine. Here is a sample from my old GH2 rig with similar interaxial (although people got closer than I wanted):

    ... or you can use a beamsplitter to get any interaxial (useful for larger screen projection).

  • That's a pretty crazy inter-occular you've got going in that picture. Have you thought about flipping your "left eye" around to better approximate something human?

  • How I hacked the Pockets for synced power-on - Part 2:

    .

    Now we need to switch on both cameras together. At first I made a more complex trigger with its own button and 2 MOSFETs. It kinda worked, but due to a design flaw (missing resistors) they triggered each other in strange ways.

    It dawned on me that it's much simpler to use a single MOSFET + 1 resistor. The idea is that you switch power directly on the master camera as usual. Its juice triggers the MOSFET, which allows the 2nd camera's own power to flow through it (a MOSFET is an electronic switch). As MOSFETs switch very fast, they both switch on (and off) together.

    Works great and is simple to make (see pics). Parts:

    . -2SK4033 (N-channel MOSFET, logic level, should support 20+Volts comfortably)

    My part is surface-mount, so tricky to solder (larger DIP style ones are available), but low-profile & fits Perfboard nicely.

    • ~360 ohm resistor.

    .

    Results:

    Sync (measured with my own LANCdrift3r) often show 1ms or less sync error. However sometimes it's way out, so may have to switch on and off again. Not sure yet what the cause is, it may be battery charging state, power state, SD card, or the cam may still be busy behind the scenes after the screen switches off (possible, as waiting a few seconds helps). However it works most of the time so very usable.

    On mine the error typically is < -1ms, and then it gradually drifts towards zero, which is ideal. YMMV.

    . Note: due to the way the Pockets scan the power button (badly), sometimes one cam turns on/off and the other doesn't. Just hold the power button for a few seconds, then both will be off together.

    first circuit.jpg
    640 x 547 - 52K
    SyncPCB-front.jpg
    640 x 809 - 46K
    SyncPCB-back.jpg
    640 x 728 - 60K
    SyncCable.jpg
    640 x 408 - 25K
    final circuit (corrected).jpg
    1136 x 1080 - 156K
    SyncedPocketsHI.jpg
    1920 x 1203 - 175K
  • How I hacked the Pockets for synced power-on - Part 1:

    .
    (warning: at your own risk yada yada, soldering experience required, solder the camera button as cool as possible, and don't solder the other parts while connected to the camera!).

    .
    How to open (not mine, take the lens off first):

    .

    I first looked at the small PCB that holds the front panel buttons. Impossible to hack for me, no easy solder access and damage risk too high. I tried to get all this done the night before an important shoot, so I was stuck.

    Then I found button SW5 on the main PCB - this is a duplicate of the front panel power button, and is used for testing the board. And it has exposed legs that you can solder to!

    See pics, you want to solder a wire at the bottom (either side, positive) and top (ditto, negative). Surprisingly the button caries whatever the power voltage is - so with external 12V connected, it gets 12V (would have expected a consistent regulated voltage there).

    I squeezed the cables into a tiny gap at the side, and secured them there and at the solder point with hotglue. Don't want them coming loose later. They then come out between the rubber and metal body (could cut the rubber for a cleaner finish).

    I soldered standard 3.5mm stereo (headphone-style) sockets to my wires. This way the cameras can be disconnected + commonly available extension cables can be used for wider interaxials.

    Next, the switch ...

    wire1HI.jpg
    1920 x 1280 - 320K
    wire2HI.jpg
    1920 x 1280 - 317K
    hotglueHI.jpg
    1920 x 1280 - 261K
    reassemblyHI.jpg
    1920 x 1280 - 498K
    reassembledHI.jpg
    1920 x 735 - 297K
  • Hey @gemuesesaft, what were your results? Illness knocked me out for a while, but power-hacking the cams gets me ~1ms or better sync error clips now (details later). It's still a good solution for many things, and I'll be doing more shots with it soon.

    But yeah, the Micro Cines look perfect on paper (I've got two on pre-order), we'll have to see how the footage turns out and how exactly genlock works out in practice (talking to BMD about it). Hopefully BMPCC Speedboosters will work on it, also does it actually give 13 stops in Global shutter mode (usually global shutter modes are less sensitive)?

    Also they don't have built-in screens, so you need a monitor. I'm just writing software that can turn a Windows tablet (or laptop/PC) into a 3D and 2D monitor. I'll post more details soon, but I'm planning full touchscreen remote control of the Micro cameras, anaglyph previews etc. That means a battery powered tablet can run the entire rig + do everything else a Windows device can.

  • @gemuesesaft

    An idea whose time has come, hmm?

    Sadly, I needed the camera to be 64mm or less (and 4k) for my purposes...

    At least it will be great for traditional cinema use.

  • Hey, We powered on the cameras at the same time manually, the lanc controller shows the drift via LED. Then we hit record at the lanc controleler. BUT ITS ALL OBSOLETE NOW ! Check this out: https://www.blackmagicdesign.com/de/products/blackmagicmicrocinemacamera It has freakin GENLOCK and GLOBAL SHUTTER.

    ALL Problems solved. I recommend putting back together your BMPCC as fast as you can and sell it!

    cheers

  • I've cracked the cams open. I'll post some news about that (no clock syncing yet) when I get some parts I need to check my results. In the meantime, here's a high-res pic of the main board.

    I'm particularly interested in the silver package right above the FPGA, that's probably its clock oscillator. Luckily it's also one of the few components with legs & large enough solder points that I could hack - most of the other components are impossible (for me anyway).

    I can't find anything on its marking though (not even via image search):

    300844
    ACV03W (or 3OW?)
    1420

    1420 probably refers to 1.42/14.2/142MHz. Anyone?

    Pocket Main Board (front).jpg
    5376 x 3070 - 2M
    poss. clock IC.jpg
    1596 x 1584 - 628K
  • @gemuesesaft I missed your post, sorry. How did you use that LanC controller? The Pocket does not support power-on via LANC (unfortunately). If you just used it to start record on both cams (like I do on my own controller) that doesn't give you sync unfortunately, the error will be random.

    I could use your help, see next post:

  • just read this after experimenting with 2 pockets in a sbs rig myself. We used this device http://www.3d-foto-shop.de/pi11/pd55.htm and it worked out well in 50% of the shots. however, shots with a lot of motion ( we shot some martial arts in front of greenscreen) are having non acceptable time drift and temporal artefacts. I find the idea of 2 BMPCC´s (or even 2 Blackmagics) very tempting for low budget 3d with still a good quality (ie RAW). Shame that BM says it sees no demand for 3d rigs. From what i see here, the option to genlock 2 cameras via usb wouldnt be that complicated for then to embed. At least, even gopro managed to do so. _gl please go on after this quest - if i can help, please tell me

  • Which bit is giving you trouble? And don't say 'all of it' : ).

  • All of that sounds really complicated to me ah ah ah :D I'm lost !

  • Yeah, LANC is in sync with the framerate, so any sync difference between the bodies is on the LANC signals as well.

    I figured out that you could actually use LANC to sync the bodies genlock style, but it would require firmware additions. I know how it could be done - you'd then just wire the LANC ports together & set one cam to be the master. Apart from frame sync, you could even sync all the parameters (exposure, focus, iris, framerate, WB etc) in real-time aswell (that just requires extra LANC commands for each param, which are super-easy to implement).

    If BMD would open up the firmware, it could be added fairly easily.

  • I guess you are limited by how often the lanc is polled.

  • Thanks @Pysco. It's running on an 8 pin AVR (Attiny) chip, code is straight AVR-GCC.

  • @_gl That control unit looks very good. What are you using as processing unit, an Arduino Micro?

  • For some early demo footage yes. But my plan is to try all available LANC commands next (which are unlikely to reset the clocks, record doesn't as expected), look for hidden ones, and failing that do a button mod to see if that will reliably reset the clocks. If a button mod works then I can verify its reliability with the drifter in the field.

    There may be some randomness in the clock reset. If I use LANC record to get the cams out of play mode, I don't get a reliable sync difference (well, there sometimes is a pattern to it, but not always). That doesn't necessarily mean that a button mod won't work, there could be some variability in the LANC response that you may not get with a hardware button mod.

    BTW, nobody responded to this

    "Can someone reproduce? Just toggle in/out of play mode - in ProRes it should pause/blank & flash the screen & change the native lens' aperture (that's the clock reset). In RAW it just instantly goes in and out here, no pause or visual glitches."