色彩转换
数字电视的格式(BT.601 BT.709 BT.2020)和接口(BT.656 BT.1120 BT.2077)
伽马空间与线性空间详解
对 Gamma 校正的个人理解
FFMPEG一些color属性处理
iOS中的YUV格式
Y:明亮度(Luminance,Luma),也就是灰度值
U和V:色度(Chrominance,Chroma),描述影像色彩及饱和度
用黑点表示采样该像素点的Y分量,以空心圆圈表示采用该像素点的UV分量,则三种采样方式可由下图来表示:
对于packed的YUV格式,每个像素点的Y,U,V是连续交*存储的。
以YUV4:2:0为例,它又被分为YUV420P与YUV420SP
YUV420P, Plane模式(Y,U,V三个plane)将Y,U,V分量分别打包,依次存储
YUV420SP(NV12/NV21): two-plane模式,即Y和UV分为两个Plane,但是UV(CbCr)为交错存储
设置为kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange时,表示输出的视频格式为NV12(BiPlanar指双平面模式,即将Y和UV分开存储,VideoRange指颜色空间);
设置为kCVPixelFormatType_420YpCbCr8Planar时,表示使用I420
I420格式:y,u,v 3个部分分别存储:Y0,Y1…Yn,U0,U1…Un/2,V0,V1…Vn/2
NV12格式:y和uv 2个部分分别存储:Y0,Y1…Yn,U0,V0,U1,V1…Un/2,Vn/2
NV21格式:同NV12,只是U和V的顺序相反。
帧或图片通常会分为几个宏块(Macroblock),宏块是运动预测的基本单位,一个完整的图像通常被分为几个宏块,如 MPEG-2 和较早期的编解码器定义宏块都是 8×8 像素,以宏块为基准选择特定的预测类型,而非整个图像都使用相同的预测类型,具体如下:
H264提供的是16*16的pixel macroblocks
H264码流中SPS PPS详解
H.264 码流格式: Annex-B, AVCC与extradata详解
视频可用性信息(VUI)
X264算法参数二(VUI参数配置)
两种HDR格式(HLG, HDR10)的理解
H265提供的是64*64
(推荐阅读)H264, H265硬件编解码基础及码流分析
H.264 视频编解码技术分享–AnnexB 和 avcC
HEVC有两种类型的NAL units,一种是VCL(video coding layer)NAL units,另一种是 non-VCL NAL units。
每一个VCL NAL unit携带一片编码的图片数据而non-VCL NAL units携带控制信息(通常是与多个编码的图片相关的控制信息)。
一个编码的图片加上与其相关的non-VCL NAL units被称为一个HEVC access unit。
mp4中,对h264/h265来说,sps/pps/vps都包含在extra data中。
h264, extra data存在于trak->mdia->minf->stbl->stsd->avc1->avcc,语法遵循 AVCDecoderConfigurationRecord
而对ts流,extra data就是一个NALU
视频分辨率是指视频成像产品所形成的图像大小或尺寸,通常来说,1080P 就是指 1080 x 1920 的分辨率,4 k 指 3840 x 2160 的分辨率。
bitrate:比特率(码率),秒为单位。等于视频总的大小/时长。指单位时间内传输或处理的比特的数量,单位为 bps(bit per second)也可表示为 b/s。比特率越高,单位时间传送的数据量(位数)越大。多媒体行业在指音频或视频在单位时间内的数据传输率时通常使用码率,单位是 kbps。
固定码率
可编码率