音视频相关协议和技术内容

发布于:2025-04-18 ⋅ 阅读:(23) ⋅ 点赞:(0)

视频编解码

H264(AVC,MPEG-4 Part 10)

高压缩率,支持多种分辨率和帧率,用于在线流媒体、会议、数字电视

编码过程

  1. 分块处理,将视频帧划分为宏块(16x16)
  2. 使用帧预测和帧间预测来减少冗余信息,帧前预测利用当前帧种的相邻像素,帧间预测则利用前后帧之间的相似性。
  3. 变换和量化,对预测残差进行离散余弦变换,然后进行量化以减少数据量
  4. 熵编码,使用熵编码(cabac或cavlc)进一步压缩数据

解码过程

解码器上面执行的你操作,熵解码,反量化,逆变换,重建图像。

数据帧格式:

I帧:

独立帧,不依赖其他帧进行解码

包含完整的图像信息,用于随机访问和错误回复

p帧:

前向预测帧,基于前面的I帧,P帧进行预测编码

数据量小,依赖参考帧

B帧

双向预测帧,基于前面和后面的参考帧,进行预测编码

数据量最小,但是解码需要很多资源

数据组织方式:

数据帧时通过一系列的宏块和片组织起来的

  1. 宏块
    1. 基本编码单元,通常为16x16
    2. 每个宏块可以进一步划分为更小的块,用于运动估计和变换编码
    1. 多个连续的宏块组成的一个独立单元
    2. 独立解码,御用错误恢复和并行处理
    3. I,P,B片
  2. 帧结构

组成部分:

NAL单元:

H.264的网络抽象层,用于将视频数据封装成适合传输的单元

每个nal单元包含一个头部和有效载荷

头部包含单元类型和标志位

片头:

包含片的类型,参考帧信息,运动矢量范围等

宏块头:

包含宏块编码模式,运动矢量,量化参数等

宏块数据

宏块数据包含残差数据(经过变换和量化后的系数)

  1. 数据流格式:h.264的数据流通常以nal单元的形式组织,每个nal单元含一下部分

禁止位:防止nal单元被勿用

Nal单元类型:表示nal单元的类型(i帧,p帧,sei等)

冗余位:保留位,通常设置为固定值

有效载荷:包含实际的视频数据

  1. 参数集

使用参数集来存储编码的所需的全局信息

序列参数集:包含序列级别的信息,图像尺寸,帧率,色度格式等

图像参数集:包含图像级别的信息,量化参数,熵编码模式等

H265(HEVC)

编码过程:类似上一个,引入了一些改进

更大的分块结构:使用编码树单元CTU,可以是64x64像素,宏块更大,提高了压缩效率

更多的预测模式:提供了更多的帧内和帧间预测模式,提高压缩效率

高级熵编码技术:采用更高效的熵编码方法,如CABAC

解码过程:

同上

特点:

更高的压缩效率,相同图像质量,数据量比264减少百分之五十

支持超高清分辨率,4k 8k

应用于,超高清视频流媒体,蓝光光盘,高效存储等

  1. 编码单元 cu
    1. Ctu 基本编码单元,通常为64x64
    2. Cu是ctu的子单元,大小可变,用于编码决策,提供更高的灵活性
  2. 预测单元pu
    1. 用于帧内预测和帧间预测的单元,是cu的一部分或者整个cu
    2. Pu的大小和形状可以根据预测模式进行调整,提高编码效率
  3. 变换单元TU
    1. 用于变换和量化的单元,通常为4X4,8x8,16x16或者32x32
    2. Tu的大小可以根据残差数据的特性进行调整,以实现更高效的变换和量化

。。。。。。。。大多数和264相同。。。。。。。。。。。

  1. 滤波技术
    1. Sao 样本自适应偏移,用于补偿编码过程中误差,提高解码后的图片质量
    2. Alf 自适应环路滤波器,用于进一步减少编码噪声,提高图像质量

AV1

开源,免税版的视频编码格式,替代现有的编码标准---H264,H265

开源且免税,避免了使用专利编码格式所需要支付的费用

高压缩效率,相比vp9和hevc , av1 提供了更高的压缩效率

用于在线视频流媒体,webrtc 实时通信等

编码过程:

分块结构灵活,支持4x4到128x128不同大小的分块,提高了对不同内容类型的适应性

复杂的运动补偿与矢量场,提供更多运动补偿模式,减少时间冗余

高级变换和量化技术,多种变换核和自适应量化策略,提高压缩效率

解码过程:

解码器执行上述工作的逆过程,包括熵解码,反量化,逆变换和重建图像

AAC

高级音频编码格式,由mpeg组织开发,是mp3格式的继承者,被认为是最好的有损音频编码格式之一。

高音质,相同比特率下,aac比mp3音质更好

被许多设备和平台支持,ios android 流媒体服务。

用于音乐流媒体服务,数字广播,多媒体应用

编码过程:

  1. 时域到频域的转换,使用mdct将音频信号从时域转换到频域,以便处理不同频率成分
  2. 心理声学模型,根据人耳听觉特性,去除不易察觉的信息,从而减少数据量
  3. 比特率控制与量化,根据目标比特率,多频域系数进行量化处理,并用噪声声整形技术以优化音质。
  4. 熵编码与打包传输流生成

G711

   窄带语言编码标准,用于电话系统中的语音传输,有两种变体,μ-law 和 a-law 用于不同地区的电话系统。

简单且低延迟,适合实时通信

固定比特率,每秒64kbps的数据速率,使其适用于传统电话网络中的语音传输

应用场景,传统pstn 电话系统,volp电话服务等

编码过程:

将模拟语音信号转换为数字信号,然后通过μ-law或a-law算法进行非线性压扩,减少动态范围并提高信噪比,每个采样点用8位表示,因此固定比特率为64kbps

解码过程:

将数字信号通过μ-law或者a-law算法还原为线性pcm格式,在经过数模转换输出模拟语音信号

视频传输协议和网络传输技术:

SIP

应用层协议,用于创建,修改和终止多媒体绘画

工作原理

  1. 注册,用户设备向sip服务器注册,以便其他用户可以找到它
  2. 会话建立,通过发送invite请求来发绘画,包含绘画描述信息(sdp)
  3. 会话管理,在绘画期间,可以发送update或reinvite请求来修改会话参数

LlVOIP

通过互联网传输语音数据,实现语音通信

工作原理:

  1. 信令协议,使用sip或h323等协议进行呼叫建立和管理
  2. 编解码器,使用G711 G729等编码器对语言信号进行编解码压缩
  3. 传输协议,通常使用rtp/udp进行实时语音数据传输

 RTSP

网络应用协议,用于控制音视频流的传输,类似于http但专门向用于多媒体数据的传输控制

工作原理:

客户端发送describe请求获取媒体描述信息

客户发送setup请求建立,流媒体分传输通道

客户端发送play请求开始开始播放媒体流,pause请求暂停播放,treardown请求结束后播放并释放资源。

 RTP

网络协议,用于互联网上传输实时音频和视频,提供了时间戳,序列号等机制,确保数据包按顺序到达并能同步播放;

工作原理:

Rtp头部包含时间戳和序列号,用于同步和冲排序接收到的数据包,通常与rtcp一起用,rtcp提供质量反馈和统计信息,帮助调整传输参数

 UDP

无连接,不可靠传输层协议,提供简单快速的数据报文服务。

工作原理:

数据报文直接从源地址发送到目标地址,不需要建立链接,没有确定机制,丢包补充发

实时通信viop,流媒体服务,dns查询

TCP

面向连接的可靠传输层协议,提供可靠的数据流服务

工作原理:

三次握手建立链接,数据分段并编号,接收方确认收到的数据段,丢包重发,保证数据完整性。

四次挥手断开连接。

文件传输FTP,web浏览http/https

HTTP

无状态的应用层协议,用于分布式超文本信息系统

工作原理:

客户端向服务器发送http请求(get/post等)

服务器处理请求并返回响应(状态码+内容)

每次请求相应都是独立的

Web浏览器方位网站,restful api接口


网站公告

今日签到

点亮在社区的每一天
去签到