查看: 2486|回复: 17

[分享] i.MX RT软视频解码器之情窦初开

[复制链接]
  • TA的每日心情
    开心
    2024-3-26 15:16
  • 签到天数: 266 天

    [LV.8]以坛为家I

    3298

    主题

    6545

    帖子

    0

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    32004
    最后登录
    2024-4-9
    发表于 2021-8-5 09:45:26 | 显示全部楼层 |阅读模式
    i.MX RT软视频解码器之情窦初开
    各位看官早上好,欢迎来到恩智浦MCU加油站,今天小编为大家讲讲在i.MX RT10xx上的视频软解码。

    一、为什么要视频编码
    视频编码就是按照一定的格式,把数字化的视频信号组织成适当的格式,以适合存储和传输。

    为了减小视频占用的容量大小和传输中带宽负载,目前几乎所有视频编码格式,都对视频信号进行了压缩。
    各种编码格式之间的差别,主要就是对信号压缩的方式和压缩率的差别,随之而来的就是对它们进行编解码的算法复杂度、和解码后还原得到的视频图像的清晰度的差别。

    二、视频压缩发展之路
    目前流行的视频编解码格式(标准)非常多,而且还有很多机构在不断研发新的格式。主要原因是,人们对于视频图像清晰度和数字信号压缩比的要求,变得越来越多样化。
    目前在制定视频编解码标准方面,主要的国际组织有:ISO/IEC MPEG、ITU-T、Google、Microsoft、AVS工作组和AOM联盟等。
    主要标准包括:JPEG、MJPEG、JPEG2000、H.261、MPEG-1、H.262/MPEG-2、H.263、MPEG-4(Part2/ASP)、H.264/MPEG-4 (Part10/AVC)、H.265/MPEG-H (Part2/HEVC)、H.266/VVC、VP8/VP9、AV1、AVS1/AVS2、SVAC1/SVAC2等。

    当然,还会不断地有新的标准面世。

    三、主流编解码器的特点与对比
    格式与特点
    H.261/MPEG-1 Part 2/MPEG-2 Part 2/H.262
    特点:比特率低。支持图像格式少,参考帧少
    H.263
    特点:被用于3gp的container format,S-QCIF、QCIF、CIF、4CIF
    MPEG-4 Part 2
    特点:MPEG-4的特点是其更适于交互AV服务以及远程监控, DivX,XviD,MS MPEG4 都是采用的 MPEG-4 视频编码,除了在 DVDRip 上面的应用,3GPP 现在也接纳了 MPEG-4 作为视频编码方案
    H.264/MPEG-4 Part 10
    特点:更高的压缩比,有更好的图象质量 H.264具备超高压缩率,其压缩率为MPEG-2的2 倍,MPEG-4的1.5倍,这样的高压缩率是以编码的大运算量来换取的,H.264的编码处理计算量有MPEG-2的十多倍
    MJPEG
    特点:MJPEG就是一个JPEG图像组合,每一帧包含了完整的图像信息,正因为如此,它的压缩率并不高,但是实现起来简单的特点让很多数码相机厂商将它作为相机的视频编码
    VPx
    特点:开放、免费视频编解码器
    Google,BSD, VP8采用的技术是类似于H.264的,相同码率下VP8的效果仍然略逊于H.264。
    VP9比VP8高达50%的效率,然而推广能力差;VP9的应用范围局限,缺少实际应用场景。
    传输与H.264格式同样品质的视频,VP9需要一半带宽,而VP10仅需要四分之一带宽。
    VP10在移动应用领域还处于起步阶段。移动设备性能受限、处理器功能不强的实际情况。
    HEVC/H265
    特点:H.265压缩效率更高,传输码率更低,视频画质更优,实现监控视频传输带宽减半、存储减半、成本减半,带给人们更优质的体验。
    H.266/VVC (Versatile Video Coding)
    特点:它是面向于未来视频的编码,将会支持从4K到16K分辨率的视频压缩,并且支持360°视频,它的目标是在HEVC的基础上将编码效能提升一倍。
    备注:图像格式扫盲:
    格式
    分辨率
    S-QCIF
    128x96
    QCIF
    176x114
    CIF
    352x288
    4CIF
    704x576
    16CIF
    1408x1152
    720P1280x720
    1080P
    1920x1080
    4K
    4096x2160
    高清720P或1080I
    超清1080P(1080电视线逐行扫描)
    四、视频编解码开源项目

    为了考虑方便开发和开发进度,我们在i.MX RT上的软视频解码器,将会基于开源项目展开。在选择开源项目时,我们做了一个小调查,找到不少好东西,分享给大家:

    开源项目名称和简介
    ffmpeg
    简介:GPL/LGPL,最全面的开源编码器,包括了H.264、MPEG4、G.72x等音视频编码
    live555
    特点:LGPL,包括传输协议(SIP、RTP)、音视频编码器(H.264、MPEG4)
    x264
    特点:GNU GPL,目前应用最广的H.264编码器,效率高
    openh264
    特点:BSD,H.264 编码和解码器。
    Xvid
    特点:GNU GPL v2,最著名的MPEG4编码器开源项目,但效率不及x264。
    libvpx
    特点:BSD,(编码YUV为VP8)。
    libmpeg2
    特点:GNU 通用公共协议2.0版GPLv2),解码mpeg-2和mpeg-1视频流。
    libjpeg
    特点:客户的自由软件协议, 非GPL
    OpenJPEG
    特点:2-clauses BSD license,jpeg2000的开源解码器项目。
    OpenHEVC
    特点:只是一个解码库,目前没有支持编码 开发语言 C 基于ffmpeg/libav框架写的

    常用的几种软件协议:
    GPL(GNU General Public License) :GPL的出发点是代码的开源/免费使用和引用/修改/衍生代码的开源/免费使用,但不允许修改后和衍生的代码做为闭源的商业软件发布和销售。

    BSD( Berkeley Software Distribution license ) :BSD开源协议是一个给于使用者很大自由的协议。基本上使用者可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。

    LGPL(GNU Lesser General Public License):LGPL是GPL的一个主要为类库使用设计的开源协议LGPL协议的开源代码很适合作为第三方类库被商业软件引用,但不适合希望以LGPL协议代码为基础,通过修改和衍生的方式做二次开发的商业软件采用。

    五、情定i.MX RT10xx

    以上介绍了这么多,下面让我们开始转入正题:

    恩智浦的i.MX RT1050/60.处理器具有高达600MHz的Arm Cortex-M7单核,具有512KB的片上RAM,可以灵活配置作为内核紧密耦合内存(TCM)或通用RAM,为H.264解码库中经常被调用函数和中间数据提供高效访问内存。

    PXP模块集成了多种2D图形处理功能,包括缩放,色彩空间转换(CSC)和旋转,可为H.264解码后的YUV数据提供硬件格式转换为RGB格式数据。

    eLCDIF是RGB接口显示控制器,它支持8/16/18/24位宽的数据端口和高达1366x768的分辨率。为了传输帧数据以进行显示刷新,eLCDIF充当总线主控器或总线从属器,与SoC集成DMA引擎协同工作。在这两种情况下,CPU都无需处理帧数据。

    板子提供连接各种外部存储器的接口,以及各种串行通信接口,例如USB,以太网,SDIO,CAN,UART,I2C和SPI。它还具有丰富的音频和视频功能,包括LCD显示屏,基本2D图形,相机接口,SPDIF和I2S音频接口。

    由于i.MX RT的卓越性能,我们的客户就提出希望能够实现视频解码功能,因此我们尝试使用前述开源软件中的ffmpeg和OpenH264项目,移植到i.MX RT106x上,看看能够得到什么结果。

    经过一段时间的努力,成功地实现了所需功能,结果令人鼓舞,i.MX RT能够满足CIF格式H.264解码的实时要求。

    随后两期,我将分别介绍移植上述两个项目的情况,和随后的测试结果。





    签到签到
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    12 小时前
  • 签到天数: 1934 天

    [LV.Master]伴坛终老

    61

    主题

    1万

    帖子

    3

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    17229
    最后登录
    2024-4-20
    发表于 2021-8-5 11:06:31 | 显示全部楼层
    学习学习
    该会员没有填写今日想说内容.
    回复

    使用道具 举报

  • TA的每日心情
    开心
    昨天 16:24
  • 签到天数: 145 天

    [LV.7]常住居民III

    10

    主题

    384

    帖子

    1

    金牌会员

    Rank: 6Rank: 6

    积分
    1261
    最后登录
    2024-4-19
    发表于 2021-8-6 08:20:02 | 显示全部楼层
    学习学习
    加油加油
    回复

    使用道具 举报

  • TA的每日心情
    开心
    12 小时前
  • 签到天数: 2569 天

    [LV.Master]伴坛终老

    7

    主题

    6134

    帖子

    2

    金牌会员

    Rank: 6Rank: 6

    积分
    12749
    最后登录
    2024-4-20
    发表于 2021-8-11 13:45:59 | 显示全部楼层
    学习学习!
    哎...今天够累的,签到来了~
    回复

    使用道具 举报

  • TA的每日心情
    开心
    23 小时前
  • 签到天数: 1290 天

    [LV.10]以坛为家III

    7

    主题

    6214

    帖子

    1

    金牌会员

    Rank: 6Rank: 6

    积分
    10411
    最后登录
    2024-4-20
    发表于 2021-8-11 21:25:11 | 显示全部楼层
    学习学习
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    23 小时前
  • 签到天数: 1271 天

    [LV.10]以坛为家III

    2

    主题

    5661

    帖子

    1

    金牌会员

    Rank: 6Rank: 6

    积分
    9593
    最后登录
    2024-4-20
    发表于 2021-8-11 23:56:25 | 显示全部楼层
    学习学习
    该会员没有填写今日想说内容.
    回复

    使用道具 举报

    该用户从未签到

    12

    主题

    789

    帖子

    1

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    2700
    最后登录
    2024-4-4
    发表于 2021-8-12 09:19:45 | 显示全部楼层
    学习一下,手里有个项目想用RT1050系列,想配合emwin使用,也看了官网的视频,完全没啥问题啊
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    1 小时前
  • 签到天数: 1996 天

    [LV.Master]伴坛终老

    23

    主题

    6161

    帖子

    21

    金牌会员

    Rank: 6Rank: 6

    积分
    11881
    最后登录
    2024-4-20
    发表于 2021-8-12 09:47:29 | 显示全部楼层
    了解了解!
    哎...今天够累的,签到来了~
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2022-12-30 08:07
  • 签到天数: 87 天

    [LV.6]常住居民II

    0

    主题

    242

    帖子

    1

    金牌会员

    Rank: 6Rank: 6

    积分
    1097
    最后登录
    2022-12-30
    发表于 2021-8-17 08:33:25 | 显示全部楼层
    软解还是很吃算力的
    生命不息,奋斗不止!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2024-4-10 22:38
  • 签到天数: 1335 天

    [LV.10]以坛为家III

    88

    主题

    4292

    帖子

    12

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    9049
    最后登录
    2024-4-13
    发表于 2021-8-17 09:20:47 | 显示全部楼层
    这种芯片是不是应用于广告机了
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2024-4-20 23:55 , Processed in 0.140432 second(s), 27 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表