{"id":363,"date":"2025-10-12T20:03:29","date_gmt":"2025-10-13T03:03:29","guid":{"rendered":"https:\/\/videoq.com\/blog2\/?p=363"},"modified":"2025-10-12T20:16:38","modified_gmt":"2025-10-13T03:16:38","slug":"color-bars-reference-levels","status":"publish","type":"post","link":"https:\/\/videoq.com\/blog2\/2025\/10\/12\/color-bars-reference-levels\/","title":{"rendered":"Color Bars Reference Levels"},"content":{"rendered":"\n<p><strong>Color Bars<\/strong> is the most used <strong>Test Pattern<\/strong>.<\/p>\n\n\n\n<p>At first it was defined in <strong>analog RGB<\/strong> signal format, then in <strong>analog composite NTSC\/PAL\/SECAM<\/strong> formats, then in <strong>analog component<\/strong> format (<strong>YPbPr<\/strong> aka <strong>YUV<\/strong>), and finally &#8211; in <strong>digital component<\/strong>\u00a0<strong>RGB and YUV<\/strong> formats.<\/p>\n\n\n\n<p>In accordance with&nbsp;ITU-R Recommendation BT.471 the nomenclature (type specification) of any color bars test pattern should consist of&nbsp;RGB levels as a percentage of Reference White in the following sequence:<br>\nWhite Bar \/ Black Bar \/ Max Colored Bars \/ Min Colored Bars.<\/p>\n\n\n\n<p>For 100\/0\/75\/0 &#8220;EBU Bars&#8221; the MathCAD RGB_Bars matrix in percents looks like this:<\/p>\n\n\n\n<!--more-->\n\n\n\n<figure class=\"wp-block-image alignnone wp-image-370 size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"850\" height=\"309\" src=\"http:\/\/videoq.com\/blog2\/wp-content\/uploads\/2018\/10\/EBU_Bars_RGB_Levels_Matrix.jpg\" alt=\"\" class=\"wp-image-370\" srcset=\"https:\/\/videoq.com\/blog2\/wp-content\/uploads\/2018\/10\/EBU_Bars_RGB_Levels_Matrix.jpg 850w, https:\/\/videoq.com\/blog2\/wp-content\/uploads\/2018\/10\/EBU_Bars_RGB_Levels_Matrix-300x109.jpg 300w, https:\/\/videoq.com\/blog2\/wp-content\/uploads\/2018\/10\/EBU_Bars_RGB_Levels_Matrix-768x279.jpg 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><figcaption class=\"wp-element-caption\">EBU Bars Levels, RGB, %<\/figcaption><\/figure>\n\n\n\n<p>WhiteBar = <strong>100<\/strong>, Black = <strong>0<\/strong>, ColBarsMax = <strong>75<\/strong>, ColBarsMin = <strong>0<\/strong>.<\/p>\n\n\n\n<p>For any color space the relative YUV values in percents can be obtained as a product of multiplication of RGB_Bars matrix by the transposed RGB to YUV conversion matrix matching the selected YUV color space:<\/p>\n\n\n\n<p>YUV_UHD = RGB_bars \u00d7 Transpose(RGB2YUVUHD)<br>\nYUV_HD = RGB_bars \u00d7 Transpose(RGB2YUVHD)<br>\nYUV_SD = RGB_bars \u00d7 Transpose(RGB2YUVSD)<\/p>\n\n\n\n<figure class=\"wp-block-image alignnone wp-image-373 size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"985\" height=\"646\" src=\"http:\/\/videoq.com\/blog2\/wp-content\/uploads\/2018\/10\/EBU_Bars_YUV_percents.jpg\" alt=\"\" class=\"wp-image-373\" srcset=\"https:\/\/videoq.com\/blog2\/wp-content\/uploads\/2018\/10\/EBU_Bars_YUV_percents.jpg 985w, https:\/\/videoq.com\/blog2\/wp-content\/uploads\/2018\/10\/EBU_Bars_YUV_percents-300x197.jpg 300w, https:\/\/videoq.com\/blog2\/wp-content\/uploads\/2018\/10\/EBU_Bars_YUV_percents-768x504.jpg 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><figcaption class=\"wp-element-caption\">EBU Bars Levels, YUV, %<\/figcaption><\/figure>\n\n\n\n<p>For practical applications we should convert the relative YUV values in percents to Narrow Range digital data levels.<\/p>\n\n\n\n<p>To cover several bit depth cases it is convenient to present digital levels in&nbsp;&nbsp;&#8220;8 bit fractional&#8221; notation invented by BBC engineers; this notation is suitable for any numbers of bits.<\/p>\n\n\n\n<p>Here we use its &#8220;10 bit as 8 bit fractional&#8221; variant, so .25 means one LSB increment of 10 bit value, 0.5 means two 10 bit levels, and 0.75 means three 10 bit levels added to 8 bit (MSB) value \u00d74:<\/p>\n\n\n\n<figure class=\"wp-block-image alignnone wp-image-377 size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"864\" height=\"651\" src=\"http:\/\/videoq.com\/blog2\/wp-content\/uploads\/2018\/10\/EBU_Bars_YUV_8bit.jpg\" alt=\"\" class=\"wp-image-377\" srcset=\"https:\/\/videoq.com\/blog2\/wp-content\/uploads\/2018\/10\/EBU_Bars_YUV_8bit.jpg 864w, https:\/\/videoq.com\/blog2\/wp-content\/uploads\/2018\/10\/EBU_Bars_YUV_8bit-300x226.jpg 300w, https:\/\/videoq.com\/blog2\/wp-content\/uploads\/2018\/10\/EBU_Bars_YUV_8bit-768x579.jpg 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><figcaption class=\"wp-element-caption\">EBU Bars YUV Levels, 8 bit fractional<\/figcaption><\/figure>\n\n\n\n<p>The nomenclature of widely used SMPTE Bars is 75\/0\/75\/0.<\/p>\n\n\n\n<p>Thus, the only difference between SMPTE Bars and EBU Bars is the White Bar level. This 75% White Bar is often called &#8220;75% Gray&#8221; (strictly speaking, we should not call it &#8220;White&#8221;).<\/p>\n\n\n\n<p>For six other (colored)&nbsp; bars the YUV values of SMPTE Bars are the same as shown in EBU Bars matrices above.<\/p>\n\n\n\n<p>The&nbsp;75% Gray Level plays important role,&nbsp; in 8 bit fractional notation its level is<\/p>\n\n\n\n<p>16 + 0.75 \u00d7 219 = <strong>180.25<\/strong>, so the 8 bit rounded level = <strong>180.<\/strong><\/p>\n\n\n\n<p>The exact value of 75% Gray&nbsp; Level in 10 bit is<\/p>\n\n\n\n<p><span style=\"font-size: 1rem;\">16 \u00d7 4&nbsp; + 0.75 (219 \u00d7 4) = <\/span><strong style=\"font-size: 1rem;\">721<\/strong><span style=\"font-size: 1rem;\">, <\/span><\/p>\n\n\n\n<p><span style=\"font-size: 1rem;\">but for backward compatibility with 8 bit systems it is typically set to<\/span><\/p>\n\n\n\n<p><span style=\"font-size: 1rem;\"> 180 \u00d7 4 = <\/span><strong style=\"font-size: 1rem;\">720.<\/strong><\/p>\n\n\n\n<p>The <strong>Vectorscope<\/strong> shows you color&nbsp;<strong>Hue<\/strong> and <strong>Saturation<\/strong>; in math terms it means the UV Vector <strong>Angle<\/strong> in degrees and&nbsp;<strong>Length<\/strong> in percents.<\/p>\n\n\n\n<p>See below&nbsp; the MathCAD calculated vector representation of EBU Bars UV values and how UV vectors look on VideoQ VQV analyzer screen:<\/p>\n\n\n\n<figure class=\"wp-block-image alignnone wp-image-398 size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"706\" height=\"842\" src=\"http:\/\/videoq.com\/blog2\/wp-content\/uploads\/2018\/10\/EBU_Bars_UV_Vectors.jpg\" alt=\"\" class=\"wp-image-398\" srcset=\"https:\/\/videoq.com\/blog2\/wp-content\/uploads\/2018\/10\/EBU_Bars_UV_Vectors.jpg 706w, https:\/\/videoq.com\/blog2\/wp-content\/uploads\/2018\/10\/EBU_Bars_UV_Vectors-252x300.jpg 252w\" sizes=\"auto, (max-width: 706px) 100vw, 706px\" \/><figcaption class=\"wp-element-caption\">EBU Bars UV Vectors<\/figcaption><\/figure>\n\n\n\n<p><em>Strictly speaking,&nbsp; traditional Vectorscope graticule&nbsp; label &#8220;Saturation&#8221; has not much in common with the corresponding colorimetry parameter. Better name for this label could be &#8220;Chroma Intensity&#8221; or &#8220;Chroma Level&#8221;.<\/em><\/p>\n\n\n\n<p>Yellow rectangles on the VQV Vectorscope tool display show measured UV &#8220;Chroma Volume&#8221;. This is quite handy for at glance checks. Note that Chroma Volume numerical value differs from UV vector length&nbsp; aka &#8220;Saturation&#8221;.<\/p>\n\n\n\n<p>Full VQV Vectorscope readout text covers several measured parameters (overall UV statistics and separate statistics of U and V components). In case of pristine test pattern all readout values should be the same:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>UV <strong>Chroma Volume<\/strong>: 75% (<strong>U<\/strong>: 75% <strong>V<\/strong>: 75%)<\/li>\n\n\n\n<li>UV <strong>Peak Volume<\/strong>: 75% (<strong>U<\/strong>: 75% <strong>V<\/strong>: 75%)&#8221;<\/li>\n<\/ul>\n\n\n\n<p>On the Vectorscope display all bright Cyan spots should be within the corresponding target boxes (<em>ideally, at the central position<\/em>) and UV Chroma Volume numerical readout should match the nomenclature&nbsp; specified for the pristine color bars test.<\/p>\n\n\n\n<p>The target boxes layout automatically follows the color matrix type specified in the analyzed file metadata or selected by the user.<\/p>\n\n\n\n<p>For any color space 75% and 100% target boxes are displayed, thus allowing to detect mismatch between the declared nomenclature and actual UV data.<\/p>\n\n\n\n<p>What may happen in case of wrong YUV to RGB matrix selection? The resulting colors may appear quite different.<\/p>\n\n\n\n<p>The special test image shown below was produced by combining&nbsp; 4 decoded RGB images as 4 horizontal bands:<\/p>\n\n\n\n<figure class=\"wp-block-image alignnone size-full wp-image-412\"><img loading=\"lazy\" decoding=\"async\" width=\"962\" height=\"608\" src=\"http:\/\/videoq.com\/blog2\/wp-content\/uploads\/2018\/10\/ColBarsRGB75_MultiBandTest.jpg\" alt=\"\" class=\"wp-image-412\" srcset=\"https:\/\/videoq.com\/blog2\/wp-content\/uploads\/2018\/10\/ColBarsRGB75_MultiBandTest.jpg 962w, https:\/\/videoq.com\/blog2\/wp-content\/uploads\/2018\/10\/ColBarsRGB75_MultiBandTest-300x190.jpg 300w, https:\/\/videoq.com\/blog2\/wp-content\/uploads\/2018\/10\/ColBarsRGB75_MultiBandTest-768x485.jpg 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><figcaption class=\"wp-element-caption\">75% Bars &#8211; Multi-Band Test<\/figcaption><\/figure>\n\n\n\n<p>Original pristine 75% NR YUV HD Color Bars have been decoded to FR RGB in 4 modes:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Band #1: Correct BT.709 matrix, correct\u00a0mapping from NR to FR<\/li>\n\n\n\n<li>Band #2: Correct BT.709 matrix, wrong mapping from NR to NR<\/li>\n\n\n\n<li>Band #3: Wrong BT.601 matrix, correct mapping from NR to FR<\/li>\n\n\n\n<li>Band #4: Wrong BT.601 matrix, wrong mapping from from NR to NR<\/li>\n<\/ul>\n\n\n\n<p>Next two VQV Waveform Monitor screenshots show strong discrepancies between correct Band #1 and wrong Band #4.<\/p>\n\n\n\n<p>In both cases VQV was converting input FR RGB 8 bit data of the <strong>selected line range<\/strong> (i.e. of the selected Band #) to NR BT.709 YUV waveforms using correct built-in matrix.<\/p>\n\n\n\n<figure class=\"wp-block-image alignnone size-full wp-image-414\"><img loading=\"lazy\" decoding=\"async\" width=\"962\" height=\"608\" src=\"http:\/\/videoq.com\/blog2\/wp-content\/uploads\/2018\/10\/ColBarsRGB75_MultiBandTest_Band1WFM.jpg\" alt=\"\" class=\"wp-image-414\" srcset=\"https:\/\/videoq.com\/blog2\/wp-content\/uploads\/2018\/10\/ColBarsRGB75_MultiBandTest_Band1WFM.jpg 962w, https:\/\/videoq.com\/blog2\/wp-content\/uploads\/2018\/10\/ColBarsRGB75_MultiBandTest_Band1WFM-300x190.jpg 300w, https:\/\/videoq.com\/blog2\/wp-content\/uploads\/2018\/10\/ColBarsRGB75_MultiBandTest_Band1WFM-768x485.jpg 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><figcaption class=\"wp-element-caption\">Band #1 &#8211; Correct YUV Waveforms<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image alignnone size-full wp-image-416\"><img loading=\"lazy\" decoding=\"async\" width=\"962\" height=\"608\" src=\"http:\/\/videoq.com\/blog2\/wp-content\/uploads\/2018\/10\/ColBarsRGB75_MultiBandTest_Band4WFM.jpg\" alt=\"\" class=\"wp-image-416\" srcset=\"https:\/\/videoq.com\/blog2\/wp-content\/uploads\/2018\/10\/ColBarsRGB75_MultiBandTest_Band4WFM.jpg 962w, https:\/\/videoq.com\/blog2\/wp-content\/uploads\/2018\/10\/ColBarsRGB75_MultiBandTest_Band4WFM-300x190.jpg 300w, https:\/\/videoq.com\/blog2\/wp-content\/uploads\/2018\/10\/ColBarsRGB75_MultiBandTest_Band4WFM-768x485.jpg 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><figcaption class=\"wp-element-caption\">Band #4 &#8211; Wrong YUV Waveforms<\/figcaption><\/figure>\n\n\n<div class=\"wp-block-image size-full wp-image-418\">\n<figure class=\"alignright\"><img loading=\"lazy\" decoding=\"async\" width=\"255\" height=\"270\" src=\"http:\/\/videoq.com\/blog2\/wp-content\/uploads\/2018\/10\/ColBarsRGB75_MultiBandTest_UV_Vectors.jpg\" alt=\"\" class=\"wp-image-418\"\/><figcaption class=\"wp-element-caption\">Bands 1,2,3 &amp; 4 &#8211; UV Vectors<\/figcaption><\/figure><\/div>\n\n\n<p class=\"has-text-align-left\">This screenshot shows UV Vectors of all 4 bands (all lines of the RGB frame):<\/p>\n\n\n\n<p><em>Interesting fact &#8211;&nbsp; wrong colors saturation may go up or down, but the overall Chroma Volume readout shows&nbsp; correct 75%.<\/em><\/p>\n\n\n\n<p>&nbsp;<\/p>\n\n\n\n<p>&nbsp;<\/p>\n\n\n\n<p class=\"has-text-align-left\">See previous posts:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/videoq.com\/blog2\/2018\/10\/27\/color-bars-test-pattern\/\">Color Bars Test Pattern<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/videoq.com\/blog2\/2018\/10\/26\/rgb-yuv-travel-across-color-spaces\/\">RGB &amp; YUV \u2013 Travel across Color Spaces<\/a><\/li>\n<\/ul>\n\n\n\n<p>Learn more:<\/p>\n\n\n\n<p>See posts in the <a href=\"https:\/\/videoq.com\/blog2\/category\/video-science-fundamentals\/\"><strong>Video Science&nbsp;Fundamentals<\/strong><\/a> category.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Color Bars is the most used Test Pattern. At first it was defined in analog RGB signal format, then in analog composite NTSC\/PAL\/SECAM formats, then in analog component format (YPbPr aka YUV), and finally &#8211; in digital component\u00a0RGB and YUV formats. In accordance with&nbsp;ITU-R Recommendation BT.471 the nomenclature (type specification) of any color bars test &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/videoq.com\/blog2\/2025\/10\/12\/color-bars-reference-levels\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Color Bars Reference Levels&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11,5],"tags":[],"class_list":["post-363","post","type-post","status-publish","format-standard","hentry","category-video-science-fundamentals","category-videoq-test-patterns"],"_links":{"self":[{"href":"https:\/\/videoq.com\/blog2\/wp-json\/wp\/v2\/posts\/363","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/videoq.com\/blog2\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/videoq.com\/blog2\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/videoq.com\/blog2\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/videoq.com\/blog2\/wp-json\/wp\/v2\/comments?post=363"}],"version-history":[{"count":60,"href":"https:\/\/videoq.com\/blog2\/wp-json\/wp\/v2\/posts\/363\/revisions"}],"predecessor-version":[{"id":608,"href":"https:\/\/videoq.com\/blog2\/wp-json\/wp\/v2\/posts\/363\/revisions\/608"}],"wp:attachment":[{"href":"https:\/\/videoq.com\/blog2\/wp-json\/wp\/v2\/media?parent=363"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/videoq.com\/blog2\/wp-json\/wp\/v2\/categories?post=363"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/videoq.com\/blog2\/wp-json\/wp\/v2\/tags?post=363"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}