音视频基础知识

记录音视频基础知识


前言


一、YUV是什么?

YUV(也称YCbCr)是电视系统所采用的一种颜色编码方法。其中 Y 表示亮度,也就是灰阶值,它是基础信号;U 和 V 表示的则是色度,UV 的作用是描述影像色彩及饱和度,它们用于指定像素的颜色。U和V不是基础信号,它俩都是被正交调制的.
YUV与RGB视频信号相比,最大的优点在于只需占用极少的带宽,YUV只需要占用RGB一半的带宽。
YUV就是利用一个亮度(Y)和两个色差(U,V)来代替传统的RGB三原色,以压缩图像或者视频的数据占有率。比如说,传统的RGB三原色,使用红绿红三原色表示一个像素,每种色占用一个字节(8bit),则RGB表示一个像素就需要83=24bit。但如果使用YUV表示这个像素,假设YUV的采样率为:4:2:0,则对每一个像素来说,亮度Y的采样频率为1,而对于色差U和V,则是每相邻的两个像素各取一个U和V。即对于单个的像素来说,色差U和V的采样频率为亮度的一半,为0.5。举例说,有三个相邻的像素,如果用RGB三原色表示,则共需要占用:833=72bits;但是如果采用YUV(4:2:0)表示,则只需要占用:83(Y)+ 830.25(U)+ 830.25(V)= 36bits。这样,只需要用原来一半的空间,即可表示原来的图像或视频数据,数据率压缩了一倍,而图像的效果基本没发生变化。

YUV 4:2:0
YUV 4:2:0 并不意味着不采样 V 分量。它指的是对每条扫描线来说,只有一种色度分量(U 或者 V)和 Y 分量以 2:1 的采样率存储,相邻的扫描行存储不同的色度分量。也就是说,如果第一行是 4:2:0,下一行就是 4:0:2,在下一行就是 4:2:0,以此类推。比如,第一行扫描时,YU 按照 2 : 1 的方式采样,那么第二行扫描时,YV 分量按照 2:1 的方式采样。对于每个色度分量来说,它的水平方向和竖直方向的采样和 Y 分量相比都是 2:1 。
其中,每采样一个像素点,都会采样 Y 分量,而 U、V 分量都会隔行按照 2:1 进行采样。
一张 1920 * 1280 大小的图片,采用 YUV 4:2:0 采样时的大小为:
(1920 * 1280 * 8 + 1920 * 1280 * 0.25 * 8 * 2 ) / 8 / 1024 / 1024 = 3.51M

————————————————
YUV 主要的采样格式有YCbCr 4:2:0、YCbCr 4:2:2 和 YCbCr 4:4:4 ,其中 YCbCr 4:2:0是最常用的采样格式。

二、MIPI

MIPI(Mobile Industry Processor Interface)是移动行业处理器接口的缩写,是一种用于连接移动设备中的图像传感器、显示屏和处理器之间的接口标准。
MIPI并不是一个单一的接口或协议,而是包含了一套协议和标准,以满足各种子系统独特的要求。MIPI的标准异常复杂,包含非常多的应用领域。
在音视频领域,MIPI也有特定的应用,如MIPI CSI(Camera Serial Interface)和MIPI DSI(Display Serial Interface)。
MIPI CSI是一种用于连接图像传感器和处理器之间的接口标准,主要用于将图像数据从相机传输到处理器,实现图像采集和处理。它提供了高速传输、低功耗和灵活性等特性,广泛应用于移动设备和嵌入式系统中。
MIPI DSI则是一种用于连接处理器和显示屏之间的接口主要用于传输图像数据和控制信号。它可以实现高分辨率、高刷新
总而言之,MIPI在嵌入式系统和其他需要音视频处理的领域。

三、RAW

RAW数据是sensor出来的最原始的数据。是没有办法直接使用的,还要在host端做ISP,做色彩纠正,增强,HDR,插值成RGB,转成YUV,最后再使用。

四、基础概念

P/N制:中国一般P制
ISP(Image Signal Processing) 图像信号处理
3A算法: AWB:自动白平衡、AE:自动曝光、AF:自动聚焦
ICR:红外滤光片

HDR:高动态范围(High Dynamic Range, HDR)图像,也称宽动态范围(Wide Dynamic Range,WDR)图像

ROI(Region Of Interest)编码,感兴趣区域编码
智能编码:SMARTENC(Smart Video Encoder)模块,是对编码场景进行实时分析,动态调节视频编码参数,从而在获得高质量视频体验的同时压低视频码率。

DEC
宽动态范围解压缩(Decompression,简称 DEC),具有宽动态 sensor 为了减少原始数据位
宽,要进行压缩处理,例如输出是 16-bit 数据,但压缩前是 12-bit 数据,解压缩算法根据解压缩
曲线对 sensor 输出数据进行解压缩处理,恢复 sensor 压缩前的 RAW 数据。

QP:量化参数(Quantisation Parameter)是量化步长 QStep 的序号,取值范围 0~51,取值越小,表示量化越精细,图像质量越好;取值越大,表示量化越粗糙,图像质量越差

H.264 和 H.265 分别有 CBR、 VBR、 FixQp 三种码率控制模式:
CBR(Constant Bit Rate):是以恒定比特率方式进行编码,在码率统计范围内,码率能够保持在 u32TargetBitRate 这个水平。
VBR(Variable Bit Rate):其码率可以随着图像的复杂程度的不同而变化,图像内容比较简单
则分配较少的码率,图像内容比较复杂则分配较多的码率,这样既保证了质量,又可以兼顾带宽
FixQp
在码率统计时间内,编码图像的所有宏块 QP 值采用用户配置的值

CIR(Cyclic Intra Refresh)循环帧内编码块
LDC(Lens Distortion Correction)模块,即畸变矫正模块

五、BT1120、BT656

BT1120和BT656的区别,可以理解为BT656使用8根数据线传输YC信号,BT1120分别使用8根数据传输Y和CbCr信号

六、H264 I帧P帧

帧内编码帧(Intra frame)I帧:在H264中图像以序列为单位进行组织,一个序列是一段图像编码后的数据流,以I帧开始。 一个序列的第一个图像叫做 IDR 图像(立即刷新图像),IDR 图像都是 I 帧图像。
I帧为帧内编码帧 ,I帧表示关键帧,你可以理解为这一帧画面的完整保留;解码时只需要本帧数据就可以完成
主要特点:
1)它是一个全帧压缩编码帧。
2)解码时仅用I帧的数据就可重构完整图像;
3)I帧描述了图像背景和运动主体的详情;
4)I帧不需要参考其他画面而生成;
5)I帧是P帧和B帧的参考帧(其质量直接影响到同组中以
后各帧的质量);
6)I帧是帧组GOP的基础帧(第一帧),在一组中只有一个I帧;
7)I帧不需要考虑运动矢量;
8)I帧所占数据的信息量比较大

帧间编码帧(Inter frame)P帧:前向预测编码帧。P帧表示的是这一帧跟之前的一个关键帧(或P帧)的差别,解码时需要用之前缓存的画面叠加上本帧定义的差别,生成最终画面。
主要特点:
1)P帧是I帧后面相隔1~2帧的编码帧;
2)P帧采用运动补偿的方法传送它与前面的I或P帧的差值及运动矢量(预测误差);
3)解码时必须将I帧中的预测值与预测误差求和后才能重构完整的P帧图像;
4)P帧属于前向预测的帧间编码。它只参考前面最靠近它的I帧或P帧;
5)P帧可以是其后面P帧的参考帧,也可以是其前后的B帧的参考帧;
6)由于P帧是参考帧,它可能造成解码错误的扩散;
7)由于是差值传送,P帧的压缩比较高。

七、视频硬件接口

HDCVI(High Definition Composite Video Interface)简称CVI,即高清复合视频接口,是一种基于同轴电缆的高清视频传输规范,采用模拟调制技术传输逐行扫描的高清视频。
HDCVI的主要技术特点是:
○ 使用同轴电缆传输模拟高清视频。距离可达300-500米;
○ 分辨率1280*720以上;
○ 可以同时传输音频,控制信号,报警信号等;
○ 视频没有编码,视频传输零延时;
与HDCVI对应的还有AHD、TVI.
AHD即Analog HD,模拟高清,技术原理和大华的HDCVI基本一样。采用Y/C信号分离(亮度信号和色度信号分离)和模拟滤波技术,降噪技术,可以实现高清视频信号在同轴电缆上传输。

同轴电缆(硬件接口):其上可以传输CVI AHD TVI 等模拟信号。
HDMI接口:传输数字信号(可以传输视频和音频)。
VGA接口:传输模拟信号(只能传输视频)。
CVBS(Composite Video Broadcast Signal or Composite Video Blanking and Sync ) : 复合同步视频广播信号,传输模拟信号
CVBS是一种基带视频信号,是一种基本的模拟视频信号,包括亮度和色度信号,通常用于传输标清视频信号。CVBS信号通常通过RCA接口进行传输,也称为“黄色视频接口”。CVBS信号也可以通过其他接口进行传输,如S-Video接口和SCART接口,但RCA接口是CVBS信号传输的最常用接口之一。

八、码流

码流:是指视频文件单位时间内使用的数据流量,也叫码率或码流率,单位是kb/s或者Mb/s。
同样分辨率下,视频文件的码流越大,画面质量就越高。,要求播放设备的解码能力也越高。码流越大,文件体积也越大,其计算公式是文件体积=时间X码率/8。例如,网络上常见的一部90分钟1Mbps码流的720P RMVB文件,其体积就=5400秒*1Mb/8=675MB。

九、编码

视频文件按照一定的方法进行压缩,也叫编码,能够大幅度降低文件大小,这样显然更有利于视频文件的传输,存储以及应用。而这个压缩的标准,被制定出来,称为视频编码标准

音视频中的profilelevel是用来描述编码标准和编码参数的指标。
在音视频编码中,profile指定了一组特定的编码功能和算法,用于定义编码器的能力和支持的特性。不同的profile可能具有不同的功能和复杂度。常见的音视频编码标准如H.264/AVC、H.265/HEVC和MPEG-4等都定义了多个profile供选择。
而level则用来描述编码器的性能级别。它定义了编码器支持的最大分辨率、帧率、比特率以及其他相关参数。不同的level对应不同的性能要求和限制。
总结来说,profile和level是用来标识和描述音视频编码器的能力和性能的指标。通过选择合适的profile和level,可以根据应用需求进行编码参数的设置,以达到最佳的压缩效率和视听质量

音视频中的MV(Motion Vector)size通常指的是运动矢量的尺寸。
在视频编码中,运动估计和补偿是一种重要的技术,用于提高视频压缩效率。运动矢量表示了帧间运动的信息,即当前帧与参考帧之间的像素位移。通过利用帧间的相似性,可以通过仅编码运动矢量和残差信息来减少数据量。
运动矢量的尺寸可以根据编码标准和应用需求而变化。常见的尺寸有8x8、16x16和32x32等。这些尺寸决定了运动矢量的精度和编码效率。较小的尺寸可以提供更精细的运动估计,但可能会增加编码复杂度和数据量。较大的尺寸可以减少编码复杂度,但可能会损失一些细节信息。
需要注意的是,不同编码标准和实现可能使用不同的运动矢量尺寸。因此,在具体应用中,需要根据所选用的编码器和解码器来确定准确的MV size。

音视频量化参数(QP)是指在音视频编码中用于控制压缩质量的一个参数。在音视频编码中,原始音视频信号会通过压缩算法进行编码,以减小数据量并提高传输效率。而QP则是在这个过程中用来平衡压缩质量和压缩比率的重要参数。
具体来说,QP决定了编码器对音视频信号进行量化的程度。较高的QP值表示更强的量化,会造成更大的数据丢失,但同时也能获得更高的压缩比率。而较低的QP值则表示较弱的量化,数据丢失较少,但压缩比率也会相应降低。
通过调整QP值,可以实现在不同应用场景下对音视频编码的不同要求。例如,在对画质要求较高的视频场景下,可以选择较低的QP值以获得更好的视觉效果;而在对压缩比率要求较高的场景下,可以选择较高的QP值以获得更高的压缩比率。
需要注意的是,不同的编码标准(如H.264、H.265等)可能使用不同的QP范围和映射方式。因此,在具体的音视频编码中,需要根据具体的编码标准和应用需求来选择合适的QP值。

十、逐行与隔行扫描

每帧图像由电子束顺序地一行行连续扫描而成,这种扫描方式叫做逐行扫描。

把每帧图像通过两场扫描完成则是隔行扫描,在两场扫描中,第一场(奇数场)只扫描奇数行,依次扫描1、3、5、7行等,而第二场(偶数场)只扫描偶数行,一次扫描2、4、6、8行等。隔行扫描技术在传输信号带宽不够的情况下起很大作用。

逐行扫描和隔行扫描的显示效果主要区别在稳定性上面,隔行扫描的行间闪烁比较明显,逐行扫描克服了隔行扫描的缺点,画面平滑自然无闪烁。于电视的标准显示模式中,i为隔行扫描,p为逐行扫描

十一、SHDR

SHDR是指Super High Dynamic Range,是一种高动态范围的图像和视频显示技术。它通过增加图像和视频的亮度范围,使得黑暗区域更加清晰,同时保留亮部细节,从而提供更加逼真的视觉效果。

SHDR技术在音视频领域的应用主要体现在以下几个方面:

  • HDR视频播放:SHDR技术可以使得HDR格式的视频在支持该技术的设备上呈现出更高的亮度范围和更丰富的色彩细节。通过SHDR技术,用户可以欣赏到更加逼真生动的影像效果。
  • HDR视频制作:SHDR技术可以在视频制作过程中提供更广泛的亮度范围和色彩细节,使得制作出的视频画面更加真实。在后期制作中,通过对HDR视频进行调整和优化,可以获得更好的视觉效果。
  • HDR音频播放:除了图像,SHDR技术也可以应用在音频领域。通过扩展音频的动态范围,SHDR可以提供更加逼真的音效体验,使得听众能够感受到更丰富的音乐和声音细节。

十二、智能算法

Ddas:驾驶辅助,车道偏离预警、压线、车距过近,斑马线未礼让行人等
DSM:驾驶行为分析,主要功能包括开车闭眼、打哈欠、低头、抽烟、打电话、左顾右盼、相机遮挡、离岗、红外阻断检测、换人驾驶报警和身份异常报警
ADAS:高级驾驶辅助系统主要功能包括前向碰撞、车距过近、车道偏离、红绿灯、斑马线是否礼让行人、标识牌报警

十三、图像数据

YUV数据可以用UltraEdit打开查看yuv数据内容:
一般白色图片的YUV数据前边为EB,后边为80.黑色图片的YUV数据前边为0x10,后边为80.
YUV数据可以用7yuv工具查看yuv图片内容,也可以查看其他格式的图片内容(eg:rgb1555)
H264数据可以使用 ESEyE 工具查看。
eseye :h264码流分析工具
7yuv: yuv数据分析工具

YUV420黑色数据:1080P为例
memset(pVideoMemInfo->pVideoVir, 0x00, size);
memset(pVideoMemInfo->pVideoVir + 19201080, 0x80, 19201080 / 2);
RGB格式与YUV420SP格式转换公式:
Y = 0.299 * B +0.587 * G + 0.114 * R + 16
U = (-0.147) * B - 0.289 * G + 0.436 * R + 128
V = 0.615* B - 0.515 * G - 0.100 * R + 128
如果发现有些亮就去掉+16,如果发现反色就把UV调换,如果出现全亮色说明没加128。YUV中Y是以0为原点,UV以128为原点,0,128,128为黑色。

YUV420黑色数据:Y为0x10,UV为0x80.
YUV420白色数据:Y为EB,UV为80.

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值