京东云视频云全面支持AVS2标准

一、概述

数字音视频编解码技术标准(AVS)工作组由国家原信息产业部科学技术司于2002年6月批准成立,目标是制定我国自有的音视频编解码标准。至今已有两代AVS标准正式发布并成为国家标准,目前第三代标准AVS3正在制定中。AVS2属于第二代AVS标准,相关测试表明,AVS2的压缩效率比上一代标准AVS+和H.264/AVC提高了一倍,且超过国际同类型标准HEVC/H.265。AVS2还支持三维视频、多视角和虚拟现实视频的高效编码,立体声、多声道音频的高效有损及无损编码,监控视频的高效编码,面向三网融合的新型媒体服务等。

凭借在视频编码领域的深耕和积累,目前京东云视频直播/点播产品均已支持AVS2标准,成为国内仅有的几家支持直播、点播AVS2标准的公有云厂商之一。

二、技术实现

AVS2采用了混合编码框架,整个编码过程包括帧内预测、帧间预测、变换量化、反量化反变换、环路滤波和熵编码等模块,AVS2和HEVC相对于源图像质量下降分别为2.9%和3.0%。对于超高清4K视频,在相同码率条件下,AVS2比HEVC的平均主观质量略优。

7b6cde800b76d528d472d9e102183b86.png

推拉流基本流程

FLV  AVS2扩展说明:

FLV规范不支持AVS2,FFmpeg对FLV的AVS2编解码算法CodecID没有定义支持。京东视频云通过增加ffmpeg支持封装/解封AVS2标准的补丁,并进行了一些列优化,新增AVS2的CodecID为0xE,以及AVS2 sequence header定义。

sequence_header() {
    uint32_t        profile_id;         /* profile ID, davs2_profile_id_e */
    uint32_t        level_id;           /* level   ID */
    uint32_t        progressive;        /* progressive sequence (0: interlace, 1: progressive) */
    uint32_t        width;              /* image width */
    uint32_t        height;             /* image height */
    uint32_t        chroma_format;      /* chroma format(1: 4:2:0, 2: 4:2:2) */
    uint32_t        aspect_ratio;       /* 2: 4:3,  3: 16:9 */
    uint32_t        low_delay;          /* low delay */
    uint32_t        bitrate;            /* bitrate (bps) */
    uint32_t        internal_bit_depth; /* internal sample bit depth */
    uint32_t        output_bit_depth;   /* output sample bit depth */
    uint32_t        bytes_per_sample;   /* bytes per sample */
    float           frame_rate;         /* frame rate */
    uint32_t        frame_rate_id;      /* frame rate code, mpeg12 [1...8] */
};

59bdcabff78241280e97244943f0e108.png

FLV AVS2扩展示例

HLS  AVS2扩展说明:

TS新增AVS2的stream_type=0xD2,stream_id=0xE0

dfa6bbeea92af8fda0992d93c30c6dbe.png

979946fb175c91428bb996eba079a221.png

AVS2码流结构:

AVS2的码流结构由包含起始码的视频序列组成,视频帧slice type包含I、P、B在内的六种类型,如下:

slice type {
    AVS2_I_SLICE = 0,           /* slice type: I frame */
    AVS2_P_SLICE = 1,           /* slice type: P frame */
    AVS2_B_SLICE = 2,           /* slice type: B frame */
    AVS2_G_SLICE = 3,           /* AVS2 type:  G frame */
    AVS2_F_SLICE = 4,           /* slice type: F frame */
    AVS2_S_SLICE = 5,           /* AVS2 type:  S frame */
    AVS2_GB_SLICE = 6,          /* AVS2 type:  GB frame*/
};
start code {
    SC_SEQUENCE_HEADER = 0xB0,  /* sequence header start code */
    SC_SEQUENCE_END    = 0xB1,  /* sequence end    start code */
    SC_USER_DATA       = 0xB2,  /* user data       start code */
    SC_INTRA_PICTURE   = 0xB3,  /* intra picture   start code */
    SC_EXTENSION       = 0xB5,  /* extension       start code */
    SC_INTER_PICTURE   = 0xB6,  /* inter picture   start code */
    SC_VIDEO_EDIT_CODE = 0xB7,  /* video edit      start code */
    SC_SLICE_CODE_MIN  = 0x00,  /* min slice       start code */
    SC_SLICE_CODE_MAX  = 0x8F   /* max slice       start code */
};

ff58948e1c58031e610e9ef541606b2c.png

video_sequence() {
  do {
    sequence_header();
    extension_and_user_data(0);
    do {
      if (next_bits(32) == intra_picture_start_code )
          intra_picture_header()
      else
          inter_picture_header()
      extension_and_user_date(1)
      picture_data()
    } while(next_bits(32) == inter_picture_start_code() || next_bits(32) == intra_picture_start_code ))

    if (next_bits(32) == video_sequence_end_code)
        video_sequence_end_code
    if (net_bits(32) == video_edit_code)
        video_edit_code
    }
}

在视频点播方面,AVS2能高效提升编码效率,FFmpeg对AVS标准容器格式MKV/MP4等还不支持。目前在视频处理层面,京东云视频点播已支持AVS2相关的转码等媒体处理。

主流编码速度对比

02e2b567d76ddb627765cf2dd9421d02.png

相同的编码速率,AVS2大概比x265的编码效率高10%~30%;同样在相同的编码效率下, AVS2比x265的编码速率快3~10倍。

AVS2与HEVC平均主观质量对比

40c1806c0db2101c40df8687c88199b7.png

相同码率条件下,AVS2与HEVC的平均主观质量基本一致。

三、AVS2编码效果

19219c05e713d174c72025e622e8695c.png

未来,京东云视频云将持续推进AVS系列等视频相关标准的深度优化以及商业化应用,为客户降本增效,同时提升用户体验,并努力打造围绕视频的场景化解决方案,以期能与客户及生态合作伙伴建立更深入的合作。

-End-

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值