音频编码变迁录

前面讲过了多媒体容器格式的变迁,这期我们来看看音频编码是如何发展的。在讲编码之前,同样地,让我们来看看现在最为通用的数字音频格式——PCM是怎么来的吧。

从音频波形到0和1

声波是一种机械波,在数字时代到来前,录音的原理其实就是将声波的波形、振幅等等特征依样画葫芦给记录到如黑胶唱片、磁带等介质上面,但是这种记录方式并不利于保存,计算机等电子设备的普及使得人们更想使用电子数据的方式来保存音频。但是用于采集声音的麦克风最终将声波转换输出的电流是一种模拟信号,它用电流的大小来表示声波,是连续的;而计算机使用的数字信号系统是一种离散的、非连续的信号系统,在常见的二进制系统中,它只有0和1两种状态,并不能够直接保存模拟信号,两者之间需要经过转换。

怎么转换呢?首先针对一段声音的音频波形,我们可以用一个较为复杂的波形函数来表示,既然它是函数,那让我们回想一下初中高中大学我们都是怎么把函数画出来的,用线把一个个点连接到一起对不对?那么现在我们反过来,在这条已经给定的函数图像上面按照一定的间隔取点,这个过程就叫做采样,取完点之后把它的值用数字给记录下来,这就叫做量化。


在音频编辑软件中将音频波形放大,你可以看到一个个取样点

这种将声波记录成数字数据的方式就叫做PCM调制,这里说的很简化,但是原理其实是一样的,就是用记录下来的点去拟合出声波函数应该有的样子,在PCM调制中,我们记录到的数据是时间与对应的电平值。而上面这两个操作就带来了**采样频率**和**量化位数**这两个关键特征。

PCM调制下的音频重要特征


一个波形函数,上面的红点代表采样点,两个红点之间的横向距离一致,距离值就是采样频率的倒数
量化要做的就是将这个红点的y值以一定的规则记录下来

采样频率

由于声波是一种连续的信号,你可以把它看成数学上面的连续函数,从一个点到下一个点之间有无数多个点,我们没有办法全部将这些时间-振幅信息100%记录下来,只能从中挑选一些,那么怎么挑选呢?以一个固定的时间间隔,到点了就记录。而采样频率指的就是每秒记录这些值的次数,用Hz作为单位。

采样频率越高,我们记录下来的原始声波信息越多,我们保存下来的数字信号自然就越贴近于原始音频信号。

量化位数

在确定了采样次数后,我们在这条声波函数上面拥有了一些间隔相同的点,我们知道,在二维函数上面的点可以用一组二维坐标值来表示,这里横轴是时间t,而纵轴一般就是电平值,因为计算机处理能力的限制,我们不可能用一个无限长的数字去记录它,只能用有限位数的数字去记录,而这个位数就是“量化位数”,它决定了数字音频信号的量化精度。

因为这种记录方式用的是近似值的方法,所以量化位数越大,我们记录下的原始模拟信号的电平值就越精确、越贴近于原始音频信号,另外量化位数越大的音频在动态范围上也要比量化位数小的音频要大。

以音频CD为标尺的无损、有损以及Hi-Res

因为数字信号系统记录下的音频信号已经经过了一次采样了,相对于原始的模拟音频信号它已经是“有损”的了,所以我们今天常说的有损无损指的是有损压缩和无损压缩(可以是无压缩)的区别。顾名思义,无损压缩指的是数据在经过压缩之后没有任何的损失,而有损压缩则相对,它在压缩过后相对于原始数据出现了损失。

而原始数据是什么呢?那就要讲到开启人类数字音频时代的CD。

CD:光、数字、音乐

在上个世纪五六十年代,人们常用的还是黑胶唱片,而随着1965年光盘的问世,这种比黑胶唱片更加小巧精致的记录载体很快受到了大公司的青睐,其中飞利浦和Sony就决定用光盘作为记录数字音频数据的载体,并为它量身定做一种数字音频记录格式,最终他们决定采用LPCM——线性PCM作为编码。

CDDAlogo.svg

然后飞利浦和Sony这两家在CD要使用的LPCM编码具体参数,也就是采样频率和量化位数上面产生了分歧,进行了一段长时间的拉锯战。

首先因为人耳普遍只能够辨识频率在20Hz~20kHz之间的声音,而根据奈奎斯特–香农采样定理,对于一个连续信号,只要采样率高于(注意,不能等于)原信号带宽的两倍即可通过采样完美(理论上的)重建原信号,所以CD标准的采样频率先被确定到要在40kHz以上。根据这个底线,飞利浦那边提出的标准是44056Hz/14-bit,而Sony则是使用44100Hz/16-bit的标准,双方都是站在自己的利益角度,两种标准都是为保留与原本的电视、录像带系统(NTSC/PAL)的兼容性而提出的。

最终拉锯战以Sony方面的大获全胜而告终,CD音频以44.1kHz/16-bit的双声道LPCM的形式进行记录,这就是Compact Disc Digital Audio(CDDA)标准,它于1980年定稿。

回到我们上面所说的无损、有损的概念。由于CD是我们最早普及的数字音频记录系统,它也是我们普通人能够接触到的最接近原始音频的介质(先不论Hi-Res),所以大家就开始用“无损”来称呼原始的从音频CD上面保存下来的数据,当然它也可以用于无损压缩过的音频。

Hi-Res

CD标准确定之后,它逐渐变成了音乐发行使用的主要介质,但随着时代的发展,有需求的人们还是发现它不够用了,首先16-bit的量化位数限制了CD音频的动态范围,其次44.1kHz的采样频率仍然会在模拟转数字过程中产生人耳可闻的损失。所以制定一种比CD更高的标准就成为了业界的共识。

从CD诞生到现在的短短四十年中,包括它的创造者Sony和飞利浦在内,一直都有新的厂商想要以自己更新更好的编码标准取代掉CD标准,但很可惜他们的努力都没有成功,CD仍然牢牢地占据着业界。虽然没有成功,但这些努力还是引起了行业协会的重视。2014年,美国唱片业协会(RIAA)这家代表着美国唱片业的贸易团体联合了其他几个较为权威的组织一起给比CD更高的音频制式下了定义

Lossless audio capable of reproducing the full spectrum of sound from recordings which have been mastered from better than CD quality (48kHz/20-bit or higher) music sources which represent what the artists, producers and engineers originally intended.

也就是说,采样频率/量化位数在48kHz/20-bit或其上的音频都可以被称之为”High Resolution Music”,简称就是Hi-Res Music。


RIAA的Hi-Res Music Logo

其实在RIAA之前,日本的電子情報技術産業協会(JEITA)在2013年[制定](/images/https://www.jas-audio.or.jp/english/hi-res-logo-en)了一套适用于日本国内的Hi-Res标准,这套标准规定了Hi-Res音频在模拟和数字处理过程中必须参照使用的规范,其中对于数字处理过程,JEITA要求全过程的音频格式均在96kHz/24-bit及之上。


这个Logo也是我们现在能看到最多的代表Hi-Res的Logo。

而这套标准也被日本的音频器材行业带向了全球。

常用的有损音频编码

一张CD翻录下来的大小总会有个500、600MB吧,对于上个世纪90年代还在使用以几MB为单位的软盘的人们来说显然是太大了,另外网络时代早期的带宽还是非常小的,比如当年拨号上网最快也就只有56kbps的带宽,如果想将CD保存到自己电脑里,或者是通过网络跟人分享,在当时几乎是一件不可能的事情。

而有些人说那为什么不做压缩呢?因为在数据压缩软件看来,你这个CD文件的数据几乎没有冗余,传统的数据压缩方式对音频数据是起不了太大效果的,那咋办呢?只能走有损编码的道路了,这其中,MP3是比较早、也是人们用的最多的有损音频编码。

MP3:最常用的,不一定是最好的

MP3的全称为MPEG-1 Audio Layer III,也可以是MPEG-2 Audio Layer III,它是在1993年被标准化的,至今已经有26年的历史了。别看它的岁数大,但它应用的音频压缩思想至今仍然在音频编码领域中发挥着重要的作用。

MP3_Logo

首先,MP3使用了MDCT算法,这种算法改正了原始DCT算法上面的一些缺点,它将音频原本的时域信息转换成频域信息,是之后对不同频段信号进行处理的前提。

其次,MP3运用了声音心理学模型,这里有三点。第一,人的听觉频率范围大概在20Hz~20kHz,所以可以多去掉一些高频声音;第二,人耳对于不同频率声音的敏感程度不同,大概在2000Hz~5000Hz之间是最灵敏的,而在两端下降的比较厉害,尤其是高频;第三,人耳听声音有遮蔽效应,一个较强的声音会遮蔽掉较弱的声音,比如说手机开同样的音量在闹市中和在自己房中听起来完全是两码事,另外不同频率声音的遮蔽宽度不同。根据以上三点,MP3编码器就可以对不同频段的音频信号进行取舍,给人耳比较敏感的频段多保留一些细节,而去掉人耳不敏感甚至会听不见的一些声音。

最后,MP3运用了哈夫曼算法来对处理过后的音频数据进行压缩,并且编码器会不断地对前面的处理进行调整,以达到用户给出的码率、质量需求。

由于以上三个大的特点还有别的没有提到的原因,MP3在压缩之后仍然拥有相当高的质量,而压缩比一点都不差,大概在1:4~1:6之间,最高可能有个1:10。因此这个已经有26年历史的编码标准时至今日仍未过时,大量在网络上进行传播的音频仍然使用着它,但它并不是没有缺点。

一是它太狠了,对于20kHz以上的声音几乎就是一刀切,比如下面这张图就是一段320kbps CBR编码的MP3音频频谱图,可以看到20kHz上面完全消失了,这种情况主要出现在CBR编码的MP3上面。


使用CBR 320kbps参数进行编码,可以看到编码后的音频频率上限就是20kHz

当然你也可以强行关闭编码器的一刀切行为。


这是开启使用最高品质VBR编码的MP3频谱,可以看到20kHz以上是完整的

一刀切虽然可以大幅减少音频文件的体积,但在实际听感上总会感觉缺了什么。

第二个缺点,其实也不能算是MP3编码自身的缺点而是它使用的标签有问题。肯定有用户在下载网上的MP3资源时遇到过乱码问题,比如:

这是因为MP3文件使用的ID3标签最初没有统一的文本编码,各种语言的系统会以自己当前使用的文本编码标准往里面写数据,导致使用其他文本编码标准的系统无法正确读取文本数据,最终出现乱码。比如图上这个MP3的信息就是日文系统用Shift-JIS文本编码写入的,而我们平时使用的简体中文Windows的文本编码标准是GBK,无法正确读取,所以出现了乱码。ID3标签在之后的v2版本中改进了这一点。

第三个问题是MP3对于多声道的支持较差,常用的MPEG-1 Audio Layer III标准只支持双声道音频,而非主流的MPEG-2 Audio Layer III才支持最高5.1声道,但是它最高只能够支持采样率为24kHz的音频,完全不够用。

其他的缺点可能算不上什么大问题,不然它也不会被用到今天仍然是主流了。

AAC:先进、优秀,但是没能取代MP3

AAC名叫进阶音频编码(Advanced Audio Coding),它本来是开发出来取代MP3的。联合起来开发它的公司有一大堆,个个都是知名大企业或研究机构,比如索尼、微软、杜比实验室、贝尔实验室,等等等等。最终,AAC被MPEG组织接受,写进了他们的MPEG-2和MPEG-4标准中。

Advanced Audio Coding AAC Logo Vector

相对于MP3,AAC使用了完整的MDCT算法,因此在编码效率上它更胜一筹,一般在同等码率下,AAC的质量比MP3更好一些。而其他的改进点还有支持更大范围的采样率(16~48kHz=>8~96kHz),最多支持高达48个声道,在对频率高于16kHz的音频处理上明显要好等。总之,作为设计目的是取代MP3的编码,它的特性非常优秀,然而,AAC没有如愿以偿的成功取代掉MP3,究其原因可能还是推广力度不够大。另外,尽管用户无需为使用AAC格式进行流式传输或分发而付费,但硬件制造商和软件开发者需要交这笔钱,专利费用也使得在AAC标准确定之初,普通用户手上根本没有能用的AAC编码器,而在这时候,MP3和著名的LAME编码器已经满天下都是了。

实际上我们现在的日常生活中AAC可以说是无处不在的,在线视频的“业界规范”就是以它作为音频编码标准,所以你随便点开一个在线视频,基本上就会听到用AAC编码的音频。另外一个主力推广AAC的公司就是苹果,早在iTunes商店建立之初,他们就使用AAC作为这个数字音乐商店的音频编码标准了,一直到今天都是,包括在前几年推出的Apple Music流媒体服务。

AAC使用两种容器,一般我们见到的都是以.m4a为扩展名的文件,其实就是mp4。而因为使用mp4容器,文件的元数据使用UTF-8编码保存,所以不会出现如MP3那样的乱码。另一种容器现在比较少见,直接以.aac为扩展名,实际上是一种名为ADTS的容器。

除了以上的特性之外,AAC的编码还是可以模块化定制的,在MPEG-2 Part 7中就已经给出了三种模块化编码方式,而到了更加现代化的MPEG-4 Part 3规范中,更是给出了多达11种模块化配置规范,其中不乏有低延迟模式和高效模式(HE-AAC),下面就简单提一下AAC-LC和HE-AAC。

AAC-LC与HE-AAC

AAC-LC-HE.png

AAC-LC,或者叫低复杂度(Low Complexity)AAC,你可以将它看成是原版的AAC编码,它的编码规范写在MPEG-2 Part 7中,在MPEG-4 Part 3中就直接叫做AAC Profile,而HE-AAC全称High-Efficiency AAC,直译就是高效AAC,它的编码规范写在MPEG-4 Part 3中。主要区别是HE-AAC利用了一些新特性,在编码效率上有明显的提高,特别是在低码率情况下。

AAC-LC-HE.png

简单的关系图如上,可以看到HE-AAC包含了很多新特性,这些新特性帮助它实现了更高的压缩比。

WMA:规格很先进,但它是微软的东西

早个十五年,我们在百度上搜索音乐下载的时候,除了MP3,见得最多的一种格式应该就是WMA了,看到开头的WM两个字母就能明白,这是微软的格式。没错,这是“鼎盛”时期的微软开发并强力推广的专有编码,多见于Windows平台。微软最初开发出它的目的很简单,就是为了和MP3和RealAudio竞争,结果大家都知道了,MP3活到了今天,而WMA和RealAudio都已经消逝在历史长河中了。

WMA全称Windows Media Audio,它同样使用了音频心理学对原始音频进行处理,去除人耳不敏感的声音来减小数据体积,思路与MP3大同小异,不过具体实现上面有差异。WMA是与Windows Media紧紧捆绑的一种音频编码格式,不过微软将编解码开放给了第三方,交钱就可以用,所以在十多年前的MP3播放器上我们也可以播放WMA格式的音频。WMA与Windows Media一起升级,它还有个增强版,就是WMA Pro。我们比较熟悉的可能是Windows XP SP2自带的那个Windows Media Player 9.0,实际上在这个版本中,微软还为WMA引入了无损编码,称为WMA Lossless。


Windows 10还带着Windows Media Player,但还有人用吗?

但是随着微软在多媒体格式竞争中的全面失败,Windows Media也不再更新了,WMA也就慢慢的不再流行了。

Dolby Digital(AC-3)与DTS:电影工业的常客

VCD上面用的MP1音频编码效果太差了,还不支持多声道,但这也是因为CD的容量不够大,而从DVD开始,人们终于有机会在自己家里听到影院级别的音效了,因为它的容量足以直接收录电影使用的Dolby Digital或者DTS音频。那么这两种音频是什么呢?先来说Dolby Digital,我们可能更熟知它的另一个名字:AC-3。

Dolby Digital(AC-3)

Dolby实验室是美国一家专注于音频效果、音频编解码领域的公司,原本在模拟时代,它发明的一系列音频编码已经被好莱坞广泛使用,人们在电影院里面最常听到的就是用Dolby技术编码而成的声音。而到了数字时代,他们也紧跟潮流,于1991年推出了Dolby Digital这种数字音频编码。

Dolby-Digital

Dolby Digital的开创性在于它是首个使用MDCT算法进行压缩的编码,同时他们还使用了音频心理学的研究成果对压缩算法进行优化,使得最终压缩后的产物仍然拥有影院级别的效果,但是DD只支持固定码率编码,这使得它的码率一般都会比较高,所以压缩过后的音频体积也较大。常见的DD编码一般有6个声道,称为DD 5.1,而在很多DVD上面我们经常可以看到它的Logo。DD音频的另外一个特点是它的元数据中带有对解码过程进行控制的相关信息,使得它在支持的播放器上可以还原出制片方想要的效果。

随后DD又发展出了很多新分支,其中比较有名的是Dolby Digital Live,它随着另一家老牌音频硬件公司——创新——进入了千家万户。而DD也有自己的后继者——Dolby Digital Plus,我们可能更熟悉它的另一个名字——E-AC-3,它在DD的基础上提升了比特率和声道数量,我们经常可以在下载版的美剧中见到这种编码。

DTS

在电影音频领域中,另一家影响力很广,技术力很强的公司就是DTS了,DVD时代我们经常见到的就是他们以公司名命名的音频编码格式DTS,这种编码推出于1993年,直接竞争对手就是Dolby实验室的产品。

DTS_small_logo

与Dolby Digital选择使用MDCT算法不同的是,DTS选择了ADPCM作为算法基础,这种算法是PCM的变种,与PCM使用固定量化位数记录电平值不同的是,ADPCM有自适应的特征,在音频电平差值较小时用较少的量化位数去记录,而差值大的时候用更多的量化位数进行记录,这样对于存储空间的利用率就更高了,相对于用MDCT算法算出不同的频率段再砍掉人耳不敏感部分的做法,基于ADPCM算法的编码虽然压缩率要低一些,但是对于声音细节的保留肯定是它要做的更好。当然,这就使得它的体积控制比DD要差一些,所以在一般的DVD上,我们更常见到的是DD而不是DTS。


好莱坞电影真的是以Dobly编码居多的

Dolby实验室与DTS的竞争从这时候的DD与DTS开始,一直延续到今天的Dolby TrueHD VS. DTS-HD Master Audio,后面两个都已经是无损编码了,我们放到下面去讲。

Vorbis与Opus:多见于语音编码

说Vorbis这个名字可能大家都不知道是啥,但是一说Ogg那肯定都会“啊我知道”了。其实Ogg是Vorbis编码的音频常用的一种容器,而Vorbis编码则是在2000年公布的一种计划取代所有有损音频压缩的编码,对,它的野心极大。

Vorbis编码的原理与其他有损编码相比也是大同小异,基于MDCT的时频转换,然后过心理声学进行频段舍弃,不过之后的处理有些不同,它使用矢量量化算法,在低码率情况下有着很好的表现,接近于HE-AAC,但没能完成超越。前面也说了,直到今天MP3也仍然稳坐着音频领域第一编码的位置,所以很明显Vorbis没有完成自己的计划。

之后它的主要开发者Xiph.Org基金会又推出了一种新的编码——Opus,这种编码有着比Vorbis更好的低码率表现,在同码率下终于实现了对HE-AAC的超越。而它还有一个低时延的特性,可以做到目前最低的编码延迟,这也使得它在数字语音通信领域中大放异彩,它现在也是IETF标准中的一员。

常见的无损音频编码

在自己的硬盘空间逐渐大到放CD原盘都没有问题了之后,新的问题出现了,网速跟不上。回想一下05年左右,国内家庭普遍还是在用ADSL上网,速率可能也就只有1~2Mbps,用这个速度下点MP3还行,但是下原盘就太慢了,但很多音乐爱好者就是想收藏“没有瑕疵”的无损音频,怎么办呢?这时无损音频压缩编码走上了舞台,首先登场的是Monkey’s Audio,又叫APE。

APE:无损音频压缩的先行者

APE是Monkey’s Audio这个编码使用的扩展名,但是叫得多了大家都只知道APE而不知道Monkey’s Audio了。它是可考的、比较早出现的一种无损音频编码,后面要提到的WavPack(.wv)比它出现的还要早,但是APE却是头一个大范围流行起来的无损音频编码,最初版本公开于2000年。

image-20191128154458041

问题来了,前面不是说对传统压缩方式对于音频数据并不能起到很好的效果吗?那APE是怎么在无损的情况下实现如此高的压缩率的?答案也很简单,传统方式不行,那我就用新的针对性算法呗。

APE主要使用了三大算法来实现对原始音频数据的无损压缩,第一个是Joint Coding,简单说就是将左右两个声道的共同信息进行复用,从而减小音频体积;第二个是线性预测编码(Linear Predictive Coding),因为音频信号前后关联性非常大,可以根据前面一段音频波形预测后面的音频波形,如果预测得到的值与真实值有差距,则对差值进行编码,这种算法是音频无损编码的核心杀手级算法,可以做到在没有损失的情况下大幅提升压缩比;第三个就是预测编码所需要的量化位数。

这三种主要算法使得APE可以在没有损失的情况下达到约50%的压缩比,这是之前的无损音频编码做不到的事情。

但是APE也有较大的缺陷,最高只支持双声道、24-bit的量化位数让它在新世代落后于FLAC,因为存在浮点计算,所以对硬件性能的需求要高于FLAC,在编解码上面也更慢,而它也没有针对数据完整性做

另外由于APE虽然标了自由软件,但是它使用的许可证并不能让人们直接使用Monkey’s Audio现成的源代码,必须自行动手去实现对它的解码支持,这也限制了它的应用范围。

FLAC:免费开放,新的业界事实标准

FLAC基本上是与APE同时间提出来的,稍微晚了那么一丢丢,它直接将编码的最大特点写在自己的名字里了——Free Lossless Audio Codec,自由、无损。

FLAC Logo

相对于APE,虽然同样使用了线性预测算法,但它的压缩比稍微差了一点,不过由于FLAC使用全整数的数据计算方式,所以低端电子设备也可轻松对其进行解码,而它在数据结构上考虑到了数据完整性和流传输,它采用帧结构设计确保了即使文件的部分片段遭遇不测,其他部分也能够正常播放,而支持流传输的特性使得它在可以在流媒体时代占据一席之地。并且它对于多声道的支持比APE强很多,最高可以支持8声道。

FLAC身上的种种优点使得它成为了目前最为流行的无损音频压缩编码,Android早就添加了对于FLAC的支持,而iOS也在第11个大版本中放下自己的矜持加入了对它的支持。FLAC已经俨然成为了新的业界通用编码,各大Hi-Res音乐售卖网站也在使用FLAC作为载体传播Hi-Res及普通无损音乐。

Apple Lossless(ALAC)

img

macOS作为很多音频编辑软件使用的系统环境,对于音频编码自然也是有着很高的要求,其实苹果自己也很早就跟进了无损音频的发展,在2004年的时候他们就推出了自己的无损音频压缩编码——Apple Lossless,但是当时这种格式只有苹果自家的系统和软件才能支持,并且会收取授权费用,这也导致了ALAC错过了无损音频开始发展的萌芽期,直到2011年,FLAC已经成为市场主流的情况下,苹果才将ALAC开放出来,并且取消了它的专利费用。

ALAC在编码方式上与其他几种无损音频压缩编码并没有太大的区别,同样是基于线性预测的算法,不过它的编码器连个压缩率选项都不提供,但编码速度确实挺快的。ALAC与AAC一样使用MP4作为数据容器,所以也继承了MP4良好的标签支持。

但是它的使用范围始终不广,本来就基本限定于苹果设备上,而在iOS和macOS纷纷支持FLAC之后,它的存在意义就更小了。

Dolby TrueHD与DTS-HD Master Audio:蓝光时代电影常用音频编码,新的战场

从DVD到蓝光是一次大的飞跃,光盘这种存储介质在新的蓝色激光的帮助下,大幅度提升了存储密度,也使得它可以记录体积更为庞大的音频,有了大的空间,那肯定就要上无损啊,其实蓝光的容量已经足够放7.1声道、48kHz/24-bit的LPCM了,但是它的体积还是太大,所以Dolby和DTS不约而同的在高清时代推出了新版的音频压缩编码技术,Dolby这边是以Dolby TrueHD系列为主,而DTS是以DTS-HD Master Audio为主,两边都是无损压缩技术,这边就讲的粗略一些了。

Dolby TrueHD

Dolby_TrueHD

Dolby TrueHD使用与DVD-Audio相同的MLP编码对原始PCM音频数据进行处理,最高支持192kHz/24-bit的规格,另外还支持16个独立声道。与前任Dolby Digital一样,它也带有用于控制播放过程的元数据,提供更加还原的音频效果,Dolby后来推出的Atmos氛围声效果就是通过这些独立于音轨之外的元数据实现的。

DTS-HD Master Audio

DTS-HD-MA

这两种多见于蓝光原盘的音频编码都附带了对原来有损编码的兼容,DTS-HD Master Audio内建了一条有损音轨,称为DTS Core Stream,它的无损部分其实是对有损部分的一个补充,在支持的设备上自动就会播放无损的DTS-HD Master Audio,而在不支持的设备上也可以切换到DTS Core Stream,不会影响到正常的播放,而另一边的Dolby TrueHD则是通过附带一条Dolby Digital音轨的方式来解决兼容性。

DTS-HD Master Audio在日本用的比较多一些,尤其是各种动画小圆盘。

TTK,TAK,WavPack等

除了上面三个稍微多见一点的编码以外,无损音频编码界还有很多其他的编码,由于APE推出时间早、FLAC用的人多等原因,这些无损压缩编码最终都没有推广开来,成为了比较小众的编码,虽然它们可能在某些方面有着优势,但很可惜,时势造英雄,取代英雄没有这么容易。

PDM与DSD:另一种音频调制方式

说起PDM(Pulse Density Modulation 脉冲密度调制)可能没学过数字电路的同学会云里雾里,简单一点的说法就是PDM使用0和1来模拟原始波形,怎么模拟呢?通过在单位时间内0和1的堆叠来进行,因为此时0和1的密度代表了波形的振幅,所以叫做脉冲密度调制,它与PCM记录电平值的做法是完全不同的。

基于PDM调制的原理,Sony和飞利浦在1999年推出了用于取代CD的SACD(Super Audio CD),它使用的ΔΣ算法在模拟/数字转换(A/D)过程中会以64倍于CD的采样率(2.8224MHz)对原始音频进行过采样,而由于PDM的特性,量化位数当然就只有1-bit,因为只有每一个采样点都只有开或者关两种状态嘛。


PCM与DSD的对比

DSD解决了传统PCM编码上的高频量化噪声问题,高采样率同时还带来了更加丰富的声音细节,而密度调制的方式也使得它拥有更大的声音动态范围。除了原始的64倍采样率的DSD之外,后来还推出了DSD128、DSD256、DSD512等新格式,它们的采样率逐步上升。

现在我们可以拿到的DSD音频一般都是ISO镜像格式的,使用专门的解码器可以将其转换成PCM音频播放,而支持DSD直通播放的设备还是相当的贵。

SACD的物理介质其实就是DVD,同期其实还有一个DVD-Audio阵营,他们仍然使用了兼容性较好的PCM调制,不过是基于一种新的名为MLP(Meridian Lossless Packing)编码方式,在双声道情况下最高支持192kHz/24-bit的PCM音频流,直到今天,它的规格都是相当高的。

但是Hi-Fi最终也只是少数人的玩物,它的配套解码器、播放器都太贵了,而且Sony当时为了拉拢唱片发行商做出了“永远不会让PC读取SACD”的承诺(后来他们食言了)也限制了SACD的进一步推广,在面对以iPod、iTunes为代表的数字音乐浪潮时,它和DVD-Audio都只能站在一边看着眼馋,事实证明,绝大多数人们需要的是方便快捷的听歌体验,所以便于携带的各种MP3播放器很快就取代掉了CD成为了新的潮流。而后,就是流媒体取代传统MP3的又一股浪潮,我们现在就身处于这股浪潮之中。

总结

要总结的话就是,MP3和AAC这两种有二十多年历史的编码统治着有损音频编码,而FLAC基本上成为了无损音频编码的事实标准,而电影工业中Dolby和DTS仍然在竞争,目前看上去Dolby更占上风。而在开放软件领域中,Vorbis和Opus这两种开放的格式也慢慢在Web领域中得到大量应用。

其实看到最后,你会发现,本文写到的几种基于PCM调制的无损、有损音频压缩编码基本上都是基于类似的编码——有损压缩很多都是基于MDCT,而无损压缩基于线性预测编码。用烹饪打个比方,原始的PCM音频就是主要原料,你可以把MDCT和线性预测编码看成是不同的主要做法,比如MDCT是炒而LPC是蒸,其他的一些算法就像是对于主要原料的小处理方式,比如先过个水或者是先腌制一下,他们与主要做法一起左右着整道菜的口感和味道,而最终得到的菜的营养价值也根据不同的处理手段而改变。

另外,在有损压缩技术中,心理声学(Psychoacoustics)是一大助力剂,它帮助各种编码对原始音频进行取舍,在对听感影响很小的情况下大幅减少体积。而心理学也不只是在音频编码领域中起着作用,在视频和图像编码中,它同样有着重要的贡献,当然,这就是后话了。

因为各种物理极限和自然定律,数字记录方式永远不可能100%还原出现实,但是人类是不会停止研究、应用新技术的脚步的,数字世界将会越来越接近于现实。

实际上在这个网络流媒体时代,我们的需求也逐渐发生了改变,从怎么样带更多的歌变成了怎么样听得更爽,所以现在对于音频压缩技术还是有不小的需求的,一个更为高效的编码可以在节省网络带宽的同时提高人们听音乐的享受程度,而聚沙成塔,每个人那儿节省一点点的带宽最终聚合起来就可以节省巨大的带宽费用,对于用户本身也可以节省流量,双赢的事情何乐而不为呢?这也是为何我们要追求更高效的媒体压缩方式的一个初衷。

《天气之子》:新海诚的回归

不整那些虚的介绍,直接开始讲这电影。简单地说就是新海诚用这部电影告诉所有人,《你的名字。》只是一个意外,《天气之子》才是他自己真实想做的电影。

相比起《你的名字。》中前半部分还用了时间错位的手法留了个小小悬念稍微让观众要转一下弯,《天气之子》根本就是平铺直叙,开篇就按照时间顺序直接把阳菜如何成为“晴女”的过程给放出来了。

然后镜头一转到男主出场,没有对开头的场景进行任何的解释,女主似乎也不见了一样。本来以为男主会有什么奇特的本事或是什么生存的本领,可没想到他只是离家出走,只身一人来到东京想在大城市中活下去的普通乡下高中生,而同样没有想到新海诚会这么安排这两人的相见——在M记打工的女主看男主多次来餐厅只敢喝汤就送了个汉堡给他。也没有想到女主也同样是社会的弱势群体——她和自己的弟弟一起生活,没有父母只能靠自己去努力挣钱养活自己和弟弟。本来这两人也就是一面之缘的关系,按照现实生活的剧情发展他们俩也不会再有什么交集了,可这是电影。女主被M记辞退之后因为生活所迫在马上要踏入风俗业大门的时候,男主出现把她拐走了,这俩人的命运由此交织在了一起。

我不知道为什么这么多人都喊着对这次的新海诚电影失望了,在我看来,新海诚就应该做出这样的作品——他就想写少男少女之间相遇相离的感情故事,从很久以前开始就一直是,《你的名字。》只不过是在最后又加了一个相遇罢了,然后对于电影整体的把控上面表现得出色,其实它本质上也就是一个浪漫的恋爱故事而已。

当然可能观众会觉得,电影结构太松散,逻辑太不严谨。是,这些在这个大型罗曼蒂克故事里面是问题吗?不是。新海诚就真的只是想写一个爱的意义可以超越拯救世界的故事,拯救世界是什么?能吃吗?有阳菜重要吗?没有。所以男主当然是决定不论如何都要去找到女主,而另一边在女主那边,她肯定是后悔了,所以在天空中醒来见到帆高的那一刻她就开始奔跑了,毫不犹豫跟着帆高一起跳了下去。

其实故事就是这么简单,只不过是插了一些别的元素在里面然后被观众放大了看而已。然后因为存在有这些额外的元素,但并没有处理好,就会被抓着批评了。那干嘛要对新海诚有这么高的期待值呢?如果只是因为《你的名字。》就对这部电影产生了莫大的期待,那还是算了吧,新海诚其实仍然不是完全的商业化,就做观众喜欢看的、没有什么短板的电影这种情况没有在他身上发生,他还是想做自己的东西,他想画天空与云朵,好那干脆把场景主舞台放到天空中、放在云层之上。他想写为了爱拯救世界又算得上是什么,好男主冲破层层阻碍来到天上将女主唤醒并一起跳下,让暴雨尽情释放淹没半个东京。但是前作的成功已经裹挟了他,于是我们看到了那些似曾相识的桥段,在整部电影中多次看MV。但是你仍然能够感受到那种带着淡淡忧伤的小文艺气息,这就是新海诚的风格。

当然电影将很大的篇幅花在了帆高如何脱身来到简易鸟居的过程,途中还顺带塑造了一下桂介和夏美这对叔侄的人物形象,我觉得这段是稍显过长了,尤其是在山手线轨道上跑那段,当然这也可能有他自己的独特用意,这里还是不多加揣摩了。

至少于我而言,在一个半小时的时间里,我看完了一个浪漫到极致的故事,还有非常舒服的视觉和听觉体验,这不就足够了吗,我们为什么还要对着这么一部浪漫文艺片做“阅读理解”呢?这就是新海诚写的一个梦,一个关于浪漫恋爱的梦,你难道没有梦见过自己和喜欢的女孩一起经历一段极其不平凡的冒险吗?

多媒体容器格式变迁史

从照相机、留声机诞生,解决了人们记录影像、声音的需求以来,人们就不断地追求着在有限的条件下尽可能地提高这些记录的品质,而从模拟时代过渡到数字时代以后,这方面的追求有一部分变成了在尽可能小的空间中提供尽可能好的内容质量,这就催生出了一系列不断演进着的媒体压缩技术。

不过这期课堂的主题尚未来到媒体编码的历史,在讲音视频图像的压缩算法进化之路前,我们先来了解一下这些媒体内容的载体——容器格式的进化历程。

首先需要区分清楚的,就是容器格式与媒体编码格式。

何为容器(Container)

对于数字媒体数据来说,容器就是一个可以将多媒体数据混在一起存放的东西,就像是一个包装箱,它可以对音视频数据进行打包装箱,将原来的两块数据整合到一起,也可以单单只存放一种类型的媒体数据。它就像电影胶片一样,中央是一帧一帧的图像,而两旁则印有对应的音轨。

举个简单的例子,常见的MP4就是一种媒体容器格式而不是编码格式,它里面的视频编码可以是现在最常见的AVC/H.264,也可以是它的前任H.263或者下一任——HEVC,音频编码可以是常见的AAC也可以是AC-3。

另一个生僻点的例子:最常见的图片格式——JPEG,它其实只是一种压缩方式,而它的存放方式其实叫做JFIF(JPEG File Interchange Format),虽然在JPEG标准中定义了一种名为JIF(JPEG Interchange Format)的容器格式,但是因为其缺乏某些关键要素,造成了使用的不便而被后来第三方开发出来的JFIF容器给取代了,今天我们能够看到的JPEG文件几乎都是装在JFIF容器中的。

虽然今天我们能够直接拿到的MP4文件里面装的几乎都是AVC+AAC的组合,但还是不能混淆了两者的概念,容器就是个容器,它没得灵魂。

AVI: 老而弥坚

AVI可能是和笔者年龄相仿的朋友最早接触的一个格式。确实,它推出的时间相对较早,也是许久以前最为常见的一种容器格式。它全称叫做音频视频交错( Audio Video Interleave),顾名思义,它就是简单地将视频与音频交错在一起,几帧视频之后就是对应的音频段,这样重复,直到结束。

advantages of AVI file format structure

它由三部分组成,头部、主体以及位于文件尾部的索引。头部中含有文件的元数据(metadata),比如视频的分辨率、码率总帧数等信息。主体部分是媒体数据的存放区,它使用了块(chunk)的概念,将原本的视频流和音频流分成块状进行交错放置,就是上面讲的一段视频一段音频交错放置,而尾部则是用来放置索引,它用来记录每个数据块在文件中的偏移位置。

1571729899048

讲到AVI,还可以联动一下WAV和苹果那边的AIFF,这些容器格式其实是同源的,来自于EA(对,就是现在那个做游戏的EA)为了让不同公司开发出来的软件之间进行数据交换而在1985年开发出来的IFF(Interchange File Format)格式。苹果在IFF的基础上开发出了AIFF,而微软与IBM将IFF格式使用的大端序改成小端序就成了RIFF(Resource Interchange File Format),也就是AVI、WAV这两个容器的基本原型。

1571729442722

1571729484714

在AVI和WAV文件的头部,你都可以看到RIFF的标记。

AVI虽然老,但是因为它以帧为单位把数据切成块来存放的特性,使得它几乎支持市面上几乎所有的音视频编码。而它的缺点也有很多,首先因为索引在文件尾部的关系,所以它并不适合用来流传输;另外在容器中也没有时间戳,只能通过帧数和帧率信息来进行计算,在索引里面并没有写明时间戳—媒体位置的数据,所以要在播放AVI时进行快速跳转还需要额外的技术手段;而媒体数据分块存放也使得它对很多使用运动预测特性的视频编码的支持并不是太好,因为这些帧,比如P帧和B帧,都是通过I帧进行计算得到的,这就需要访问当前帧以外的数据了。

MPEG-PS:VCD、DVD的功臣

用电脑播放过VCD的朋友一定还记得会在目录里寻找那个最大的.DAT文件来播放,而DVD则是找那个最大的.VOB。其实这两个格式都是MPEG-PS容器规范的一种,此PS非彼Photoshop,而是指Program Stream,是MPEG组织在1993年发布的一个容器标准,并且随后写入ISO/IEC国际标准,除了以上两种后缀名之外,还有.mpg也用的是这个标准。

MPEG-PS标准中引入了包的概念,整个文件由一个个包组成,每个包的大小并不相等,包里面含有这个包的时间码以及对应的音视频数据。

MPEG-PS已经随着时代的进步被废弃了,它只能存放MPEG-1、MPEG-2、MPEG-4这些出自同门的视频编码,限制性较大。但因为VCD和DVD的广泛流行,实际上它还是被用的相当多的。

MPEG-TS:专为流传输而生

MPEG组织不仅仅为音视频文件的存储制定了容器标准,还早早地顺应时代潮流,为它们的传输准备了相应的容器。我们的数字电视和IPTV用的就是MPEG组织在1995年制定的Transport Stream,也就是TS容器,当然它也并不限于这两个场景,在现在的低延时直播系统中,MPEG-TS仍然占据了绝对主流的地位,原因就是它的整个结构就是为了流传输而设计的。

一个TS文件中可以容纳多个TS流,不同的流上面可以带有不同的音视频数据,这样通过接收一个TS文件,用户方面可以自由地在这个TS文件中的多个子TS流之间进行切换,非常适合用于传输电视节目。而它同时针对复杂的传输环境进行了针对性的优化,TS流的基础单位是一个个大小仅为188字节的包,每个包都有自己的独立时基,并且由于采用了固定大小,所以在传输过程中即使遭遇丢包也很快就可以恢复正常播放。

发展到今天,TS仍然在网络流传输时代中发挥着自己重要的作用,在苹果主导的HLS(Http Live Streaming)协议中使用的就是TS流,它比MPEG-DASH更加通用,因为后者对于MP4文件进行了一定的修改,在老平台上面支持不太好,而HLS使用的TS仍然是规范中的,可以被大多数设备兼容。

不过也因为TS分包较多的特性,会产生一些数据冗余,所以在存储场景中一般不会使用TS作为容器。

M2TS:专为高清时代而生

M2TS多见于Blu-ray光盘和高清录像(AVCHD)中,它由MPEG-TS修改而来,加入了对于高清时代新的音视频编解码支持。

并且由于TS文件的特性,每一个小片上都有自己的独立时间戳,这使得文件中一部分数据即使遭到破坏也不会影响到其他部分的正常播放,而且可以从中随意的进行切片操作。

ASF:先进却早夭

见过ASF格式视频的朋友我想应该不会太多,但是见过WMV和WMA这两个微软以前主推的媒体编码格式的朋友肯定有很多。其实WMV和WMA就是存放在ASF容器之中的,它全称高级系统格式(Advanced Systems Format),微软原本计划是用它来作为AVI容器的后继者的,它具有诸多先进的特性,比如说它可以包含视频除了规格以外的元数据,如导演、电影名这些,它也可以提供数字版权管理(DRM),还有非常好的流传输支持——仅需要加载文件的最小部分即可开始播放,这点小编感受过一次。

Computer icons of for ASF, WMA and WMV files.png

ASF

ASF身上的这些特性在当时还算是比较先进的,但不过这于事无补,微软建立它那套封闭媒体格式体系的做法并没有得到太多厂商和用户的支持,大家仍然更喜欢用其他更为开放一点的标准,比如MP3就是一个很好的例子。ASF容器也随着微软媒体格式的衰亡而渐渐消失了,我们今天已经几乎看不到WMV、WMA这两个曾经还很常见的格式的影子了。

RM:昔日王者,如今不见踪影

与ASF差不多同时代流行的就是RM和RMVB了,在那个AVC尚未开始普及,DivX和XviD应用较少的年代中,RMVB在国内的各大下载站中都占据了绝对主流的地位,很多视频站也大多使用RM来提供“网络视频点播”的服务。

不过RM容器本身并不出彩,索引仍然位于文件尾部,不过由于数据段里面有加入时间戳,所以在流传输时还是可以应付用户的跳转操作的。因为这个容器本身与RM编码息息相关的原因,它本身也只能容纳RM编码的视频流,所以在RM编码没落之后我们就很少再看到这些昔日王者了,一个容器格式想要长存,要么在设计上有其独到之处,要么就是要开放,在众多平台上面提供支持。而RM两个理由都不占,效果又比不过新兴的AVC,所以它的没落也是必然了。

FLV:前高清时代的宠儿

还记得十年前的土豆网吗?彼时它还被称为“国内的Youtube”,当时视频网站普遍都还在用Flash写播放器实现流视频播放,而自然而然地,Adobe制定的Flash Video格式就成了这些视频网站主要使用的容器格式,也就是我们熟知的FLV。

Image result for flv format

FLV格式是在Flash Player 6中引入的,当时更多的是被存放在SWF文件的内部,不过后来因为体积越来越大而直接独立了出来,它的结构相对而言比较简单,主要分为两块,位于文件头部的元数据信息和后面的音视频数据。不过在数据的存放上面,FLV是将数据分为多个标签进行存储的,每个标签都带有自己的时间戳,所以这就保证了流传输时的音画同步。

由于FLV结构简单但是功能足够用,并且被Flash Player天然支持,所以在当时的视频网站上面普遍都使用它作为容器,直到今天还有很多网站没有放弃它,虽然其中的视频编码早已升级,它也有衍生出来的F4V作为后继者,虽然后者的血统已经不是Flash家族的了。

F4V:换了血的继任者

小编还记得土豆网在2009、2010年左右在国内率先开始使用H.264编码,当时如果将清晰度切换到“高清”就会播放这些用H.264编码的视频。而用飞速土豆加速会缓存到一些.f4v扩展名的文件,乍一看还以为它就是FLV,但其实不然,F4V其实是MP4所在的ISO标准容器家族的,但也是Adobe搞出来的FLV的后继者。关于后者的详情,请往下看。

MOV:苹果向业界作出的贡献

MOV格式的正式名字叫QuickTime File Format。看到这个QuickTime第一反应肯定是“哦,这是苹果的东西”。确实,QuickTime File Format是由苹果在1998年推出的,它引入了原子(atom)的概念,在QTFF格式中,atom是基本的数据单元,它可以用来容纳实际的音视频数据,也可以放置元数据和字幕等文本信息,atom中所容纳的数据类型和大小在每个atom的头部进行描述,经过一层层的嵌套之后,整个数据文件呈现了一种树状的结构,并且保留了强大的可扩展性。

iso_base_media

MOV作为苹果QuickTime编码的成员,在目前仍然被苹果设备广泛使用着,并且对于它的支持非常好。1998年推出QTFF的同时,苹果将这个格式交给了ISO组织,后者将它标准化为国际通用容器格式,而基于这个标准衍生出来的容器,又可以叫做ISO/IEC base media file format,同时被MPEG组织采纳,写入MPEG-4 Part 12标准中。

ISO标准容器格式

ISO标准容器格式是一个规范,它代表符合这个规范的容器类型,而不是特指某个格式。它是由苹果的QuickTime File Format发展而来的,在MPEG-4 Part 12中被最终确定并被ISO/IEC组织写入标准。它虽然没有具体实现,但是它定义了基于时间码的多媒体文件的通用结构,并由此成为了MP4、3GP等格式的基础。

Image result for iso base media file format

MP4:标准,泛用

MP4肯定是现在最通用最流行的媒体容器,甚至可以说没有之一。但其实现在的MP4和早期的并不是同一个标准,目前常见的MP4标准是在2003年完整的的MPEG-4 Part 14规范中制定的,到今天为止也经过了多次的修订。它其实与MOV之间并没有太大的区别,基本上就是把MOV的atom改了个名字,叫成box,然后加了一点别的佐料。

Image result for mp4 structure

苹果建立iTunes Store卖数字音乐的时候选择了AAC-LC作为他们的音频编码格式,而容器格式上面他们并没有选择与AAC-LC处于同一时代(MPEG-2)的ADTS,而是选择了比AAC-LC大一辈的MPEG-4标准容器,也就是MP4,不过因为它只含音频所以我们看到的扩展名就是.m4a,iTunes Store还卖一种只有视频没有音频的MV,它用的也是MP4,扩展名为.m4v。

目前很多视频网站已经从FLV切换到MP4上面了,而且还有一种新的MPEG-DASH格式就是借助于MP4可分割的特性实现的,它将一整段视频切成许多段小块,方便浏览器进行加载,减少HTTP长连接对服务器的压力。

这里说一句题外话,当年某站刚上HTML5播放器的时候,因为他们原来的视频几乎全部都用的是FLV存储的,而HTML5标准并不支持它,所以要进行一个容器转换,某站当时一位非常年轻的程序员写出了一个在浏览器内实时将FLV文件转成MP4并喂给浏览器的媒体播放器的脚本,名为flv.js,这个脚本可能给某站省下了非常大的格式转换成本。不久之后这位程序员因为受不了某站的低薪而离职。这件事曾经引起了很多社区的热烈讨论,因为今天是程序员日所以特地写了这么一段。

3GP:精简小巧,手机最爱

3GP是MP4的同族兄弟,一样是基于ISO标准容器格式,用过3GP的兄弟肯定还记得这格式最多出现的地方是哪里——以诺基亚为代表的前智能手机时代,手机录像出来的文件大多都是3GP格式的。

3GP这个容器格式标准其实不是由以往的MPEG啊这类专注于多媒体编码的组织搞出来的,而是3GPP,对没错就是制定通信行业标准的那个组织制定的。它在容器支持的格式上进行了精简,只面向于手机可以进行的编码,比如MPEG-4 Visual、H.263这些比较老的视频编码和AMR、AAC这两种前智能手机时代使用较多的音频编码。

因为前智能手机时代的手机性能并不强大,一般也不需要支持很多种格式,不用像MP4那么全面,所以3GP最终成为了一种被广泛支持的格式,不过也因为它支持的格式过于有限,最终在智能手机时代被同门大哥MP4给取代了。

MPEG-DASH

面对时下流行的流媒体,MPEG组织对MP4文件进行了魔改,由于MP4天生可以进行无损切割的特性,DASH方式将原本媒体文件中完整的文件头的元数据信息和片段Box中的信息抽取出来单独写在一个文件(MPD)中,同时还包含了片段的URL等信息,播放器可以自适应选择需要的片段进行播放,在自适应程度上面比HLS更强一些。(其实MPEG-DASH也可以用TS作为容器,但用MP4更多一些)

Image result for MPEG-DASH

目前MPEG-DASH已经成为了一项国际标准,人们比较熟悉的应用平台就是Youtube和Netflix,在这些平台上面你会发现浏览器在不断地加载一些小的视频文件,但是视频的播放是连续的。

MKV:强大无需多言,免费让它受爱

说到MKV,喜欢收藏高清电影的朋友肯定不会陌生,这种容器格式大概是和高清时代一起发展起来的,但其实它在2002年底就已经完成制定了,不过推广的很缓慢,到了高清时代和UHD时代人们才开始发现这种容器的强大,并用的越来越多,连微软都在Windows 10的初始版本中加入了对它的支持。

MKV全名Matroska,它身上最大的特点就是开放标准、免费使用,而且它可能是目前地球上最强大的数字媒体容器格式,一个文件中可以放音频、视频、字幕、字体还有章节信息等等等等,前面东西都是不限数量任你放多少都可以吃得下的,而且它是目前唯一一个支持封装ASS字幕的格式。

值得一提的是,这玩意儿是俄罗斯组织матрёшка搞出来的,其实本身是用于盗版的,俄罗斯的网络情况跟我们挺像的,网络上盗版横行,而MKV也帮助了文件的传播,目前来看,MKV可能是众多容器格式里面最好用的,无论是编辑元数据还是抽取轨道重新封装都有GUI工具支持,不过可惜的是众多视频编辑剪辑软件还是没有提供对它的支持。

总结

其实读到最后你会发现,这些容器格式内部对于音视频数据的处理都是大同小异的,区别点其实并不大。更多的差距在于它们对于不同编码格式的支持程度、元数据的详细程度以及对于是否能够支持音视频以外的数据。

而发展到至今,MP4仍然够用,在互联网时代扮演着非常重要的角色;MKV在下载党那里被奉为圭臬;而TS格式仍然在数字电视系统中被广泛使用。但在他们之前的格式也不是说非常弱或者不好,只不过可能是他们支持的那些格式没落了顺带着把它们也带没了,真正像AVI那样确实在技术规格上落伍的容器并不多。

而对于各种容器之间无损互转的事情,小编这里推荐mp4box、mkvtoolnix和强大的ffmpeg这些工具。下一篇系列课堂,我们会转向在如今多媒体领域中扮演无可替代角色的视频编码的变迁史,并且会看一看未来的AV1和VVC这两种对于大众来说还很陌生的下一代视频编码。

一个加钱就完事儿了的故事:9600KF超5.1GHz小记

最近最火的CPU应该莫过于i5-9600KF,这周一的时候,这枚处理器突然在Intel的京东自营旗舰店理开始降价促销,1399的价格做到了比618还要低的史低,让一直想更换成9700K的我不禁心动,都这个价位了还要啥自行车?于是想到正好在上周六的时候收了朋友的一块Z170,魔改一下应该能上9600KF,低成本换平台,买了!于是当天看到优惠信息后不到半小时就下单了。

这批货应该是新到的,所以都还没有进京东各地的仓库,我的这枚处理器是上海发过来的,沙包的Z170先到了,用笔记本上面的i3-8100试了试,恩,兼容性不错,除了USB会报资源不够和内存兼容性有点小问题不能超手上的双面16GB内存之外其他一切正常,这让我对它能作为9600KF的座驾充满了信心。结果……(其实因为内存兼容性问题还下单了两条威刚金色威龙3600)

周三的时候,9600KF终于到了,上手贴好护舒宝,其实放在华擎华硕等一票除技嘉外的板子上都可以只屏蔽2点+短接2点(微星和蓝天这两家甚至只用屏蔽2点)。上板子,正当我兴冲冲地等着它进系统的时候,又开始卡Windows启动加载的第二个圈了。

IMG_6650_900

IMG_6652_900

无奈,先换回8100检查主板BIOS,用afuwin把当前BIOS备份出来,然后用MMTool查看里面含有的微码信息,发现缺少了针对R0步进的新微码,遂根据网上教程,找来同厂商的Z390板子BIOS,将微码移植过去,然后再用afuwin给刷上,一切看似很顺利应该是没有毛病了,结果仍然开机卡加载。

img

9代处理器步进情况,注意从9600KF和9600K基本都是8核屏蔽而来的,而且还分R0和P0两种步进,其中R0步进可以硬件免疫Spectre。

一头雾水之下只能认为是BIOS有问题,但在网上基本找不到解决办法,因为R0步进太新了,很少有人把新的R0步进处理器放在老主板上面用,无奈第二天还要跑上海,遂睡觉。

睡了可能只有三个钟就爬起来赶飞机了,地铁上面刷了下什么值得买发现京东上微星的Z390系列板子稍微有点优惠,考虑了一下觉得自己是没有能力解决那块Z170的BIOS问题了,于是直接下单MPG Z390 GAMING EDGE AC。

在广州和上海间当天来回还是有点累的,但是挡不住我用上新主板的兴奋之情。没几分钟把CPU显卡内存两块SSD和风扇全部搞定,然后插上电源开机,顺利点亮。然后直接进BIOS,先测试内存能不能上3200,打开XMP重启,很顺利就跳上3200了,然后再把处理器倍频拉到50,电压先开了自动。很顺利地直接进了系统,打开CPU-Z,看到了从来没见过的5GHz。

MSI_SnapShot_00_900

然后打开AIDA64单拷FPU,观察到电压为1.34V,体感稍微有点高,想降一点,因为稍微降一点可以让CPU温度更低,散热器更好压,于是安装了Intel XTU,在Windows下面开始降电压,到1.3V的时候我感觉差不多了就没往下降,此时倍频其实可以再往上拉一档,5.1GHz单拷FPU过关,4热管的利民刺灵AS120可以把满载功耗120W的9600KF压在75度,很满意了。

进《刺客信条:奥德赛》简单benchmark了一下,同样显示配置的情况下,平均帧数上升了有10多帧,而高频CPU最大的优势——电子竞技游戏不掉最低帧我还没测过,但是想来这块5GHz的9600KF比我原本超频至3.8GHz的E3-1231V3肯定是要强得多了。

IMG_6779

然后就是把BIOS各种选项都开起来,我是不喜欢CPU没负载的时候还加着一个1.32V这么高的电压的,所以在设置里面把电压控制改成了自适应+Offset,手动给了+0.08V的Offset,这样主板的电压在满载的时候最高可以达到1.32V,而在没有负载的时候也会自动降压。

1569722542854

而内存,因为从朋友那儿借了闲置的两根单条16GB的DDR4-3200内存,自己又下单买了一组8GBx2的套装,所以想着能不能插一块搞个48GB内存系统,事实证明是可以的,只要两个通道的内存容量相等、频率和时序设定一致即可开启,手动在BIOS里面把时序改成差的那一套内存上自带XMP信息中的就可以把频率调至3200,并且十分稳定。

1569723402197

MSI_SnapShot_02_900

1569722895569

这次时间几乎长达一周的折腾让我明白了,有些问题,加钱真的就完事儿了……

IMG_6780

另外值得一提的是,想摸CJR颗粒的朋友可以买威刚的金色威龙,我推荐别人、自己、还有朋友那儿一共四套金色威龙,频率从3000到3600全部都摸到了CJR颗粒。

IMG_6655_900

老平台:

IMG_6642_900

一场因为BIOS版本太老而引发的无法进入系统悬案

前几天朋友的老平台主板坏了,他也正好打算要换一套平台,于是找我写了个配置单,随后在京东上面下单了,京东发货速度很快,没两天东西全都到了,配置单就不晒了,我随手写的,免得被评论吐槽哪里哪里有问题,就用了9700K+Z390+2060SUPER。也正好因为是在新一轮促销开始前夕,所以整套平台的价格买贵了有个小一千,不过早买早享受嘛。

这周日,我过去朋友家里装机。装机我虽然不是很熟练,但是大部分细节我都是注意到了。装箱走线又多花了半小时,搞定之后一次就点亮了,随后在 BIOS 设定里面把内存的 XMP 开起来,频率上到 DDR4-3200 也没出现内存不兼容的现象,看上去一切都挺顺利的,然后我掏出做好的 Windows 10 原厂安装 U 盘准备安装系统。

插U盘,开机,按 F12 选择 U 盘启动!正当我等着 Windows 10 安装那个偏紫色的界面出现的时候,突然,Windows 启动界面那个用来提示正在加载系统的滚动圆卡住了。

我有点懵,心想,不应该啊,这镜像我验过 SHA-1 没有完整性问题啊。出于对微软品质的不放心,我马上重新下了一个稍老版本的 Windows 10 1903 安装镜像准备重新做安装盘,心想,嘿,这个版本我用过的,肯定没问题。

下好镜像打开 Rufus(极力推荐用这个开源免费软件来写镜像)打开镜像写入,很顺利。

插 U 盘,开机,按 F12 选择 U 盘启动,又卡住了!重新尝试了几次,每次都卡在这个地方。我把安装 U 盘插到自己的笔记本上面,很顺利地进入了 Windows 10 安装界面,看来不是镜像的问题。思索了一番,可能是内存超频的问题,于是进 BIOS 还原到默认设置,再重启,还是卡。

难道是我装机的时候哪里出问题了?于是把机箱两侧版再次打开,检查了一番发现没有问题啊,我装的100%没有问题。于是只能进入 BIOS 寻找问题可能所在之处,同时搜索这块板子,看看网上有没有遇到相似问题的人。

还真有,在搜索结果的第一位就是该主板的官方论坛中一个报告自己遇到无法启动错误的用户,简单看了下, 是 BIOS 版本的问题。

难不成到手的主板上面默认的 BIOS 还能让你进不去系统,进不去系统安装盘的?我留意了一下 BIOS 的版本,然后上官网找了主板的驱动下载页面,发现 BIOS 确实比较老,落后最新的已经有三个版本了。于是下载最新的 BIOS,刷入,再插启动盘,很流畅地进入了熟悉的 Windows 10 安装界面。

这里就不点名是哪块板子了,这次装机的经历让我明白了出厂 BIOS 并不是像网上很多人说的“最稳定”“可靠性最高”,而是很可能就问题百出,还是推荐大家上手就直接更新到最新稳定版的 BIOS,甚至一些 beta 版的 BIOS 版本都是可以尝试的,很多疑难杂症和平台小毛病通过 BIOS 的更新都是可以解决的。

怎样在境外网站上进行推流

其实很简单,只需要将obs的网络连接引向代理,但是Shadowsocks中直接挂全局模式不太好,因为会将本来能够直连的网站也会通过代理连接,而且应该是不能代理到obs的(我从来不用全局)。

那么要怎么做到这点呢?我常用的是Proxifier,使用教程网上很多,这边不再赘述,只要在规则里面把obs的执行文件加入需代理列表即可,各种使用RTMP协议的直播网站应该都是直接可以这样搞定。

当然,一个高带宽的代理是必须条件。

题外话,无论是Youtube还是Twitch,其直播后台都比Bilibili强太多了。

用youtube-dl在直播进行中同时下载

基于今天花谱Live的下载失败,一怒之下又翻了翻youtube-dl的文档,发现可以在直播的同时直接截流保存成文件,用这种方法可以大大加快海盗效率。

准备工作

  • 良好的网络环境
  • 空闲的CPU资源
  • youtube-dl
  • FFmpeg
  • 一点点命令行基础

这里建议将youtube-dl和FFmpeg所在的目录加入环境变量中,用户或者系统的均可。另外你还要搞清楚自己的本地代理端口号,一般为1080。

配置文件与命令

youtube-dl支持配置文件,可以免去每次手动输一长串命令的麻烦,在Windows下其默认读取的配置文件位于用户目录下的youtube-dl.conf,即%userprofile%\youtube-dl.conf

这边准备好了两份配置文件,一份是直播同时下载,另一份是平常下载视频。两份配置文件都需要手动更改里面的代理端口号,和自己环境所匹配,其他不需要进行更改。

普通下载:

1
--proxy socks5://127.0.0.1:1081
2
-f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best'
3
-o '%(uploader)s/%(title)s.%(ext)s'
4
--add-metadata
5
--write-thumbnail
6
--ignore-errors
7
--extract-audio
8
--audio-format best
9
--audio-quality 0
10
--keep-video
11
--embed-thumbnail

直播的同时进行下载:

1
--proxy http://127.0.0.1:1081
2
-f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best'

分别将这两块命令行保存成两个文件,修改Proxy行的端口为自己使用的,建议一个命名为youtube-dl.conf放置在%userprofile%目录下,另一个换个名字也存%userprofile%目录下方便调用。

以上工作完成之后打开命令提示符,注意是cmd不是PowerShell,因为后者在管道操作上面有一些不同,这边是用最简单的cmd来完成。命令:

youtube-dl -o - U2B-LINK|ffmpeg -i - -vcodec copy -acodec copy "OUTPUT.mp4"

如果你默认的配置文件不是用于直播时同时下载的,那么请指定配置文件:

youtube-dl -o - --config-location PATH\TO\CONFIG U2B-LINK|ffmpeg -i - -vcodec copy -acodec copy "OUTPUT.mp4"

注意,-o之后的--i之后的-均不能遗漏,这是管道操作最重要的两点之一,还有一点是管道操作符|,跟反斜杠\同一个键。命令中的U2B-LINK就是油管链接、PATH\TO\CONFIG就是youtube-dl的配置文件具体位置,OUTPUT.mp4是输出的文件名。

>>endl;

PC 硬件史话(三)

引子

上回我们说到上世纪七十年代末期,由 Altair 8800 引发的微型计算机普及浪潮以及各种公司各种机型间的大战。让我们继续顺着时间线前行,来到激动人心的八九十年代,首先登场的,便是 IBM PC。

IBM Personal Computer

新兴的个人计算机市场发展之迅猛是大公司们都始料未及的,据统计,1979年 PC 市场的销售额就达到了1.5亿美元,并且这个数字还在以每年超过 40% 的增速发展。如此具有前景的市场很难不吸引大公司们的眼球,随着 IBM 的一批同级别的竞争对手,如惠普和德州仪器等大厂的入场,IBM 也开始了自己的个人计算机设计之路。时任总裁约翰·欧宝和 CEO 法兰克·卡里在公司内部设立了很多有半自主性质的“独立业务单元”以鼓励创新,而后来的 IBM PC 缔造者之一,威廉姆·罗威,被任命为入门级分部的负责人,准备开发一款面向个人的微型计算机。

IBM 5150

首先,他们展开了市场调查。经销商们普遍回应对 IBM 的 PC 十分有兴趣,但是新的产品不能以 IBM 以前的那种风格来设计、售卖,他们要求 IBM 必须使用标准的元器件,以方便维修服务。鉴于 Apple Ⅱ 的畅销,就算是经销商们不喜欢苹果公司的做法,他们也没有办法。然而他们更加不指望 IBM 会改变以往的风格和官僚作风,去推出一款符合市场需求的微型计算机。

急于推出自家微机打入市场的 IBM 想到了走 OEM 的路子,正巧雅达利有成为 OEM 制造商的意愿。于是,罗威在 1980 年七月份的一次高层会议上提议用基于雅达利 800 的平台来打造第一款 PC,同时还提议收购雅达利,原因是“因为在 IBM 的文化基因中,我们没法做成这件事”。CEO 卡里也承认了罗威对于企业文化的描述,在当时的 IBM,需要四年和 300 人的团队才能打造出一款个人电脑。作为收购雅达利的替代方案,高层给予了罗威尝试的机会——允许他组建一支独立的开发团队,而罗威保证,在不用 IBM 传统方式的情况下,他可以在 30 天内给出原型,在一年的期限中做出成品。

当时世人都不相信 IBM 可以如此之快的推出自家的 PC,甚至于有分析师说:“要让 IBM 推出一台个人电脑就好像要教会一直大象跳踢踏舞”。事实上,在 1980 年八月份的展示中,他给出的原型机还仅仅处于勉强能运行起来的阶段。不过,雄心勃勃的罗威在当时已经制定了一份详细的商业计划,其中对于新型计算机的描述是一个开放式架构,可以采用非专有的软硬件,同时在实体店中售卖,而这些全部有违于 IBM 的传统。

不过高层却十分看好罗威的计划,在总裁欧宝的强力支持下,罗威组建了一个仅有 12 人组成的独立团队,这其中就有 PC 之父——唐·埃斯特利奇,当时他刚从一个失败的小型机项目中退出来。唐·埃斯特利奇主动请缨担任团队的领导人物,为了在一年之内端上成品,他们决定采用市场上已经成熟化了的标准方案。到了四月份,整台机器的硬件配置被确定了下来。在核心的 CPU 选择上,他们采用了已经在 IBM 别的产品线上使用过的,有着不错软件适配基础的 Intel 8088,而不是等自家更强的新处理器完工。另外,他们在硬件上还预留了可以让用户自行扩展的接口。而在操作系统方面,他们与当时并不知名的 Microsoft 合作,将 DOS 搬上了自家的 PC 平台,命名为 PC DOS,同时新产品也兼容流行的 CP/M 系统,意味着上市即有非常多的软件不用重新改写编译即可在 IBM PC 上面运行。

经过一年的紧张开发,1981 年 8 月 12 日,IBM 正式发售了 Personal Computer,型号为 5150,定价 1565 美元,包含主机和键盘,可选配显示器和打印机。他们还请来了默剧大师卓别林的经典角色——小流浪汉,来主演一系列的电视广告。

得益于优秀的设计和侧重“个人化”的广告宣传,IBM PC 一上市就取得了巨大的成功,到 1984 年,系列已经占据了整个 PC 市场三分之一的份额。IBM PC 接过了由前辈传过来的计算机普及化大旗,引领了这场一直持续到二十一世纪的信息化革命。1982 年年末,《时代》周刊把“年度人物”更改成了“年度机器”,将 IBM 5150 搬到了自己的封面上。

成为行业标准

成功的不仅仅是 IBM 5150 这么一款机型那么简单,它如同当初罗威计划的那样,使用了开放的硬件架构,还预留了可扩展接口。团队还将 PC 的设计公知于众,每台 PC 都附带了一本技术参考手册。标准、通用的组件和预留的可扩展接口使得用户可以自行安装相兼容配件,比如可以把内存从 64k 扩展为 128k 等等。开放标准也使得 PC 拥有了一大批为其制造配件的厂商,大大促进了微机行业的整体发展。

硬件上用了通用组件,而细节又都公布在外,这不是给“山寨”留了非常大的口子吗?很快,其他的一些公司开始模仿 IBM PC 推出自家的 PC 产品,这其中大部分都是直接复刻了 PC 的设计。不过尽管 IBM 几乎公开了全部细节,但唯独保留了 PC 的一个基础软件模块——基本输入输出系统也就是 BIOS——没有完全公开。这难不倒人,一些大厂通过逆向工程分析并成功的以不侵犯著作权的形式重新实现了与 IBM PC 兼容的 BIOS,随后顺利推出了自己的 PC,这其中大部分都与 IBM 的 PC 相兼容,也就是说在 IBM PC 上能够运行的程序都可以直接拿来跑,可以用在 IBM PC 上的配件组件可以直接插在自家的机器上用,中文的兼容机最早可能就是指代这些与 IBM PC 相兼容的机型。随着 IBM PC 的热卖以及市场上与其相似的机型日益增多,IBM PC 开始成为个人电脑行业的事实标准,兼容这个标准就可以得到几乎是整个市场的配件以及软件支持,而且并不需要任何的授权费用,何乐而不为呢?

后来,随着行业不断推出升级的机型,PC 标准也在不断地升级进化,在经历了与苹果的麦金塔(Macintosh)等挑战者的竞争并最终取胜之后,它一直被行业延续使用到了今天,可以说,如果没有当年 PC 研发团队的明智决定,现在我们可能就使用不到如此平价、多种多样的个人计算机设备了。

Intel 的崛起

讲完了 PC 标准一统江湖的故事之后,让我们重新把目光转回到我们本系列文章第一章的主角——Intel 的身上。

从 286 到 386

1982 年,Intel 发布了 80286,这是一枚在 8086 基础上的改进型处理器,从图中我们可以看到,80286 的外形已经开始靠近我们现在常见的处理器长的那样子了。它仍然是一枚 16 位处理器,但是加入了保护模式(简单来说就是可以保护程序实际内存地址不为人所知),并且完全兼容针对 8086 系列编写的程序,不久之后它被 IBM 采纳用于 PC 的升级型号——IBM PC/AT 上面,随着 PC 市场的火热,它也广销世界。

伴随着计算机行业的飞速发展,内存也在不断变大,但是一枚 16 位(内存寻址总线宽度)的处理器能够直接访问的内存只有 2 的 16 次方字节,也就是 64 KiB 的空间,这大大制约了程序员的发挥,于是一枚基于 x86 架构并且能访问更大的内存空间的 CPU 便应运而生了。

1985 年,Intel 推出了 80386,在提供 32 位内存寻址能力的基础上保留了对以前处理器的完全兼容,这只是它的一部分新功能,80386 对后世影响更为深远的,便是将首次出现在 80286 中的保护模式进行了升级改造,使处理器能够支持更为现代的多任务操作系统。80386 给现代 x86 处理器打下了基本框架,而之后在 1989 年发布的 80486 将原本外置的缓存和浮点运算单元搬入到 CPU 内部,至此,现代 x86 处理器彻底定型。

爱恨情仇

前文提到过,x86 指令集的前身本来是 CTC 公司用来充当 8008 的开发费用“支付”给 Intel 的,也就是说 Intel 拥有其所有权。那么为什么至今世界上都还有第二家公司可以设计生产使用 x86 指令集的处理器呢?这还得从本系列文章的第一章最后留下的伏笔说起,那是 Intel 与 IBM、AMD 的两段爱恨纠葛。

IBM 当年在采用 8088 作为第一代 PC 的 CPU 时,根据当时半导体行业“第二供应商”的行规,向 Intel 施压,要求其与另一家公司合作供货,后者找到 AMD,签下了一份长期合作的协议,还有不少芯片生产厂商同时也获得了 Intel 的授权,所以当时的市场上可以见到来自不同厂商的 80x86 芯片。不过到了 80386 推出的时候,Intel 已经决心将主营业务由生产存储芯片转移到中央处理器的设计生产上面去,为了保护自家的知识产权和盈利,他们不想让别的公司成为 80386 的第二供应商。而 IBM 此时有了自己的小心思,可能是觉得用自家都可以造的 286 比较靠谱,可能是不想让 Intel 独占自己的货源,抑或是别的什么不可说的原因,总之不想用 386,而 Intel 的做法正好给了 IBM 一个不用 386 的借口,于是我们没能见到 386 被率先应用在 PC/XT 的后续机型上。

那么 386 该卖给谁呢?康柏(就是后来被惠普收购的那个)伸出了橄榄枝,最先与 Intel 合作推出了新的机型,市场反响热烈,很多生产商开始克隆康柏家的新机器。而 Intel 靠着 386 的先进设计和强大性能,一时间风头无两。但是 AMD 不乐意了,几年前签下的长期授权协议就被你这么单方面撕毁了?那么法庭见。现在有的说法是 Intel 将 AMD 状告上法院,有的说是 AMD 为原告,总之这对本是同根生的“兄弟”走上了法庭,这场官司一直打到 1990 年以 AMD 的胜利而告终。期间 AMD 也没闲着,逆向完了 386,在 1991 年的时候就推出了自家 100% 克隆出来的 Am386,以低廉的价格和比原版更高的主频打下了不少市场份额。

不过这都没有妨碍 Intel 在 1992 年的时候成为世界范围内半导体行业排行第一的领军者,不幸的是,创始人之一的罗伯特·诺伊斯没能等到如同他儿子一般的公司登顶的那一天。1990 年 6 月 3 日,诺伊斯因为心脏病发作去世,享年 62 岁。

Intel Inside

就在人们纷纷认定 Intel 下一代的 CPU 会被命名为 80586 之时,Intel 却在 1993 年 3 月 22 日发布了全新的奔腾(Pentium)处理器。这个新造出来的单词由希腊语中的五”penta”与拉丁语中用于命名元素的词尾”ium”组成。奔腾处理器是 Intel 首次用商标命名自家的处理器,从此,Intel 家的处理器受到了商标权的保护。

奔腾带来的不止是新的名字,还有新的架构。在被内部命名为“P5”的微架构中,Intel 首次引入了超标量体系,简单说来就是可以使处理器内部的多个执行单元并行化执行指令,提升效率;另一个重大改变发生在 486 转移进处理器内部的高速缓存上,从原先的通用(可以同时存放指令和数据)缓存分成了专用缓存,一半存指令,一半存数据,这种缓存设计至今仍然被保留着。

同时,Intel 开始大力推进品牌宣传,那段由五个音符组成的短旋律搭配上”Intel Inside”成为了 Intel 后来用了二十多年的经典宣传组合,深入人心。

Wintel

上世纪九十年代中期,Intel 俨然已经成为了 PC 行业的领头羊,由它参与主导制定了多种业界标准,比如用到今天的 USB 就是典型的例子。那么为什么 IBM 没能保持住自己在 PC 市场中的标准制定者的地位呢?让我们把时间倒回到八十年代。

上文提到,PC 标准是根据 IBM PC 来的,但它更是一种开放标准,想要以一己之力控制一个有数百家企业参与的开放标准,是一种妄想,而 IBM,正好就是这个做白日梦的人。1987 年,IBM 推出了 PS/2 系列机型,其中使用的扩展总线为 IBM 新设计并专有的 MSA 总线,这与市面上已经大量存在的 ISA 卡不兼容。而数量众多的制造商也不愿意使用新的 MSA 标准,首先,用新的总线制造扩展卡要向 IBM 缴纳一笔专利使用费,这与之前 ISA 总线的开放态度截然相反;其次,新的卡只能用在新的 IBM PS/2 系列机型上面,无法与市场主流所相容。所以最终妄想通过新机型来重获 PC 标准主导权的 IBM 并没有得逞,反而逐渐被时代所抛弃。

但是业界还是需要一个领导者,需要有人出来振臂一呼建立规范行业标准,这个位置,由全面占有 PC 处理器市场的 Intel 来坐,最为合适不过了。

Intel 也当仁不让,1992 年,它开始将自家的 PCI 标准随着处理器一起推向市场,同时联合 PC 市场中几个占有率比较高的厂商,成立了 PCI-SIG 联盟,以开放共赢的态度推广 PCI 标准,最终 PCI 成功取代了之前的 ISA 等总线,成为了行业通用标准,甚至连使用 IBM PowerPC 架构的苹果麦金塔系列电脑都开始使用它。而后来的 USB 也是相似的发展历程:Intel 联合了许多业界巨头一起制定标准,并且不收取授权费用,而也正是因为这些原因,USB 在九十年代与 IEEE 1394 的战争中获胜,一直沿用到了今天。

而另一边的软件行业,微软的 Windows 逐渐占据了桌面端操作系统的领先地位。不出乎意料的,两个行业巨头走到了一起,Wintel 联盟顺利成为了整个 PC 行业的主导者,一直到二十年后的今天,仍然没有人能够撼动这个地位。一台使用着 Intel 的 CPU 和微软的 Windows 操作系统的个人计算机,就是人们口中最常说的电脑。

结语

PC 已经统治了人们的桌面电脑,CPU 行业也被 Intel 所把持着,但对于游戏玩家而言最为重要的显卡,我们一点都没有涉及到。事实上,在九十年代初期,桌面端的图形显示也就是刚刚才起步的样子,下一章,我们将把重点转向显卡领域,感受一下那些经典的老游戏们和在它们背后工作着的老显卡们。

十二年,十二季,277集——记《生活大爆炸》完结

还有一天,一部陪伴了很多人许多年的“新经典”美式喜剧就将要迎来它最后的结局了。The Big Bang Theory,国内通称《生活大爆炸》,这部于 2007 年开始播映的情景喜剧创造了许多在当代年轻人中脍炙人口的经典角色,在那个 Nerds 或者说 Geeks 还在普遍不被理解、甚至被嘲笑的年代里,《生活大爆炸》却勇敢地塑造了四位“怪咖”作为剧集主角,并且在台词中掺入了无数晦涩难懂的科学名词。但就是这样一部颇具硬核精神的喜剧,在两季之后,名声响彻全球。

在今天已经不用再对《生活大爆炸》的剧情做过多地介绍了,简单的说就是两个年轻科学家合租之后遇到了住在隔壁的普通年轻女孩后发生的一系列故事。十二年来,我们一路看着这些角色们成长,受挫折,找到自己的另一半,结婚……这 277 集故事,就如同一部充满着日常的长篇流水账小说一般,平淡又不缺少必要的起伏。而作为喜剧,《生活大爆炸》从来不缺乏的就是辛辣的讽刺,恰好,作为主角的谢尔顿最令人印象深刻的就是他的毒舌,编剧们借这几位怪咖之口讥讽了包括但不限于政界、学界、商界,在国内甚至因为许多台词过于敏感而被下架,至今仍没有正规的渠道可以观看它。

如果问起《生活大爆炸》你最先想到的哪个角色,那我估计有 80% 的观众一定会说是谢尔顿。这个让所有观众又爱又恨的角色是整部剧集的核心人物,给他设定超高智商与超低情商似乎在隐喻着历史上许多有着怪才之名的人物,而这种“怪”被编剧和演员诠释的淋漓尽致,他自负自大却对室友以及朋友有着奇葩而又严苛的要求,但他善良的本性与很多时候略带稚气的处事方式又让人对他生不起气来。十二季中,最明显的不过是他的成长,从最开始不食人间烟火,到逐渐的开始懂得人情世故、结识朋友找到真爱,在他的成长中有许许多多感动人的温情瞬间。这样一个略带夸张成分的角色塑造之成功,甚至成为了一种流行文化的代号,连他的穿衣方式——里长袖外短袖也被人争相模仿。而饰演他的吉姆·帕森斯也多次艾美奖最佳男主角,这也是对于他能够驾驭好谢尔顿这样一个高难度角色的最好证明与奖励了。

不过《生活大爆炸》是一部群像剧,每个人都是有血有肉的,在长达 277 集的时间里,几乎每个角色都有能够充分演绎自己的舞台。比如四个怪咖中的另一“对”——Howard & Raj 更像是这部剧中的搞笑和逗逼担当,但是他们之间那种超越了一般朋友的友情没有因为他们不是核心主角而被掩盖,相反的,编剧在他们两人的感情身上花费了相当多的笔墨,他们喜欢互相使绊,也争吵过、疏远过,但每一次又都重归于好,这是多么令人羡慕的一段铁关系。而除了以上提到的三人,四个怪咖中也许是最为正常的 Leonard 追到 Penny 的故事也是一段传奇,也许你不喜欢看有很重感情线的剧,但是《生活大爆炸》中的感情戏拌着喜剧元素,以不多的量恰好满足观众又不腻,也给主角之外的人们足够多的戏份来讲述他们自己的故事,这是这部群像剧成功之处。

2007 年,恰好是乔布斯和他的苹果公司推出第一代 iPhone 的那一年,我们甚至可以在整部剧集中回顾 iPhone 的发展史。而这十二年中就像剧名中的 Big Bang 一词一样,新兴的信息世界呈现出了指数级别的增长。同样的,作为数码潮流文化尤其是游戏文化的弄潮儿,这类话题不曾离开过《生活大爆炸》的舞台,我们不时就可以在剧中看到主角们聚在一起打着游戏。而对于游戏主机,从 Xbox 360 到 Wii,再到次世代登场,那年的 Xbox One 的命名以及主机硬件配置甚至被谢尔顿整整吐槽了两分钟。他和 Amy 在 Xbox One 和 PS4 之间犯选择困难症的样子也是那年许多欧美玩家的代表。

对于大众文化,作为剧集中设定为八十年代生人的几位主角,从小观看的便是以《星球大战》、《星际迷航》等为代表的科幻元素影视剧。《生活大爆炸》中充满了各种星战和超级英雄梗,谢尔顿的 T 恤图案常常就与这些元素有关,有不少国内外观众可能也是通过《生活大爆炸》才开始对这些文化感兴趣进而入坑。

《生活大爆炸》最为人津津乐道的一点就是它对于科学严谨性的尊重,作为一部轻松向的喜剧,在这方面却狠下了一番功夫,甚至设立了科学顾问的职位,剧中出现的各种方程式、科学名词都是经过检验推敲的。而主演中更是有货真价实的博士——Amy 的扮演者,神经生物学博士马伊姆·拜力克在剧中本色出演,连剧中她的实验室中的各种仪器都是她指定给剧组的。

天下终究没有不散的筵席,故事线随着谢尔顿在十一季最后一集与 Amy 正式结婚似乎已经交代的差不多了,大家都意识到了可能我们已经离《生活大爆炸》的结局不远了,可是在官方正式宣布就只剩一季的时候,还是甚感惊讶。这些陪伴我们度过了好多年的家伙们就要离开了,这可能是许许多多追长剧的观众们在每次剧集完结之时一定会感叹的事情。我想,可能在十年后的某一天,我会坐下来,磕着瓜子,随手点开硬盘里收藏的一集《生活大爆炸》一路看下去,重温这个给人嬉笑又给人温情的故事。

PC 硬件史话(二)

导语

这期史话笔者将视点从 CPU 这个单一元件转移开,来讲讲 PC 标准出现前的那些故事。

DEC 与小型机

Minicomputer,中文中多称为小型机,用今天的眼光来看,小型机其实并不小,大多数都还是有个立柜那么大。不过在微型计算机出现之前,小型机占据了计算机市场的大半江山,而要说起小型机,不得不提的就是影响了整个计算机历史的 PDP 系列和它背后的创造者—— DEC 公司。

从 TX-0 到 PDP-1

让我们把时间倒回到上世纪四五十年代,现代计算机刚诞生不久的时候。那时的计算机动辄几个书柜的大小,更大的可能占据几个房间,并且造价普遍十分昂贵。而从六十年代开始,随着晶体管和集成电路的大规模应用,计算机开始了小型化之路。首先出现的,是 1956 年由麻省理工学院林肯实验室(MIT Lincoln Laboratory)研发出的首台全晶体管计算机—— TX-0,这台计算机不久之后被 MIT “借走”拿去当教学仪器了。

TX-0

随后,两名 TX-0 的工程师肯·奥尔森(Ken Olsen) 和 Harlan Anderson 在 MIT 注意到了一个奇怪的现象:明明学院里有同样提供给学生用并且更快的 IBM 的大型计算机,但学生就是喜欢在 TX-0 那儿排长长的队伍来尝试一下它。思索之后,他们认为小型计算机是有市场前景的,并且不是所有人都需要大型机那么强的性能,对于某些特定用途,低成本的解决方案就可以满足需求了;还有些用户往往更在意机器的图形输出或是实时可操作性而非机器的性能。

于是在 1957 年,TX-2 项目遇到严重困难之后,他们便离开了实验室,想用自己的理念拉到投资来推出产品。然而当时业界并不景气,小公司不断成立又破产,而诸如 RCA 和通用电气之类的大公司在计算机市场也讨不到好处。他们千辛万苦才拉到美国研究发展公司(American Research and Development Corporation)公司的投资,不过投资人 Georges Doriot 出于对市场的担心,要求他们变更原来的商业计划,把重心少放在计算机业务上一点,甚至还要求他们把公司的名字从原来的「数字计算机公司(Digital Computer Corporation)」改成了「数字装备公司(Digital Equipment Corporation)」(后文简称 DEC)。

没有办法,公司开头只能听投资人的,DEC 开始生产名为「数字实验室模块」的系列产品,这是一种集成了电子元件和晶体管的电路板,可以用来组建计算机。结果推出之后还挺受其他计算机公司欢迎的,他们买来组建测试自己系统的设备,在不景气的五十年代末期,这个产品线让刚成立的 DEC 开始盈利了。

DEC Digital Laboratory Modules

数字实验室模块

有了成功的产品线之后,DEC 开始将重心重新转回他们最初想做的小型机上。很快,在 1959 年末,采用新设计的计算机诞生了,同样为了规避风险,新的计算机的命名避开了 Computer 一词,新造了「可编程数据处理器(Programmed Data Processor)」这样一个有些拗口的名词。新的机器是系列第一台,即为 PDP-1,比起它需要占用半个房间的祖先 TX-0 来说,它小了很多,而性能却更强。它还拥有一块配套的 CRT 显示器,具有高速显示点阵的能力,用特殊的指令就可以让上面显示图片,这也是最早具有图形显示能力的机型之一。后来在 1961 年 9 月,DEC 向 MIT 捐赠了一台 PDP-1,就摆在 TX-0 的旁边。

PDP-1 的特殊意义不仅仅在于它的小型化上,更在于更深远的文化层面上。这款机型不但推动了黑客文化的发展,还孕育出了最早的电脑游戏——《太空大战(Spacewar!)》。对于软件领域来说,它更是意义非凡——一系列直到如今我们都仍在使用的软件类型的开山鼻祖就是在 PDP-1 上开发运行的,比如最早的文本编辑器(Notepad 记事本类),最早的文字处理器(文字排版类软件),最早的可交互式调试工具和最早可稳定运行的国际象棋程序等。

PDP-1

计算机历史博物馆中的 PDP-1 和《太空大战》的创造者史蒂夫·拉塞尔

PDP-8 和 PDP-11

在 PDP-1 推出之后 DEC 没有停歇,用今天的话来说就是疯狂刷机型,1960 年 PDP-3,1962年 PDP-4,1963 年 PDP-5,1964 年 PDP-7。这其中有的销售不佳,如 PDP-4 就非常惨淡,而 PDP-6 项目则直接因为市场反映不佳而直接搁浅;但继续走小型化之路的 PDP-5 却非常受市场欢迎。于是,秉承着 PDP-5 的理念,在此基础上进行大幅度改进的 PDP-8 被刷出来了。

pdp-8

PDP-8

1965 年 3 月 22 日,PDP-8 发布,这是一台可以放在桌上使用的小型机,比起它的前辈们,在性能上可能有所不足,但是它足够“小”,而且更便宜:它标价 18500 美元,是首台售价低于两万美元的小型机,后续的 PDP-8/S 甚至卖到了一万美元之下,这在当时的市场如同一颗价格炸弹一般。而市场的反映也证明了人们对它的喜爱:PDP-8 系列产品一共卖出去了 30 万台,直接推动了 DEC 在上世纪六十年代中后期到七十年代中期称霸小型机市场。

之后在 1970 年,DEC 推出了 PDP 系列中销量最高的机型——PDP-11,这同样也是一台无论在硬件还是软件方面都对后世有着深远影响的机器:硬件方面,PDP-11 的架构设计影响了整个后七十年代的微处理器的设计,包括 Intel 的 x86 系列处理器和摩托罗拉那著名的 68k 系列处理器;而在软件上,今天互联网世界的基石之一——Unix 系统的首次正式出现,就是在 PDP-11 上面;还有后来流行的 CP/M 及其后继者 DOS 系统等,均受到了 PDP-11 原生系统的启发。正是因为 PDP-11 优秀的、满足时代需求并有些超前的设计,使得 PDP-11 从 1970 年问世一直卖到了九十年代,总共销售六十多万台,被不少评论家誉为“最受欢迎的小型机”,比尔·盖茨曾在他的简历里着重提到过有 PDP-11 的编程经验。

PDP-11

PDP-11

DEC 与今世

说到这里,让我们回头看看 DEC 创始人在 TX-0 前做出的思考,他们对于计算机小型化趋势的判断是多么的精准,而除了这点之外,DEC 还对今世有着非常重大的间接贡献,比如:

  • 与 C 语言的渊源
    Unix 最早是用 PDP-7 的汇编语言写成的(当时还没有一个正式名字),为了移植到 PDP-11 上面,核心开发人员不断开发改进新的编程语言,而 C 语言就是这一阶段性完成产物,直到今天 C 语言标准中仍残留有 PDP-11 指令的痕迹。
  • 与 Windows NT 的渊源
    在 PDP 系列之后,DEC 继续推出了 VAX 系列,他们将其称之为超级小型机(Superminicomputer)。VAX 系列上运行的系统是重新设计编写的 VMS,其核心设计师戴夫·卡特勒(Dave Cutler)后来被微软招入麾下并领导了 Windows NT 的开发,他把 VMS 的不少理念带入到了 NT 上,甚至后来有说法称 Windows NT 是 VMS 的重新改进版本,而 NT 内核也一直被微软沿用至今。值得一提的是,戴夫·卡特勒后来还领导开发了 Azure 平台,再后来设计了 Xbox One 的系统架构。

巅峰与衰亡

不过有句话说的好:“王权没有永恒”,这句话同样可以套用在 DEC 身上。回首上一篇文章,PDP-11 推出之后不久,Intel 的 8008 就登上了舞台,单片式微处理器技术的成熟使得计算机行业掀起了一波更加汹涌的微型(Micro)化浪潮,其结果直接导致了微型计算机(Microcomputer),也就是我们现在使用的这代计算机的成熟和普及。而 DEC 作为小型化的先锋,却抗拒着新的浪潮。

1974 年,公司的研发组已经证明了微机的可行性,甚至给出了两台原型机,然而奥尔森却选择中断了这项企划。1977 年,DEC 又同样拒绝了开发个人电脑的提案,奥尔森甚至说「个人没有理由在家里放台计算机(There is no reason for any individual to have a computer in his home.)(后来他澄清他说的 Computer 指代的不是现代意义上的 PC)」。

历史证明了 DEC 选择了一条错误的道路。八十年代初期,在看到 IBM PC 大获成功之后,他们才迟迟推出自家类似的系统,但 PC 业界最经典的定律已经开始生效了——不兼容就会死。DEC 的新品不兼容 IBM PC 标准,没办法直接运行当时需求最猛的电子表格软件 Lotus 1-2-3,他们的新系列叫好不叫座,这也为日后 DEC 的衰败埋下了伏笔。

八十年代中期,PDP-11 以及后继者 VAX 系列的畅销将 DEC 带上了巅峰,市值超过 2 亿美元,拥有十万雇员,是计算机业界仅次于 IBM 的巨擘,甚至可以撼动它的位置。不过巅峰之后便是下坡路,微机市场打不过 PC,小型机市场也开始被新入场的对手蚕食,管理层昏招频出,大量资金竹篮打水一场空,而原有的不少合作伙伴纷纷离去。

九十年代开始,DEC 已经尽显颓势,经历了各种分拆之后的公司最终于 1998 年 6 月份被当时业界最牛的康柏(Compaq)收购了。

IBM PC 出现前的洪荒年代

愈演愈烈的微型化革命年代里,可谓是群雄四起。1972 年末,一家法国公司用 Intel 8008 为核心开发出了一款计算机,并用了 “Micro-ordinateur” 作为它的注册商标,在英语中,这个词等价于 Microcomputer。不过发明这个词的人并不是他们,而是大名鼎鼎的艾萨克·阿西莫夫(Isaac Asimov),他在 1956 年的短篇小说 The Dying Night 就已经使用了这个词。

Intel 8008 似乎特别受欢迎,早期的微机大多采用了 8008 作为他们机型的中央处理器。1974 年 4 月,Intel 发布了 8008 的加强版——8080。就是这枚处理器,真正拉开了微机普及的序幕。

Altair 8800

现在一般认为的首台商业成功的微型计算机就是 MITS 公司在 1974 年出品的 Altair 8800,而且这是 MITS 转型做计算机之后的第一个产品,在这之前 MITS 的主营产品是计算器。1972 年,由于 TI 的强势介入,计算器市场不好混了,MITS 的老板艾德·罗伯茨(Ed Roberts)决定转型去做计算机。1974 年他选定了当时刚发布不久的 Intel 8080 作为中央处理器,不过因为 8080 的官方定价略高,决心做平价计算机的罗伯茨跑去跟 Intel 砍价,他有着多年的 OEM 采购经验,谈价很厉害;而 Intel 那时候主营业务还是存储芯片,不懂小批量微处理器的定价。所以最终罗伯茨成功地把单片价格从 360 美元谈到了 75 美元。

十月份,他们完成了第一台原型机,并快递给了《大众电子(Popular Electronics)》杂志社,结果不巧的是,他们撞上了快递公司的罢工潮,杂志社并没有收到这台原型机。幸好,他们提前联系的杂志编辑手上已经有了不少这台机器的照片,于是在当年年末出版的杂志封面上,Altair 8800 正式登场了,这是一台可扩展的实用微型计算机,整台机器只需 439 美元!
Popular_Electronics_Cover_Jan_1975

七十年代初,计算器和电子游戏的普及让大众认知了计算机的威力,而数字化产品也吸引着越来越多的电子爱好者。于是这么一台平价但是实用,而且扩展性还不赖的机器一上市就火了。这是罗伯茨自己也没想到的事情,原本他预想能卖 800 台已经很不错了,结果一个月内他们就收到了一千份订单,五月末的时候这个数字已经变成了 2500 台,到了八月,这个数字又翻了一番,还有不少订单是直接买组装好的机器。

而在 Altair 8800 身上最出名的故事可能已经为很多人所熟知了:我们亲爱的比尔·盖茨和他的好友保罗·艾伦为它开发了一套 BASIC 语言解译器,并察觉到了软件行业存在的巨大机遇,随后便创立了 Micro-Soft。
img

在 Altair 8800 之后,许多公司察觉到了新的商机,于是乎类似的微型计算机如雨后春笋般开始出现,它们大多采用一块 8bit 的处理器比如 Intel 的 8080 或者 Zilog 的 Z80,采用了兼容 Altair 8800 的 S-100 总线,运行着 CP/M 之类的操作系统。在这波创业大潮中,就有苹果电脑公司,他们的 Apple II 获得了巨大的成功。也是摆这股潮流所赐,越来越多小公司也能用得起计算机来做数据库管理、会计还有文字排版之类的活。

不过最终使得微机走入千家万户的,还是有请我们的主角——PC。

结语

所谓合久必分,分久必合,微型计算机野蛮生长了足够长的时间了,是时候该有人出来一统江湖了!

参考

  1. PDP-1 Restoration Project
  2. The PDP-1
  3. The Development of the C Language
  4. DEC创始人、小型机之父:肯·奥尔森
  5. DEC’s Blockbuster: The PDP-8 - CHM Revolution

我的 Tools 文件夹中都有什么

写点白开水文,这次介绍一下我存续最久的工具目录中都有些啥,按字母排序

AcDown

充满时代感的名字,早已经没有后续更新,作者 Kaedei 后来去做了弹弹Play

Aegisub

老牌的字幕打轴制作软件

AIDA64

老牌的 PC 整体检测软件

aMule

开源 ED2K 协议下载器
其实国内的 ED2K 网络并没彻底死,还是有人在用的

aria2

全平台命令行下载器,配合图形化前端食用更佳

AS SSD Benchmark

SSD 跑分软件

BDinfo

BD 原盘信息查看工具

BIND

一套关于 DNS 的工具集,其中我常用 dig

CascView

暴雪目前常用的 .casc 格式文件查看器

Cinebench

跑分

Cisco TFTP Server

思科出品的 TFTP 服务器

CPU-Z

老牌 CPU 检测工具

Crass

痴汉公贼开发的通用 GALGAME 资源提取器,已停止更新

CriPackTools

CRIWARE 的 CPK 格式文件解压器

CrystalDiskInfo

老牌硬盘状态查看器,S.M.A.R.T. 查看好手

CrystalDiskMark

老牌硬盘跑分工具

CTF Tool

PSP 主题文件修改器

Display Driver Uninstaller

Windows 的显卡驱动完整清除工具

de4dot

.NET 程序反混淆和解包工具

Detect It Easy

程序包识别工具

DiskGenius

磁盘操作工具,该有的都有,不该有的也有

Dism++

原本是一个类似 Dism 前端的工具,现在有了很多其他实用功能

DXVA Checker

DXVA 的检测工具

Everything

文件搜索器

FastCopy

文件拷贝器

FFmpeg

FLV Extract

FLV 文件的分离小工具

GCFScape

Valve 的各种包格式查看器

GPU-Z

老牌 GPU 检测工具

HD Tune Pro

老牌硬盘测试工具

HWMonitor

跟 CPU-Z 同门的硬件状态监视工具

ILSpy

.NET 程序集查看和反编译器

inSSIDer

WiFi 网络环境查看器

JSON C# Class Generator

根据 JSON 文本生成 C# 类的小工具

LAV Filters

一组应该是目前最牛逼的视频分离解码器

libwebp

WebP 格式工具集

Locale Emulator

Locale 模拟器,作者后来写了 QuickLook

MadVR

目前最牛逼的视频渲染滤镜

MD5Tool

自己写的 MD5 和 SHA-1 查看小工具

MediaController

自己写的远程音乐播放状态控制器

MediaInfo

媒体文件信息查看器

MeGUI

一套视频媒体编码工具图形前端

MKVToolNix

MKV 文件处理工具集

MonaTiny

简易的视频流服务器,支持 RTMP、HTTP(S)、WS 等协议

Mp3tag

音频文件元数据工具

Notepad++

Ntlea

辣个男人写的 Locale 模拟器

NVIDIA Inspector

N 卡驱动配置文件修改器

PPSSPP

PSP 模拟器

Privoxy

Web 代理

Proxifier

Proxy Everything

Putty

Rufus

目前最好用的 USB 启动介质制作器

SysinternalsSuite

针对 Windows 系统的工具集

Universal Extractor

从各种压缩包和安装程序中解压提取文件的工具

UsbEAm Hosts Editor

针对各大游戏平台的 Hosts 修改工具

Valve Resource Format

V社各种类型文件的查看、反编译器

VTFEdit

VTF 文件编辑器

WinHex

居家必备的编辑器

WinMTR

Windows 下的图形化 MTR 工具

WinSCP

WiX Toolset

针对 Windows 安装包(.msi等格式)的工具集

WizTree

磁盘空间占用可视化查看器

x264 & x265

开源 AVC 和 HEVC 编码器

Others

还有一些过于硬核的工具没有列出来,诸如 BIOS 修改之类的工具。

>>endl;

PC 硬件史话

成立之初的 Intel 和 AMD

Intel 篇

书接上文,NM Electronics,在创立的头个月底改名成 Intel。据称,Intel 这个名字是启发自 integrated 和 electronics 的整合。

Intel 成立初期的主要业务并不是微处理器的开发与制造,而是瞄准半导体存储器市场,公司的首款产品便是 SRAM(静态随机存取存储器,现多见于 CPU 内部)—— Intel 3101。

3101 推出于 1969 年,比当时市场上的同类产品快了接近一倍。同年,Intel 还推出了 1101 和 3301 两款产品,前者是创新性地将 MOSFET 工艺运用于存储器制造的产物,后者则是一款只读存储器(Read-Only Memory)。虽然 3101 和 1101 这两款产品都颇具创新意义,但是影响并不大。真正使 Intel 开始出名的,是 1970 年发售的 1103——世界上第一款商用的 DRAM(动态随机存取存储器,也就是今天最常见的内存类型)。1103 在 1972 年成为了最为畅销的半导体存储芯片,并成功地在许多应用场合完成了 Intel 原本的设想——取代当时最流行的磁芯存储器(Magnetic-core memory)。

AMD 篇

与 Intel 不同的是,AMD 在成立之初原本是仙童半导体和国家半导体(National Semiconductor)第二供货商,专注于制造芯片,并引入了美国军方标准作为质量管理标准。要知道,在早期的计算机工业里,微芯片不可靠的质量是各大客户都极力想避免的问题,所以 AMD 靠这个赢得了一些优势。

在 1969 年 11 月,AMD 推出了它自己的首款产品:Am9300,一款移位寄存器。之后陆续推出了一系列畅销的元器件。

在 1971 年,AMD 进入了内存芯片市场,同年公司的销售额就已经达到了四百六十万美元。

到 1975 年,AMD 一共生产着 212 种产品,其中 49 种是自主研发的。

4004 与 8008

Intel 4004

终于讲到 Intel 的第一颗微处理器(Microprocessor),4004 的故事了。

1969 年,Busicom,一家日本的计算器公司拿着自己设计的一套由 12 枚 IC 组成的计算器引擎方案找到了刚成立不久的 Intel(其实是 Intel 主动去接触的),想让他们完善并生产这套引擎。然而 Intel 方面给出了一套更加优雅的方案,1971 年初,由 Federico Faggin 领导的开发团队设计出了一套只需要 4 枚芯片就可以取代原来的 12 枚芯片的芯片组,也就是后来的 MCS-4 芯片组,其中的核心便是大名鼎鼎的 4004。

4004 使用了 10 微米的制程,一共集成了约 2300 个晶体管,最高主频为 740 kHz,数据位宽为 4 bit,每秒最多能执行约 92000 条指令。这些参数在当时虽然并不是最强的,但因为它是市场上首款通用可编程处理器,又是全球首款商用单片微处理器,所以就像 1971 年 11 月 15 日 Intel 在 Electronic News 上刊登的广告语说的那样,它在集成电子领域开创了一个新的纪元。

4004 直到 1981 年才停产,期间推出了 4040 作为它的加强版。这里有一段 4004 发布三十五周年纪念会的录像,其中有两位设计师的演讲,感兴趣的朋友可以去看看:Intel 4004 Microprocessor 35th Anniversary

Intel 8008

8008 与 4004 实际上是两个独立进行的项目,8008 项目开始的时间甚至可能早于 4004。而 8008 背后的故事,则是非常有趣:

Computer Terminal Corporation (CTC) 是当时刚成立不久的一家设计制造小型桌面终端的公司,1967 年他们推出了一款非常受欢迎的机型:Datapoint 3300。

这款机型虽然卖的不错,然而它的小毛病可是不少,比如发热问题就是其一。为了解决这台机型上存在的问题,CTC 开始考虑采用单片 CPU 的设计来改进内部电路,于是公司掌门人之一的 Roche 找到了罗伯特·诺伊斯,交流了这个想法。诺伊斯觉得这是个绝妙的点子,而且 Intel 有能力做,但是这样子干很蠢:“一台计算机只能卖一块主处理芯片,但是可以卖数百颗存储芯片”。另一个考量则是当时 Intel 的存量客户几乎都是买他们的存储芯片搭配自己研发的处理器,而一旦 Intel 开始卖自家的处理器了,那么它和客户间就可能会形成竞争关系,原本的客户可能会另寻供应商。

但最终诺伊斯还是在 1970 年初和 CTC 签下了价值 50000 美元的开发合同,不过呢,CTC 同时还找了德州仪器作为它们的备胎。

接下来的故事就众说纷纭了,英文维基上给出的这个缺少来源的说法是 TI(德州仪器)拿到了 Intel 的早期设计,并做出了样片,但是有许多 bug,被 CTC 给否了。Intel 自己的进度也不顺利,推迟了。结果呢,CTC 那边等不及了,还是用了老而成熟的方案在 1970 年 3 月末推出了改进型新品:Datapoint 2200。这新品都出了,那么自然也就不需要原来计划的配套处理器了,所以 CTC 叫停了代号为 1201 的芯片的研发。

半年过去了,似乎是注意到了 4004 的成功,有家计算器生产商向 Intel 表达了想把 1201 芯片用在他们家的科学计算器上的想法。正巧隔壁 4004 项目已经完成了,我们的老熟人 Federico Faggin 过来接手了 1201 项目,他们对原来的设计进行了一些小调整。最终在 1971 年的晚些时候,Intel 把完成版的 1201 送到了 CTC 手上。

结果 CTC 为了推出新的产品,已经不满足于 1201 所提供的性能,于是他们砍掉了这个项目,用 1201 身上的所有知识产权代替五万美金向 Intel 支付了费用。随后 Intel 将这款产品更名为 8008,并在 1972 年 4 月份将它以 $120 的价格放进了自家的产品目录里,他们原本担心的老客户流失问题也没有发生,反而延续了 4004 在商业上的成功。

与 4004 一样,8008 也是采用的 10 微米制程,集成了约 3500 个晶体管,早期版本主频为 500 kHz,后来升高至 800 kHz。但因为数据位宽为 8 bit,所以实际性能比 4004 还是要高不少。

8008 最大的意义还是在它的设计上,后来 1974 年 4 月份发布的 8080 延续了它的设计,而 x86 的开创者 8086 则是继承了 8080 的指令集,所以说 8008 是现在所有 x86 CPU 的老祖宗也不为过。

AMD 的逆向工程

1974 年,Intel 推出了 8080 微处理器。AMD 此时想进入微处理器的市场,于是他们搞到一块早期的 8080 芯片,对其展开了逆向工程:显微拍照,用照片捣鼓出了原理图和逻辑图,然后研发出了自己的第一款微处理器:Am9080。

Am9080 的制造成本只需要 50 美分,但却以 700 美元一片的价格卖给军用市场。结果不久之后 Intel 就与 AMD 签署了一份协议,AMD 成为了 8080 的授权第二供应商,这使得两家可以联合打入那些不接受单一供货源的市场,这份协议也给后来的故事埋下了伏笔。

结语

虽然 Intel 研发出的这两款单片型处理器的性能都挺一般的,但还是有不少业界人士和爱好者注意到了这种类型的处理器的远大前景——可以加速计算机的小型化,而事实上,在七十年代中期,已经有几家公司开始尝试用 Intel 的芯片设计制造小型的计算机了。

下一章,笔者将会把主视角从 CPU 转开,尝试讲述一下 IBM PC 兼容标准诞生的故事。

参考资料

  1. Intel at 50: Intel’s First Product – the 3101
  2. Intel at 50: Intel’s 1101
  3. MyNikko.com 微處理器博物館 - Intel 3101
  4. 纪念英特尔成立五十周年 篇一 阴差阳错
  5. The Story of the Intel® 4004
  6. MCS-8 - Intel - WikiChip

英文维基不作为参考资料列出。

PC 硬件史话——序章

前言

笔者因为从小被父亲的爱好所影响,所以自然而然地喜欢上了 PC 硬件方面的东西。好多年前《微型计算机》杂志上不断有各种 PC 的元件发展史的文章,当时非常爱读这类历史传奇一般的说明文,现在有能力去直接读英文资料了,也就产生了自己写的念头。

思前想后几个月,我决定还是以比较方便我自己阅读的资料为主,尽量客观的以时间轴的方式来书写这段跨度长达近乎六十年的传奇历史。

参考的资料主要是以英文维基为主,并辅以各种其他资料来保证准确性和真实性。

序章里面还要讲讲这一整段传奇故事的大背景。

背景

半导体器件的发展

十九世纪的电学研究开启了第二次工业革命,把人类带入了电气时代。随着材料科技的迅猛进步,半导体的性质逐渐被人们所掌握,这直接导致了在二十世纪初,各种新型电子元件被发明,比如现在大家非常熟悉的二极管、电子管等等。在早期,这些半导体元件的个头都比较大,而随后出现的晶体管,则开启了一场真正意义上的革命。

晶体管分为两种类型,一种是场效应管(Field-effect Transistor, FET),其概念由 J. E. Lilienfeld 于 1926 年提出,但限于当时的条件,没有能够生产出实际能够工作的器件。而现在普遍认为的第一支晶体管是由贝尔实验室在 1947 年发明的,参与研发的人员有 John Bardeen, Walter Brattain 和 William Shockley。 他们发明的晶体管是与 J. E. Lilienfeld 提出的场效应管不同的双极性结型晶体管(Bipolar Junction Transistor, BJT),也就是我们现在俗称的三极管。

由于种种原因,在发明了晶体管之后,Shockley(后文译作肖克利)离开了贝尔实验室。1956 年,他在山景城创办了以他自己名字命名的肖克利半导体实验室(Shockley Semiconductor Laboratory),实验室所在的那片地区后来发展演变成为了举世闻名的硅谷(Silicon Valley)。肖克利实验室招揽了许多有志向研究半导体的年轻科学家与工程师,其中最为著名的便是日后的「八叛逆」: 罗伯特·诺伊斯(Robert Noyce)、高登·摩尔(Gordon Moore)、朱利亚斯·布兰克(Julius Blank)、尤金·克莱尔(Eugene Kleiner)、金·赫尔尼(Jean Hoerni)、杰·拉斯特(Jay Last)、谢尔顿·罗伯茨(Sheldon Roberts)和维克多·格里尼克(Victor Grinich)。

八叛逆与仙童半导体

可能是因为肖克利在实验室管理以及个人性格上存在的一些缺陷,八叛逆向肖克利的上级 Arnold Beckman 要求替换掉他在实验室的位置,然而 Arnold Beckman 最终做出的一系列支持肖克利的决定使得八叛逆不得不考虑离开肖克利实验室另寻出路。

当时半导体器件的主要基底材料是锗,而八叛逆认为硅比锗拥有更好的商业前景,因为相对于储量不高、提炼繁杂的锗,硅可以从沙子中提炼出来,可以有效降低原料成本和生产时间。罗伯特·诺伊斯用慷慨激昂的演讲向仙童摄影器材公司的老板 Sherman Fairchild 展示了他们的愿景,并成功说服了他。随后在 1957 年,他们获得了仙童摄影器材公司的资助,创办了仙童半导体(Fairchild Semiconductor)。仙童半导体在 1958 年成功的以硅为基底开发出了一款在商业上非常成功的晶体管——2N697。随后在 1959 年,八叛逆之一的金·赫尔尼又研发出了新的平面工艺,相对于传统的台面工艺,新的平面工艺无论是在成本还是产品的稳定性上,都有着巨大的进步,这项技术至今仍在半导体制造中扮演着极其重要的角色。

继承了前人的理念之后,在 1958 年 9 月 12 日,德州仪器(Texas Instruments)的 Jack Kilby 成功的研发出了第一块能够工作的集成电路,随后他在 1959 年 2 月 6 日为这项发明申请了专利。半年之后,八叛逆之一的罗伯特·诺伊斯成功独立研发出了另一种不同的集成电路,与 Jack Kilby 不同的是,罗伯特·诺伊斯的集成电路是以硅为基底,并且更加实用。一年之后,诺伊斯又将平面工艺运用到集成电路的制造流程上,这也使得业界更为认可仙童半导体出产的集成电路。仙童半导体在创造了一系列对后世影响深远的研究发明之后俨然已经成为了整个半导体行业的领军者。

摩尔定律

1965 年 4 月 8 日,八叛逆之一的高登·摩尔在 Electronics 杂志上发表了名为 Cramming more components onto integrated circuits 的文章,文中,他基于对行业发展的长久观察和思考后做出了一项具有历史意义的预测:

The complexity for minimum component costs has increased at a rate of roughly a factor of two per year. Certainly over the short term this rate can be expected to continue, if not to increase. Over the longer term, the rate of increase is a bit more uncertain, although there is no reason to believe it will not remain nearly constant for at least 10 years.

这就是半导体行业中著名的”Moore’s Law”的前身,在 1975 年 IEEE(电气电子工程师学会)的一次会议上,摩尔修订了预测的增长率,原本两倍的增长率将在 1980 年之后减半。年内稍晚时候,加州理工学院的 Carver Mead 教授将摩尔的预测总结为”Moore’s Law”。

摩尔定律事实上只是一条经验定律,但是却延续至今仍旧没有失效,甚至一定程度上在很长一段时间内指引了半导体业界的发展。

分崩离析与传奇的开始

让我们把目光重新对准仙童半导体。在六十年代的前五年,仙童半导体的风光一时无两,员工数量从最早的12人发展到了12000人。然而王权没有永恒,这家公司并不会这么一帆风顺下去。1965 年开始,仙童半导体在公司内部管理上开始出现了一些问题,到了 1967 年 7 月,公司已经开始亏损并且领头羊的位置被德州仪器所夺取。1968 年 8 月,罗伯特·诺伊斯、高登·摩尔和 Andrew Grove 一起从仙童半导体离职,创办了 NM Electronics,一年之后,公司更名为 Intel。1969 年,仙童半导体的一群工程师决定离开公司创业,他们找到了 Jerry Sanders 一起合伙,5 月 1 日,Advanced Micro Devices 公司成立。

好了,演员已经全数登场,传奇即将上演。

重生娱乐的大逃杀教学

出乎所有人意料的,在去年 E3 上只露了个脸的 Respawn Entertainment 不声不响地在大年夜公开了以 Titanfall 为背景的大逃杀游戏——Apex Legends,然而并没有 Titanfall 系列中的 Titan 元素,只剩 60 个铁驭在地图上打架,本想着没 Titan 就失去了系列的灵魂,但是在看了某油管人(彩虹社 Gamers 的かなえ了解一下)直播之后马上就去下载了这款游戏,体验之后感觉就是比想象中的好不少,到现在已经打了有十多小时,想写一点简单的感想。

地图

目前 APEX Legends 仅有一张地图,名叫 King’s Canyon,简中译为诸王峡谷。不过规模并不大,游戏人数上限只有 60 人,这倒是刚刚好。

地图虽然不大,但是地块类型却不少,沙漠、山谷、平原、湿地、沼泽、高山、峡谷。几个地点的设计也非常的有意思,骷髅镇有一种贫民窟的感觉,而几个军事基地则是很符合背景设定的气质,甚至在游戏开始跳伞时你还可以看到地图外那两只巨大的动物。这是一张非常有 Titanfall 味道的地图,所以也难怪会有人说这是拿了以前的废案做出来的。

虽然游戏没有载具系统,但是地图上提供了不少可以快速移动的绳索,还有个传奇的大招就是架设一条所有人都可用的绳索。这里就要夸一下地图的立体设计非常好,有很强的层次感,比如在桥梁河心瀑布一带,因为有着巨大的落差就非常容易出现多队立体交火的情况。

玩法与手感

在玩法上重生比 T 组更进一步,在大逃杀游戏中做了八个有不同技能的角色,称为「传奇」,每个传奇有一个被动,一个短 CD 的主动技能和一个充能大招。传奇按照技能特性分为四类,分别是攻击、防御、侦察和支援型。每个小队由三名传奇组成,选人不可重复。

就拿笔者爱用的 Bloodhound 寻血猎犬来说,作为目前唯一的侦察型传奇,他的技能作用就是提供信息,被动就是可以看到视野中地方留下的痕迹,比如这扇门在多少秒前被打开,地上的血迹、残留的空弹壳等等都会显示出来。主动技能是扫描附近有没有敌人,如果有就会高亮透视标出扫描时所在的位置。而大招则是打鸡血视野变灰,而视野内的敌人则会被高亮标黄,同时自己的移动速度变快,地上的血迹将会形成连续的一片供追踪用。

而其他传奇的技能也非常有特色,比如直布罗陀身为一个防御型传奇,大招却是呼叫轰炸;而全游戏没有提供的烟雾弹则是变成了一个小技能给了班加罗尔;恶灵可以创建远距离传送门;很萌的探路者机器人有着高机动性的勾爪。可能你会觉得这些技能在别的游戏中都已经见过了,但是当这么多的技能进入到一个 60 人的大型战场后,一切又变得不一样了。两队中近距离交战的时候就如同在一个快节奏的 FPS 中,瞬间技能全开各显神通,甚至枪声会吸引更多的队伍来参战,笔者觉得可以用「大了看是个大逃杀游戏,小了看是个 3V3V3… 的 COD 或者 OW」来描述本作的特点。

重生娱乐不愧是继承了 IW 之魂的工作室,本作的射击手感趋近于 COD 系列,枪械除了某两把连发枪之外别的基本没有后座力,子弹下坠也非常小,还带有击中反馈和伤害数字显示,护盾碎裂也有相应的提示声。但是目前霰弹枪的强度实在是太高了,反而在别的大逃杀中很吃香的 AR,SR 都不怎么受人喜欢,可能也是跟目前绝大多数战斗发生在中近距离有关。

交流

就笔者迄今为止玩的比较多的两个大逃杀游戏——PUBG 和 BO4 的 Blackout 模式来说,APEX Legends 在团队交流上的改进是非常明显的——鼠标中键的转轮标记系统。这可能是笔者用过的最方便的交流系统,甚至可以说解决了一大痛点。你能通过鼠标做到包括但不限于如下的功能:

  • 单击中键标记点
  • 双击告诉队友标记点有敌人
  • 长按能打开一个神似 Dota 2 的聊天轮盘系统,里面有:去那里、这里有人来过等等快捷标记
  • 点击地上的物品告诉队友这里有啥
  • 在自己空的枪械配件上按中键就可以告诉队友自己缺啥

而且每次标记都会顺带一句人物语音,甚至整盘游戏下来都用不上游戏内置的队伍语音。在单排散人的时候这个功能非常实用,尤其是在遇到了有一定沟通障碍的老外的时候。现在不少国外游戏媒体和 Reddit 社区对这个标记系统也是赞不绝口。

Free to Play 以及内购

免费真的是迅速提升游戏玩家数量的一道杀手锏,配合上不错的游戏品质,三天内本作的在线人数已经突破百万了,在 Twitch 上的观众也一直在第一位,实为 2019 开年第一爆款游戏。

而作为一款 EA 出品的 F2P 游戏,内购肯定是存在的,不知道是跟暴雪学了一手还是怎么的,内购的项目跟 Overwatch 都十分相似,有传奇的皮肤、姿势、语音,还有枪械的皮肤,甚至品级都分的一样,白蓝紫橙。不过除了跟 OW 比较相似的项目之外,在传奇的内购项目中还是有不少特色的东西的,比如名目繁多的计数器,你的 ID 卡边框以及在 ID 卡中的姿势都是可以购买的项目。

眼熟吗?

结语

总的来说,APEX Legends 不像是一个匆匆忙忙赶制出来的游戏,而相反,它的完成度很高,质量还不错。虽然缺少了 Titan 的元素,但是带着技能的大逃杀带来的新玩法确实瞄准了一个市场空缺。

值得一提的是本作的音乐仍然由 Titanfall 系列的作曲家 Stephen Barton 负责。

虽然游戏整体的完成度很高,但是随着玩家的涌入,相信很快就会有问题暴露出来,现在摆在眼前的已经有反作弊和服务器稳定性的问题了。

如果你喜欢 COD 或者是 Titanfall;是 Infinity Ward 或者 Respawn Entertainment 的拥趸;又或者是别的大逃杀游戏的玩家想体验一下新鲜感,都可以下载。免费游戏,玩玩嘛,又不花钱。

但愿马上就要出的 BFⅤ 的大逃杀模式不要比这个弟弟

一部拍给青年人看的教育片

前些日子在不知道哪里听说了有这么一部新上的剧集,好像还不错的样子。这几天趁着自己有点闲情逸致赶紧去看了,发现真的不错,遂码一点字谈谈自己的一点点感受。

青春剧

剧名直译过来就是性教育,乍一听为是什么严肃向教育剧,其实不然,这是一部披着严肃名字皮的青春剧(请原谅我用这个被玩烂的类别)。

为什么我要用青春剧来归类呢?挺简单的,剧中故事主要发生地是英国乡间的一所高中,主角都是高中生。而剧集中发生的许多事情也确实是青春期年轻人会干的——抽烟还有那啥、滥交和校园欺凌等等等等。虽然有不少夸张的成分在,但是如果没有了夸张的描写,在许多地方也就体会不到青春期特有的那种骚动了。

而在看似是教育剧的外表之下藏着的是有着丰富情感线的剧情,但是人物之间的关系并不像某些青春校园动画作品中那样「贵圈真乱」,而是非常的清晰自然,当然还是存在着三角关系。另外也不存在什么编剧强行安排角色感情的事情,几乎所有迸出火花的关系都是经过了完备的铺垫的。一口气将一整季看下来,可谓是非常爽快的体验,不过最后还是留了不小的尾巴给第二季延续。

本剧在网飞上的分级是 16+,确实是一个很合理的分级。

第一集开头第三十秒开始就直接给你奉上了活春宫,然后就是无处不在的性明示与暗示、无处不在的与性相关的台词以及粗鄙的手势。

车上、学校各种空教室、家里,几乎都有性爱场景;还有各种体位和同性恋性行为描写,绝对能够满足你的好奇心。

教育

既然名字里带有 Education 这个单词,那么教育的成分自然少不了。避孕,性器官知识到堕胎流产这些性方面的教育几乎没有缺席的,但是更为主要的便是在情感上的教育。

剧中的情感教育涵盖面非常广,举几个例子:

  • 如何与自己的单身母亲相处(她还是一个性治疗师有N多性伴侣)
  • 如何与自己十多年的好基友相处(真的是基佬)
  • 如何与自己喜欢的人做「同事」
  • 如何在自己的好基友与喜欢的人之间平衡好关系
  • 到底应不应该帮别人去追自己喜欢的人
  • 论情侣间交流与坦诚的重要性
  • 单相思怎么办

最后一个例子我直接截了一段视频出来:

片中几个震撼场景,给我印象最深的就是第五集末尾的集体对校园欺凌行为说不。在大会上向全年级宣告「It’s my vagina」实在是需要非常大的勇气,但是发展到一个个站起来复读出这句话时就形成了一种非常震撼的场面,这里因为涉及到剧透没办法好好讲,所以还是请有兴趣的朋友们自己去看吧。

但其实贯穿整个剧集的最重要主线之一是男主突破自己心理障碍的过程,整个过程巧妙地穿插在整部剧集中,到整部剧结尾处甚至还留了一个首位呼应。但细讲会涉及到太多剧透,所以还是请有兴趣的朋友们自己去看吧(复读)。

末了

当然作为一部这个时代的青春剧,又是网飞出品,那肯定少不了政治正确的东西。女权主义、LGBT 平权以及肤色问题在剧中均有展现,但这些不管你当成加分项还是减分项的题外话都阻止不了这部剧在 IMDB 上砍下 8.5 分,在豆瓣上甚至从 8.8 分涨到了 9.2 分。评分虽然不能说明一切,但一个有足够数量支撑的高分可能已经比这上面的千把来字更有说服力了。

最后希望大家都能去看,你或多或少总归会在里面找到共鸣点的。

回忆录

声明

本故事纯属虚构,如有雷同,那肯定是真的。

引子

关于我自己的心理创伤这个问题,我考虑了非常之久。不明不白地,读完四年大学之后,我又多了不少心理创伤。但相对的,我的心理承受能力也确确实实的提高了。我仔细的去回想,发现有那么几段记忆,我始终不愿意去回想,但它就是会时不时的跳出来让我难受。现在,我尝试着写出来,如果各位读者有什么评判,不妨用 SNS 的方式来告诉我。

D是我刚进大学时候比较喜欢的女生,她有一个室友L,是个北方女孩。

刚上大学的时候,我还是对班上事情蛮热心的,帮我们班长很多忙。有天班上评贫困等级的时候,L被班长找了个理由留了下来,我头一回知道她的名字,然后要到了联系方式,逐渐熟络起来。

L是跟我一样的夜猫子,熬夜熬得比我还晚的那种,半夜在那打101,白天的课基本全翘干净了,托她的福,我知道了不少D的事情。当时跟D有一搭没一搭的聊着,D跟我安利了不少唱见。

就这样过了大概一个半月,12月初的时候,L突然说电脑坏了,我自然而然的当起修理工。然后又过了几天,一天晚上八点,我刷空间的时候突然看到她发了条定位,在机场。

我很好奇,她怎么会这个时候在机场,发了个消息问她,她回我说,见网友。

当时我没在意,因为我见网友都是已经有比较长时间的交流之后有机会才会约见面,当然一个宅男约的人基本也都是宅男,出事的机率不大。

又过了两天,正巧要开年级大会颁个奖,而L参加了礼仪队,不得不赶回来,她让我买了点吃的送过去,我照办了。

那周周四,突然她就联系我说要不要一起去城里逛逛,她请客,我没明白为啥,稀里糊涂就跟着走了。那天把C城中心的几个景点给逛了,回学校的时候已经八点多了。那天我还知道了她有个同卵妹妹,什么都比她强。

然后这段故事第一次重点来了。

那周周末,D联系我说L在疯狂喝酒,很不对头,让我问问情况。我发消息过去,回过来的感觉就是她整个人都疯疯癫癫的,然后她开始跟我倾诉。意外就是这么发生的,我给D回报情况的时候直接是截图的,正巧她把关键的一句话发过来的时候我截到了,然后在我自己都没看到这句话的情况下,D先看到了,然后回了我个“卧槽”,我回头一看,“我操”。

那句话原文我已经不记得了,但是上下文联系起来的意思就是:我见网友被强奸了。

当时我就感觉一股热血冲上头顶,马上叫她下楼当面聊。

聊了些啥我已经不记得了,只记得我听到了更可怕的事实,她的裸照被挂在网上。

我被她遭遇的惨祸震惊了,原本以为这种只可能是文艺作品中的故事竟然发生在自己认识的人身上。我感觉我承受了巨大的压力,只好抱着她的头,跟她一起哭,最后对着空无一人的操场怒吼“去你妈的老天爷”。

那天晚上,酒量不行的我,把自己灌睡过去。

第二天她的精神情况似乎好了点。

但是,第三天,周一,我上着课没见着她人,不放心在翻她的空间。结果看到了类似于告别世间的一些话。我急了,直接跟D要来了她们的寝室钥匙,冲了一公里路,直接冲进她们那栋公寓楼进了她们寝室。她室友收到消息也跟在我后面回来了。

我爬上她的床去看她的情况。她最终还是没舍得去死,左手手腕上好多条浅浅的割痕,没割破主血管。我松了一口气,跟她说,你太傻了啊。

原本我以为她会就此罢手,回到原本的生活轨迹上,我没想到的是,她原本的生活轨迹就是错综复杂的。

在L出事之后,正巧Sherlock的电影版要在国内上映了,我寻思着去看首映场,然后想了想去问L一起不,她倒是答应的挺爽快的。然后我就买了两张票,市中心最贵的电影院。

然后就到了放假,因为圣诞节参加了个志愿者活动,假期前晚我就进城去参加聚餐了。聚餐结束准备去地铁站往学校赶的时候,我被D告知,L又去机场了。

一瞬间我进入了慌乱之中,我真的不愿意再看到之前的事情重演了,于是马上联系L。

「你又去接人了?」「是啊」「……」「你怎么知道的?」「这你就别管了,自己注意安全」

说实话,当时我已经产生了一种不想再管她了的情绪,但还是放心不下,就放弃了回学校的打算,找了家咖啡店坐下充电。

接下去的几个小时,穿插了另外一段小故事,大致就是被陌生年轻女性搭讪聊天听她抱怨男朋友地渣男事迹然后一起吃了点东西然后把她送回她男朋友家楼下。

折腾完,已经是凌晨两点左右了,我慢悠悠地逛到之前选定在看完电影之后去的通宵书店,进门坐下休息。

突然L发了条短信过来,「你饿吗,要不要过来一起吃个饭?」

我心想也就不打扰你们两个了,再说我走了一天了根本走不动了,就婉拒了。昏昏沉沉睡了没多久,天还没亮之前我又背着包四处乱逛了。

那天下午,我收到D的消息,她们寝室丢钱了,她们怀疑是L干的,然后开始跟我吐诉关于L的问题,包括但不限于晚上打游戏说话很吵,随便乱拿别人的东西比如各种化妆品,甚至衣服都是穿她的很久没还,还有各种卫生问题。我觉得L再坏也干不出来偷钱这档子事情的,让她们去阿姨那边看监控。

我心里乱的一塌糊涂,在到底该相信谁之间摇摆。最后我决定,不再管L这档子破事了。可没想到……

看完首映场又睡了一次书店之后我回了学校准备期末考试,大概快有两个星期的时间,开头L还时不时发个消息过来但后来却没了信,有天还突然找我借钱,我看她QQ没啥异常说话语气表情也都跟平时一样没多想就借了。

然后突然就出事了,有天晚上D告诉我L失踪了,因为有两门考试缺考辅导员找不到人开始问学生了。不一会儿电话就打过来了,我也没多想什么,把自己知道的都说了。再过了会儿她妹妹找到我了,我把L手机的账号问了出来,位置自然是关掉了的,然后把通讯录找了出来一个个打过去问。

结果还是一无所获。

我还能有什么办法,只能等待。还算好,她自己跑了回来。比较简单的经过是,男的软禁了她,带着她旅游打游戏,骗了点财物。

然后她母亲来了,把她带了回去。

第二个学期,我删除了她所有的联系方式。听说她因为各种原因,住校外去了,最后听到她的消息是她办了休学。

其实关于L的事情,我后来回想起来,一直有些悔意。

比如说后来如果我没有生硬的去切断联系,比如说那晚我去吃了饭把她带走了,比如说我当时没全盘听信D的话,可能L就不会落到后来要办休学的地步吧。

其实还有一个故事,不过是关于另外一个异性的。

游戏列表

简单记录下打过的游戏,先是按系列字母顺序排列,系列中按年代顺序排列。日厂开发的游戏会标注日文,如果没有英文就放在最后。

  • Assassin’s Creed II

    通关2遍

  • Assassin’s Creed Brotherhood

    通关

  • Assassin’s Creed Revelations

    主线未通关,剧情基本了解

  • Assassin’s Creed III

    通关,DLC 没打

  • Assassin’s Creed IV Black Flag

    通关,DLC 没打

  • Assassin’s Creed Unity

    通关,DLC 打了开头

  • Assassin’s Creed Syndicate

    通关,DLC 打了开头

  • Assassin’s Creed Origins

    第二章左右

  • Assassin’s Creed Odyssey

    进度在中部

  • Borderlands 2

    没通关,刷过瘾了

  • Call of Duty

    通关,United Offensive 通关

    通关

  • Call of Duty 2

    卡在最后三关

  • Call of Duty 4: Modern Warfare

    通关

  • Call of Duty: World at War

    通关

  • Call of Duty: Modern Warfare 2

    通关

  • Call of Duty: Black Ops

    通关

  • Call of Duty: Modern Warfare 3

    通关

  • Call of Duty: Ghost

    刚开头

  • Call of Duty: Black Ops 4

  • Celeste

    开坑

  • Counter-Strike

  • Counter-Strike: Global Offensive

  • Danganronpa: Trigger Happy Havoc ダンガンロンパ 希望の学園と絶望の高校生

    开了个头

  • Darksiders

    第一遍在沙漠打沙虫前不敢玩了,第二遍还没拿到拳套

  • Diablo III

    剧情通关

  • Dishonored

    开了个头,觉得不太适合自己

  • DmC Devil May Cry

    同上

  • Dota 2

    弃坑,只看比赛

  • Fallout 4

    开了个头,觉得不太适合自己

  • For The King

    联机不顺畅,跑团刚开就断

  • Gorogoa

    完成

  • Grand Theft Auto V

    通关,杀了老崔的结局

  • Half-Life

    开了个头,害怕异型

  • Half-Life 2

    同上

  • Hexcells

    完成

  • Hexcells Infinite

    几乎完成

  • Hexcells Plus

    几乎完成

  • Hitman: Absolution

    开了个头,有晕眩感没能打下去

  • Hook

    完成

  • Left 4 Dead 2

    美好回忆,只在过去

  • Mario Kart 8 マリオカート8

  • Mini Metro

  • NieR:Automata

    进度在第三章左右

  • Ori and the Blind Forest

    到达第二个目标点

  • Overcooked!

    差一点通关

  • Overcooked! 2

    通关

  • Overwatch

    美好回忆,只在发售第一个月

  • PLAYERUNKNOWN’S BATTLEGROUNDS

    美好回忆,只在过去

  • Pokémon: Let’s Go, Pikachu! ポケットモンスター Let’s Go!

  • Portal

    开了个头

  • Portal 2

    单人和双人均完成

  • Rise of Nations

  • Shadowverse

    弃坑

  • Sid Meier’s Civilization V

  • Sid Meier’s Civilization VI

    等更新的 DLC

  • Sniper Elite V2

  • Splatoon 2

    刚入门,每天涂两把

  • Stardew Valley

  • Super Smash Bros. Ultimate

    解锁40+人物,命魂进度50%

  • Team Fortress 2

  • The Legend of Heroes VI: Sora no Kiseki 英雄伝説 空の軌跡FC

    通关

  • The Legend of Heroes: Sora no Kiseki SC 英雄伝説 空の軌跡SC

    第一章

  • The Legend of Heroes: Zero no Kiseki 英雄伝説 零の軌跡

    通关

  • The Legend of Heroes: Ao no Kiseki 英雄伝説 碧の軌跡

    第三章

  • The Legend of Zelda: Breath of the Wild ゼルダの伝説 ブレス オブ ザ ワイルド

    开坑

  • The Witcher

    10小时打了个开头

  • The Witcher 2: Assassins of Kings

  • The Witcher 3: Wild Hunt

    十多小时打了个开头,打算重开档

  • Tomb Raider

    通关

  • Tom Clancy’s Rainbow Six Siege

    300小时还是菜鸡

  • Tom Clancy’s The Division

    开头

  • Torchlight

    开头

  • Torchlight II

    开头

  • Undertale

    通关一周目,二周目不想打

  • Warcraft III

  • Watch_Dogs

    主线进度中部左右

  • WHITE ALBUM2

    IC 一周目,CC 雪菜线,coda 雪菜 TE、冬马 TE

  • World of Goo

  • World of Warcraft

    永远的110级奥术法师

  • Ys VIII: Lacrimosa of Dana イースVIII -Lacrimosa of DANA-

    开坑

杂(五)

夜晚是属于自己的。

没有了白天的临街窗外的喧嚣,只剩下房间里还在响的几个风扇声和硬盘的响动。

你再一次地想起这一年来发生过的事情。

去年的这个时候,你头一次站到全年级面前主持活动,头一次试探着自己能达到的高度,高中之后,你头一次这么高调。

然后是又一年的沉沦,什么都没干,什么都没做成。

却又很累,压力越来越重,睡眠质量越来越差,开始长期的熬夜与通宵消耗自己为数不多的生命力。

想要做梦啊,无奈梦境似乎已经快离我而去了,无论我怎么地去呼唤它,一觉醒来却又是什么都不记得,然而精神上的疲乏告诉我,你一定在刚才经历了些什么。

又回想了一遍 ReLife,那可能是最近两年中看的感触最深的一部动画了。想回,却又不想回到高中时代。李宗盛说既然青春留不住还是做个大叔好,但是我真的不想变成别人口中的大叔,我还是想当一个比那时候更加成熟,但却是被人称为少年的人。

终于也能用平常心去面对有特殊感情的人了。

终于也能做到父亲多年前期望的那样「圆滑」了,可这真不是我想要的。

终于也能做到和母亲吵架时不吊起喉咙吼她了,可她还是要继续念叨我。

终于也会在一个人看电影时不再克制自己的眼泪了。

人生确实是由一个个选择组成的,你看不见的蝴蝶效应在一次次选择中泛起巨大的波纹。

我现在的愿望是回到一年前的这个时候。

但是,却没有后悔药,没有能让你回到 15 岁的药丸,更没有哆啦 A 梦的时光机,有的只是你的妄想和「如果那样就好了」的感叹。

不要再错过什么了,但这又是不可能的,活着太无奈了,就像自己毫无主动权一般。

又会想到命运和宿命,他们究竟存不存在呢,究竟是你自己的意识主导着你自己的行动与未来还是冥冥之中的力量已经将这一切都安排好了呢?

可能上帝和爱因斯坦,真的是同时存在着的吧。

>>endl;

好き

2019 年的头一篇文章,我决定献给自己的感情。

好き

喜欢上一个人与认识到自己喜欢上她往往是在两个时间点,名为喜欢的种子都是在不经意间被种在心底,生根发芽慢慢开始向着一棵参天大树成长。发现这棵树的名字,可能已经是它长成一棵小树苗的时候了,于是坐立不安,在继续让它长下去与早日拔除的选择之间徘徊。

最终还是选择让它继续长下去,却不给它施加过多的养分,任其自然。结果有一天,这棵树实际的主人给它施了很多肥,浇了很多水最后又把浴霸开着在它顶上疯狂照,结果两天之内它就从一棵小树苗变成了占据整个心房的参天大树了。

这可怎么办。开始坐卧难安,胡思乱想。

片思い

好想和她说话好想知道她的事情好想和她吵嘴好想和她一起听歌好想和她一起玩好想和她说我喜欢你怎么办怎么办怎么办

结果还是只能强行控制住自己,你已经是个成年人了,不要还是像个小孩子一样什么都不管冲上去把自己的感情一股脑的宣泄给对方。

半夜醒来不知道为什么,第一时间起来翻她的账号。啊,原来还没睡啊,于是再次打开聊天界面,呆看了半天打了句话又删掉。

会时不时的去寻找她曾经留下的痕迹,发现对方和自己的共同点会兴奋半天,但是又不能唐突的去说,只能在平时插一点内容进去。

小心翼翼地守着自己这份感情不被别人发现,又好想找到能分享心情的人。

把对方的名字变换形式写进自己的 ID 里,害怕有人发现的同时又期待着对方能自己看到。

还顺便修改了自己用了好几年的常用密码。

偷偷的准备着给对方的礼物,却不当心全说漏嘴了,一点惊喜感都没有了。

于是又开始冥思苦想,终于找到个另外的算是惊喜的附加物。

然而却发现自己越来越控制不住自己了。

告白

这可怎么办才好呢。

这可怎么办才好呢。

时机没到,但是好想说。

99.9%的可能性不会成功,但是好想说。

说完了做不成朋友了怎么办,但是好想说。

我好累,快撑不下去了。

但是,就是喜欢啊。