<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # 編碼結構之編碼時的分層處理架構 本博文主要介紹HEVC編碼結構中的“編碼時的分層處理架構”。HEVC編碼結構的主要目的就是為了各種應用下操作的靈活性以及數據損失的魯棒性(所謂“魯棒性”,是指控制系統在一定的參數攝動下,維持其它某些性能的特性)。從GOP(Group of Pictures)至Slice,從Slice至SS(Slice Segment),從SS至CTU(Coding Tree Unit),從CTU至CU(Coding Unit)的過程就是編碼時的分層處理架構。 ### 1、圖像組GOP ? ? ? 視頻序列由若干時間連續的圖像構成,在對其進行壓縮時,先將該視頻序列分割為若干個小的圖像組(Group of Pictures,GOP),GOP分為:封閉式GOP(Closed GOP)和開放式GOP(Opened GOP)。 ? ? ? 封閉式GOP如下圖所示,每個GOP以IDR(Instantaneous Decoding Refresh)圖像開始,各個GOP之間獨立編解碼。 ![](https://box.kancloud.cn/2016-07-05_577af7b22826c.jpg) ? ? ?? ? ? ? 開放式GOP如下圖所示,第一個GOP的第一個幀內編碼圖像為IDR圖像,后續GOP中的第一個幀內編碼圖像為non-IDR圖像,也就是說,后面GOP中的幀間編碼圖像可以越過non-IDR圖像,使用前一個GOP中的已編碼圖像做參考圖像。 ![](https://box.kancloud.cn/2016-07-05_577af7b23ab7d.jpg) ### 2、片Slice ? ? ? 每個GOP又被劃分為多個片(Slice),片與片之間進行獨立編碼。其主要目的之一是在數據丟失情況下進行重新同步。在HEVC中,默認情況下,一個GOP分為4個片,每個片就是一幀圖像。 ? ? ? 如下圖所示,每個片由一個或多個片段(Slice Segment,SS)組成。在HEVC中,默認情況下,一個片中只包含一個片段,也就是說,一幀圖像就是一個片,也是一個片段。 ![](https://box.kancloud.cn/2016-07-05_577af7b24d5b9.jpg) ### 3、Tile ? ? ? Tile是HEVC中新提出的概念,一幅圖像不僅僅可以劃分為若干個Slice,還可以劃分為若干個Tile,即從水平和垂直方向將一幅圖像分割為若干個矩形區域,一個矩形區域就是一個Tile,如下圖所示。每個Tile包含整數個CTU,其可以獨立解碼。劃分Tile的主要目的是在增強并行處理能力的同時又不引入新的錯誤擴散。Tile提供比CTB更大程度的并行(在圖像或者子圖像層面上),在使用時無需進行復雜的線程同步。 ![](https://box.kancloud.cn/2016-07-05_577af7b25ebc7.jpg) ? ? ? Tile的劃分并不要求水平和垂直邊界均勻分布,可根據并行計算和差錯控制的要求靈活掌握。通常情況下,每一個Tile中包含的CTU數據是近似相等的。在編碼時,圖像中的所有Tile按照掃描順序進行處理,每個Tile中的CTU也按照掃描順序進行編碼。需要注意的是:一個Tile包含的CTU個數與Slice中的CTU個數互不影響,在同一幅圖像中,可以同時存在某些Slice中包含多個Tile和某些Tile中包含多個Slice的情況。 ? ? ? Slice與Tile劃分的目的都是為了進行獨立解碼,但是二者的劃分方式又有所不同。Tile形狀基本上為矩形,Slice的形狀則為條帶狀。Slice由一系列的SS組成,一個SS由一系列的CTU組成。Tile則直接由一系列的CTU組成。 ? ? ? Slice/SS和Tile之間也必須遵循一些基本原則,每個Slice/SS和Tile至少要滿足以下兩個條件之一: (1)、一個Slice/SS中的所有CTU屬于同一個Tile; (2)、一個Tile中的所有CTU屬于同一個Slice/SS。 ### 4、編碼樹單元CTU ? ? ? 為了更靈活、更有效地表示視頻內容,HEVC中還引入了編碼樹單元CTU(Coding Tree Unit),每個CTU包括一個亮度CTB(Coding Tree Block)和兩個色度CTB。 ? ? ? 如下圖所示,一個SS在編碼時,首先被分割為相同大小的CTU,每個CTU按照四叉樹分割方式被劃分為不同類型的編碼單元CU(Coding Units)。 ![](https://box.kancloud.cn/2016-07-05_577af7b271f16.jpg) ### 5、編碼樹單元CTU和編碼樹塊CTB ? ? ? ?在H.264中,視頻編碼是基于宏塊實現的,對于4:2:0采樣格式的視頻,一個宏塊包含一個16*16大小的亮度塊和兩個8*8大小的色度塊。考慮到高清/超清視頻的自身特性,HEVC標準中引入了樹形編碼單元CTU,其尺寸由編碼器指定,且可大于宏塊尺寸。同一處位置的一個亮度CTB和兩個色度CTB,再加上相應的語法元素形成一個CTU。 ? ? ? ?對于一個L * L大小的亮度CTB,L的取值可以是8或16或32或64,也就是說,亮度CTB的大小可以為8 * 8或16 * 16或32 * 32或64 * 64,而色度CTB的大小可以為4 * 4或8 * 8或16 * 16或32 * 32。在高分辨率視頻編碼過程中,使用較大的CTB可以獲得更好的壓縮效果。 ? ? ? 為了高效靈活地表示視頻場景中的不同紋理細節、運動變化的視頻內容或視頻對象。HEVC為圖像劃分定義了一套全新的語法單元,包括編碼單元CU(Coding Unit)、預測單元PU(Prediction Unit)和變換單元TU(Transform Unit)。其中CU是進行預測、變換量化和熵編碼等處理的基本單元,PU是進行幀內/幀間預測編碼的基本單元,TU是進行變換和量化的基本單元。這三個單元的分離,不僅使得變換、預測和編碼的各個處理環節更加靈活,也使得各環節的劃分更加符合視頻圖像的紋理特征,保證編碼性能的最優化。 ### 6、編碼單元CU和編碼塊CB ? ? ? 在H.264中,編碼塊CB的大小是固定的,固定大小的CB并沒有完全挖掘出圖像的特點,尤其是大尺寸平緩區域的圖像,用較大的塊進行編碼能夠極大地提升編碼效率。在HEVC中,一個CTB可以直接作為一個CB,亦可進一步以四叉樹的形式劃分為多個小的CB。所以,在HEVC中CB的大小是可變的,亮度CB最大為64 * 64,最小為8 * 8,大的CB可以使得平緩區域的編碼效率大大提升,小的CB能很好地處理圖像局部的細節,從而使得復雜圖像的預測更加準確。 ? ? ? ?一個亮度CB和兩個色度CB以及它們相應的語句元素共同組成一個編碼單元CU。在HEVC中,一幅圖像可以被劃分為若干不重疊的CTU,在CTU內部采用基于四叉樹的循環分層結構,同一層次的CU具有相同的劃分深度。一個CTU可能只包含一個CU(沒有劃分),也可能被劃分為多個CU,如下圖所示是一個CTU劃分為多個CU的示意圖。 ![](https://box.kancloud.cn/2016-07-05_577af7b28430f.jpg) ? ? ? CU是否繼續劃分取決于分割標志Split Flag,這種靈活地單元表示方法相比于H.264中的宏塊劃分具有以下優點: (1)、CU大小可以大于傳統的宏塊大小(16*16),對于平坦區域,較大的編碼單元可以減少所用的比特數,提高了編碼效率,尤其適用于高清/超高清視頻。 (2)、通過合理地選擇CTU的大小和最大層次深度,編碼器的結構可以根據不同圖片內容、圖片大小以及應用需求獲得較大程度的優化。 (3)、所有的單元類型都統稱為CU,消除了宏塊與亞宏塊之分,并且編碼單元的結構可以根據CTU大小、最大編碼深度以及一系列劃分標志Split Flag簡單地表示出來。 ### 7、預測單元PU和預測塊PB ? ? ? 預測單元PU規定了編碼單元的所有預測模式,一切與預測有關的信息都定義在預測單元部分,比如,幀內預測方向、幀間預測的分割方式、運動矢量預測,以及幀間預測參考圖像索引號都屬于預測單元的范疇。 ? ? ? ?一個2N*2N的編碼單元所包含的預測單元劃分模式如下圖所示。 ![](https://box.kancloud.cn/2016-07-05_577af7b29ab67.jpg) ? ? ? 對于一個2N * 2N的CU模式,幀內預測單元PU的可選模式有兩種:2N * 2N和N * N。對于幀間單元PU,可選擇的模式有9種,包塊4種對稱模式、4種不對稱模式和Skip模式。當需要編碼的運動信息只有運動參數集索引(采用運動合并技術),編碼殘差信息不需要編碼時,為2N * 2N的Skip模式。 ### 8、變換單元TU和變換塊TB ? ? ? TU是獨立完成變換和量化的基本單元,其尺寸也是靈活變化的。HEVC突破了原有的變換尺寸限制,可支持大小為4 * 4至32 * 32的編碼變換,以TU為基本單元進行變換和量化,它的模式依賴于CU模式,在一個CU內,允許TU跨越多個PU,以四叉樹形式遞歸劃分,如下圖所示。 ![](https://box.kancloud.cn/2016-07-05_577af7b2b1a24.jpg) ? ? ? 對于一個2N*2N大小的CU,有一個標志位決定其是否劃分為4個N*N的TU,是否可以進一步劃分由SPS中的TU的最大劃分深度決定。根據預測殘差的局部變化特性,TU可以自適應地選擇最優的模式,大塊的TU模式能夠將能量更好地集中,小塊的TU模式能夠保存更多的圖像細節,這種靈活地分割結構,可以使變換后的殘差能量得到充分壓縮,以進一步提高編碼增益。 ![大笑](https://box.kancloud.cn/2016-01-19_569e21abc5518.gif) ![大笑](https://box.kancloud.cn/2016-01-19_569e21abc5518.gif) ![大笑](https://box.kancloud.cn/2016-01-19_569e21abc5518.gif) 以上就是編碼結構中的分層處理架構,相對而言比較簡單~~~但是非常重要!!! ![大笑](https://box.kancloud.cn/2016-01-19_569e21abc5518.gif) ![大笑](https://box.kancloud.cn/2016-01-19_569e21abc5518.gif) ![大笑](https://box.kancloud.cn/2016-01-19_569e21abc5518.gif)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看