jpg文件少几个比特?

候珠鸿候珠鸿最佳答案最佳答案

以一个典型的非压缩的 24 位 RGB 图像为例,每个 pixel 是 8 个字节,24 位就是 16384 个比特。那么 JPEG 压缩会去掉多少信息呢?

假设原图像为 f(x, y),经过一次 JPEG 压缩得到 p(x, y),有 50% 的概率将一个像素点定义为可保留值或者可删除值。定义 D 为图像尺寸(宽度 x 高度 y),则共有 C(D) 种可能的配置。所以有 50%的概率使每个像素点有 50%的可能性成为可留 (0 有 50%成为1)可删值。当所有像素都不具有 1/2的可能成为可删值时,算法停止,此时整个图片的所有信息被删除。 因此根据算法流程有 C(D) = 2^(D*log_2(50)) = (1+根号50)^D (1.1) 同理可以求出,当全部变为可留值时有 C(D) = 2^{D} 所以根据图像长度,可以有 两种情况 当 D 根号50 当 D > 根号50时,C( D ) < 根号50 根据上面的公式就可以计算出不同大小图像所需要的比特数了。

举个例子,对于一幅 100 万像素的图形来说,如果我们要其保存 7 天,需要 7 * 100 万 = 700 万比特;如果我们要他保存 700 年,只需要 700 年 = 700 万秒,而一秒种传输 1 副 100 万象素图形的话,网络带宽需要 7 千兆(100 万 / 1 秒)才能满足要求。 而 jpg 图片的文件尺寸一般是按 「 每像素 5 比特」计算的(其实比 5 比特多,但是计算的时候忽略一些参数可以近似看成 5 比特)。所以对于一幅 100 万像素的图形,如果我们要他保存 7 天,需要用掉 7 * 100 万 * 5 = 3500 万比特。如果我们想要他保存 700 年,只需要用 700 年 * 100 万 * 5 = 35亿比特。和未经 jpg 压缩的 bmp 格式的图形所需要得数量差不多,只不过后者的数据是连续排列的,而前者是经过压缩的。

喻歆妤喻歆妤优质答主

JPEG文件并不是以比特为单位进行控制的,它是一种压缩算法,一般都是基于256色的子像素。不过,如果你要具体描述一个JPEG图片的比特数,例如,一个常见的JPEG压缩设置是采用256*256*8位的颜色分辨率(即256色),这样压缩后的JPEG约有576字节,扣除一些冗余和编码信息,实际的比特数大概是在510-520比特左右。

当然这只是个大概的数值,实际情况下,压缩比、分辨率、色彩深度等因素都会影响到比特数。例如,如果压缩比更高,可以达到5:1甚至是10:1,而如果降低分辨率,如降至128*128,又可能是300比特数。总之,JPEG的图片比特数会因各种因素而有所不同。

我来回答
请发表正能量的言论,文明评论!