FMUSER Wirless Transmit Video And Audio More Easier !

[email protected] WhatsApp +8618078869184
Language

    Optimized application based on VPM642 board and DSP implementation AVS decoding software

     

    AVS is China's autonomous second-generation audio and video coding standard. From the encoding efficiency, the AVS is quite twice as high as the MPEG-2; from the complexity of the encoding, the encoding complexity of the AVS is equivalent to 70% of H.264, and the decoding complexity is equivalent. 30% of H.264. At the same time, AVS does not need to pay high patent fees, with very broad market prospects, such as digital audio and video storage, IPTV, and video surveillance. TMS320DM642 is a DSP for multimedia signal processing in TI, which uses a C64X core. It has strong processing capabilities, high flexibility and programmability, and integrates peripherals such as audio and video and network communication, especially for multimedia communication applications. DM642 can be applied to IP-based audio and video transmission, digital video recording, machine vision, medical imaging, safety monitoring, and digital cameras. This article transplays the AVS decoding software to the DM642 platform, and optimizes, for the standard, the decoding speed reaches 30fps, fully meets the requirements of real-time playback. AVS standard The decoding process of AVS is shown in Figure 1. Figure 1 AVS decoder The core technologies in the AVS video codec standard include: intra prediction, 1/4 precision pixel interpolation, special inter predictive motion compensation, 8 × 8 integer transformation, quantization, two-dimensional entropy coding, and derocating effect ring filtering, etc. . AVS brightness and chrominance intra prediction are in units of 8 × 8 pieces. The brightness block is used in five prediction modes, and the chroma block uses four prediction modes. When the coding efficiency is basically the same, AVS uses fewer prediction modes to reduce the complexity of the algorithm. For motion compensation between the frame, AVS uses four blocks: 16 × 16, 16 × 8, 8 × 16 and 8 × 8, which can better engrave the object motion, improve the accuracy of motion search, while reducing the motion vector The overhead of the block mode transmission, thereby increasing compression efficiency and reduces complexity of the codec implementation. AVS is the same as H.264, MPEG-4, which uses a 1/4 pixel interpolation, but is different from the H.264 6 tap 1/2 pixel interpolation and double linear 1/4 pixel interpolation, AVS uses two 4 taps. The filter is interpolated to 1/2 and 1/4 pixels, and the reference pixel points required to reduce the interpolation without reducing performance, reducing the data access bandwidth requirements. 8 × 8 integer transformation can be implemented on the 16-bit processor, overcome the early 8 × 8 transformation could not disadvantage, and it is better than the 4 × 4 integer transformation in H.264. Correlation. During the AVS entropy encoding process, all syntax elements and residual data are mapped into binary bitstreams in the form of an index Columbus code. The advantage of adoption of the index Columbus is: On the one hand, its hardware complexity is relatively low, and can analyze the codeword according to the closed formula; on the other hand, it can flexibly determine the K-order index according to the probability distribution of the encoding element. Code, if K is selected, the encoding efficiency can approximate the information entropy. With the decoded data, the residual data is obtained by the table. AVS uses two levels of loop filter, only filtering two pixels of the boundary. Compared with the four levels of H.264 and 3 pixels of the boundary, complexity is reduced. TMS320 DM642 platform The TMS320DM642 / C64X series chip is based on the ultra-long instruction word structure Velociti.2, which extends 88 new instructions in 8 functional units to enhance their performance in video / image applications, and improve the parallelity of video processing. The experiment platform of this paper uses Seed company's VPM642 board, which is mainly configured as follows: 600MHz TMS320DM642 DSP chip; DM642 Extension 4MB Flash, 32MB SDRAM, can be used for large number of video image data and program storage; 4-channel video port (PAL / NTSC system or S terminal); 10 / 100m Ethernet interface; JTAG emulation interface on the board, easy to make video compression algorithm simulation debugging with the JTAG emulator. Real-time decoding of AVS on DM642 In response to the DSP, this paper uses a large number of effective optimization methods, making the decoding speed greatly increase. In addition to using the compilation options provided by the C6000 compiler - other optimization measures mainly include the following aspects. Adjustment of program structure In order to meet the needs of the DSP structure, this paper adjusts the program structure of AVS decoding software. The program on the PC is to perform loop filtering after decoding a frame, requiring data from the sheet to the film twice. This paper makes it modified, and the macroblock is filtered after each macroblock decoding is completed. as shown in picture 2. Figure 2 Loop filtering After decoding a macroblock, the vertical boundary BSV00, BSV01, BSV10, BSV11 and chroma block BSV00 (U), BSV01 (V) of each 8 × 8 brightness block are first filtered, and the result of filtering is input, and then Filter the horizontal boundary. Using inline command and data packaging The C ++ 6000 compiler provides many inStrinsics, such as _add2, _avgu4, _dotpsu4, etc. The inline function is an online function that is mapped directly to the C6000 assembly instruction. Compilation instructions that do not easily implement functionality with C / C ++ language have corresponding inline functions. Accessing the C6000 memory is taken. To increase the data processing efficiency of the C6000, the 1 LOAD / Store directive should be enabled access to multiple data. When the program needs to access a series of characters, short data, you can use data packaging, read and write 4 characteristics, 2 short data, and use _dotpsu4, _add2, etc. to process. This article has widely used inline commands and data packages in the optimization process. For the horizontal position 1/2 pixel interpolation, the effect of using the inline command and data packaging is shown in Table 1. Use linear compilation Decoding procedures optimized by C language If you still don't reach real-time requirements, you need to continue compilation optimization. Compared to standard assembly languages, programming with linear assembly language does not need to consider the arrangement of parallel instructions, instruction delays, and register used, the above work is automatically completed by the assembly optimizer, and the resulting code efficiency can reach hand-compiled. 95% "100%. Since IDCT is frequent in the program, compare the time, and the program is relatively simple. This article has been linearly optimized, and the time comparison before and after optimization is optimized. QDMA reasonable use QDMA (Quick Memory Direct Access) is further developed by DMA and EDMA, which is a lot of speeds for the transfer application than DMA and EDMA. In fact, QDMA is one of the highest-handed means of moving data in C6000. QDMA supports flexible data transfer, which can complete a dimension to one-dimensional data transmission, or two-dimensional to one-dimensional or one-dimensional to two-dimensional data transmission. For transmission of large data, try to use QDMA. This article experiments with QDMA. When combining two data into one frame data, Memcpy and QDMA are used, respectively, and their time statistics are shown in Table 3. Reasonable allocation of Cache TMS320DM642 provides 256KB on-chip RAM, which can be used as a normal RAM, or can be configured as cache. The DM642 Cache setting can be 32KB, 64KB, 128KB, 256KB. The larger the set cache, the higher the hit rate, but the less RAM that is allowed to use. In order to be placed in the tablets in the case, this article uses a configuration scheme of 128KB Cache and 128KB-based RAM. With the above optimization strategy, the AVS SD video reaches 30fps on DM642, which fully meets the requirements of IPTV (25fps) real-time playback. Conclusion The real-time implementation of AVS decoding on the DSP is important, which can be applied to IPTV, digital video surveillance, etc., with good market application prospects. Editor in charge: GT, read full text

     

     

     

     

    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