Personal View site logo
Make sure to join PV on Telegram or Facebook! Perfect to keep up with community on your smartphone.
Please, support PV!
It allows to keep PV going, with more focus towards AI, but keeping be one of the few truly independent places.
3D 3K 12-bit RAW camera project
  • 133 Replies sorted by
  • Intel QM87, Q87, or H81 ?

    This one I do not know. You need to make some market research.

  • Hi zcream

    with stereoscopy you should be very careful to keep the cameras genlocked as mush as possible. With CMOS this is more strict due to the rolling shutter. I don't know if the USB camera you propose can be genlocked at least at frame level, I suggest you make some research about it because conforming two images that are not synchronized is very difficult. Inter axis and convergence of the cameras are both important, and while you can play a bit with the inter axis in post, I think that your trick of keeping the camera steady and do the rest in post should be used more for reframing the two cameras for conforming reasons. Also cameras are 50% of your job. A good rig (with mirror...) and a conforming software are equally very important. Depending on your budget, I would suggest to hire an equipment right for your project. A couple of Scarlet and a Genius stereo rig are a good combination to hire. A recent firmware update lets you control the focus of both the lens with just one remote controller. I know you are missing the fun of writing your own encoder and experimenting with cameras, but stereoscopy has enough a lot of inherent problems without adding all the technological stuff that can goes wrong.

  • I did not know there was such a thing available.

    Sounds great!

    So we can look into making our own custom 4K RAW Cameras... :)

    Only the sensor size is a drawback.

  • @kino The 8-pin GPIO Hirose connector has Sync in and Sync out. The cameras can be genlocked. I confirmed this before buying the cameras. The cameras are small enough to be used side-by-side There will not be any toe-in - I will film parallel. Convergence will be decided in post. I will keep a strict depth budget. Nothing for 3m (10ft) in front of the camera.

    @fatpig large DOF is an advantage in 3D. You want to see everything in frame - ideally nothing should be out of focus.

  • Mini PC recorder options included the Gigabyte Brix, Zotac Nano and Intel NUC. The best option would be a quad core i7 with a HD5000 or higher gpu.

    Gigabyte II Brix with Iris Pro - http://www.legitreviews.com/gigabyte-brix-with-iris-pro-graphics-spotted-at-idf-2013_123498

    Iris Pro has a much higher TDP than HD5000 and does not offer any QuickSync encoding advantages. Ideally we need a mobile i7 quad core with HD5000 for optimal speed/power balance.

    In terms of CPU - Haswell i7 4650U seems like the best option.

  • Hi zcream happy to know you can sync the cameras. Convergence cannot be decided in post, it would require rebuilding part of the scene, only inter axis can be simulated in post. The factors to decide the inter axis distance is not only related to the closer object, but mainly on how much "depth" you would like to give to your scene. However I really suggest you to add a convergence feature to your rig. Sensors are small, so you probably will use a wide lens which helps you to keep a fixed focus. About encoding: I read you are looking for a lossy compression. If you are able to stand a raw format (maybe with some simple compression as RLE) I think it would be important to get a good stereoscopy. Compressing two different images could bring a different result that create disparity in the stereoscopic view. If you are interested in jpeg based comression, take a look at http://www.libjpeg-turbo.org/. It is optimized to use CPU vector instruction sets. This can be enough for your goal, considering also that jpeg encoding and decoding can only be in part parallelized using a GPU. This would avoid the need for a big GPU, just letting you to use a simpler embedded one.

  • With regard to compression, I-frame only h.264 compression is similar to JPEG. Only difference is that I-frame h.264 would be possibly wavelet-based. H.264 allows for a lossless profile as well.

  • @zcream

    All you need it raw compression. Good and fast one. I think you know the answer.

  • @Vitaliy_Kiselev I will try CF RAW as well as some other options. See what works out. My package got shipped today.

    VD allows I/O of RAW video - and if RAW2CFRAW - http://www.primehd.net/news/raw-2-cf-raw/ allows input via stdin, the problem is easily solved.

    @kino - "Convergence cannot be adjusted in post"

    This is an excellent description of adjusting convergence in post - some of it specific to AE. http://helpx.adobe.com/after-effects/kb/stereoscopic-3d-effects.html#main_Understanding_convergence_

    Is there something I am missing ?

  • A summary of where we are today - in terms of recording options.

    8-bit 4:2:0 - QuickSync

    8-bit 4:2:2 or 4:4:4 - libjpeg-turbo, AMV2MT or Utvideo or ffv1

    10-bit 4:2:2 - Cineform High or ffv1 PIX_FMT_YUV422P10

    RAW - Cineform RAW or Compressed DNG

  • While I await David Newman's response to the Cineform RAW SDK access query, I looked at Compressed DNG options. BMC already uses it in the BMPCC. It does reduce the storage slightly, and has the advantage of being readable in Davinci Resolve.

    dng4ps-2 is a CHDK project that converts RAW frames into a dng. One of the options is a compressed dng. More details here - https://github.com/crass/dng4ps2

    Ximea also offer a raw to dng conversion in its SDK. http://www.ximea.com/support/wiki/apis/RAW_to_DNG

  • I got the cameras. I used 2x 2 way Macro Shot Focusing Focus Rail Sliders from ebay ~ 10$ each. Now I have a sliding calibrated 3d rig that allows the cameras to move from IA of 32mm to 84mm. I reckon this covers interiors and exteriors quite well. I have no need for 3d macro shots or hyper-stereo. For comparison there is an ipod touch in front.

    2013-12-13 15.23.40.jpg
    1280 x 720 - 122K
    2013-12-13 15.23.54.jpg
    1280 x 720 - 136K
    2013-12-13 15.24.21.jpg
    1280 x 720 - 120K
  • @zcream

    Cool. Keep us updated.

  • I'm quite looking forward to seeing this progress. I looked at the flea cameras in hopes of building a rig capable of some higher frame rates. alas, life got in the way. I hope it works out for you.

  • Does anyone knows Soeren Mueller from bmcuser - http://www.bmcuser.com/showthread.php?2043-Little-raw-cam-side-project ?

    I think he got pissed off because some aggressive people took over his thread. I am keen on accessing his code for writing the frames as DNG. CinemaDNG offer lossless compression that may help a bit with disk space. Even a 2:1 compression saves heaps of space.

    The only free options for realtime compression seem to be lossy 10-bit YUY2 Cineform and lossless 8-bit UTVideo from within Virtualdub. The Cineform RAW options are only available for the paid version.

    I am not considering libjpeg-turbo as it only supports 8-bit, and at 8-bit I'd rather have lossless 4:2:2 or 4:4:4. 12-bit 4:4:4 MJPEG would be great - but the libjpeg-turbo authors are not keen on 12-bit support.

  • The elphel project has code to create DNG - and the people at the Field project came up with a makeDNG utility.

    http://openendedgroup.com/field/images/makeDNG.zip

    raw2dng - Magic Lantern as well - http://www.magiclantern.fm/forum/index.php?topic=5404.0

    ATM, I am trying to get my head around this.

  • Set of prime lenses. The crop factor on 1/2-inch lenses is about 6x. The sensor is 1/2.5" and we can realistically expect to capture only 3K - the final sensor size is slightly larger 1/3-inch after cropping. So, the crop will be about 7x.

    A 6mm lens will provide a normal POV on the 3K image and 8mm on the binned image from the total sensor.

    The Budget option is

    Ricoh C-Mount 6mm M Series 2 Mp Lens with Locking Screws 145$

    Spacecom JHF8M-MP VELA Series 2/3" Low Distortion 3 Megapixel Lens (8mm) 100$

    And for tele, a single 16mm is enough. I may buy 12mm as well since the lenses are quite cheap.

    Spacecom JHF16M-MP VELA Series 2/3" Low Distortion 3 Megapixel Lens (16mm) 100$

    Spacecom JHF12M-MP VELA Series 2/3" Low Distortion 3 Megapixel Lens (12mm) 100$

    All the Spacecom lenses are also usable with the BMPCC camera, which I have. The lenses, as with all lenses will have better lph ratings near the center.

    The Spacecom lenses have filter threads of 37.5 and the Ricoh at 35.5 I can realistically use the 2x cameras at a min. IA of ~ 40mm

    This is excellent for indoor filming.

    The Deluxe option - Kowa - http://1stvision.com/lens/kowa-lens.html

    Kowa LM6NCM - 1/2" 120lph at the centre 100lph on the periphery uncalibrated - 189$ new

    Kowa LM12JCM - in 2/3-inch but 120lph at center. 195/- new with uncalibrated Iris and Focus

    Kowa LM6NC3 - same specs for 3-CCD Calibrated

    Kowa LM12NC3 - same in 12mm for 3-CCD and calibrated - 375$ new

    Spacecom also offers 5MP lenses but they have 49mm filter thread. So the min IA is affected, the Kowa lenses have 37.5mm width.

    Hmm!!! Until I decide on the lens, I bought a 6mm 1.4 lens from AliExpress. It looks visually to be the same as the 120lph uncalibrated 6mm Kowa lens. Its rated for 3 MP. http://www.aliexpress.com/store/product/Manual-Iris-6mm-3-Megapixel-Machine-Vision-Lens-with-1-2-C-Mount/409940_798120701.html

  • As for storing the image data - I am currently gravitating towards usage of lz4 compression of the 12-bit raw image data. I am not sure if I want to pay for another Cineform license (my current license is on OSX). The Point Grey SDK has a simple example program that writes out the raw image data. It would be an easy job to link with the lz4 library - http://code.google.com/p/lz4/source/checkout and save it as compressed RAW.

    I will also build a batch CLI that will take this raw compressed data after filming and convert it to a compressed DNG after the video has been saved. The speed and scalability of lz4 is phenomenal!!

    If anyone here has used the Adobe DNG API, please help me! Their documentation is not the best, and there is little in terms of example programs.

  • Virtualdub has problems recording to Cineform. I cannot capture no matter what - the camera does get recognized if I register the DirectShow driver.

    Next option - tried to build the Flycapture SDK. The GUI is useless.

    Some notes :-

    Install

    Win 7.1 SDK .Net 4.0 VC++ Express 2010

    File -> New Project and select “Win32 Console Application”.

    “Win32 Application Wizard” -> Next ...next page select “Empty Project” under the “Additional options”.

    “Configuration Manager” -> “Active solution platform” -> “New”: x64 “Copy settings from” “Win32”.

    “Configuration Properties” -> “General”. In there we select as “Platform Toolset” “Windows7.1SDK”

    "Options" > "Tools" > "Projects and Solutions" > "VC++ Directories" > "Include files" C:\WinDDK\7600.16385.1\inc\mfc42;C:\WinDDK\7600.16385.1\inc\atl71;

    "Options" > "Tools" > "Projects and Solutions" > "VC++ Directories" > "Library files" C:\WinDDK\7600.16385.1\lib\mfc\ia64;:\WinDDK\7600.16385.1\lib\atl\ia64;

    Linker -> General c:\Program Files\Point Grey Research\FlyCapture2\lib64; C/C++ -> General c:\Program Files\Point Grey Research\FlyCapture2\include;

    “Configuration Properties > General > Output directory” $(SolutionDir)$(PlatformName)\$(Configuration).

    “Configuration Properties > General> Intermediate Directory” $(PlatformName)\$(Configuration).

    “Configuration Properties > Linker > Debugging > Generate Program Database File” $(ProjectDir)$(PlatformName)\$(ConfigurationName)\$(TargetName).pdb.

    Compile the project. If there are compile errors you may need to add the $(PlatformName) macro to other settings as well. For example, if there are user library files the macro may need to be added to “Configuration Properties > Linker > General > Additional Library Directories”.

    I renamed the FlyCapture2.lib to FlyCapture2_Windows7.1SDK.lib as the build needs this file.

    Status - Hello World compiled with FlyCapture SDK.

  • might as well make it 3d,3k,13bit,13 stops,3 in. disp., 3 card slots, 3 ND's and might as well just name the camera THR33. RED kept it simple lol

    Just kidding, but on a serious note, I thought 3d was kind of becoming a thing of the past...again...?

  • Just kidding, but on a serious note, I thought 3d was kind of becoming a thing of the past...again...?

    I doubt that it is "thing of the past". It is great tech, especially for amateurs. In fact all idea to ditch it in consumer cameras came from pros and from sponsored reviewers after companies realized that you need much more powerful LSI, 2x sensors and 2x lenses and still can't make 2x price :-)

  • Using virtualdub with flea3 -

    https://groups.yahoo.com/neo/groups/Flea3/conversations/topics/74

    how to use v-dub without lockups. You need to use FlyCap1.8 first, set everything up, then start up v-dub. If you only make setting changes in FlyCap, v-dub will not lock up and will collect avi data, just unclick the audio option.

  • Turns out that one can only access RAW12 by storing a sequence of RAW images within FlyCapture2 or paying for a Streampix 6 license with 1-7 cameras and Cineform RAW module.

    Streampix 6 with these options is worse than a ripoff, and no other version can access USB3 cameras.

    So we move to CF again - my previous approach failed as I was trying to modify the DPX2CF converter within the SDK.

    Turns out David Newman used RawSpeed some years ago as a frontend to a RAW2CF utility. http://cineform.blogspot.com.au/2010/11/camera-raw-to-cineform-raw.html

    However, the source file is linked to the old CF site, and I cannot locate it.

    http://cineform.com/downloads-other/rawspeedDLLsrc101028.zip

    If I can see this source, its a simple matter to integrate this within FlyCapture2 for a free USB3 to Cineform RAW solution. No one seems to post on this thread - but if you are one of the few who downloaded this, can you post this again ?

    I have also asked Cineform for this.

  • Here is the first update to FlyCapture2. The only way to capture RAW12 is using the image capture tab for a sequence of RAW images. When they say RAW, its actually RAW - no headers. Just a dump from the sensor.

    Download the FlyCapture2 SDK and build it with Visual Studio 2012. DO NOT install .Net 4.5 - and do not use the Express version of VS.

    Inside source, replace the files with the ones inside Flycap2.zip below. I have made minimal changes to their source.

    Now add the 2 classes in Settings+DNG.zip to this project. CameraSettings changes the defaults to something more useful before we start recording. I used the max unsable size for 12-bit RAW 25P (and 24P) - slightly larger than 3K video frames.

    The DNG files implement the save as DNG methods.

    This is still not working - the DNG headers are still messed up.

    IMO - its not worth the trouble to implement Cineform RAW ATM as there is insufficient documentation and I want a working system from this month for my next film.

    FlyCap2.zip
    27K
    Settings+DNG.zip
    10K