FMUSER Wirless Transmit Video And Audio More Easier !

[email protected] WhatsApp +8618078869184
Language

    H.265 block division technology

     

    "The flexible block division technology brings high performance improvements to H.265, compared to H.264, in the reference software, the quadruption of the block is implemented in the reference software. H.265 has four concepts for coding units in the coding unit CTU, Cu, Pu, Tu The concept is defined as follows: (1) Code Tree Unit (CTU) and Coding Tree Block (CTB) structure: In the previous standard, the core of the coding layer is a macroblock, a macroblock contains a 16 x 16 brightness block, as well as two 8 × 8 chroma blocks for the commonly used 4: 2: 0 sampling format. And similar structures in HEVC are encoded tree units (CTUs), and their dimensions are specified by the encoder and can be larger than those of the traditional macroblock. A CTU contains a brightness CTB and two corresponding chromatic CTB and syntax elements. An L × L brightness CTB can be set to 16, 32 or 64. In general, the larger L, the better the better compression performance. HEVC supports the use of tree structure and class four-tree marks to divide CTB into smaller blocks. (2) Coding unit (Cu) and coding block (CB): The four fork symptoms of the CTU specify the size and position of the brightness and chromaticity Cb it belong. The root of the quadruple is associated with the CTU. Therefore, the maximum size of the brightness CB is the size of the brightness CTB thereof. For a CTU, its brightness CB and chroma Cb dividers are the same. A brightness Cb usually consists of two chromaticity CBs and their associated syntactics together into an encoding unit (CU). A CTB may only contain one CU, or it may be divided into multiple CUs, each Cu contains a prediction unit (PU) and transform unit (TU) associated with it. (3) Prediction unit (PU) and prediction block (PB): Deciding that an image area is performed in an inter-frame or intra-frame manner to perform in a Cu layer. The root of a PU divided structure in the Cu layer. Depending on the basic prediction type, the brightness Cb and chroma Cb can continue to divide and utilize other brightness Pb and chroma Pb. HEVC supports a variety of PB sizes, up to 64 × 64 to minimum 4 × 4. (4) Transform unit (TU) and transform block (TB): The predictive residual is encoded in a block transform. A transform unit tree structure root in the Cu layer. The size of the luminance Cb residual may be equal to the size of the brightness transform block TB, or it may be divided into smaller brightness TB. The chromaticity Cb is true. The basic function of the integer transformation similar to the discrete cosine transform (DCT) is defined to provide a TB of 4 × 4, 8 x 8, 16 × 16, 32 × 32. For TBs having a size of 4 × 4 and residuals, a discrete sinusoidal transformation (DST) is available for adoption. The division relationship is: CTU can be divided into four CUs to four CUs, which is determined according to the cost of distortion. A CU can be divided into a plurality of PUs, 265 8 (as shown below), which is specifically selected, which is determined based on the rate distortion. Be The transform unit TU is divided on the basis of CU. It is not any relationship with the PU. It uses a four-tree division method. The specific division is determined, and the figure below gives a structure of a CU schedral into TU. Note: The distortion cost expression is: D + Lambda * r D is quantified distortion, R is the number of bits encoded, and Lambda is a multiployment sub-tanon, which is determined by the profile, which is the rate distortion optimization technology. The rate distortion optimization problem is The recognized puzzle of the coding industry has not been solved so far. Lambda's choice directly affects the coding performance. In this regard, my mentor has a big achievement in this regard, there are many related papers, think Understand can go to our laboratory (video communication and intelligent computing laboratory) website download: http://www.avc2-Lab.net/, willing to engage in video codec research, you can consider our laboratory, Zhu Ce IEEE Fellow and IET Fellow's honor due to the contribution of video communications and video compression. The function of the block division in the HM code is: Compressctu, specifically call the XCompResscu to complete the decision of division mode, and the specific function process resolution reprints a detailed blog over again. The content is now reprinted as follows: Researry address: http://blog.sina.com.cn/s/blog_9f945ced0101p3ut.html 1. Call of XCompRESSCU functions There is a few lines of code in the function compressslice function encoding a piece. // Run Cu ENCODER M_pcuencoder-> Compresscu (PCCU); is an LCU encoding, including CU division, PU mode decision, TU division M_PCCUENCODER-> Encodecu (PCCU); here you can see that the PCCU is information that stores requiring coding. 2. Enter this function Void Tenccu :: Xcompresscu (TcomDatacu * & rpcu) { // Initialize Cu Data M_ppcbestcu [0] -> INITCU (rpccu-> getpic (), rpccu-> getaddr ()); // The m_ppcbestcu [0] and m_ppctempcu [0] here are recorded mode information, as for how to record us a little bit. By / /, it is easy to divide Cu, which is easy to circulate. M_ppcTempcu [0] -> INITCU (rpccu-> getPic (), rpccu-> getaddr ()); // analyysis of cu XCompResscu (M_ppcbestcu [0], M_ppcTempcu [0], 0); // Here you enter the Xcompresscu function, where the third parameter here is the split depth of the CU. The depth of 64x64 is 0, and so on, // The smallest Cu is 8x8 depth of 3. As for how to assign the optimal mode information into the PCCU, we can see it later. Here first, we must figure out a concept, that is, the division of Cu is recursive. The first step CU is 64x64, the selection of the optimal PU is the best prediction mode, and TU division is performed. Be The second step Cu is 32x32, the first Cu (the sub-scan order) is the same The third step Cu is 16x16, the first CU is the same as above The fourth step CU is 8x8 to perform the first Cu, the second CU, the third CU, and the selection of the division and the optimal mode of the PU and TUs of the fourth CU. This RD is accumulated in front of each CU. The fifth step is returned to the CU of the CU to 16x16, comparing its RD-COST to the RD-COST of the four 8x8 CUs of the fourth record. The optimal Cu division and the best CU divided by the optimal Cu division and the optimal CU were determined. The sixth step Cu is 16x16, the second CU. In the fourth step in the fourth step, the division of the second optimal 16x16 Cu and the PU TU mode can be obtained. At the same time, the optimal RD-COST of the second Cu is added to the first 16x16 CURD-COST obtained by 5 steps. Step 7: The optimal division and mode of the third and fourth 16x16 Cu is completed, and its RD-COST is accumulated. In this way, we get RD-COST divided into 16x16 optimal. Step 8: Returns to the second step, compare the first 32x32CU RD-COST and RD-COST divided into 4 16x16 Cu, which has the first 32x32 CU split information and the optimal mode. Step Ninth: The optimal division and mode selection of the second 32X32, the third 32x32, and the fourth 32X32 is completed. By recording and accumulating each 32x32 RD-COST, comparing the RD-COST of 64x64 CU. We got the final CU division and the division of PUs of each CU and the prediction mode of the PU and the division of TU. } 3.xcompresscu (m_ppcbestcu [0], m_ppctempcu [0], 0) function Now follow the process of 2 to see the process of this function: First enter the function, the size of the Cu has been determined to be 64x64, and the division of PU and the division of Tu The division of the PU will try in the following order: Interframe XCheckrdcostinger (rpcbestcu, rpctempcu, size_2nx2n, bfmd) SKIP 2NX2N XcheckrdcostMerge2nx2n (rpcbestcu, rpctempcu, & earlydetectionskimode); merge 2nx2n XCheckrdcostinger (rpcbestcu, rpctempcu, size_2nx2n, bfmd); 2nx2n XCheckrdcostinger (rpcbestcu, rpctempcu, size_nxn, bfmd); NXN is divided into 4 PUs XCheckrdcostinger (rpcbestcu, rpcTempcu, size_nx2n, bfmd); NX2N is divided into 2 PUs XCheckrdcostinger (rpcbestcu, rpctempcu, size_2nxn, bfmd); XCheckrdcostinger (rpcbestcu, rpcTempcu, size_2nxnu, bfmd); XCheckrdcostinger (rpcbestcu, rpctempcu, size_2nxnd, bfmd); 4 non-symmetrical divisions XCheckrdcostinger (rpcbestcu, rpcTempcu, size_nlx2n, bfmd); Here, when the RDCOST function is called, the RPCBESTCU is always stored in the current CU structure of the PU, the current CU, and the CU structure of division information. Inline: XCheckrdcostIntra (RPCBESTCU, RPCTEMPCU, SIZE_2NX2N); 2.NX2N division. The PU is the size of CU. Mppartcu = m_ppctempcu [uhnextDepth]; For (uint uipartUnitidx = 0; UIPartUnitidx <4; UIPartUnitidx ++) { PCSUBBESTPARTCU-> INITSUBCU (RPCTempcu, UipartUnitidx, UhnextDepth, IQP); PCSubTemppartcu-> INITSUBCU (RPCTempcu, UipartUnitidx, UhnextDepth, IQP); / (Note Here is the initialization of PCSUBBESTPARTCU and PCSUBTEMPARTC with RPCTEMPCU. // Next is the recursive call yourself IF (rpcbestcu-> isintra (0)) { Xcompresscu (PCSubbestPartcu, PCSubTemppartcu, uhnextDepth, size_none); // After entering this function, the size of the Cu is 32x32 iPartUnitidx here PCSubBestPartcu will always release //, the current optimal prediction information is the same as the RPCBestCU. } Else { XCompResscu (PCSubbestPartcu, PCSubtemppartcu, UhnextDepth, rpcbestcu-> getPartitionsize); } Obviously, it is necessary to do 4 optimal 32X32CUs of RD-COST. Note that there is a statement here. RPCTempcu-> CopyPartFrom (PCSubbestPartcu, UIPartUnitidx, UhnextDepth); After following the few code to see this function, you know that this statement is the accumulation of 4 divided optimal information, so that the RD-COST is compared to the optimal prediction mode before the division is M_PPcBestCu. compare. } } Segmentation cycle Completed four segments, the ninth step in the process 2 in 2. Here, the RPCTEMPCU is stored in four divided information of CU. You can see XCheckBestMode (RPCBESTCU, RPCTEMPCU, UIDepth); functions can be more than 4 Cu after unseal CU and division It is more decided whether it is divided into Cu. } But we are strange how to contact the parameters of the parameter PCCU at the beginning of Compresscu. There is a function here. In the back Rpcbestcu-> Copytopic (UIDEPTH); This function is the mode and prediction information of the optimal PU, and the information of the CU is assigned to the PCCU. Go in and see this function, TcomDatacu * & rpccu = m_pcpic-> getcu (m_uicuaddr); RPCCU in the first statement is exactly the parameter of Compresscu. A schematic of a certain division is given below: " XCheckrdcostIntra (rpcbestcu, rpctempcu, size_nxn); When CU is the smallest CU, the attempt is divided into 4 PU. The last one of the function of RD-COST has such a function XCheckbestMode (RPCBESTCU, RPCTEMPCU, UIDepth); Next, the recursive segmentation LCU will look at the judgment of the segmentation. IF (BSubbranch && BTRYSPLITDQP && UIDEPTH

     

     

     

     

    List all Question

    Nickname

    Email

    Questions

    Our other product:

    Professional FM Radio Station Equipment Package

     



     

    Hotel IPTV Solution

     


      Enter email  to get a surprise

      fmuser.org

      es.fmuser.org
      it.fmuser.org
      fr.fmuser.org
      de.fmuser.org
      af.fmuser.org ->Afrikaans
      sq.fmuser.org ->Albanian
      ar.fmuser.org ->Arabic
      hy.fmuser.org ->Armenian
      az.fmuser.org ->Azerbaijani
      eu.fmuser.org ->Basque
      be.fmuser.org ->Belarusian
      bg.fmuser.org ->Bulgarian
      ca.fmuser.org ->Catalan
      zh-CN.fmuser.org ->Chinese (Simplified)
      zh-TW.fmuser.org ->Chinese (Traditional)
      hr.fmuser.org ->Croatian
      cs.fmuser.org ->Czech
      da.fmuser.org ->Danish
      nl.fmuser.org ->Dutch
      et.fmuser.org ->Estonian
      tl.fmuser.org ->Filipino
      fi.fmuser.org ->Finnish
      fr.fmuser.org ->French
      gl.fmuser.org ->Galician
      ka.fmuser.org ->Georgian
      de.fmuser.org ->German
      el.fmuser.org ->Greek
      ht.fmuser.org ->Haitian Creole
      iw.fmuser.org ->Hebrew
      hi.fmuser.org ->Hindi
      hu.fmuser.org ->Hungarian
      is.fmuser.org ->Icelandic
      id.fmuser.org ->Indonesian
      ga.fmuser.org ->Irish
      it.fmuser.org ->Italian
      ja.fmuser.org ->Japanese
      ko.fmuser.org ->Korean
      lv.fmuser.org ->Latvian
      lt.fmuser.org ->Lithuanian
      mk.fmuser.org ->Macedonian
      ms.fmuser.org ->Malay
      mt.fmuser.org ->Maltese
      no.fmuser.org ->Norwegian
      fa.fmuser.org ->Persian
      pl.fmuser.org ->Polish
      pt.fmuser.org ->Portuguese
      ro.fmuser.org ->Romanian
      ru.fmuser.org ->Russian
      sr.fmuser.org ->Serbian
      sk.fmuser.org ->Slovak
      sl.fmuser.org ->Slovenian
      es.fmuser.org ->Spanish
      sw.fmuser.org ->Swahili
      sv.fmuser.org ->Swedish
      th.fmuser.org ->Thai
      tr.fmuser.org ->Turkish
      uk.fmuser.org ->Ukrainian
      ur.fmuser.org ->Urdu
      vi.fmuser.org ->Vietnamese
      cy.fmuser.org ->Welsh
      yi.fmuser.org ->Yiddish

       
  •  

    FMUSER Wirless Transmit Video And Audio More Easier !

  • Contact

    Address:
    No.305 Room HuiLan Building No.273 Huanpu Road Guangzhou China 510620

    E-mail:
    [email protected]

    Tel / WhatApps:
    +8618078869184

  • Categories

  • Newsletter

    FIRST OR FULL NAME

    E-mail

  • paypal solution  Western UnionBank OF China
    E-mail:[email protected]   WhatsApp:+8618078869184   Skype:sky198710021 Chat with me
    Copyright 2006-2020 Powered By www.fmuser.org

    Contact Us