10 12 14bit图像存储格式

时间:2024-03-28 22:50:45

目前大多数图像和视频是采用每个像素8bit的方式存储,恰好是一个字节的长度。随着图像和视频向超高清方向发展,8bit已经不能满足对画质和色彩的需求。已经出现了每个像素用10bit、12bit、14bit的应用,由于它们无法用1个字节表示,如果使用2个字节又会浪费空间,所有需要将每个像素拆分表示。

一般将每像素10bit的RGB和YUV图像分别表示为PRGB10和PYUV10,每像素12bit的RGB和YUV图像分别表示为PRGB12和PYUV12,每像素10bit的RGB和YUV图像分别表示为PRGB14和PYUV14。下面分别介绍其在内存中的存储方式。

PRGB10和PYUV10

对于10bit的图像,要将连续的4个像素(按从左到右从上到下的顺序)用5个字节表示。图像的像素数需要是4的整数倍。

其在内存中的存储方式如图:

10 12 14bit图像存储格式

 

第1个像素:低8位为第1个字节,高2位在第2个字节的低2位。

第2个像素:低6位为第2个字节高6位,高4位在第3个字节的低4位。

第3个像素:低4位为第3个字节高4位,高6位在第4个字节的低6位。

第4个像素:低2位为第4个字节高2位,高8位在第5个字节。

10 12 14bit图像存储格式

 

从内存中读出像素的方式如上式所示。

PRGB12和PYUV12

对于12bit的图像,要将连续的2个像素(按从左到右从上到下的顺序)用3个字节表示。图像的像素数需要是2的整数倍。

其在内存中的存储方式如图:

10 12 14bit图像存储格式

 

第1个像素:低8位为第1个字节,高4位在第2个字节的低4位。

第2个像素:低4位为第2个字节高4位,高8位在第3个字节。

从内存中读出像素的方式如下式:

10 12 14bit图像存储格式

 

PRGB14和PYUV14

对于14bit的图像,要将连续的4个像素(按从左到右从上到下的顺序)用7个字节表示。图像的像素数需要是4的整数倍。

其在内存中的存储方式如图:

10 12 14bit图像存储格式

 

第1个像素:低8位为第1个字节,高6位在第2个字节的低6位。

第2个像素:低2位为第2个字节高2位,第3-10位在第3字节,高4位在第4个字节的低4位。

第3个像素:低4位为第4个字节高4位,第3-10位在第5字节,高2位在第6个字节的低2位。

第4个像素:低6位为第6个字节高6位,高8位在第7个字节。

从内存中读出像素的方式如下式:

10 12 14bit图像存储格式

 

以上便是10bit、12bit、14bit图像在内存中的存储格式和读取方法。

感兴趣的可以关注微信公众号Video Coding

 

10 12 14bit图像存储格式