AC3/EAC3格式总结

本文介绍了AC3和EAC3音频格式的基本结构,包括同步帧、音频块和错误检查等部分。AC3每个同步帧包含6个音频块,而EAC3的同步帧数量可变。EAC3不兼容AC3解码器,但其解码器可以解码两种格式。此外,还概述了数字输出接口IEC60958和IEC61937的标准,以及数据传输的细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关于AC3EAC3比特流的基本格式

1 AC3基本格式

       Ac3比特流由一系列的synchronization frame组成,每个synchronization frame包含6audio block。每个frame的基本结构如图1

       SI

BSI

AB0

AB1

AB2

AB3

AB4

AB5

Aux

CRC

SI

BSI

1

      

       AC3 Sync frame可按如下流程,具体每个域的解释参考spec

syncframe()

{

       sync_info();//同步信息头为0x0B77   

       bsi();

       for(blk=0;blk<6;blk++)

       {

              audblk();

       }

       auxdata();//可选

       errorcheck();//可选

}/*end of syncframe*/

      

2 EAC3基本格式

       EAC3,全称Enhanced AC-3 bit streams,与AC3类似,但不能后向兼容。AC3decoder不能解EAC3bitstreamEAC3decoder即能解AC3,也能解EAC3

       每个Frame的基本结构与AC3一致。

       EAC3 Sync frame可按如下流程,具体每个域的解释参考spec

syncframe()

{

       sync_info();//同步信息头为0x0B77   

       bsi();

       Audfrm();

       for(blk=0;blk<number_of_blocks_per_syncframe;blk++)

       {

              audblk();

       }

       auxdata();//可选

       errorcheck();//可选

}/*end of syncframe*/  

       注意bsi()域中的numblkscod标明每个syncframe包含多少个blockAC3不同(AC3每个syncframe一定包含6audio block解码出来共1536sample)EAC3每个syncframe不一定包含6block即如果每个syncframe只有一个有效block那么该frame只包含256sample

       Bsi()域中如果标明使用fscod2Reduced Sampling Rates(24/22.05/16)numblkscod一定为0x11,即每个syncframe包含6block

       Bsi()域中bsidBit Stream Identification

       0~8 标明是AC3

       11-16 标明是EAC3

       910或者大于16的值:不支持的bitstreamdecoder必须要mute

3 数字输出接口

       IEC60958规定了PCM输出时的传输方式。每个Block包含192frames,每个frames包含两个subframe,两个subframe则分别对应着左右两个channelSample值,默认16bits,最大可传输24bits

       IEC61937仍然采用IEC60958 frame格式用来传递非PCM数值即原始的audio bitstream。只适用于consumer applicationprofessional mode不在该标准范围内。

       IEC61937通过data burst的概念来传输audio bitstreamdata burstburst preamble(PaPbPcPd)burst payload组成, 传输Data Burst时还需要做一些Stuffing动作,保持同步。

    传输一个data burst,必须能够解出一个完整的帧。data burst结构如图:

    |pa|pb|pc|pd|Bitstream|NULL|pa|pb|pc|pd|Bitstream|NULL pa|pb|pc|pd|Bitstream|NULL
    IEC_DATA长度:pa~NULL,对AC3,该值为1536;对EAC3,该值为6144;即需要多少个IEC60958 frames来完成一个databurst的传输。

    IEC_NULL:NULL,用于同步;

    PD:Bitstream,传输的payload长度,必须要能够解出一个完整的帧。
       传递一个Data Burst之前,首先需要传递pa,pb,pc,pd四个header,通过两个IEC60958 frame来传递。frame0subframe0传递pasubframe1传递pbframe1subframe0传递pcframe1subframe1传递pd。随后再传递audio bitstreamIEC60958 frames

+ buildah bud --tls-verify=false --format=docker -t 11.11.157.164:31104/a6-uat/5715opss-front:v648_8195af64ad18fa4c4e5c3565358eac5fb13e461e -f Dockerfile . STEP 1: FROM 11.11.174.85:28086/cnpcrd/node:14.19.1-pnpm-nodesass AS builder Getting image source signatures Copying blob sha256:c398d8bd2d496fc1ba9d4658870242ce78aefe3041899476238df6cd427638f3 Copying blob sha256:7d66b83ec869a899bc8364af9c9eb0f1a5ba6907f699ef52f3182e19e2598924 Copying blob sha256:22360a9558f73f04bb5e4dbe6dbe1584cb913040ae66388a8db66fc2ed131002 Copying blob sha256:d88439e7b50a5f3923f67f432b6863c1e11adf4e45bf9740515d2cc01fd8e155 Copying blob sha256:f260dee23bc81622ef145aff36ad9816cca1c98bfa9361ad1bdf03c8975b104e Copying blob sha256:5f327ea23de9da0941be6aa9b1b0106716beba2b2221ccc2cf867db344fdc38b Copying blob sha256:c510cb256549cba034277b7ba3d45f821098be40e2d1ab716ebcbb2c82ad58e8 Copying blob sha256:39a6cf4e71acef62f9dc6133d8e2798afd190aa5d98df68c2c6a0853348c2a0b Copying blob sha256:5b88e0b6e02ac27e25195d6ef326172311c848a055cbe847de5e20547c526e55 Copying blob sha256:50868247d2ce4b9e47ed00d5c40c55746315be92ed203131e2139644a0cf22eb Copying blob sha256:e5e5c5e3f6d1226900e6c2d01182178f233df381354c7b91a233220d5d20d76a Copying blob sha256:db8034a611f27836dfac1f420b062134399233963dce16661cff75b190d7fa03 Copying blob sha256:88bc12f9a5d94abd68dd9f201555592838d5de85ab0b5cc8248199aa3f484a29 Copying blob sha256:80fbe3e8702a17df69ca8074656be9f7bd7fed87fd2d31dc7ec875b7249ec454 Copying blob sha256:8c1f72c02d3e7d7e3db33be2b133937124963fd2ac77215bd703129b4bae4c95 Copying blob sha256:009593723405a46968929d8221545f13495e3ff038367157a3597c2b8614d5ca Copying config sha256:2cb9f3e953292fdbce9015df8721a9f2336b49313ca036d96b52898a5d7af190 Writing manifest to image destination Storing signatures STEP 2: ARG profile STEP 3: ENV profile=${profile:-build} STEP 4: WORKDIR /usr/src/app STEP 5: COPY . ./ STEP 6: FROM 11.11.174.85:28086/cnpcrd/nginx-curl:v1.18.0 Getting image source signatures Copying blob sha256:d4e560a3091589fb95278a386add48626fbbe5bea3220576d6c4a838b4c65b24 Copying blob sha256:81bf9dd9cea603de3f08a37fb6f9156372709d0036479e6950b08b8b08dcf225 Copying blob sha256:47927ca6802f832d4000bfcde5939632a8ff52d6e4149187f198834556ee16e9 Copying blob sha256:4ede7ada96f6d9d2bc1f6ef734c74b5c0bc60a2f64e8c8d368055152d6dfe689 Copying blob sha256:f11c1adaa26e078479ccdd45312ea3b88476441b91be0ec898a7e07bfd05badc Copying blob sha256:9ac6875eca605a2e2f0a434d6a2f461356f32dae78fb3d4b9be23c2d02d46ac3 Copying blob sha256:e63758897ccc963cadd6f56a001bfcf5dc41dacce6a4e42ca1b3870f1cb91d14 Copying blob sha256:434abd9d8a2b02240f4daaeca44eb14e422ff394d4e1628d6d3208faece25d7c Copying blob sha256:bf49aa545a9f82a3131959a5232f51eee2b047fecaf6ff5a90410692be25b6e1 Copying blob sha256:d93ade5d972d5ede15f5d0fbc912f6f358b805c78c6ffd996a00e3e006aadd81 Copying blob sha256:c7bc6a87af944df6f159be206ce20093a771768e10f648de02b5aaae55bef62b Copying config sha256:75919dd59525e8fe57a70a5499ea69eee8c1eddaa61bac53e3c7212e5a232b82 Writing manifest to image destination Storing signatures STEP 7: COPY --from=builder /usr/src/app/dist /usr/share/nginx/html error building at STEP "COPY --from=builder /usr/src/app/dist /usr/share/nginx/html": no files found matching "/var/lib/containers/storage/overlay/bc9580993deabf5cc10eafbd76345ba0501fadfa1f733cf2fe0be5f44b80696d/merged/usr/src/app/dist": no such file or directory
03-19
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值