音视频的数字化原理「建议收藏」

今天本写了篇dicom医学图像解析的文章,后面听人谈到了音视频,今天我就再从中学物理写下我理解的音视频数字化原理。**音频:**物理上说声音三要素音调,响度,音色,响度直观理解就是声音的大小,声音的高低(高音、低音),音色,又称音品这两个其实都跟频率有关。声音的数字化呢,其实来源于原理的,物理上人能听到声音频率的范围是20hz到20khz,数字化采集声音时一般时按44.1khz采集的,就是1s中采集44100次,然后用16byte2个字节来存,一个采样能存的层级就是-2的8次方到2的8次方-1层,总的就是

大家好,又见面了,我是你们的朋友全栈君。

音频:物理上说声音三要素音调,响度,音色,响度直观理解就是声音的大小,声音的高低(高音、低音),音色,又称音品这两个其实都跟频率有关。声音的数字化呢,其实来源于原理的,物理上人能听到声音频率的范围是20hz到20khz,数字化采集声音时一般时按44.1khz采集的,就是1s中采集44100次,然后用16比特2个字节来存,一个采样能存的层级就是-2的8次方到2的8次方-1层,总的就是65536层,一般一个音频的裸数据格式是pcm(脉冲编码调制),p量化格式,s采样率,m声道数,按一个双声道的音频,1s内占用的大小就是44100x16x2=1378.125kbps,kbps又称比特率,就是1s内比特数目的大小,那么双声道1分钟的大小就是1378.125×60/8/1024=10.98mb,注意除8是因为8个比特为1个字节。音频的压缩原理呢,因为我们采集频率是44.1khz,而我们能听到的只有20hz-20khz,压缩就可以简单的理解为去除掉在我们听觉之外的那部分,其实这是无损压缩,还有有损的压缩。有了这些我们就可以编码了,声音的编码有很多比如WAV,MP3,AAC,LC-AAC,HE-AAC,HE-AAC v2,Ogg等。
视频:同样来自中学物理,我们知道光学的三原色是红®,绿(G)蓝(B)构成,而手机呢是由一个个像素点构成,一个像素点能产生这三种光,一个像素也是由这三个构成,以RGBA_8888格式的图举例表视一个像素的R(红,8个比特)G(绿,8个比特)B(蓝,8个比特)A(透明度,8个比特),8个比特取值范围是0-255,比如一个手机屏幕是1080×1920,对应一个1080x1920RGBA图的话就是1080x1920x8x4/8=8.294400MB同样除以8是因为8个比特为1个字节。这只是一种编码,编码还有RGB_565,RGBA_4444等,这就是图,视频就是一张张图片构成。但传输种这样的图太大了,需要压缩,视频压缩有时间压缩,空间压缩,空间压缩简单理解就是把一张图按像素点比例的缩小,时间压缩简单理解就是上一张还有一部分其实是不动的下一张图还可以继续用,比如你拍视频人在动,山没动,下一张就可以保留山,把你填上就是了,大概是这么个意思,除了这个还有种YUV格式的视频数据格式的视频,可以跟RGB转换。有了这些再谈下视频的编码,视频的编码有Mpeg1,Mpeg2,Mpeg3,Mpeg4,H.261,H.262,H.263,H.264等。
一下想吹牛,粗虐谈下原理写下文章,后续有时间再写一下我掌握的视频技术。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/127197.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 费雪信息 (Fisher information)

    费雪信息 (Fisher information)——————————————————————————作者:知乎用户链接:https://www.zhihu.com/question/26561604/answer/33275982来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。——————

    2022年9月18日
    1
  • C++线程同步 CCRITICALSECTION(临界区类)附自己写的测试代码

    C++线程同步 CCRITICALSECTION(临界区类)附自己写的测试代码当多个线程访问一个独占性共享资源时,可以使用“临界区”对象。任一时刻只有一个线程可以拥有临界区对象,拥有临界区的线程可以访问被保护起来的资源或代码段,其他希望进入临界区的线程将被挂起等待,直到拥有临界区的线程放弃临界区时为止,这样就保证了不会在同一时刻出现多个线程访问共享资源。CCriticalSection类的用法如下:定义CCriticalSection类的一个全局对象(以使各个线

    2022年7月20日
    18
  • android开机动画 制作工具,android开机动画制作

    android开机动画 制作工具,android开机动画制作本帖最后由nihao200823于2017-1-1220:38编辑android开机动画制作与播放原理简介谁都想拥有一个华丽漂亮的开机动画,这让人心情舒畅,android是怎么来实现的?怎么制作一个自己的开机动画?这里揭开android开机动画的神秘面纱。1、制作开关机动画1.1开机动画的位置system/media/bootanimation.zip,要修改开机动画就是修改boota…

    2022年5月14日
    44
  • 中标麒麟正在启动caja_中标麒麟和win7差距

    中标麒麟正在启动caja_中标麒麟和win7差距1问题背景在使用UEFI安装中标麒麟系统时,出现warning:/dev/disk/by-label/NeoKylindoesnotexit如下图所示(图来源网络):2原因分析系统在DXE(DriverExecutionEnviroment)驱动加载过程中需要查找系统的启动项/启动文件,也就是waining中的:/dev/disk/by-label/NeoKylin显然,根据报错我们可知,问题就出在该启动文件的路径上–找不到对应的启动文件。3解决方法3.1确定/查看

    2022年8月10日
    96
  • 数据库设计工具MySQLWorkBench[通俗易懂]

    数据库设计工具MySQLWorkBench[通俗易懂]  该工具为MySQL官方提供地址:http://dev.mysql.com/downloads/workbench/小伙伴们注意按自己的操作系统选择下载版本。·       注意事项:安装后将环境语言配置成简体中文,否则中文乱码工作步骤新建模型后,会进入此页面。 1./2.切换数据库表设计与ER图。3. 创建/管理ER图4. 创建/管理表结构1….

    2022年7月11日
    20
  • Android屏幕适配之Autosize

    Android屏幕适配之Autosize一、简介Autosize今日头条屏幕适配方案终极版,一个极低成本的Android屏幕适配方案。二、使用1、引用implementation’me.jessyan:autosize:1.2.1’2、配置<meta-dataandroid:name=”design_width_in_dp”…

    2022年5月18日
    58

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号