Digital Camera Systems was founded in early 2017 after identifying how beneficial accurate frame by frame lens data information could be to film productions. Utilising years of industry experience, DCS have created the Lens Data Translator and continue to grow and develop ways to get devices talking to each other.
This guide has been created as an overview to aid both decision making and practical use of the LDTs. It is broken down into Pre-Production, Production and Post Production to highlight the important information specific to these times. Job titles have been listed in each section’s heading to help navigate to the exact information required for that department.
A Lens Data Translator (LDT) is a device that captures the physical movements of a lens and converts it into a digital output. This output is then either written straight into the camera RAW files or recorded separately onto an SD card inside the LDT (LDT-R Series/LDT-F1 Models only).
LDTs record, in real time, frame by frame data from the focus, iris and zoom axes. This information is then available for post production, but also can be displayed during filming as a monitor overlay.
LDTs come in different models that are designed for specific cameras:
Lens Mapping
The process by which the physical information of focus, iris and zoom values from each lens are entered into either the camera or the LDT.
Lens Table
The collected values for focus, iris and zoom for each lens which can be stored and recalled when switching lenses.
Metadata
Metadata is data that provides information about an asset. They are divided into static metadata and dynamic metadata. It can be represented with a spreadsheet where “X” is the header (description of type) of the metadata and the recorded information points are listed below this header.
Static Metadata
This type of metadata never changes throughout the entire clip. Can refer to the container or to each single frame.
Dynamic Metadata
This type of metadata can change throughout the clip and is based on a frame level only. There is no limit on how much the data can change and potentially it could change for each frame of the clip.
Frame by Frame Metadata (FbF)
This is frame accurate metadata and can be dynamic or static but belongs to each single frame of a clip.
Metadata Stream
A metadata stream is a sequence of Frame by Frame Metadata. The name of the Metadata Stream is the name of the metadata header.
FIZ
An acronym for Focus, Iris and Zoom
Injection Recording
This is when the LDT passes the FIZ data to the camera and it is recorded into the RAW files.
Internal Recording
This is when the LDT itself records the FIZ values onto an SD card which can be accessed and merged later.
Axis
This is a term used to refer to the physical wheels that control the focus, iris and zoom on the lens.
Virtual Production
The use of software to create live visual effects during filming either via LED walls or green screen. This requires an interface with software such as Unreal Engine and Unity.
We recommend using an LDT for all cameras and lenses throughout the entire production.
We understand that productions may feel that the lens data is not required for all shots, however the system doesn’t work well when used on an ad-hoc basis. Although the setup is fairly quick, there is a certain amount of familiarity that is required from the camera department and using the LDTs during the whole shoot better supports the methodology required to deliver consistent results.
All LDTs work on a system of mapping lenses. For the LDT-A Series and LDT-M Series lens mapping is done in camera. For the LDT-R Series and LDT-F1, the lens tables are made on the device itself.
Lens mapping is a process of entering the physical marks of focus, iris and zoom for each lens as data points on the LDT or camera. It is important to allocate enough time to map all lenses prior to shooting. Depending on the lens itself each lens can take between 5-20 minutes per lens to map.
The maps must be completed before Lens Grids are shot and it’s essential the LDT is used and carefully checked when shooting lens grids.
Lens mapping is now always done via an LDT-R2, LDT-F1 or LDT-V Series.
If a production is using only LDT-A2 or LDT-M2 units, a free-of-charge LDT-R2 must be supplied for mapping purposes.
A guide to the mapping process can be found on the following guide:
Note: When using Internal Recording on an LDT-R2, LDT-F1 or LDT-V Series, multiple SD cards will be required so that they can be handed in with the rushes on a daily basis.
It is key to discuss pipelines before camera tests as every production will be slightly different. Below are examples of how data is handled by the different LDTs, and how to carry out a successful pipeline test.
The two different ways the metadata is recorded by LDT are:
Lens motors → FIZ Brain → LDT → RAW Files in Camera with FBF Data → FBF Extraction as CSV→ Merge the EXR Files with CSV Files
Lens motors → FIZ Brain → LDT → CSV Files on SD Card → Merge EXR Files with CSV Files
When using internal recording, timecode is required to merge the CSV files with the EXR files.
Once a pipeline is decided we recommend doing a test prior to shooting to ensure that all stages of the pipeline are functional and the metadata is accurate upon delivery.
A note on shooting test footage**
When shooting test footage, allow approximately one hour per camera type being used on the production. A test will involve recording the metadata (internally or injected) with a camera and recording a separate feed from the camera with an overlay to verify the data is correct at the final stage of the test. We recommend using a zoom lens (if any are being used during the shoot) in order to check all three axes.
To shoot a test:
An LDT can be very useful when shooting grid tests as the lens data required for this process is encoded with the footage.
In order to do this the lens mapping process should be complete for all lenses. Then calibrate the lenses and test the lens prior to filming grid tests Best Practice for Programming a New Lens Table
.
When filming a grid test with an LDT the normal procedure can be followed. However there is now no need to make a note of the lens, focus, iris or zoom information as all of this will be recorded by the LDT.
Once grid tests are finished the footage should follow the same pipeline that was decided upon and tested earlier. Once the metadata is merged with the EXR the relevant information will be easily accessible.
When using internal recording mode, timecode is essential for synching up the data. Timecode must be provided to the LDT-R Series and/or LDT-F1 as well as to a digislate or digital camera.
Data extraction should take place daily in accordance with the pipeline that will have been decided prior to shooting (see above). Depending on the LDT and camera combination this takes place in different ways.
Data is embedded in RAW files so will be included in the rushes. Metadata extraction will require pulling the CSV files from the RAW files. Below are links to how this is done depending on which LDT is being used:
The LDT-R2, LDT-F1 and LDT-V Series can record the metadata internally as CSV files to an SD card. The data is stored in a folder called “Clips” on the SD card. It is recommended that all data is backed-up before being handed in with the rushes.
Lens data can also be sent to monitors as an overlay during recording. This data is invaluable to not just the VFX department, but can be used by other crew members such as Script Supervisors, DITs, Camera.
Follow the links below on how to set this up for each camera type:
The LDT range is capable of streaming focus, iris and zoom data in real-time into Unreal Engine and Unity. This will allow lens changes in the real world camera to be reflected in the virtual set.
The LDT range is capable of recording and streaming data simultaneously so full functionality of the LDT is available during filming and in post-production.
All procedures and set-up is the same as recording data - lenses still require mapping, see Best Practice for Programming a New Lens Table
The only difference is the additional cable that runs from the LDT to the I/O card of the computer running the virtual filming software.
The metadata are collected as dynamic metadata, meaning each individual frame of any clip will have accurate FIZ data associated with it. Depending on which format is being used, the output file consists of a table of cells arranged into rows and columns and referred to by the X and Y locations. X locations are the metadata headers, Y is the data collected. The longer the length of the clip the bigger the size of the table.
Timecode is embedded in the .csv and is used to sync the footage.
LDT-A and LDT-M Series inject frame by frame lens metadata into the ARRIRAW files. This guide gives a breakdown on how the metadata can be extracted, where the LDT's phase its data, how they are stored and where they can be found.
ARRI META Extract (AME) is required in order to extract frame by frame data from the Arri ALEXA cameras. It can be downloaded from ARRI Website
On AME, select the Input File or Directory where your ARI or MFX files are located, select the Output Directory and run the extraction process by pressing the START button. AME will start rendering the CSV files.
The CSV file is a tab delimited type of file. The name of the CSV file is the name of the clip. The following is a list of the column headers that are used by the LDT-A and LDT-M series to write the metadata:
Below we also identify which data is expected to be dynamic (D) and which is expected to be static (S)
Header name | Metadata type | Description |
---|---|---|
Index |
(D) | An incremental number, one increment per frame starting from '0'. |
Master TC |
(D) | The timecode of the camera at that moment in time. |
Lens Model |
(S) | Displays the name of the lens, this name is user defined at the time of encoding. |
Lens Serial Number |
(S) | The serial number of the lens. This value is user defined at the time of encoding. |
Lens Distance Unit |
(S) | The unit mesure can be metric (mm) or imperial (inch) and is specified doring encoding. |
Lens Focus Distance |
(D) | Distance in the specified focus unit (1/1000 inch or mm) infinity mark is expressed with the value INF . |
Lens Focal Length |
(D/S) | Focal length in 1/1000 mm. Static value if prime lens have been used, dynamic value if zoom. |
Lens Iris |
(D) | Calculated regular T-stop value from the Lens Linear Iris value. T-stop expressed in 1/10. |
Lens Linear Iris |
(D) | Aperture in units of 1/1000 in linear range (log of optical aperture indicated on lens ring). |
Data size will vary depending on how many columns AME is set to extract, below there is an example of data size for reference. A CSV file extracted from an ARRIRAW file contans 2877 bytes of headers and ~1168bytes/frame of data, for ~4045kbps @24fps.
Here a three frames sample file:
Index Master TC Reel Scene Take Director Cinematographer Production Circle Take Production Company Location Operator User Info 1 User Info 2 Camera Clip Name Camera Family Camera Serial Number Camera ID Camera Index Camera SUP Name Camera Model Camera Product Camera SubProduct System Image Creation Date System Image Creation Time System Image Timezone Offset System Image Timezone DST Exposure Time Shutter Angle Mirror Shutter Running Sensor FPS Project FPS Master TC Master TC Drop Frame Master TC Time Base Master TC Frame Count Master TC User Info Storage Media Serial Number SMPTE UMID Recorder Type Vari UUID Image Width Image Height Active Image Width Active Image Height Active Image Top Active Image Left Full Image Width Full Image Height Color Processing Version White Balance White Balance CC WB Factor R WB Factor G WB Factor B WB Applied In Camera Exposure Index ASA Target Color Space Sharpness Lens Squeeze Image Orientation Look Look Burned In Look LUT Mode Look LUT Offset Look LUT Size Look Live Grading Flags CDL Saturation CDL Slope R CDL Slope G CDL Slope B CDL Offset R CDL Offset G CDL Offset B CDL Power R CDL Power G CDL Power B Printer Lights R Printer Lights G Printer Lights B CDL Mode Lens Model Lens Serial Number Lens Distance Unit Lens Focus Distance Lens Focal Length Lens Iris RawEncoderFocus RawLds RawEncoderFocus RawMotor RawEncoderFocal RawLds RawEncoderFocal RawMotor RawEncoderIris RawLds RawEncoderIris RawMotor EncoderLimFocusLdsMin EncoderLimFocusLdsMax EncoderLimFocusMotorMin EncoderLimFocusMotorMax EncoderLimFocalLdsMin EncoderLimFocalLdsMax EncoderLimFocalMotorMin EncoderLimFocalMotorMax EncoderLimIrisLdsMin EncoderLimIrisLdsMax EncoderLimIrisMotorMin EncoderLimIrisMotorMax Lds Lag Type Lds Lag Value Lens Linear Iris ND Filter Type ND Filter Density Camera Tilt Camera Roll Master Slave Setup Info 3D Eye Info Sound Roll Frameline Version Frame Line File 1 Frame Line File 2 Frame Line 1A Type Frame Line 1A Name Frame Line 1A Left Frame Line 1A Top Frame Line 1A Width Frame Line 1A Height Frame Line 1B Type Frame Line 1B Name Frame Line 1B Left Frame Line 1B Top Frame Line 1B Width Frame Line 1B Height Frame Line 1C Type Frame Line 1C Name Frame Line 1C Left Frame Line 1C Top Frame Line 1C Width Frame Line 1C Height Frame Line 2A Type Frame Line 2A Name Frame Line 2A Left Frame Line 2A Top Frame Line 2A Width Frame Line 2A Height Frame Line 2B Type Frame Line 2B Name Frame Line 2B Left Frame Line 2B Top Frame Line 2B Width Frame Line 2B Height Frame Line 2C Type Frame Line 2C Name Frame Line 2C Left Frame Line 2C Top Frame Line 2C Width Frame Line 2C Height Noise Reduction Version Noise Reduction Mode Noise Reduction Strength Noise Reduction Applied
0 10:28:25:09 A030R0EC C63 1 -- -- -- -- -- A030C001_190603_R0EC ALEXA65 516 R0EC A Alexa65X_3.0:43106 Alexa65 65 SXT 65 03/06/2019 11:24:34 UTC+00:00 +00:00 20.000 ms 172.8 N/A 24 24 10:28:25:09 no 24 904929 -- 28b07864050000e1 060A2B340101010501010F00-13-000000-E140EBC70000400086C0AA5700000000 Codex Digital;;sim2-3.1.0-05027 Valid Image E140EBC7-0000-4000-86C0-AA5700000000 6560 3100 6560 3100 0 0 6560 3100 5 3200 0 1.130168 1 2.144204 no 1000 LogCWGam 100 1 No flip ARRI 709 No 3D Look LUT 14295119 215976 Unchanged 0.89924 0.9654 0.90487 0.80423 -0.0163 -0.00392 0.02676 0.9097 0.92425 0.98351 0 0 0 CDL LogC DNA 45 A 22364 22364 Inch 166.628 45 2.8 + 6/10 -- 467 -- -- -- 384 105 4494 105 4797 -- -- -- -- 105 1273 105 1282 1 0 4554 No Filter -- -3.6 0.5 independent single TOG_010 1 A65_OG_239S_90C Master A65_OG:2.39:1_Scaling:90 328 313 5904 2474 Aux A65_OG:2.39:1_Scaling:100 0 176 6560 2748 Inactive -- -- -- -- Inactive -- -- -- -- Inactive -- -- -- -- Inactive -- -- -- -- 1 OFF -- OFF
1 10:28:25:10 A030R0EC C63 1 -- -- -- -- -- A030C001_190603_R0EC ALEXA65 516 R0EC A Alexa65X_3.0:43106 Alexa65 65 SXT 65 03/06/2019 11:24:34 UTC+00:00 +00:00 20.000 ms 172.8 N/A 24 24 10:28:25:10 no 24 904930 -- 28b07864050000e1 060A2B340101010501010F00-13-000000-E140EBC70000400086C0AA5700000000 Codex Digital;;sim2-3.1.0-05027 Valid Image E140EBC7-0000-4000-86C0-AA5700000000 6560 3100 6560 3100 0 0 6560 3100 5 3200 0 1.130168 1 2.144204 no 1000 LogCWGam 100 1 No flip ARRI 709 No 3D Look LUT 14300583 215976 Unchanged 0.89924 0.9654 0.90487 0.80423 -0.0163 -0.00392 0.02676 0.9097 0.92425 0.98351 0 0 0 CDL LogC DNA 45 A 22364 22364 Inch 166.628 45 2.8 + 6/10 -- 467 -- -- -- 384 105 4494 105 4797 -- -- -- -- 105 1273 105 1282 1 0 4554 No Filter -- -3.6 0.5 independent single TOG_010 1 A65_OG_239S_90C Master A65_OG:2.39:1_Scaling:90 328 313 5904 2474 Aux A65_OG:2.39:1_Scaling:100 0 176 6560 2748 Inactive -- -- -- -- Inactive -- -- -- -- Inactive -- -- -- -- Inactive -- -- -- -- 1 OFF -- OFF
2 10:28:25:11 A030R0EC C63 1 -- -- -- -- -- A030C001_190603_R0EC ALEXA65 516 R0EC A Alexa65X_3.0:43106 Alexa65 65 SXT 65 03/06/2019 11:24:34 UTC+00:00 +00:00 20.000 ms 172.8 N/A 24 24 10:28:25:11 no 24 904931 -- 28b07864050000e1 060A2B340101010501010F00-13-000000-E140EBC70000400086C0AA5700000000 Codex Digital;;sim2-3.1.0-05027 Valid Image E140EBC7-0000-4000-86C0-AA5700000000 6560 3100 6560 3100 0 0 6560 3100 5 3200 0 1.130168 1 2.144204 no 1000 LogCWGam 100 1 No flip ARRI 709 No 3D Look LUT 14299290 215976 Unchanged 0.89924 0.9654 0.90487 0.80423 -0.0163 -0.00392 0.02676 0.9097 0.92425 0.98351 0 0 0 CDL LogC DNA 45 A 22364 22364 Inch 166.628 45 2.8 + 6/10 -- 467 -- -- -- 384 105 4494 105 4797 -- -- -- -- 105 1273 105 1282 1 0 4554 No Filter -- -3.6 0.5 independent single TOG_010 1 A65_OG_239S_90C Master A65_OG:2.39:1_Scaling:90 328 313 5904 2474 Aux A65_OG:2.39:1_Scaling:100 0 176 6560 2748 Inactive -- -- -- -- Inactive -- -- -- -- Inactive -- -- -- -- Inactive -- -- -- -- 1 OFF -- OFF
The LDT-R Series inject frame by frame lens metadata into the Sony Venice RAW files. This guide gives a breakdown on how the metadata can be extracted, where the LDT's phase its data, how they are stored and where they can be found.
Sony Raw Viewer is required in order to extract frame by frame data from Sony Venice footage. It can be downloaded from Sony website:
https://www.sonycreativesoftware.com/rawviewer
On Raw Viewer go to the Export Tab, from format choose: CSV (Cooke Lens Meta). Save the setting as template.
Load the clip that need to be exported in the Task Queue and run the process.
The CSV file is a tab delimited type of file. The name of the CSV file is the name of the clip. Follow a list of only column header that concern LDT-R Series or where the LDT-R Series' data gets phrased:
Below we also identify which data is expected to be dynamic (D) and which is expected to be static (S)
Header name | Metadata type | Description |
---|---|---|
Index |
(D) | An incremental number, one increment per frame starting from 1 . |
Timecode |
(D) | The timecode of the camera at that moment in time |
Focus Distance(mm) |
(D) | Distance expressed in millimeters (mm). Infinity mark is expressed with the value inf . |
Aperture Ring T Stop Integer |
(S) | It uses one decimal place to express aperture. |
Current Focal Length(mm) |
(D/S) | Focal length expressed in millimiters. Static value if prime lens have been used, dynamic value if zoom. |
Lens Serial Number |
(S) | The serial number of the lens. This value is user defined at the time of encoding. |
Data size will vary depending on how many columns Sony RAW Viewer is set to extract, below there is an example of data size for reference. A CSV files extracted from a Sony RAW file contans 367 bytes of headers and ~82 bytes/frame of data, for ~2335 kbps @24fps.
Here a three frames sample file:
Index Timecode Calibration Focus Distance(mm) Aperture Value Aperture Ring T Stop Integer Aperture Ring T Stop Fraction(+ n/10) Current Focal Length(mm) Hyperfocal Distance(mm) Near Focus Distance(mm) Far Focus Distance(mm) Horizontal Field of View(deg) Entrance Pupil Position(mm) Normalised Zoom Value Lens Serial Number Cooke Protocol User Metadata Lens Attributes
1 06:56:38:09 0 498.0 2.06 2.0 1 0 51103.0 494.0 502.0 27.1 56.0 0.000 50-1089M
2 06:56:38:10 0 498.0 2.06 2.0 1 0 51103.0 494.0 502.0 27.1 56.0 0.000 50-1089M
3 06:56:38:11 0 498.0 2.06 2.0 1 0 51103.0 494.0 502.0 27.1 56.0 0.000 50-1089M
Frame by frame (FbF) data is recorded onto the MicroSD card’s CLIPS folder as a CSV file type. Everytime the camera runs, a new CSV file is created.
The CSV file is matched to the timecode. A new line gets created at every timecode interval. A frame count number runs alongside the timecode, starting at 1 for every new file.
CSV file names are made up of 8 characters. Eg. A001C001:
In order to set the camera index
Menu > Settings> Camera index
And input the desired camera index
In order to set the camera roll
Menu > Settings> Roll
And input the desired roll number.
Clip number is a three digit incremental number.
The CSV file uses tab delimited format and is composed of:
Header name | Description |
---|---|
FIELD_DELIM |
Set on TABs . |
CREATOR |
Display the encoder model, firmware version and serial number e.g. LDT-R2 SW:2.14 S/N:38 |
CLIP |
The name of the clip. |
PROJ FPS |
The FPS set on the LDT-R Series at the time of the recoding. |
LENS |
The lens used on the recorded clip. Displaying brand, type, focal lenth / focal range |
RAW RANGE |
The row range value. LDT-R Series use 16bit values, using a range from 0 to 65535 |
Header name | Metadata type | Description |
---|---|---|
Frame count |
(D) | An incremental number, one increment per frame starting from 1 . |
Timecode |
(D) | The timecode of the LDT-R Series at that moment in time |
Focus |
(D) | In brackets (in) or (m) depending on the unit chosen during the lens table creation. Data is expressed with one digit decimal point. Infinity mark is not expressed with a default value. |
Iris |
(D) | Expressed in T-Stops using one digit decimal place. |
Focal length |
(D/S) | Focal length in 1/1000 mm. Static value if prime lens have been used, dynamic value if zoom. |
RAW focus |
(D) | Raw encoder value of focus axis. |
RAW iris |
(D) | Raw encoder value of iris axis. |
RAW zoom |
(D/S) | Raw encoder value of zoom axis. |
Data size can vary, below there is an example of data size for reference. A CSV file generated from an LDT-R Series contains ~247 bytes of headers and ~50 bytes/frame of data, for ~1447 kbps @24fps.
Here a three frames sample file:
Heading
FIELD_DELIM TABS
CREATOR LDT-R2 SW:2.14 S/N:38
CLIP A049C011
PROJ FPS 24
LENS Panavision Primo Zoom 17-75mm
LENS SERIAL 113P
RAW RANGE 0-65535
Column
Frame count Timecode Focus (in) Iris Focal length (mm) RAW focus RAW iris RAW zoom
Data
1 11:49:42:00 95.7 8.0 39.3 23275 35440 47368
2 11:49:42:01 95.7 8.0 39.3 23279 35440 47368
3 11:49:42:02 95.7 8.0 39.3 23282 35440 47368
The .csv files containing the metadata now need to be merged to the EXR files. Each .csv file will have a slightly different layout depending on where it originated from. The above examples can help to identify which headers will be needed, and where to find them. For ease of use we recommend the UMeT, a software made by CinDev. UMet is a universal metadata encoding tool that adds metadata to existing media files such as EXR. Enquire to CineDev for more informations.
For more information or questions contact us on:
Email: info@dcs.film
Phone: +44 (0) 20 8895 6592
Or visit us at: www.dcs.film