{"id":2190,"date":"2025-05-31T05:54:19","date_gmt":"2025-05-31T03:54:19","guid":{"rendered":"https:\/\/localdab.org\/?page_id=2190"},"modified":"2025-06-19T07:54:33","modified_gmt":"2025-06-19T05:54:33","slug":"superframe-packing","status":"publish","type":"page","link":"https:\/\/localdab.org\/index.php\/glossary\/q-t\/superframe-packing\/","title":{"rendered":"Superframe Packing"},"content":{"rendered":"\n<p class=\"has-small-font-size\"><em>(We would like to remind the reader that DAB\/DAB+ uses a sample rate of either <strong>48 kHz<\/strong>, <strong>32 kHz<\/strong>, <strong>24 kHz<\/strong>, or <strong>16 kHz<\/strong>).<\/em><\/p>\n\n\n\n<p>Superframe packing was a necessary enhancement to adapt the original DAB system for HE-AAC audio coding in DAB+.<\/p>\n\n\n\n<p>The original DAB standard was designed around audio frames of 24 milliseconds. However, this fixed duration was not compatible with the frame structure of HE-AAC, which required a different frame length. As a result, a new solution was introduced to reconcile these differences.<\/p>\n\n\n\n<p>For example, we use the most common sample rate in DAB+, which is 48 kHz.<\/p>\n\n\n\n<p>When transforming audio from the time domain to the frequency domain, it is common practice to use a number of samples that is a power of two. A frame size of <strong>1024 samples<\/strong> would be a logical choice. At a 48 kHz sampling rate, this corresponds to a frame duration of:<\/p>\n\n\n\n<p class=\"has-text-align-center\"><strong>1024 \/ 48,000 = 21.333\u2026 ms<\/strong><\/p>\n\n\n\n<p>To achieve a cleaner match, we consider reducing the frame size to <strong>960 samples<\/strong>, which results in a duration of:<\/p>\n\n\n\n<p class=\"has-text-align-center\"><strong>960 \/ 48,000 = 20 ms<\/strong><\/p>\n\n\n\n<p>However, even with this adjustment, we still face a mismatch with the DAB system&#8217;s native 24 ms frame duration. The key insight is that the <strong>least common multiple<\/strong> of 20 ms and 24 ms is <strong>120 ms<\/strong>.<\/p>\n\n\n\n<p>This allows for an elegant solution:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>5 frames of 24 ms = <strong>120 ms<\/strong><\/li>\n\n\n\n<li>6 frames of 20 ms (HE-AAC) = <strong>120 ms<\/strong><\/li>\n<\/ul>\n\n\n\n<p>By grouping six 20 ms HE-AAC frames, we form a <strong>superframe of 120 ms<\/strong>, which can be distributed across five 24 ms slots in the original DAB frame structure. This process is known as <strong>Audio Superframe Packing<\/strong>, and it is a DAB+-specific adaptation.<\/p>\n\n\n\n<p><strong>Conclusion:<\/strong><\/p>\n\n\n\n<p>The Audio Superframe Packing process takes place <strong>after<\/strong> HE-AAC (v1\/v2) audio encoding. The <strong>Reed\u2013Solomon coding (RS(120,110))<\/strong> is then applied to the packed superframe to provide error correction. This entire process is part of the <strong>application layer<\/strong> in the DAB+ architecture, as reflected in the relevant system diagrams.<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69f2fd4dc42ec&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"69f2fd4dc42ec\" class=\"wp-block-image size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"815\" height=\"339\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/localdab.org\/wp-content\/uploads\/2025\/06\/supframe-packaging-update.jpg\" alt=\"\" class=\"wp-image-2198\" srcset=\"https:\/\/localdab.org\/wp-content\/uploads\/2025\/06\/supframe-packaging-update.jpg 815w, https:\/\/localdab.org\/wp-content\/uploads\/2025\/06\/supframe-packaging-update-300x125.jpg 300w, https:\/\/localdab.org\/wp-content\/uploads\/2025\/06\/supframe-packaging-update-768x319.jpg 768w\" sizes=\"auto, (max-width: 815px) 100vw, 815px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><figcaption class=\"wp-element-caption\"><em>Fig \u2013 Where to position the Superframe Packing (Application Layer)<br>(see ETSI TS 102 563)<\/em><\/figcaption><\/figure>\n\n\n\n<div style=\"height:28px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><strong>What about the other DAB+ sampling rates<\/strong>?<\/p>\n\n\n\n<p>We have observed that at a 48 kHz sample rate, we utilise six frames of 20 ms each to fill the superframe.<\/p>\n\n\n\n<p>If we examine the other sampling rates of DAB+, a similar packaging approach can be applied.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>960 samples at 32 kHz result in frames of 960\/32 = 30 ms. Using <strong>4<\/strong> of these frames, we again have a superframe of <strong>120 ms<\/strong>.<\/li>\n\n\n\n<li>960 samples at 24 kHz result in frames of 960\/24 = 40 ms. Using <strong>3<\/strong> of these frames, we again have a superframe of <strong>120 ms<\/strong>.<\/li>\n\n\n\n<li>960 samples at 16 kHz result in frames of 960\/16 = 20 ms. Using <strong>2<\/strong> of these frames, we again have a superframe of <strong>120 ms<\/strong>.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/localdab.org\/wp-content\/uploads\/2025\/05\/Superframe-Packing-2-1024x576.png\" alt=\"\" class=\"wp-image-2192\" srcset=\"https:\/\/localdab.org\/wp-content\/uploads\/2025\/05\/Superframe-Packing-2-1024x576.png 1024w, https:\/\/localdab.org\/wp-content\/uploads\/2025\/05\/Superframe-Packing-2-300x169.png 300w, https:\/\/localdab.org\/wp-content\/uploads\/2025\/05\/Superframe-Packing-2-768x432.png 768w, https:\/\/localdab.org\/wp-content\/uploads\/2025\/05\/Superframe-Packing-2.png 1280w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><a href=\"https:\/\/localdab.org\/index.php\/glossary\/\" data-type=\"page\" data-id=\"15\">Back<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>(We would like to remind the reader that DAB\/DAB+ uses a sample rate of either 48 kHz, 32 kHz, 24 kHz, or 16 kHz). Superframe packing was a necessary enhancement to adapt the original DAB system for HE-AAC audio coding in DAB+. The original DAB standard was designed around audio frames of 24 milliseconds. However, [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":1266,"menu_order":55,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-2190","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/localdab.org\/index.php\/wp-json\/wp\/v2\/pages\/2190","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/localdab.org\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/localdab.org\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/localdab.org\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/localdab.org\/index.php\/wp-json\/wp\/v2\/comments?post=2190"}],"version-history":[{"count":3,"href":"https:\/\/localdab.org\/index.php\/wp-json\/wp\/v2\/pages\/2190\/revisions"}],"predecessor-version":[{"id":2200,"href":"https:\/\/localdab.org\/index.php\/wp-json\/wp\/v2\/pages\/2190\/revisions\/2200"}],"up":[{"embeddable":true,"href":"https:\/\/localdab.org\/index.php\/wp-json\/wp\/v2\/pages\/1266"}],"wp:attachment":[{"href":"https:\/\/localdab.org\/index.php\/wp-json\/wp\/v2\/media?parent=2190"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}