H.264 编解码的过程是怎样的?H.264 码流的结构是怎样的?

本文介绍了视频编解码的基础,着重探讨了H.264的码流结构和编解码过程。通过预测编码、变换编码、熵编码等技术压缩视频数据,同时详细讲解了H.264的句法元素分层、功能分层及其作用。H.264码流结构的关键包括参数集、片数据,解码的基本单元为宏块。文章还提及了H.264的可伸缩编码和未来AI在视频编解码中的应用可能性。

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

本文是 Piasy 原创,发表于 https://blog.piasy.com,请阅读原文支持原创 https://blog.piasy.com/2017/09/22/I-Need-Know-About-H264/

我在今年年初离开 YOLO 加入了一家在流媒体领域具有极深积累的小公司,负责视频群聊 SDK 的开发工作,YOLO 是一款直播 APP,我常戏称这是从技术下游(SDK 使用方)跑到了技术上游(SDK 提供方)。不过事情当然不是这么简单,经过长期的思考和探讨,我最终确认:实时多媒体领域,更宽泛一点来讲,实时视觉、感知的展现,在未来极长一段时间内都存在很大的需求,也存在很大的挑战,所以这将是我长期技术积累的大方向。

明确了大方向之后,就需要不懈地积累了。我一直强调基础知识的重要性,最近我就花时间学习了 H.264 的基础(《新一代视频压缩编码标准:H.264/AVC(第2版)》),力求搞清楚两个问题:H.264 编解码的过程是怎样的?H.264 码流的结构是怎样的?

以前看书后分享的只是零碎的笔记,没敢发布博客,这一篇我力求根据自己的理解,把上述两个核心问题描述清楚,细节内容篇幅有限,就不做展开了。感兴趣的朋友可以阅读原书,当然,最正宗的资料莫过于 H.264 SPEC 了。本文使用的图片基本都是摘自《新一代视频压缩编码标准:H.264/AVC(第2版)》。

视频编解码基础

视频为什么需要编码?

因为原始视频数据量太大

以分辨率为 640x480,帧率为 30 fps 的视频为例,如果直接传输/存储原始 RGB 数据,那码率将高达 210.94 Mbps(在专业领域码率单位通常使用 bit 而非 byte),1280x720 30 fps 码率更将高达 632.81 Mbps。

  • 640*480*3*8*30 = 210.94 Mbps宽*高*像素字节数*字节比特数*帧数
  • 1280*720*3*8*30 = 632.81 Mbps

这么高的码率显然不能直接使用。即便换成更节省空间的 YUV 格式,无论是通过网络传输还是磁盘存储,码率依然高得不可接受,所以必须进行编码压缩。

视频为什么可以编码?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值