视频是php格式,图像和视频的主要格式与编码格式。

1604808363741_0.jpeg

图像格式

图像的基本数据结构:RGB,RGBA,A为透明通道。图像是二维数据,数据在显存中只好一维储存,二维转一维有不同的对应形式。比较常见的只有两种形式: 按象素“行排列”从上往前或则从下往上。

不过似乎只有bmp图片格式以及windows下的GDI,GDI+是从下往上排列,其它诸如DirectX,OpenGL,Cocoa(NSImage, UIImage),OpenCV等都是从上往前排列。

不同图形库中每位象素点中RGBA的排序次序或许不一样。有或许是RGB,RBG等六种状况。如果是RGB24位图,会存在一个32位对齐的问题,也就是显存对齐。先介绍x86是一个intel通用计算机系列的标准编号简写,也标示一套通用的计算机指令集合,X与处理器没有任何关系,它是一个对所有*86系统的简略的泛型定义。cpu的位是指一次性可处理的数据量是多少,1字节=8位,32位处理器可以一次性处理4个字节的数据量,依次类推。在x86机制下,cpu一次处理32整数倍的数据会更快,图像处理中常常会按行为单位来处理象素。24位图,宽度不是4的倍数时,其行字节数将不是32整数倍。这时可以采取在行尾添加冗余数据的方法,使其行字节数为32的倍数。

jpeg,png文件之于图象,就相当于zip,rar格式之于普通文件(用zip,rar格式对普通文件进行压缩)。用到压缩算法。

BMP格式

bmp格式没有压缩象素格式,存储在文件中时先有文件头、再图象头、后面就都是像素数据了,上下颠倒储存。

用windows自带的mspaint工具保存bmp格式时,可以发觉有四种bmp可供选择:

单色: 一个象素只占一位,要么是0,要么是1,所以只好储存彩色信息

16色位图: 一个象素4位,有16种色调可选

256色位图: 一个象素8位,有256种色调可选

24位位图: 就是图(1)所示的位图,颜色可有2^24种可选,对于人眼来说完全足够了。

这里为了简略起见,只具体讨论最常见的24位图的bmp格式。

文件头信息:

bfType=2字节:一定为19778,其转换为十六进制为0x4d42,对应的字符串为BM。

bfSize=4字节:文件大小

bfReserved1=2;一般为0

bfReserved2=2;一般为0

bfOffBits=4:从文件开始处至像素数据的偏斜,也就是这两个结构体大小之跟.

bmp图片结构头

字段

大小(字节)

描述

biSize

4

此结构体的大小

biWidth

4

图像的宽

biHeight

4

图像的高

biPlanes

2

图像的帧率,一般为1

biBitCount

2

一象素所占的位数,一般是24

biCompression

4

一般为0

biSizeImage

1604808363741_3.jpeg

4

像素数据所占大小,即前面结构体中文件大小除以偏斜(bfSize-bfOffBits)

biXPelsPerMeter

4

一般为0

biXPelsPerMeter

4

一般为0

biClrUsed

4

一般为0

biClrImportant

4

一般为0

JPEG格式 jpeg是有损压缩格式, 将象素信息用jpeg保存成文件再调用下来,其中个别象素值会有少许变化。在保存时有个品质参数可在[0,100]之间选择,参数越大图片就越保真,但图片的容积也就越大。一般状况下选择70或80就足够了。jpeg没有透明信息。jpeg比较适宜拿来储存手机拍下来的相片,这类图象用jpeg压缩后的容积比较小。其使用的详细算法核心是离散余弦变换、Huffman编码、算术编码等技术,有兴趣的朋友可以在网上找一大堆资料,本文就不具体介绍了。PNG格式 png是一种无损压缩格式, 压缩大约是用行程编码算法。png可以有透明疗效。png比较适宜过量图,几何图。 比如本文中出现的很多图都是用png保存,比用joeg保存容积要小。

再指出一下: jpeg比较适宜储存色调“杂乱”的拍摄图片,png比较适宜储存几何特性强的图形类图片。

GIF格式

上面提及的bmp,jpeg,png图片都只有一帧,而gif可以保存多帧图象.gif中有个参数可以控制图片变化的快慢。在程序中可以使用这个参数,也可以自己定义一个参数,这就是为何gif图片,在不同程序中查看时其变化速率不一样。

webp

google开发的一种有损、透明图片格式php 存储视频图片格式,相当于jpeg跟png的合体,google宣称其可以把图片大小降低40%。

视频格式

视频文件格式(简称:文件格式),视频封装格式(简称:视频格式),视频编码方法(简称:视频编码)。

文件格式:windows设置后缀名的目的是使相应的应用程序来打开相应的文件。可以随便修改后缀名,不会修改文件的内部数据格式。

视频封装格式:一种储存视频信息的容器。视频封装格式不同,也不会影响视频数据,主要是一种对视频数据的组合。因此,视频转化还要设置的本质就是:A设置还要的视频编码、B设置还要的音频编码、C选择还要的容器封装。一个完整的视频转化设置都起码包括了前面3个方法。主要格式如下:

1604808363741_5.jpeg

视频编码格式:对原始视频数据进行编码或解码的程序或算法。属于有损压缩。

1.h26x系列。

2.MPEG系列等。

现在我用的是MPEG封装,h264编码,MP4后缀名。

H.264分为Baseline Profile,Main Profile跟High Profilephp 存储视频图片格式,代表编码复杂程度。

H.264编码的GOP(Group of Picture)是由关键帧I,预测帧P、B组成。GOP越长,一个循环中包含的预测帧也就越多,压缩率越高,编解码难度越高,越不容易准确至帧(视频编辑要求准确至每一帧,也就是每一秒可以分离成24/29/30个画面)。使用是现在最理想的方案。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值