`

语句倒装和语音图像压缩的科学原理

 
阅读更多

 

今天吴军老师讲了一道简单谷歌面试题,把语句倒装和语音图像压缩的科学原理结合了起来,很有启发。

 

面试题目是说“如何不使用额外的存储空间完成语句倒装?”,例如要把“London bridge is falling down”倒装成“down falling is bridge London”,这道题的难度在于不使用“额外的存储空间”,而最大思维陷阱在于人会陷入自己固有的思维方式,或者说常人的思维。

这道题最简单的做法如下:

第一步、先将整个句子看成是一个完整的字符串,以字母为单位头尾对调。

第二步、把用空格分割的每一个字串以字母为单位,头尾对调。

 

很多人想不到先要把整个句子变得无意义,才能得到的后面有意义的单词。这种先把看得懂的信息,变成你看不懂,但是没有任何损失的中间信息的做法,是今天语音和图像处理的基础。科学家是怎么设计算法的呢?

第一步、先把语音或者图像从直观的信息,变成人根本看不懂的频率信号。

第二步、根据压缩的比例,把高频的信号过滤掉,只保留低频的即可。当播放语音或者显示图片时,再从频率信息恢复为语音波形,或者图像即可。

 

例如JPEG文件存储的是图像的频率,你可以以为是一大片一大片存储的,因此像蓝天、白云、大海这样变化不是很多的色块,压缩的JPEG文件基本上把它们变成一种颜色。通常JPEG文件压缩和语音压缩10倍,人类感官是感觉不出来的。

 

所以从一道面试题,讲到语音和图像的压缩。它们的共同点在于,计算机在处理信息时,通常要把信息变成另一种形式才好处理,而那种形式,并非是人所熟悉的。 

 

分享到:
评论

相关推荐

    基于四叉树的图像压缩程序

    四叉树图像压缩是一种在计算机图形学和图像处理领域中广泛应用的压缩技术,它通过将图像分割成四个相等的部分,然后对每个部分进行编码,从而实现数据的压缩。四叉树方法尤其适用于处理分块明显的图像,如地图、棋盘...

    小波变换用于图像压缩的MATLAB源程序,自带小波分析工具箱

    小波变换用于图像压缩的MATLAB...载入图像时MATLAB软件自带的,因此不需要转换图像格式等语句。另外,一些函数的不理解的,可以查看help看函数的意义。因为实验结果上传起来比较费时,所以只给了源文件。仅供学习参考。

    易语言汇编图像压缩源码.rar

    《易语言汇编图像压缩源码》是一款专为编程爱好者和开发者提供的图像处理工具,它采用了易语言和汇编语言的结合,实现了高效的图像压缩功能。这个压缩源码集不仅包含核心算法,还附带了详细的使用说明,帮助用户理解...

    Unity语音识别【百度AI长语句语音识别&Unity原生关键词语音识别】Unity3D工程二合一下载

    内含百度AI长语句语音识别和Unity原生短语语音识别一个工程,分为两个Scenes

    基于FPGA的数字图像处理原理及应用程序源代码

    总结来说,基于FPGA的数字图像处理是电子工程和计算机科学领域的交叉点,结合了硬件设计和信号处理的知识。Verilog作为实现这种设计的关键工具,使得开发者能够充分利用FPGA的并行性,实现高效的图像处理系统。通过...

    编译原理简单赋值语句的语法分析程序

    在编译原理中,语法分析是编译器设计的关键步骤之一,它负责将源代码转换成抽象语法树(AST),以便后续的语义分析和代码生成。本实验聚焦于简单的赋值语句,这是一种常见的编程操作,如 `x = 5;`。在这个过程中,...

    小波变换用于图像压缩的MATLAB源程序

    载入图像时MATLAB软件自带的,因此不需要转换图像格式等语句。另外,一些函数的不理解的,可以查看help看函数的意义。因为实验结果上传起来比较费时,所以只给了源文件。仅供学习参考。希望能起到帮助作用

    编译原理赋值语句的翻译

    编译原理实验之一简单赋值语句的翻译编译原理实验之一简单赋值语句的翻译

    编译原理——for循环语句的翻译,LR,四元式

    在编译原理中,我们经常会遇到各种控制流程语句,其中for循环语句是程序设计中最为常见的一种。本文将深入探讨for循环语句在编译过程中的翻译方法,特别是结合LR分析法和四元式表示。对于学习编译器设计的同学来说,...

    编译原理赋值语句翻译源代码

    通过阅读和理解这段代码,开发者可以更深入地了解编译器的工作原理,以及如何实现对赋值语句的解析和翻译。 总之,编译原理中的赋值语句翻译是编译器设计的核心部分,涉及到从源代码到可执行代码的复杂转化过程。...

    Matlab图像处理语句简单介绍

    在图像处理领域,MATLAB是一种常用的工具,它提供了丰富的函数库和直观的界面,使得图像的读取、显示、转换和分析变得简单易行。本文将深入探讨MATLAB中的几个关键图像处理语句及其应用场景。 首先,我们来看如何在...

    vb.net图像处理(压缩、转换)

    在VB.NET中进行图像处理是一项常见的任务,涵盖了多个方面,如图像压缩、格式转换、尺寸调整以及特效应用。本文将详细讲解如何利用VB.NET来实现这些功能。 首先,我们需要引入必要的库,即System.Drawing命名空间,...

    易语言语音播报,可以编辑语句,内容可以自由设置

    在“易语言语音播报”这个程序中,我们看到一个实用的功能,即语音播报,它允许用户自定义要播报的文本内容,提升了用户体验和交互性。 在IT领域,语音播报技术通常涉及到自然语言处理(NLP)、文本转语音(TTS)和...

    MATLAB中将彩色的图像转化为灰度图像

    这些语句将分别显示三个图像:原来的 RGB 图像、经过系统函数运算过的灰度图像和 manual 转换后的灰度图像。 总结 在本文中,我们介绍了如何使用 MATLAB 将彩色的图像转化为灰度图像。我们讨论了两种常见的方法:...

    语音信号处理的发展和研究方向

    语音信号处理的研究方向包括语音编码和压缩技术、语音识别和合成技术、自然语言理解技术等。这些技术的发展将对人类社会产生深远的影响,如语音翻译机、口呼打字机等将改变人类的生活方式。 语音信号处理是语音技术...

    图像融合实验报告.pdf

    本文档是图像融合实验报告,旨在介绍图像融合的原理、方法和实验过程。图像融合是一种将来自多传感器的数据互补信息合并成一幅新的图像,以改善图像的质量。 实验目的 1. 熟悉图像融合的意义和用途 2. 掌握图像...

    MATLAB图像大作业

    此段代码展示了如何通过MATLAB的基本命令实现简单的图像处理任务,如颜色替换和图像保存。 #### 图像处理进阶操作 另一段代码展示了更复杂的图像处理技术——棋盘格样式图像的生成。通过类似的`for`循环结构,代码...

    编译原理 赋值语句的语法分析程序 算符优先法(使用C++)

    c++语言 编译原理 赋值语句的语法分析程序 算符优先法 有详细的出错提示

    MATLAB图形图像处理

    8.6 MATLAB 中的 8 位和 16 位图像 8.6.1 8 位和 16 位索引图像 8.6.2 8 位和 16 位灰度图像 8.6.3 8 位和 16 位 RGB 图像 8.7 图像文件的操作 8.7.1 查询图像文件的信息 8.7.2 图像文件的读取 8.7.3 图像...

Global site tag (gtag.js) - Google Analytics