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

京东科技开发者

共 3666字,需浏览 8分钟

 ·

2022-01-16 05:41

一、概述

 

数字音视频编解码技术标准(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的平均主观质量略优。

推拉流基本流程

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] */
};


FLV AVS2扩展示例

HLS  AVS2扩展说明:

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



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 */
};


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相关的转码等媒体处理。


主流编码速度对比



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


AVS2与HEVC平均主观质量对比



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


三、AVS2编码效果

 

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

-End-
浏览 39
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报