SlideShare uma empresa Scribd logo
1 de 29
Baixar para ler offline
1© 2014 Cisco and/or its affiliates. All rights reserved.
Video and Colorspaces
Hans Verkuil
Cisco Systems Norway
© 2014 Cisco and/or its affiliates. All rights reserved. 2
struct v4l2_pix_format (3.18)
include/uapi/linux/videodev2.h:
struct v4l2_pix_format {
__u32 width;
__u32 height;
__u32 pixelformat;
__u32 field; /* enum v4l2_field */
__u32 bytesperline; /* for padding, zero if unused */
__u32 sizeimage;
__u32 colorspace; /* enum v4l2_colorspace */
__u32 priv; /* private data, depends on pixelformat */
__u32 flags; /* format flags (V4L2_PIX_FMT_FLAG_*) */
};
Cisco Confidential 3© 2014 Cisco and/or its affiliates. All rights reserved.
What Is Color?
© 2014 Cisco and/or its affiliates. All rights reserved. 4
Spectral Power Distribution
● Power per area per wavelength: i.e. the intensity of the light of different
wavelengths.
By SchwartzD (Own work) [CC BY-SA 3.0 (http://creativecommons.org/licenses/by-sa/3.0)], via Wikimedia Commons
© 2014 Cisco and/or its affiliates. All rights reserved. 5
The Eye
● Three types of cones detect color: S, M and L cones with peak
sensitivities around 440 nm, 545 nm and 565 nm. The visible spectrum
is about 390 – 700 nm.
"Cones SMJ2 E" by Vanessaezekowitz at en.wikipedia / Later version uploaded by BenRG. - Based on Dicklyon's PNG version, itself based on data from Stockman, MacLeod & Johnson (1993) Journal of the
Optical Society of America A, 10, 2491-2521d http://psy.ucsd.edu/~dmacleod/publications/61StockmanMacLeodJohnson1993.pdf (log E human cone response, via
http://www.cvrl.org/database/text/cones/smj2.htm)Transferred from en.wikipedia to Commons by User:Richard001 using CommonsHelper.. Licensed under Creative Commons Attribution-Share Alike 3.0-2.5-
2.0-1.0 via Wikimedia Commons - http://commons.wikimedia.org/wiki/File:Cones_SMJ2_E.svg#mediaviewer/File:Cones_SMJ2_E.svg
0
0.2
0.4
0.6
0.8
1.0
400 450 500 550 600 650 700
S M L
© 2014 Cisco and/or its affiliates. All rights reserved. 6
An Illusion
● Light from an object with a certain Spectral Power Distribution hits the
cones in the eye and the SPD is reduced to three 'values', one from
each cone type.
● These three values are interpreted as colors by the brain. Many different
SPDs will all map to the same three values.
● To reproduce colors all you have to do is create an SPD that results in
the same three values coming from the cones.
● Displays and photos do not recreate the original image, they just
recreate the cone impulses to the brain.
● Three cones, so you need three light sources with wavelengths around
the cone peak sensitivities to recreate the illusion.
● The mantis shrimp is sensitive to 12 different wavelengths, and so would
need displays with 12 light sources to recreate the illusion.
© 2014 Cisco and/or its affiliates. All rights reserved. 7
An Illusion
© 2014 Cisco and/or its affiliates. All rights reserved. 8
An Illusion
© 2014 Cisco and/or its affiliates. All rights reserved. 9
CIE XYZ
● Studies done in the 1920s resulted in data sets that determined how a
specific wavelength can be reproduced using three primary light sources
of 435.8, 546.1 and 700 nm. Also known as the CIE RGB colorspace.
● CIE: Commission internationale de l'éclairage or International
Commission on Illumination.
● In practice the CIE XYZ colorspace is used, which is a linear
transformation of RGB to an all positive set of color matching functions
using imaginary primaries (i.e. light sources that are not physically
possible).
● CIE XYZ is the foundation of all colorspaces, based from measurements
taken from a pool of 17 people over 85 years ago!
● Note: Y describes luminance.
© 2014 Cisco and/or its affiliates. All rights reserved. 10
Colorspaces
● CIE xyz: x = X / (X + Y + Z),
y = Y / (X + Y + Z),
z = Z / (X + Y + Z) = 1 – x – y
● CIE Yxy: Y = luminance, xy = chromaticity.
● A colorspace defines which three primaries are used to recreate colors.
These are usually defined as a (x, y) tuple. These tuples represent the
color vectors (1, 0, 0), (0, 1, 0), (0, 0, 1).
● A colorspace also defines the white point (x, y) tuple, which is the color
obtained by the maximum of all three primaries or the color vector
(1, 1, 1). It effectively defines the relative power or energy of the
primaries.
● In the past these were based on phosphors used in TVs.
● Any colorspace can be derived from the CIE XYZ colorspace through a
3x3 matrix multiplication.
© 2014 Cisco and/or its affiliates. All rights reserved. 11
Transfer Function
● Colorspaces are linear but early CRTs weren't and neither is human
vision: double the luminance will not actually look twice as bright.
● Colorspaces define a transfer function to go from linear to a non-linear
color representation. Denoted as R'G'B' where each component has
gone through the transfer function. The transfer function is sometimes
called 'gamma' which is usually incorrect.
© 2014 Cisco and/or its affiliates. All rights reserved. 12
Y’CbCr Conversion & Quantization
● Y'CbCr (aka YUV) is in turn derived from R'G'B' via a matrix
multiplication. Colorspaces can define one or more possible matrices for
this. Note that Y'CbCr is not a colorspace, it is just a different way of
representing colors within a colorspace.
● All colorspaces can represent all colors (although with values outside the
0-1 range), but not after quantization, i.e. when values < 0 or > 1 are cut
off. This defines the gamut or extent of a colorspace.
● Take care when using textures in openGL: openGL expects linear RGB
by default, not R'G'B'!
© 2014 Cisco and/or its affiliates. All rights reserved. 13
Color Transformations
CIE XYZ Linear RGB Nonlinear R'G'B' Nonlinear Y'CbCr
3x3 matrix
(based on
chromaticities)
3x3 matrixtransfer function
Quantized Y'CbCrQuantized R'G'B'
© 2014 Cisco and/or its affiliates. All rights reserved. 14
Standards
● Rec. 709: HDTV colorspace. Standard: Rec. ITU-R BT.709-5.
● Best known: sRGB. Used for computer graphics. Standard: IEC 61966-
2-1:1999. Chromaticities identical to Rec. 709, but different transfer
function.
● SMPTE 170M (aka SMPTE C): defines the SDTV colorspace. The
transfer function is identical to Rec. 709, but the chromaticities are
different. The Y'CbCr encoding uses the encoding defined in BT.601.
Note: BT.601 only defines the Y'CbCr encoding, not a colorspace.
BT.601 is sometimes – incorrectly – used as an alias for SMPTE 170M.
● BT.2020: used for UHDTV with deep color (>= 10 bits per component).
The transfer function is the same as Rec. 709. It defines two different
Y'CbCr encodings.
© 2014 Cisco and/or its affiliates. All rights reserved. 15
Limited and Full Range
● Typically 8-bit R', G' and B' values are quantized to the range [0-255].
This is full range quantization.
● Typically 8-bit Y' values are quantized to the range [16-235] and Cb and
Cr values to the range [16-240]. This is limited range quantization.
● But limited range R'G'B' (values in the range [16-235]) and full range
Y'CbCr variants exist as well. HDMI can signal both variants.
© 2014 Cisco and/or its affiliates. All rights reserved. 16
Guidelines
● SDTV: SMPTE 170M.
● HDTV: Rec. 709.
● Graphics: sRGB.
© 2014 Cisco and/or its affiliates. All rights reserved. 17
Problems
● Highly confusing colorspace names.
● Inconsistent conversion matrices: often buggy, never the same.
● Applications often ignore colorspace information.
● Incorrect handling of limited/full range quantization.
● Hardware does not take different transfer functions into account. E.g. the
adv7604 driver produces the wrong results when converting from Rec.
709 Y'CbCr to sRGB R'G'B'.
© 2014 Cisco and/or its affiliates. All rights reserved. 18
struct v4l2_pix_format (today)
include/uapi/linux/videodev2.h:
struct v4l2_pix_format {
__u32 width;
__u32 height;
__u32 pixelformat;
__u32 field; /* enum v4l2_field */
__u32 bytesperline; /* for padding, zero if unused */
__u32 sizeimage;
__u32 colorspace; /* enum v4l2_colorspace */
__u32 priv; /* private data, depends on pixelformat */
__u32 flags; /* format flags (V4L2_PIX_FMT_FLAG_*) */
__u32 ycbcr_enc; /* enum v4l2_ycbcr_encoding */
__u32 quantization; /* enum v4l2_quantization */
__u32 xfer_func; /* enum v4l2_xfer_func */
};
Cisco Confidential 19© 2014 Cisco and/or its affiliates. All rights reserved.
What Happens When...
© 2014 Cisco and/or its affiliates. All rights reserved. 20
SMPTE-170M vs Rec. 709
© 2014 Cisco and/or its affiliates. All rights reserved. 21
SMPTE-170M vs Rec. 709
© 2014 Cisco and/or its affiliates. All rights reserved. 22
Rec. 709 vs sRGB Transfer Function
© 2014 Cisco and/or its affiliates. All rights reserved. 23
Rec. 709 vs sRGB Transfer Function
© 2014 Cisco and/or its affiliates. All rights reserved. 24
Rec. 709 vs BT.601 Y´CbCr Encoding
© 2014 Cisco and/or its affiliates. All rights reserved. 25
Rec. 709 vs BT.601 Y´CbCr Encoding
© 2014 Cisco and/or its affiliates. All rights reserved. 26
Limited vs Full Range Quantization
© 2014 Cisco and/or its affiliates. All rights reserved. 27
Limited vs Full Range Quantization
© 2014 Cisco and/or its affiliates. All rights reserved. 28
Resources
● Email: hverkuil@xs4all.nl
● Color Imaging – Fundamentals and Applications, Erik Reinhard et. al.
● Digital Video and HDTV – Algorithms and Interfaces, Charles Poynton.
● http://www.brucelindbloom.com
● https://linuxtv.org/downloads/v4l-dvb-apis-new/media/uapi/v4l/colorspaces.html
Cisco Confidential 29© 2014 Cisco and/or its affiliates. All rights reserved.
Questions?

Mais conteúdo relacionado

Mais procurados

Computer Graphics Part1
Computer Graphics Part1Computer Graphics Part1
Computer Graphics Part1qpqpqp
 
Image Restoration and Denoising By Using Nonlocally Centralized Sparse Repres...
Image Restoration and Denoising By Using Nonlocally Centralized Sparse Repres...Image Restoration and Denoising By Using Nonlocally Centralized Sparse Repres...
Image Restoration and Denoising By Using Nonlocally Centralized Sparse Repres...IJERA Editor
 
Accelerometers to Augmented Reality
Accelerometers to Augmented RealityAccelerometers to Augmented Reality
Accelerometers to Augmented Realityjblocksom
 
Space-efficient Feature Maps for String Alignment Kernels
Space-efficient Feature Maps for String Alignment KernelsSpace-efficient Feature Maps for String Alignment Kernels
Space-efficient Feature Maps for String Alignment KernelsYasuo Tabei
 
Geometry Shader-based Bump Mapping Setup
Geometry Shader-based Bump Mapping SetupGeometry Shader-based Bump Mapping Setup
Geometry Shader-based Bump Mapping SetupMark Kilgard
 
C O M P U T E R G R A P H I C S J N T U M O D E L P A P E R{Www
C O M P U T E R  G R A P H I C S  J N T U  M O D E L  P A P E R{WwwC O M P U T E R  G R A P H I C S  J N T U  M O D E L  P A P E R{Www
C O M P U T E R G R A P H I C S J N T U M O D E L P A P E R{Wwwguest3f9c6b
 
Practical Spherical Harmonics Based PRT Methods
Practical Spherical Harmonics Based PRT MethodsPractical Spherical Harmonics Based PRT Methods
Practical Spherical Harmonics Based PRT MethodsNaughty Dog
 
A probabilistic model for recursive factorized image features ppt
A probabilistic model for recursive factorized image features pptA probabilistic model for recursive factorized image features ppt
A probabilistic model for recursive factorized image features pptirisshicat
 
Lossless predictive coding in Digital Image Processing
Lossless predictive coding in Digital Image ProcessingLossless predictive coding in Digital Image Processing
Lossless predictive coding in Digital Image Processingpriyadharshini murugan
 
COMMON SCRAMBLING ALGORITHM
COMMON SCRAMBLING ALGORITHMCOMMON SCRAMBLING ALGORITHM
COMMON SCRAMBLING ALGORITHManiruddh Tyagi
 
CVPR2010: higher order models in computer vision: Part 4
CVPR2010: higher order models in computer vision: Part 4 CVPR2010: higher order models in computer vision: Part 4
CVPR2010: higher order models in computer vision: Part 4 zukun
 
HOSVD-visualization
HOSVD-visualizationHOSVD-visualization
HOSVD-visualizationKeyvan Sadri
 
Cvpr2010 open source vision software, intro and training part iv generic imag...
Cvpr2010 open source vision software, intro and training part iv generic imag...Cvpr2010 open source vision software, intro and training part iv generic imag...
Cvpr2010 open source vision software, intro and training part iv generic imag...zukun
 
Lucanas Presentation R Rver2 Dcm2
Lucanas Presentation R Rver2 Dcm2Lucanas Presentation R Rver2 Dcm2
Lucanas Presentation R Rver2 Dcm2mdlynch
 
Segmentation based graph construction (5)
Segmentation based graph construction (5)Segmentation based graph construction (5)
Segmentation based graph construction (5)DCU
 

Mais procurados (17)

Computer Graphics Part1
Computer Graphics Part1Computer Graphics Part1
Computer Graphics Part1
 
Hoip10 articulo surface reconstruction_upc
Hoip10 articulo surface reconstruction_upcHoip10 articulo surface reconstruction_upc
Hoip10 articulo surface reconstruction_upc
 
Image Restoration and Denoising By Using Nonlocally Centralized Sparse Repres...
Image Restoration and Denoising By Using Nonlocally Centralized Sparse Repres...Image Restoration and Denoising By Using Nonlocally Centralized Sparse Repres...
Image Restoration and Denoising By Using Nonlocally Centralized Sparse Repres...
 
Accelerometers to Augmented Reality
Accelerometers to Augmented RealityAccelerometers to Augmented Reality
Accelerometers to Augmented Reality
 
Space-efficient Feature Maps for String Alignment Kernels
Space-efficient Feature Maps for String Alignment KernelsSpace-efficient Feature Maps for String Alignment Kernels
Space-efficient Feature Maps for String Alignment Kernels
 
Geometry Shader-based Bump Mapping Setup
Geometry Shader-based Bump Mapping SetupGeometry Shader-based Bump Mapping Setup
Geometry Shader-based Bump Mapping Setup
 
C O M P U T E R G R A P H I C S J N T U M O D E L P A P E R{Www
C O M P U T E R  G R A P H I C S  J N T U  M O D E L  P A P E R{WwwC O M P U T E R  G R A P H I C S  J N T U  M O D E L  P A P E R{Www
C O M P U T E R G R A P H I C S J N T U M O D E L P A P E R{Www
 
Practical Spherical Harmonics Based PRT Methods
Practical Spherical Harmonics Based PRT MethodsPractical Spherical Harmonics Based PRT Methods
Practical Spherical Harmonics Based PRT Methods
 
A probabilistic model for recursive factorized image features ppt
A probabilistic model for recursive factorized image features pptA probabilistic model for recursive factorized image features ppt
A probabilistic model for recursive factorized image features ppt
 
Lossless predictive coding in Digital Image Processing
Lossless predictive coding in Digital Image ProcessingLossless predictive coding in Digital Image Processing
Lossless predictive coding in Digital Image Processing
 
COMMON SCRAMBLING ALGORITHM
COMMON SCRAMBLING ALGORITHMCOMMON SCRAMBLING ALGORITHM
COMMON SCRAMBLING ALGORITHM
 
CVPR2010: higher order models in computer vision: Part 4
CVPR2010: higher order models in computer vision: Part 4 CVPR2010: higher order models in computer vision: Part 4
CVPR2010: higher order models in computer vision: Part 4
 
HOSVD-visualization
HOSVD-visualizationHOSVD-visualization
HOSVD-visualization
 
Cvpr2010 open source vision software, intro and training part iv generic imag...
Cvpr2010 open source vision software, intro and training part iv generic imag...Cvpr2010 open source vision software, intro and training part iv generic imag...
Cvpr2010 open source vision software, intro and training part iv generic imag...
 
Lucanas Presentation R Rver2 Dcm2
Lucanas Presentation R Rver2 Dcm2Lucanas Presentation R Rver2 Dcm2
Lucanas Presentation R Rver2 Dcm2
 
Coding Scheme
Coding SchemeCoding Scheme
Coding Scheme
 
Segmentation based graph construction (5)
Segmentation based graph construction (5)Segmentation based graph construction (5)
Segmentation based graph construction (5)
 

Destaque

Morales-Capstone-IDS.IPS Deployment_revision1
Morales-Capstone-IDS.IPS Deployment_revision1Morales-Capstone-IDS.IPS Deployment_revision1
Morales-Capstone-IDS.IPS Deployment_revision1Jeremy Morales
 
2008_BeyondBorders_FINAL4
2008_BeyondBorders_FINAL42008_BeyondBorders_FINAL4
2008_BeyondBorders_FINAL4Gautam Jaggi
 
Kernel Recipes 2015: The stable Linux Kernel Tree - 10 years of insanity
Kernel Recipes 2015: The stable Linux Kernel Tree - 10 years of insanityKernel Recipes 2015: The stable Linux Kernel Tree - 10 years of insanity
Kernel Recipes 2015: The stable Linux Kernel Tree - 10 years of insanityAnne Nicolas
 
1.8 Информация о компании DKS
1.8 Информация о компании DKS 1.8 Информация о компании DKS
1.8 Информация о компании DKS Igor Golovin
 
Kernel Recipes 2015: Kernel packet capture technologies
Kernel Recipes 2015: Kernel packet capture technologiesKernel Recipes 2015: Kernel packet capture technologies
Kernel Recipes 2015: Kernel packet capture technologiesAnne Nicolas
 
Lucila imoto freitas-o_se_na_implantação_do_lean_thinking_em_gestão_pública_v...
Lucila imoto freitas-o_se_na_implantação_do_lean_thinking_em_gestão_pública_v...Lucila imoto freitas-o_se_na_implantação_do_lean_thinking_em_gestão_pública_v...
Lucila imoto freitas-o_se_na_implantação_do_lean_thinking_em_gestão_pública_v...Lucila Imoto Freitas
 
Артем Маринов "Сегментируем 600 млн. пользователей в режиме реального времени...
Артем Маринов "Сегментируем 600 млн. пользователей в режиме реального времени...Артем Маринов "Сегментируем 600 млн. пользователей в режиме реального времени...
Артем Маринов "Сегментируем 600 млн. пользователей в режиме реального времени...Tanya Denisyuk
 
Алексей Лесовский "Тюнинг Linux для баз данных. "
Алексей Лесовский "Тюнинг Linux для баз данных. "Алексей Лесовский "Тюнинг Linux для баз данных. "
Алексей Лесовский "Тюнинг Linux для баз данных. "Tanya Denisyuk
 
Kernel Recipes 2015: Linux Kernel IO subsystem - How it works and how can I s...
Kernel Recipes 2015: Linux Kernel IO subsystem - How it works and how can I s...Kernel Recipes 2015: Linux Kernel IO subsystem - How it works and how can I s...
Kernel Recipes 2015: Linux Kernel IO subsystem - How it works and how can I s...Anne Nicolas
 
Kernel Recipes 2015: Solving the Linux storage scalability bottlenecks
Kernel Recipes 2015: Solving the Linux storage scalability bottlenecksKernel Recipes 2015: Solving the Linux storage scalability bottlenecks
Kernel Recipes 2015: Solving the Linux storage scalability bottlenecksAnne Nicolas
 
Open Source IDS Tools: A Beginner's Guide
Open Source IDS Tools: A Beginner's GuideOpen Source IDS Tools: A Beginner's Guide
Open Source IDS Tools: A Beginner's GuideAlienVault
 

Destaque (20)

Morales-Capstone-IDS.IPS Deployment_revision1
Morales-Capstone-IDS.IPS Deployment_revision1Morales-Capstone-IDS.IPS Deployment_revision1
Morales-Capstone-IDS.IPS Deployment_revision1
 
2008_BeyondBorders_FINAL4
2008_BeyondBorders_FINAL42008_BeyondBorders_FINAL4
2008_BeyondBorders_FINAL4
 
Jet sequencia 3
Jet sequencia 3Jet sequencia 3
Jet sequencia 3
 
Kernel Recipes 2015: The stable Linux Kernel Tree - 10 years of insanity
Kernel Recipes 2015: The stable Linux Kernel Tree - 10 years of insanityKernel Recipes 2015: The stable Linux Kernel Tree - 10 years of insanity
Kernel Recipes 2015: The stable Linux Kernel Tree - 10 years of insanity
 
CV 2017 _2
CV 2017 _2CV 2017 _2
CV 2017 _2
 
1.8 Информация о компании DKS
1.8 Информация о компании DKS 1.8 Информация о компании DKS
1.8 Информация о компании DKS
 
Ditado com z 1.1
Ditado com z 1.1Ditado com z 1.1
Ditado com z 1.1
 
Loiasis Disease
 Loiasis Disease Loiasis Disease
Loiasis Disease
 
Lean Escola
Lean EscolaLean Escola
Lean Escola
 
Kernel Recipes 2015: Kernel packet capture technologies
Kernel Recipes 2015: Kernel packet capture technologiesKernel Recipes 2015: Kernel packet capture technologies
Kernel Recipes 2015: Kernel packet capture technologies
 
BORDO DE LINHA Lean SCM
BORDO DE LINHA Lean SCMBORDO DE LINHA Lean SCM
BORDO DE LINHA Lean SCM
 
Lucila imoto freitas-o_se_na_implantação_do_lean_thinking_em_gestão_pública_v...
Lucila imoto freitas-o_se_na_implantação_do_lean_thinking_em_gestão_pública_v...Lucila imoto freitas-o_se_na_implantação_do_lean_thinking_em_gestão_pública_v...
Lucila imoto freitas-o_se_na_implantação_do_lean_thinking_em_gestão_pública_v...
 
Theory of learning
Theory of learningTheory of learning
Theory of learning
 
Артем Маринов "Сегментируем 600 млн. пользователей в режиме реального времени...
Артем Маринов "Сегментируем 600 млн. пользователей в режиме реального времени...Артем Маринов "Сегментируем 600 млн. пользователей в режиме реального времени...
Артем Маринов "Сегментируем 600 млн. пользователей в режиме реального времени...
 
Алексей Лесовский "Тюнинг Linux для баз данных. "
Алексей Лесовский "Тюнинг Linux для баз данных. "Алексей Лесовский "Тюнинг Linux для баз данных. "
Алексей Лесовский "Тюнинг Linux для баз данных. "
 
Kernel Recipes 2015: Linux Kernel IO subsystem - How it works and how can I s...
Kernel Recipes 2015: Linux Kernel IO subsystem - How it works and how can I s...Kernel Recipes 2015: Linux Kernel IO subsystem - How it works and how can I s...
Kernel Recipes 2015: Linux Kernel IO subsystem - How it works and how can I s...
 
Kernel Recipes 2015: Solving the Linux storage scalability bottlenecks
Kernel Recipes 2015: Solving the Linux storage scalability bottlenecksKernel Recipes 2015: Solving the Linux storage scalability bottlenecks
Kernel Recipes 2015: Solving the Linux storage scalability bottlenecks
 
Case study Tesco Lean SCM
Case study Tesco Lean SCMCase study Tesco Lean SCM
Case study Tesco Lean SCM
 
Open Source IDS Tools: A Beginner's Guide
Open Source IDS Tools: A Beginner's GuideOpen Source IDS Tools: A Beginner's Guide
Open Source IDS Tools: A Beginner's Guide
 
Selection(1)
Selection(1)Selection(1)
Selection(1)
 

Semelhante a Kernel Recipes 2016 - Video and Colorspaces

Unit ii mm_chap5_fundamentals concepts in video
Unit ii mm_chap5_fundamentals concepts in videoUnit ii mm_chap5_fundamentals concepts in video
Unit ii mm_chap5_fundamentals concepts in videoEellekwameowusu
 
Colour Rendering For True Colour Led Display System
Colour Rendering For True Colour Led Display SystemColour Rendering For True Colour Led Display System
Colour Rendering For True Colour Led Display SystemIJMER
 
Simple Single Instruction Multiple Data (SIMD) with the Intel® Implicit SPMD ...
Simple Single Instruction Multiple Data (SIMD) with the Intel® Implicit SPMD ...Simple Single Instruction Multiple Data (SIMD) with the Intel® Implicit SPMD ...
Simple Single Instruction Multiple Data (SIMD) with the Intel® Implicit SPMD ...Intel® Software
 
Welcome to International Journal of Engineering Research and Development (IJERD)
Welcome to International Journal of Engineering Research and Development (IJERD)Welcome to International Journal of Engineering Research and Development (IJERD)
Welcome to International Journal of Engineering Research and Development (IJERD)IJERD Editor
 
A Bizarre Way to do Real-Time Lighting
A Bizarre Way to do Real-Time LightingA Bizarre Way to do Real-Time Lighting
A Bizarre Way to do Real-Time LightingSteven Tovey
 
Real-Time Color Detection Using Python and OpenCV
Real-Time Color Detection Using Python and OpenCVReal-Time Color Detection Using Python and OpenCV
Real-Time Color Detection Using Python and OpenCVIRJET Journal
 
Rendering basics
Rendering basicsRendering basics
Rendering basicsicedmaster
 
Fully Homomorphic Encryption (1).pptx
Fully Homomorphic Encryption (1).pptxFully Homomorphic Encryption (1).pptx
Fully Homomorphic Encryption (1).pptxssuser1716c81
 
Video Compression Basics
Video Compression BasicsVideo Compression Basics
Video Compression BasicsSanjiv Malik
 
Foveated Ray Tracing for VR on Multiple GPUs
Foveated Ray Tracing for VR on Multiple GPUsFoveated Ray Tracing for VR on Multiple GPUs
Foveated Ray Tracing for VR on Multiple GPUsTakahiro Harada
 
Low complexity video coding for sensor network
Low complexity video coding for sensor networkLow complexity video coding for sensor network
Low complexity video coding for sensor networkeSAT Journals
 
Low complexity video coding for sensor network
Low complexity video coding for sensor networkLow complexity video coding for sensor network
Low complexity video coding for sensor networkeSAT Publishing House
 
To Understand Video
To Understand VideoTo Understand Video
To Understand Videoadil raja
 
Visual cryptography1
Visual cryptography1Visual cryptography1
Visual cryptography1patisa
 
Triangle Visibility buffer
Triangle Visibility bufferTriangle Visibility buffer
Triangle Visibility bufferWolfgang Engel
 

Semelhante a Kernel Recipes 2016 - Video and Colorspaces (20)

HDR and WCG Principles-Part 5
HDR and WCG Principles-Part 5HDR and WCG Principles-Part 5
HDR and WCG Principles-Part 5
 
Unit ii mm_chap5_fundamentals concepts in video
Unit ii mm_chap5_fundamentals concepts in videoUnit ii mm_chap5_fundamentals concepts in video
Unit ii mm_chap5_fundamentals concepts in video
 
Colour Rendering For True Colour Led Display System
Colour Rendering For True Colour Led Display SystemColour Rendering For True Colour Led Display System
Colour Rendering For True Colour Led Display System
 
Simple Single Instruction Multiple Data (SIMD) with the Intel® Implicit SPMD ...
Simple Single Instruction Multiple Data (SIMD) with the Intel® Implicit SPMD ...Simple Single Instruction Multiple Data (SIMD) with the Intel® Implicit SPMD ...
Simple Single Instruction Multiple Data (SIMD) with the Intel® Implicit SPMD ...
 
Welcome to International Journal of Engineering Research and Development (IJERD)
Welcome to International Journal of Engineering Research and Development (IJERD)Welcome to International Journal of Engineering Research and Development (IJERD)
Welcome to International Journal of Engineering Research and Development (IJERD)
 
MPEG_23.pptx
MPEG_23.pptxMPEG_23.pptx
MPEG_23.pptx
 
A Bizarre Way to do Real-Time Lighting
A Bizarre Way to do Real-Time LightingA Bizarre Way to do Real-Time Lighting
A Bizarre Way to do Real-Time Lighting
 
Real-Time Color Detection Using Python and OpenCV
Real-Time Color Detection Using Python and OpenCVReal-Time Color Detection Using Python and OpenCV
Real-Time Color Detection Using Python and OpenCV
 
Rendering basics
Rendering basicsRendering basics
Rendering basics
 
Fully Homomorphic Encryption (1).pptx
Fully Homomorphic Encryption (1).pptxFully Homomorphic Encryption (1).pptx
Fully Homomorphic Encryption (1).pptx
 
Video Compression Basics
Video Compression BasicsVideo Compression Basics
Video Compression Basics
 
Foveated Ray Tracing for VR on Multiple GPUs
Foveated Ray Tracing for VR on Multiple GPUsFoveated Ray Tracing for VR on Multiple GPUs
Foveated Ray Tracing for VR on Multiple GPUs
 
Low complexity video coding for sensor network
Low complexity video coding for sensor networkLow complexity video coding for sensor network
Low complexity video coding for sensor network
 
Low complexity video coding for sensor network
Low complexity video coding for sensor networkLow complexity video coding for sensor network
Low complexity video coding for sensor network
 
Digital File Formats
Digital File Formats Digital File Formats
Digital File Formats
 
2.ppt
2.ppt2.ppt
2.ppt
 
To Understand Video
To Understand VideoTo Understand Video
To Understand Video
 
Visual cryptography1
Visual cryptography1Visual cryptography1
Visual cryptography1
 
Visual cryptography1
Visual cryptography1Visual cryptography1
Visual cryptography1
 
Triangle Visibility buffer
Triangle Visibility bufferTriangle Visibility buffer
Triangle Visibility buffer
 

Mais de Anne Nicolas

Kernel Recipes 2019 - Driving the industry toward upstream first
Kernel Recipes 2019 - Driving the industry toward upstream firstKernel Recipes 2019 - Driving the industry toward upstream first
Kernel Recipes 2019 - Driving the industry toward upstream firstAnne Nicolas
 
Kernel Recipes 2019 - No NMI? No Problem! – Implementing Arm64 Pseudo-NMI
Kernel Recipes 2019 - No NMI? No Problem! – Implementing Arm64 Pseudo-NMIKernel Recipes 2019 - No NMI? No Problem! – Implementing Arm64 Pseudo-NMI
Kernel Recipes 2019 - No NMI? No Problem! – Implementing Arm64 Pseudo-NMIAnne Nicolas
 
Kernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernel
Kernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernelKernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernel
Kernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernelAnne Nicolas
 
Kernel Recipes 2019 - Metrics are money
Kernel Recipes 2019 - Metrics are moneyKernel Recipes 2019 - Metrics are money
Kernel Recipes 2019 - Metrics are moneyAnne Nicolas
 
Kernel Recipes 2019 - Kernel documentation: past, present, and future
Kernel Recipes 2019 - Kernel documentation: past, present, and futureKernel Recipes 2019 - Kernel documentation: past, present, and future
Kernel Recipes 2019 - Kernel documentation: past, present, and futureAnne Nicolas
 
Embedded Recipes 2019 - Knowing your ARM from your ARSE: wading through the t...
Embedded Recipes 2019 - Knowing your ARM from your ARSE: wading through the t...Embedded Recipes 2019 - Knowing your ARM from your ARSE: wading through the t...
Embedded Recipes 2019 - Knowing your ARM from your ARSE: wading through the t...Anne Nicolas
 
Kernel Recipes 2019 - GNU poke, an extensible editor for structured binary data
Kernel Recipes 2019 - GNU poke, an extensible editor for structured binary dataKernel Recipes 2019 - GNU poke, an extensible editor for structured binary data
Kernel Recipes 2019 - GNU poke, an extensible editor for structured binary dataAnne Nicolas
 
Kernel Recipes 2019 - Analyzing changes to the binary interface exposed by th...
Kernel Recipes 2019 - Analyzing changes to the binary interface exposed by th...Kernel Recipes 2019 - Analyzing changes to the binary interface exposed by th...
Kernel Recipes 2019 - Analyzing changes to the binary interface exposed by th...Anne Nicolas
 
Embedded Recipes 2019 - Remote update adventures with RAUC, Yocto and Barebox
Embedded Recipes 2019 - Remote update adventures with RAUC, Yocto and BareboxEmbedded Recipes 2019 - Remote update adventures with RAUC, Yocto and Barebox
Embedded Recipes 2019 - Remote update adventures with RAUC, Yocto and BareboxAnne Nicolas
 
Embedded Recipes 2019 - Making embedded graphics less special
Embedded Recipes 2019 - Making embedded graphics less specialEmbedded Recipes 2019 - Making embedded graphics less special
Embedded Recipes 2019 - Making embedded graphics less specialAnne Nicolas
 
Embedded Recipes 2019 - Linux on Open Source Hardware and Libre Silicon
Embedded Recipes 2019 - Linux on Open Source Hardware and Libre SiliconEmbedded Recipes 2019 - Linux on Open Source Hardware and Libre Silicon
Embedded Recipes 2019 - Linux on Open Source Hardware and Libre SiliconAnne Nicolas
 
Embedded Recipes 2019 - From maintaining I2C to the big (embedded) picture
Embedded Recipes 2019 - From maintaining I2C to the big (embedded) pictureEmbedded Recipes 2019 - From maintaining I2C to the big (embedded) picture
Embedded Recipes 2019 - From maintaining I2C to the big (embedded) pictureAnne Nicolas
 
Embedded Recipes 2019 - Testing firmware the devops way
Embedded Recipes 2019 - Testing firmware the devops wayEmbedded Recipes 2019 - Testing firmware the devops way
Embedded Recipes 2019 - Testing firmware the devops wayAnne Nicolas
 
Embedded Recipes 2019 - Herd your socs become a matchmaker
Embedded Recipes 2019 - Herd your socs become a matchmakerEmbedded Recipes 2019 - Herd your socs become a matchmaker
Embedded Recipes 2019 - Herd your socs become a matchmakerAnne Nicolas
 
Embedded Recipes 2019 - LLVM / Clang integration
Embedded Recipes 2019 - LLVM / Clang integrationEmbedded Recipes 2019 - LLVM / Clang integration
Embedded Recipes 2019 - LLVM / Clang integrationAnne Nicolas
 
Embedded Recipes 2019 - Introduction to JTAG debugging
Embedded Recipes 2019 - Introduction to JTAG debuggingEmbedded Recipes 2019 - Introduction to JTAG debugging
Embedded Recipes 2019 - Introduction to JTAG debuggingAnne Nicolas
 
Embedded Recipes 2019 - Pipewire a new foundation for embedded multimedia
Embedded Recipes 2019 - Pipewire a new foundation for embedded multimediaEmbedded Recipes 2019 - Pipewire a new foundation for embedded multimedia
Embedded Recipes 2019 - Pipewire a new foundation for embedded multimediaAnne Nicolas
 
Kernel Recipes 2019 - ftrace: Where modifying a running kernel all started
Kernel Recipes 2019 - ftrace: Where modifying a running kernel all startedKernel Recipes 2019 - ftrace: Where modifying a running kernel all started
Kernel Recipes 2019 - ftrace: Where modifying a running kernel all startedAnne Nicolas
 
Kernel Recipes 2019 - Suricata and XDP
Kernel Recipes 2019 - Suricata and XDPKernel Recipes 2019 - Suricata and XDP
Kernel Recipes 2019 - Suricata and XDPAnne Nicolas
 
Kernel Recipes 2019 - Marvels of Memory Auto-configuration (SPD)
Kernel Recipes 2019 - Marvels of Memory Auto-configuration (SPD)Kernel Recipes 2019 - Marvels of Memory Auto-configuration (SPD)
Kernel Recipes 2019 - Marvels of Memory Auto-configuration (SPD)Anne Nicolas
 

Mais de Anne Nicolas (20)

Kernel Recipes 2019 - Driving the industry toward upstream first
Kernel Recipes 2019 - Driving the industry toward upstream firstKernel Recipes 2019 - Driving the industry toward upstream first
Kernel Recipes 2019 - Driving the industry toward upstream first
 
Kernel Recipes 2019 - No NMI? No Problem! – Implementing Arm64 Pseudo-NMI
Kernel Recipes 2019 - No NMI? No Problem! – Implementing Arm64 Pseudo-NMIKernel Recipes 2019 - No NMI? No Problem! – Implementing Arm64 Pseudo-NMI
Kernel Recipes 2019 - No NMI? No Problem! – Implementing Arm64 Pseudo-NMI
 
Kernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernel
Kernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernelKernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernel
Kernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernel
 
Kernel Recipes 2019 - Metrics are money
Kernel Recipes 2019 - Metrics are moneyKernel Recipes 2019 - Metrics are money
Kernel Recipes 2019 - Metrics are money
 
Kernel Recipes 2019 - Kernel documentation: past, present, and future
Kernel Recipes 2019 - Kernel documentation: past, present, and futureKernel Recipes 2019 - Kernel documentation: past, present, and future
Kernel Recipes 2019 - Kernel documentation: past, present, and future
 
Embedded Recipes 2019 - Knowing your ARM from your ARSE: wading through the t...
Embedded Recipes 2019 - Knowing your ARM from your ARSE: wading through the t...Embedded Recipes 2019 - Knowing your ARM from your ARSE: wading through the t...
Embedded Recipes 2019 - Knowing your ARM from your ARSE: wading through the t...
 
Kernel Recipes 2019 - GNU poke, an extensible editor for structured binary data
Kernel Recipes 2019 - GNU poke, an extensible editor for structured binary dataKernel Recipes 2019 - GNU poke, an extensible editor for structured binary data
Kernel Recipes 2019 - GNU poke, an extensible editor for structured binary data
 
Kernel Recipes 2019 - Analyzing changes to the binary interface exposed by th...
Kernel Recipes 2019 - Analyzing changes to the binary interface exposed by th...Kernel Recipes 2019 - Analyzing changes to the binary interface exposed by th...
Kernel Recipes 2019 - Analyzing changes to the binary interface exposed by th...
 
Embedded Recipes 2019 - Remote update adventures with RAUC, Yocto and Barebox
Embedded Recipes 2019 - Remote update adventures with RAUC, Yocto and BareboxEmbedded Recipes 2019 - Remote update adventures with RAUC, Yocto and Barebox
Embedded Recipes 2019 - Remote update adventures with RAUC, Yocto and Barebox
 
Embedded Recipes 2019 - Making embedded graphics less special
Embedded Recipes 2019 - Making embedded graphics less specialEmbedded Recipes 2019 - Making embedded graphics less special
Embedded Recipes 2019 - Making embedded graphics less special
 
Embedded Recipes 2019 - Linux on Open Source Hardware and Libre Silicon
Embedded Recipes 2019 - Linux on Open Source Hardware and Libre SiliconEmbedded Recipes 2019 - Linux on Open Source Hardware and Libre Silicon
Embedded Recipes 2019 - Linux on Open Source Hardware and Libre Silicon
 
Embedded Recipes 2019 - From maintaining I2C to the big (embedded) picture
Embedded Recipes 2019 - From maintaining I2C to the big (embedded) pictureEmbedded Recipes 2019 - From maintaining I2C to the big (embedded) picture
Embedded Recipes 2019 - From maintaining I2C to the big (embedded) picture
 
Embedded Recipes 2019 - Testing firmware the devops way
Embedded Recipes 2019 - Testing firmware the devops wayEmbedded Recipes 2019 - Testing firmware the devops way
Embedded Recipes 2019 - Testing firmware the devops way
 
Embedded Recipes 2019 - Herd your socs become a matchmaker
Embedded Recipes 2019 - Herd your socs become a matchmakerEmbedded Recipes 2019 - Herd your socs become a matchmaker
Embedded Recipes 2019 - Herd your socs become a matchmaker
 
Embedded Recipes 2019 - LLVM / Clang integration
Embedded Recipes 2019 - LLVM / Clang integrationEmbedded Recipes 2019 - LLVM / Clang integration
Embedded Recipes 2019 - LLVM / Clang integration
 
Embedded Recipes 2019 - Introduction to JTAG debugging
Embedded Recipes 2019 - Introduction to JTAG debuggingEmbedded Recipes 2019 - Introduction to JTAG debugging
Embedded Recipes 2019 - Introduction to JTAG debugging
 
Embedded Recipes 2019 - Pipewire a new foundation for embedded multimedia
Embedded Recipes 2019 - Pipewire a new foundation for embedded multimediaEmbedded Recipes 2019 - Pipewire a new foundation for embedded multimedia
Embedded Recipes 2019 - Pipewire a new foundation for embedded multimedia
 
Kernel Recipes 2019 - ftrace: Where modifying a running kernel all started
Kernel Recipes 2019 - ftrace: Where modifying a running kernel all startedKernel Recipes 2019 - ftrace: Where modifying a running kernel all started
Kernel Recipes 2019 - ftrace: Where modifying a running kernel all started
 
Kernel Recipes 2019 - Suricata and XDP
Kernel Recipes 2019 - Suricata and XDPKernel Recipes 2019 - Suricata and XDP
Kernel Recipes 2019 - Suricata and XDP
 
Kernel Recipes 2019 - Marvels of Memory Auto-configuration (SPD)
Kernel Recipes 2019 - Marvels of Memory Auto-configuration (SPD)Kernel Recipes 2019 - Marvels of Memory Auto-configuration (SPD)
Kernel Recipes 2019 - Marvels of Memory Auto-configuration (SPD)
 

Último

%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in sowetomasabamasaba
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrainmasabamasaba
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfonteinmasabamasaba
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech studentsHimanshiGarg82
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...masabamasaba
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...Shane Coughlan
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfonteinmasabamasaba
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is insideshinachiaurasa2
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Hararemasabamasaba
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdfPearlKirahMaeRagusta1
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024VictoriaMetrics
 
tonesoftg
tonesoftgtonesoftg
tonesoftglanshi9
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...Jittipong Loespradit
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionOnePlan Solutions
 

Último (20)

%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 

Kernel Recipes 2016 - Video and Colorspaces

  • 1. 1© 2014 Cisco and/or its affiliates. All rights reserved. Video and Colorspaces Hans Verkuil Cisco Systems Norway
  • 2. © 2014 Cisco and/or its affiliates. All rights reserved. 2 struct v4l2_pix_format (3.18) include/uapi/linux/videodev2.h: struct v4l2_pix_format { __u32 width; __u32 height; __u32 pixelformat; __u32 field; /* enum v4l2_field */ __u32 bytesperline; /* for padding, zero if unused */ __u32 sizeimage; __u32 colorspace; /* enum v4l2_colorspace */ __u32 priv; /* private data, depends on pixelformat */ __u32 flags; /* format flags (V4L2_PIX_FMT_FLAG_*) */ };
  • 3. Cisco Confidential 3© 2014 Cisco and/or its affiliates. All rights reserved. What Is Color?
  • 4. © 2014 Cisco and/or its affiliates. All rights reserved. 4 Spectral Power Distribution ● Power per area per wavelength: i.e. the intensity of the light of different wavelengths. By SchwartzD (Own work) [CC BY-SA 3.0 (http://creativecommons.org/licenses/by-sa/3.0)], via Wikimedia Commons
  • 5. © 2014 Cisco and/or its affiliates. All rights reserved. 5 The Eye ● Three types of cones detect color: S, M and L cones with peak sensitivities around 440 nm, 545 nm and 565 nm. The visible spectrum is about 390 – 700 nm. "Cones SMJ2 E" by Vanessaezekowitz at en.wikipedia / Later version uploaded by BenRG. - Based on Dicklyon's PNG version, itself based on data from Stockman, MacLeod & Johnson (1993) Journal of the Optical Society of America A, 10, 2491-2521d http://psy.ucsd.edu/~dmacleod/publications/61StockmanMacLeodJohnson1993.pdf (log E human cone response, via http://www.cvrl.org/database/text/cones/smj2.htm)Transferred from en.wikipedia to Commons by User:Richard001 using CommonsHelper.. Licensed under Creative Commons Attribution-Share Alike 3.0-2.5- 2.0-1.0 via Wikimedia Commons - http://commons.wikimedia.org/wiki/File:Cones_SMJ2_E.svg#mediaviewer/File:Cones_SMJ2_E.svg 0 0.2 0.4 0.6 0.8 1.0 400 450 500 550 600 650 700 S M L
  • 6. © 2014 Cisco and/or its affiliates. All rights reserved. 6 An Illusion ● Light from an object with a certain Spectral Power Distribution hits the cones in the eye and the SPD is reduced to three 'values', one from each cone type. ● These three values are interpreted as colors by the brain. Many different SPDs will all map to the same three values. ● To reproduce colors all you have to do is create an SPD that results in the same three values coming from the cones. ● Displays and photos do not recreate the original image, they just recreate the cone impulses to the brain. ● Three cones, so you need three light sources with wavelengths around the cone peak sensitivities to recreate the illusion. ● The mantis shrimp is sensitive to 12 different wavelengths, and so would need displays with 12 light sources to recreate the illusion.
  • 7. © 2014 Cisco and/or its affiliates. All rights reserved. 7 An Illusion
  • 8. © 2014 Cisco and/or its affiliates. All rights reserved. 8 An Illusion
  • 9. © 2014 Cisco and/or its affiliates. All rights reserved. 9 CIE XYZ ● Studies done in the 1920s resulted in data sets that determined how a specific wavelength can be reproduced using three primary light sources of 435.8, 546.1 and 700 nm. Also known as the CIE RGB colorspace. ● CIE: Commission internationale de l'éclairage or International Commission on Illumination. ● In practice the CIE XYZ colorspace is used, which is a linear transformation of RGB to an all positive set of color matching functions using imaginary primaries (i.e. light sources that are not physically possible). ● CIE XYZ is the foundation of all colorspaces, based from measurements taken from a pool of 17 people over 85 years ago! ● Note: Y describes luminance.
  • 10. © 2014 Cisco and/or its affiliates. All rights reserved. 10 Colorspaces ● CIE xyz: x = X / (X + Y + Z), y = Y / (X + Y + Z), z = Z / (X + Y + Z) = 1 – x – y ● CIE Yxy: Y = luminance, xy = chromaticity. ● A colorspace defines which three primaries are used to recreate colors. These are usually defined as a (x, y) tuple. These tuples represent the color vectors (1, 0, 0), (0, 1, 0), (0, 0, 1). ● A colorspace also defines the white point (x, y) tuple, which is the color obtained by the maximum of all three primaries or the color vector (1, 1, 1). It effectively defines the relative power or energy of the primaries. ● In the past these were based on phosphors used in TVs. ● Any colorspace can be derived from the CIE XYZ colorspace through a 3x3 matrix multiplication.
  • 11. © 2014 Cisco and/or its affiliates. All rights reserved. 11 Transfer Function ● Colorspaces are linear but early CRTs weren't and neither is human vision: double the luminance will not actually look twice as bright. ● Colorspaces define a transfer function to go from linear to a non-linear color representation. Denoted as R'G'B' where each component has gone through the transfer function. The transfer function is sometimes called 'gamma' which is usually incorrect.
  • 12. © 2014 Cisco and/or its affiliates. All rights reserved. 12 Y’CbCr Conversion & Quantization ● Y'CbCr (aka YUV) is in turn derived from R'G'B' via a matrix multiplication. Colorspaces can define one or more possible matrices for this. Note that Y'CbCr is not a colorspace, it is just a different way of representing colors within a colorspace. ● All colorspaces can represent all colors (although with values outside the 0-1 range), but not after quantization, i.e. when values < 0 or > 1 are cut off. This defines the gamut or extent of a colorspace. ● Take care when using textures in openGL: openGL expects linear RGB by default, not R'G'B'!
  • 13. © 2014 Cisco and/or its affiliates. All rights reserved. 13 Color Transformations CIE XYZ Linear RGB Nonlinear R'G'B' Nonlinear Y'CbCr 3x3 matrix (based on chromaticities) 3x3 matrixtransfer function Quantized Y'CbCrQuantized R'G'B'
  • 14. © 2014 Cisco and/or its affiliates. All rights reserved. 14 Standards ● Rec. 709: HDTV colorspace. Standard: Rec. ITU-R BT.709-5. ● Best known: sRGB. Used for computer graphics. Standard: IEC 61966- 2-1:1999. Chromaticities identical to Rec. 709, but different transfer function. ● SMPTE 170M (aka SMPTE C): defines the SDTV colorspace. The transfer function is identical to Rec. 709, but the chromaticities are different. The Y'CbCr encoding uses the encoding defined in BT.601. Note: BT.601 only defines the Y'CbCr encoding, not a colorspace. BT.601 is sometimes – incorrectly – used as an alias for SMPTE 170M. ● BT.2020: used for UHDTV with deep color (>= 10 bits per component). The transfer function is the same as Rec. 709. It defines two different Y'CbCr encodings.
  • 15. © 2014 Cisco and/or its affiliates. All rights reserved. 15 Limited and Full Range ● Typically 8-bit R', G' and B' values are quantized to the range [0-255]. This is full range quantization. ● Typically 8-bit Y' values are quantized to the range [16-235] and Cb and Cr values to the range [16-240]. This is limited range quantization. ● But limited range R'G'B' (values in the range [16-235]) and full range Y'CbCr variants exist as well. HDMI can signal both variants.
  • 16. © 2014 Cisco and/or its affiliates. All rights reserved. 16 Guidelines ● SDTV: SMPTE 170M. ● HDTV: Rec. 709. ● Graphics: sRGB.
  • 17. © 2014 Cisco and/or its affiliates. All rights reserved. 17 Problems ● Highly confusing colorspace names. ● Inconsistent conversion matrices: often buggy, never the same. ● Applications often ignore colorspace information. ● Incorrect handling of limited/full range quantization. ● Hardware does not take different transfer functions into account. E.g. the adv7604 driver produces the wrong results when converting from Rec. 709 Y'CbCr to sRGB R'G'B'.
  • 18. © 2014 Cisco and/or its affiliates. All rights reserved. 18 struct v4l2_pix_format (today) include/uapi/linux/videodev2.h: struct v4l2_pix_format { __u32 width; __u32 height; __u32 pixelformat; __u32 field; /* enum v4l2_field */ __u32 bytesperline; /* for padding, zero if unused */ __u32 sizeimage; __u32 colorspace; /* enum v4l2_colorspace */ __u32 priv; /* private data, depends on pixelformat */ __u32 flags; /* format flags (V4L2_PIX_FMT_FLAG_*) */ __u32 ycbcr_enc; /* enum v4l2_ycbcr_encoding */ __u32 quantization; /* enum v4l2_quantization */ __u32 xfer_func; /* enum v4l2_xfer_func */ };
  • 19. Cisco Confidential 19© 2014 Cisco and/or its affiliates. All rights reserved. What Happens When...
  • 20. © 2014 Cisco and/or its affiliates. All rights reserved. 20 SMPTE-170M vs Rec. 709
  • 21. © 2014 Cisco and/or its affiliates. All rights reserved. 21 SMPTE-170M vs Rec. 709
  • 22. © 2014 Cisco and/or its affiliates. All rights reserved. 22 Rec. 709 vs sRGB Transfer Function
  • 23. © 2014 Cisco and/or its affiliates. All rights reserved. 23 Rec. 709 vs sRGB Transfer Function
  • 24. © 2014 Cisco and/or its affiliates. All rights reserved. 24 Rec. 709 vs BT.601 Y´CbCr Encoding
  • 25. © 2014 Cisco and/or its affiliates. All rights reserved. 25 Rec. 709 vs BT.601 Y´CbCr Encoding
  • 26. © 2014 Cisco and/or its affiliates. All rights reserved. 26 Limited vs Full Range Quantization
  • 27. © 2014 Cisco and/or its affiliates. All rights reserved. 27 Limited vs Full Range Quantization
  • 28. © 2014 Cisco and/or its affiliates. All rights reserved. 28 Resources ● Email: hverkuil@xs4all.nl ● Color Imaging – Fundamentals and Applications, Erik Reinhard et. al. ● Digital Video and HDTV – Algorithms and Interfaces, Charles Poynton. ● http://www.brucelindbloom.com ● https://linuxtv.org/downloads/v4l-dvb-apis-new/media/uapi/v4l/colorspaces.html
  • 29. Cisco Confidential 29© 2014 Cisco and/or its affiliates. All rights reserved. Questions?