精华内容
下载资源
问答
  • 分享一个好用且速度快的图床,支持最高100M图片
    千次阅读
    2020-10-07 08:40:08

    网址是http://imgbed.cn

    由于它用的是阿里云OSS存储图片,自带CDN,所以打开速度非常快。

    这是上传在imgbed.cn的图片,大家可以打开来感受一下速度:

    https://vkceyugu.cdn.bspapp.com/VKCEYUGU-imgbed/fee9974d-3177-4e8d-9e8e-62af3ef90894.jpg

    更多相关内容
  • Google 超分辨率技术 RAISR:模糊图片瞬间变清晰,运算速度快十倍Everyday the web is used to share and store millions of pictures, enabling one to explore the world, research new topics of interest, or ...

    Google 超分辨率技术 RAISR:模糊图片瞬间变清晰,运算速度快十倍

    Everyday the web is used to share and store millions of pictures, enabling one to explore the world, research new topics of interest, or even share a vacation with friends and family. However, many of these images are either limited by the resolution of the device used to take the picture, or purposely degraded in order to accommodate the constraints of cell phones, tablets, or the networks to which they are connected. With the ubiquity of high-resolution displays for home and mobile devices, the demand for high-quality versions of low-resolution images, quickly viewable and shareable from a wide variety of devices, has never been greater.With “RAISR: Rapid and Accurate Image Super-Resolution”, we introduce a technique that incorporates machine learning in order to produce high-quality versions of low-resolution images. RAISR produces results that are comparable to or better than the currently available super-resolution methods, and does so roughly 10 to 100 times faster, allowing it to be run on a typical mobile device in real-time. Furthermore, our technique is able to avoid recreating the aliasing artifacts that may exist in the lower resolution image.Upsampling, the process of producing an image of larger size with significantly more pixels and higher image quality from a low quality image, has been around for quite a while. Well-known approaches to upsampling are linear methods which fill in new pixel values using simple, and fixed, combinations of the nearby existing pixel values. These methods are fast because they are fixed linear filters (a constant convolution kernel applied uniformly across the image). But what makes these upsampling methods fast, also makes them ineffective in bringing out vivid details in the higher resolution results. As you can see in the example below, the upsampled image looks blurry – one would hesitate to call it enhanced.

    Left: Low-res original, Right: simple (bicubic) upsampled version (2x). Image Credit:Masa Ushioda/Seapics/Solent News
    With RAISR, we instead use machine learning and train on pairs of images, one low quality, one high, to find filters that, when applied to selectively to each pixel of the low-res image, will recreate details that are of comparable quality to the original. RAISR can be trained in two ways. The first is the "direct" method, where filters are learned directly from low and high-resolution image pairs. The other method involves first applying a computationally cheap upsampler to the low resolution image (as in the figure above) and then learning the filters from the upsampled and high resolution image pairs. While the direct method is computationally faster, the 2nd method allows for non-integer scale factors and better leveraging of hardware-based upsampling. For either method, RAISR filters are trained according to edge features found in small patches of images, - brightness/color gradients, flat/textured regions, etc. - characterized by direction (the angle of an edge),  strength (sharp edges have a greater strength) and coherence (a measure of how directional the edge is). Below is a set of RAISR filters, learned from a database of 10,000 high and low resolution image pairs (where the low-res images were first upsampled). The training process takes about an hour.
    Collection of learned 11x11 filters for 3x super-resolution. Filters can be learned for a range of super-resolution factors, including fractional ones. Note that as the angle of the edge changes, we see the angle of the filter rotate as well. Similarly, as the strength increases, the sharpness of the filters increases, and the anisotropy of the filter increases with rising coherence.
    From left to right, we see that the learned filters correspond selectively to the direction of the underlying edge that is being reconstructed. For example, the filter in the middle of the bottom row is most appropriate for a strong horizontal edge (gradient angle of 90 degrees) with a high degree of coherence (a straight, rather than a curved, edge). If this same horizontal edge is low-contrast, then a different filter is selected such one in the top row. In practice, at run-time RAISR selects and applies the most relevant filter from the list of learned filters to each pixel neighborhood in the low-resolution image. When these filters are applied to the lower quality image, they recreate details that are of comparable quality to the original high resolution, and offer a significant improvement to linear, bicubic, or Lanczos interpolation methods.
    Top: RAISR algorithm at run-time, applied to a cheap upscaler’s output.Bottom: Low-res original (left), bicubic upsampler 2x (middle), RAISR output (right)
    Some examples of RAISR in action can be seen below:
    Top: Original, Bottom: RAISR super-resolved 2x.Original image from Andrzej Dragan
    Left: Original, Right: RAISR super-resolved 3x. Image courtesy ofMarc Levoy
    One of the more complex aspects of super-resolution is getting rid of aliasing artifacts such as Moire patterns and jaggies that arise when high frequency content is rendered in lower resolution (as is the case when images are purposefully degraded). Depending on the shape of the underlying features, these artifacts can be varied and hard to undo.
    Example of aliasing artifacts seen on the lower right (Image source)
    Linear methods simply can not recover the underlying structure, but RAISR can. Below is an example where the aliased spatial frequencies are apparent under the numbers 3 and 5 in the low-resolution original on the left, while the RAISR image on the right recovered the original structure. Another important advantage of the filter learning approach used by RAISR is that we can specialize it to remove noise, or compression artifacts unique to individual compression algorithms (such as JPEG) as part of the training process. By providing it with examples of such artifacts, RAISR can learn to undo other effects besides resolution enhancement, having them “baked” inside the resulting filters.
    Left: Low res original, with strong aliasing. Right: RAISR output, removing aliasing.
    Super-resolution technology, using one or many frames, has come a long way. Today, the use of machine learning, in tandem with decades of advances in imaging technology, has enabled progress in image processing that yields many potential benefits. For example, in addition to improving digital “pinch to zoom” on your phone, one could capture, save, or transmit images at lower resolution and super-resolve on demand without any visible degradation in quality, all while utilizing less of mobile data and storage plans.  To learn more about the details of our research and a comparison to other current architectures, check out our paper, which will appear soon in the IEEE Transactions on Computational Imaging.

      每天都有数以百万计的图片在网络上被分享、储存,用户借此探索世界,研究感兴趣的话题,或者与朋友家人分享假期照片。问题是,大量的图片要嘛被照相设备的像素所限制,要嘛在手机、平板或网络限制下被人为压缩,降低了画质。

      如今高分辨率显示屏幕正在家庭和移动设备上普及,因此,把低分辨率图片转化为高清晰版本,并可在多种设备上查看和分享,正在成为一项巨大的需求。日前,Google 推出了一项新技术 RAISR,其全称是“Rapid and Accurate Image Super-Resolution”,意为“快速、精确的超分辨率技术”。

      RAISR 这项技术能利用机器学习,把低分辨率图片转为高分辨率图片。它的效果能达到甚至超过现在的超分辨率解决方案,同时速度提升大约 10 至 100 倍,且能够在普通的移动设备上运行。而且,Google 的技术可以避免产生混叠效应(aliasing artifacts)。

      之前已经具有透过升采样方式,把低分辨率图片重建为尺寸更大、像素更多、更高画质图片的技术。最广为人知的升采样方式是线性方法,即透过把已知的像素值进行简单、固定的组合,以添加新的像素值。因为使用固定的线性过滤器(一个恒定卷积核对整个图片的无差别处理),该方法速度很快。但是它对于重建高清作品里生动的细节有些力不从心。正如下面这张图片,升采样的图片看起来很模糊,很难称得上画质提升。

      

      ▲ 左为原始图片;右为升采样处理后图片。

      对于 RAISR,Google 另辟蹊径得采用机器学习,用一对低分辨率、高分辨率图片训练该程序,以找出能选择性应用于低分辨率图片中每个像素的过滤器,这样能生成媲美原始图片的细节。目前有两种训练 RAISR 的方法:

    • 第一种是“直接”方式,过滤器在成对高、低分辨率图片中直接学习。
    • 第二种方法需要先对低分辨率图片应用低功耗的的升采样,然后在升采样图片和高分辨率图片的组合中学习过滤器。
    • “直接”方式处理起来更快,但第二种方法照顾到了非整数范围的因素,并且更好地利用硬件性能。

      无论是哪种方式,RAISR 的过滤器都是根据图像的边缘特征训练的:亮度和色彩梯度、平实和纹理区域等。这又受到方向(direction,边缘角度)、强度(strength,更锐利的边缘强度更高)和黏性(coherence,一项量化边缘方向性的指标)的影响。以下是一组 RAISR 过滤器,从一万对高、低分辨率图片中学习得到(低分辨率图片经过升采样)。该训练过程耗费约 1 小时。

      

      注:3 倍超分辨率学习,获得的 11×11 过滤器集合。过滤器可以从多种超分辨率因素中学习获得,包括部分超分辨率。注意当图中边缘角度变化时,过滤器角度也跟着旋转。相似的,当强度提高时,过滤器的锐利度也跟着提高;黏性提高时,过滤器的非均相性(anisotropy)也提高。

      从左至右,学习得到的过滤器与处理后的边缘方向有选择性的呼应。举例来说,最底一行中间的过滤器最适合强水平边缘(90 度梯度角),并具有高黏性(直线的而非弯曲的边缘)。如果这个水平边缘是低对比度的,那么如同图中最上一行,另一个过滤器就被选择。

      实际使用中,RAISR 会在已经学习到的过滤器列表中选择最合适的过滤器, 应用于低分辨率图片的每一个像素周围。当这些过滤器被应用于更低画质的图像时,它们会重建出相当于原始分辨率的细节,这大幅优于线性、双三(bicubic)、兰索斯(Lancos)解析方式。

      

      ▲ RAISR 演算法运行图式下:原始图像(左),2 倍双三解析(中),RAISR 效果(右)。

      一些运用 RAISR 进行图片增强的范例:

      

      ▲ 上:原始图片,下:RAISR 2 倍超分辨率效果。

      

      ▲ 左:原始图片,右:RAISR 3 倍超分辨率效果。

      超分辨率技术更复杂的地方在于如何避免混叠效应,例如龟纹(Moire patterns)和高频率内容在低分辨率下渲染产生的锯齿(对图像人为降级的情形)。这些混叠效应的产物会因对应部分的形状不同而变化,并且很难消除。

      

      ▲ 左:正常图像;右:右下角有龟纹(混叠效应)的图像。

      线性方法很难恢复图像结构,但是 RAISR 可以。下面是一个例子,左边是低分辨率的原始图片,左 3 和左 5 有很明显的空间频率混淆(aliased spatial frequencies),而右侧的 RAISR 图像恢复了其原始结构。RAISR 的过滤器学习方法还有一项重要的优点:用户可以把消除噪音以及各类压缩演算法的产物做为训练的一部分。当 RAISR 被提供相应的范例后, 它可以在图片锐化之外学会消除这些效果,并把这些功能加入过滤器。

      

      ▲ 左:有强混叠效应的原始图片;右:RAISR 处理后效果。

      超分辨率技术利用不同的方法已经有了不少进展。如今,透过把机器学习与多年来不断发展的成像技术相结合,图像处理技术有了长足的进步,并带来许多好处。举例来说,除了放大手机上的图片,用户还可以在低分辨率和超高清下捕捉、储存、传输图像,使用更少的移动网络数据和储存空间,而且不会产生肉眼能观察到的画质降低。

      小结:自从乔布斯 2010 年在 iPhone 4s 上推出“视网膜屏幕”概念之后,数码产品市场开启了一场超高清显示革命。如今,家用显示器逐步走向 4K,各大手机厂商也竞相推出 2K 旗舰机。但 2K、4K 内容的缺乏一直是困扰行业发展的痛点。之前的超分辨率技术受成本、硬件限制,主要应用于专业领域,未能大范围普及。

      此次 Google RAISR 大幅降低了图像增强的时间成本和硬件要求,有望实现超分辨率技术在消费领域的应用,把充斥网络的低画质图片转化为高清图片,大幅提高视觉效果和用户体验。雷锋网十分期待将来 RAISR 在移动设备的应用,例如把消费者手机拍摄的照片转化为媲美单反画质的高清美图。

      (本文由 雷锋网授权转载;首图来源:Flickr/Carlos LunaCC BY 2.0)


    下面是对该论文的摘要介绍:

    • 论文:RAISR:快速且准确的图像超分辨率(RAISR: Rapid and Accurate Image Super Resolution)

      

    给定一张图像,我们希望能得到一张其对应的更大尺寸、有显著更多像素、更高图像质量的版本。这个问题通常被称为单图像超像素问题(Single Image Super-Resolution (SISR) problem)。其思路是:使用足够多的训练数据(对应的低分辨率和高分辨率图像对),我们就可以训练出一组过滤器(filter,即一种映射),当我们将其应用于一张非训练集的图像时,它就能产生一张该图像的更高分辨率的版本,其中的学习(learning)部分最好应选择低复杂度(low complexity)的。在我们提出的方法中,运行时间(run-time)比目前可用的最佳竞争方法快 1 到 2 个数量级,同时我们的方法还能得到可与当前最佳结果媲美甚至更好的结果。

    一个与上述问题紧密相关的主题是图像锐化(image sharpening)和对比度增强(contrast enhancement),即通过增强基本的细节(一个大范围的频率)来提升模糊图像的视觉质量。我们的方法还额外包含了一种极其有效的用来生成比输入模糊图像显著更加锐利的图像的方式,且不需要引入晕圈(halo)和噪声放大(noise amplification)。我们还阐释了:除了单纯的兴趣之外,这种有效的锐化算法还可被用作一种预处理步骤,可用于产生带有内置锐化和对比度增强效果的更有效的放大过滤器(upscaling filter)。



    Google 又玩黑科技,用机器学习帮你节省 75% 流量

    在最专业的图片处理软件 Photoshop 中,当你导出图片时,有一个叫“存储为网页所用格式”的选项,它清楚地列出了你可以保存的图片品质,以及图片在不同带宽下的加载时间。

    这是因为在网络上,图片的品质和加载速度是特别需要平衡的。更清晰,品质更好的图片往往有更大的尺寸,但它会让加载速度变慢,消耗更多流量。对网站开发者来说,这意味着更高的成本,当然,对我们来说,这意味着更高的流量费。

    在更小的尺寸内提供更高的品质,是图片压缩领域恒久的课题。Google 就一直致力于此,2010 年,它就推出了一种叫 WebP 的新图片格式,相比 JEPG,可以在相同的品质内把把图片大小减少 40%。

    现在,Google 要用新的机器学习技术,让这一步走得更远。

    1 月 11 日,Google+ 团队在其官方博客介绍了一种叫 RAISR(Rapid and Accurate Image Super Resolution)的新技术,它使用机器学习方法,训练系统分析同一张图片的高质量版本和低质量版本,找出高质量版本更好的原因,再在低质量版本模拟出高质量版本图片的效果。

    和这个过程类似的是对图片的锐化和增强对比度的操作,即通过放大底层细节,来改善模糊图片的质量。但是,锐化同时增加图像的噪点,让图片看起来有很多小颗粒,经常使用 Photoshop 处理照片的同学应该深有体会。Google 表示,自己使用的方法可以在不增加噪点和颗粒的情况下改善图片清晰度。

    在 PS 中对一张图片多次应用锐化后,图片中会出现大量噪点

    在 Photoshop 中对一张图片多次应用锐化后,图片中会出现大量噪点

    在 RAISR 的论文中,作者表示,使用这种方法,运行时间比目前最好的图片压缩方法快一到两个数量级,同时,它产生的图片效果和最好的办法相当,甚至更好。

    现在,这个系统已经可以用于训练库之外的图片,也就是说,当系统遇到一张从未见过的图片时,也能按照同样的方法,用更小的尺寸模拟出高质量图片。

    2016 年 11 月,RAISR 被引入了 Google+ 中,最理想的状况下,它可以节省 75% 的流量。

    RAISR-info.width-2000

    现在,RAISR 技术仅在 Android 设备用户访问 Google+ 时启用。即便如此,Google 说,现在每周也有超过 10 亿张图片用了这项技术,帮助用户节省了约 1/3 的流量。很快,它也被用于更多的 Google 产品。


    转自: https://blog.csdn.net/real_myth/article/details/54583412

    展开全文
  • 找到适合自己的学习方法:关于学习方法的探讨很多很多,只是我们貌似从来没有在意过,另外,切记只有适合自己的才是最好的,成功的人有很多,但是他们的路你不一定走得了,去寻找属于自己的学习方法论吧!...

    大神程序员出发之后径直穿过了田地,十分果断。他只用了十分钟就到了另一边。

    “你是怎么做到的?”另外两个人问道,“那些地雷怎么没有伤到你?”

    “很简单,”他回答道,“我最初就没有埋地雷。”

    不过其实踩坑是一方面,还有编码能力和意识:
    ###注意代码分层、结构
    新手写程序,都喜欢把代码全部写在一起,我个人认为这个是属于意识层面的,并需要太强的编程能力,通过看别人写的代码,还是能够明白如何去组织代码,拆分代码的。核心思想就是“尽量每一个变量名有意义,每一个函数名有意义,每一个函数只干一件事情”。

    以早上起床上班为例子,新手版本喜欢这样:

    import 7788的能力

    function getUpAndGotoWork(){
    let i = 我;
    i闹钟醒了,去关掉闹钟;
    i赖床一下;
    i起床了;

    i去厕所,挤牙膏;
    i刷牙;
    i上厕所;
    i洗脸;

    i做早餐;
    i终于出门了…

    i上公车…
    }

    getUpAndGotoWork();

    如果是老手,做法就是

    function getup(i){

    }

    function fuckWC(i){

    }

    function fuckTheJob(i){

    }

    function Todo_Morning(){
    let i = 我;
    getup(i);//起床
    fuckWC(i);//上厕所
    fuckTheJob(i);//去上班
    }

    Todo_Morning();

    这一手漂亮的代码,是之后维护代码写单元测试定位Bug的关键!这很大程度取决了你的代码速度

    其实呢,归结起来可以用一句话概括“用正确的方法做正确的事”。

    除了这些,还有就是学习心态。。。

    ###学习心态

    • 遇到新的东西或者问题,要去探一下究竟,搞明白原因;
    • 不要忽略基础知识,往往大的项目都离不开基础知识的铺垫,而每位老程序员都是掌握了非常扎实的基础知识的;
    • 找到适合自己的学习方法:关于学习方法的探讨很多很多,只是我们貌似从来没有在意过,另外,切记只有适合自己的才是最好的,成功的人有很多,但是他们的路你不一定走得了,去寻找属于自己的学习方法论吧!
    • 将知识体系化,做一个属于自己的体系化知识库;这样我们不仅会对我们学习的知识有个全面的了解,而且非常方便我们的复习巩固等!还可以让我们看到哪地方是自己的弱势,方便弥补!

    这里以我自己举个例子,方便大家理解!

    我在学习Android的时候会将自己学到知识都分类别的进行整理,将自己学到的知识体系化,例如我会分成如下类别:

    这里再放上一些Android程序眼必备的基础知识点:(扎实的基础是非常重要的!)

    Android应用是由Java语音进行开发的,SDK也是由Java语言编写的,所以我们要学习Java语言。另外,虽然说Kotlin语言也得到Android官方的热推,但是Kotlin也是编译成了Java语言在运行的。对于Android开发来说。只要SDK没有用Kotlin重写,那么Java语言都是需要学习的。而且Android apk的后台服务器程序大概率是Java语言构建,所以学习Java是一个必然。那么Java中那些东西是我们Android中比较相关的稍微比较难的Java基础几乎是一个门槛,像泛型丶多线程丶反射丶JVM丶JavaIO丶注解丶序列化等等

    ###最后
    不知不觉自己已经做了几年开发了,由记得刚出来工作的时候感觉自己能牛逼,现在回想起来感觉好无知。懂的越多的时候你才会发现懂的越少。

    在我学习的过程中,最开始是在网上找了很多资料,毕竟这些资料是我们开始最快速的学习方法,**这里我放上我这些年在网上收集到的资料,然后再以我的工作经验给大家总结一下,让你们少走些弯路,提取一些

    《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》

    【docs.qq.com/doc/DSkNLaERkbnFoS0ZF】 完整内容开源分享

    目前互联网公司最主流的Android开发架构技术,希望能帮助到大家!**

    Android前沿技术

    NDK模块开发
    droid开发架构技术,希望能帮助到大家!**

    Android前沿技术
    [外链图片转存中…(img-cOvvspb9-1639745484248)]

    NDK模块开发

    展开全文
  • 为什么说串行比并行速度快

    千次阅读 2018-09-20 22:15:07
    并行接口速度比串行接口速度快,这是若干年前的情况了。 在实际时钟频率比较低的情况下,并口因为可以同时传输若干比特,速率确实比串口快。 但是,随着技术的发展,时钟频率越来越高,并行导线之间的相互干扰越来越...
    http://zhidao.baidu.com/question/293842108.html?fr=qrl&cid=93&index=5
    并行接口速度比串行接口速度快,这是若干年前的情况了。
    在实际时钟频率比较低的情况下,并口因为可以同时传输若干比特,速率确实比串口快。
    但是,随着技术的发展,时钟频率越来越高,并行导线之间的相互干扰越来越严重。并行接口因为有多条并行且紧密的导线,但时钟频率提高的一定程度时,传输的数据已经无法恢复。
    而串口因为导线少,线间干扰容易控制,反而可以通过不断提高时钟频率来提高传输速率。而且串口的端子也会比较小。这就是为什么现在高速传输都采用串行方式的原因。
    http://blog.csdn.net/yiwuya/article/details/4136319
    
    “众人拾柴火焰高”是句老话,但电脑领域却发生了多根线比不过1根线的怪事。无论从通信速度、造价还是通信质量上来看,现今的串行传输方式都比并行传输方式更胜一筹。

    近两年,大家听得最多的一个词可能就是串行传输了。从技术发展的情况来看,串行传输方式大有彻底取代并行传输方式的势头,USB取代IEEE 1284,SATA取代PATA,PCI Express取代PCI……从原理来看,并行传输方式其实优于串行传输方式。通俗地讲,并行传输的通路犹如一条多车道的宽阔大道,而串行传输则是仅能允许一辆汽车通过的乡间公路。以古老而又典型的标准并行口(Standard Parallel Port)和串行口(俗称COM口)为例,并行接口有8根数据线,数据传输率高;而串行接口只有1根数据线,数据传输速度低。在串行口传送1位的时间内,并行口可以传送一个字节。当并行口完成单词“advanced”的传送任务时,串行口中仅传送了这个单词的首字母“a”。

    图1: 并行接口速度是串行接口的8倍

    628726876

     

    那么,为何现在的串行传输方式会更胜一筹?下文将从并行、串行的变革以及技术特点,分析隐藏在表象背后的深层原因。

    一、并行传输技术遭遇发展困境

    电脑中的总线和接口是主机与外部设备间传送数据的“大动脉”,随着处理器速度的节节攀升,总线和接口的数据传输速度也需要逐步提高,否则就会成为电脑发展的瓶颈。  我们先来看看总线的情况。1981年第一台PC中以ISA总线为标志的开放式体系结构,数据总线为8位,工作频率为8.33MHz,这在当时却已算是“先进技术”了,所以ISA总线还有另一个名字“AT总线”;到了286时,ISA的位宽提高到了16位,为了保持与8位的ISA兼容,工作频率仍为8.33MHz。这种技术一直沿用到386系统中。

    到了486时代,同时出现了PCI和VESA两种更快的总线标准,它们具有相同的位宽(32位),但PCI总线能够与处理器异步运行,当处理器的频率增加时,PCI总线频率仍然能够保持不变,可以选择25MHz、30MHz和33MHz三种频率。而VESA总线与处理器同步工作,因而随着处理器频率的提高,VESA总线类型的外围设备工作频率也得随着提高,适应能力较差,因此很快失去了竞争力。PCI总线标准成为Pentium时代PC总线的王者,硬盘控制器、声卡到网卡和显卡全部使用PCI插槽。

    图2:

    628898702

    并行数据传输技术向来是提高数据传输率的重要手段,但是,进一步发展却遇到了障碍。首先,由于并行传送方式的前提是用同一时序传播信号,用同一时序接收信号,而过分提升时钟频率将难以让数据传送的时序与时钟合拍,布线长度稍有差异,数据就会以与时钟不同的时序送达另外,提升时钟频率还容易引起信号线间的相互干扰。因此,并行方式难以实现高速化。另外,增加位宽无疑会导致主板和扩充板上的布线数目随之增加,成本随之攀升。

    在外部接口方面,我们知道IEEE 1284并行口的速率可达300KB/s,传输图形数据时采用压缩技术可以提高到2MB/s,而RS-232C标准串行口的数据传输率通常只有20KB/s,并行口的数据传输率无疑要胜出一筹。因此十多年来,并行口一直是打印机首选的连接方式。对于仅传输文本的针式打印机来说,IEEE 1284并行口的传输速度可以说是绰绰有余的。但是,对于近年来一再提速的打印机来说,情况发生了变化。笔者使用爱普生6200L(同时具备并行口和USB接口)在打印2MB图片时,并行口和USB接口的速度差异并不明显,但在打印7.5MB大小的图片文件时,从点击“打印”到最终出纸,使用USB接口用了18秒,而使用并行口时,就用了33秒。从这一测试结果可以看出,现行的并行口对于时下的应用需求而言,确实出现了瓶颈。

    你知道吗?IEEE 1284的三种接口

    早期的并行口是一种环形端口,IEEE 1284则采用防呆设计的D型连接器。IEEE 1284定义了D-sub、Centronics和MDR-36等三种连接器(图3)。我们所见到打印机电缆,一端是D-sub连接器,用来与主机连接,另一端为带有锁紧装置的Centronics连接器,用来连接到打印机。连接起来不仅方便,而且十分可靠。D-sub连接器有25根插针,而Centronics连接器有36根插针,多出来的11根基本上是冗余的信号地。MDR(Mini Delta Ribbon,小型三角带)连接器也是36根插针,这种小尺寸连接器是为数码相机、Zip驱动器等小型设备而设计的,实际上很少被使用。

    图3: 三种不同尺寸的并行口连接器

    628586031

    二、USB,让串行传输浴火重生

    回顾前面所介绍的并行接口与串行接口,我们知道IEEE 1284并行口的速率可达300KB/s,而RS-232C标准串行口的数据传输率通常只有20KB/s,并行口的数据传输率无疑要胜出一筹。外部接口为了获得更高的通信质量,也必须寻找RS-232的替代者。

    1995年,由Compaq、Intel、Microsoft和NEC等几家公司推出的USB接口首次出现在PC机上,1998年起即进入大规模实用阶段。USB比RS-232C的速度提高了100倍以上,突破了串行口通信的速度瓶颈,而且具有很好的兼容性和易用性。USB设备通信速率的自适应性,使得它可以根据主板的设定自动选择HS(High-Speed,高速,480Mbps)、FS(Full-Speed,全速,12Mbps)和LS(Low-Speed,低速,1.5Mbps)三种模式中的一种。USB总线还具有自动的设备检测能力,设备插入之后,操作系统软件会自动地检测、安装和配置该设备,免除了增减设备时必须关闭PC机的麻烦。USB接口之所以能够获得很高的数据传输率,主要是因为其摒弃了常规的单端信号传输方式,转而采用差分信号(differential signal)传输技术,有效地克服了因天线效应对信号传输线路形成的干扰,以及传输线路之间的串扰。USB接口中两根数据线采用相互缠绕的方式,形成了双绞线结构(图4)。

    图4: 采用差模信号传送方式的USB

    628611190

    图5: 差分传输方式具有更好的抗干扰性能

    628380367

    图5是由两根信号线缠绕在环状铁氧体磁芯上构成的扼流线圈。在单端信号传输方式下,线路受到电磁辐射干扰而产生共模电流时,磁场被叠加变成较高的线路阻抗,这样虽然降低了干扰,但有效信号也被衰减了。而在差动传输模式下,共模干扰被磁芯抵消,但不会产生额外的线路阻抗。换句话说,差动传输方式下使用共模扼流线圈,既能达到抗干扰的目的,又不会影响信号传输。

    差分信号传输体系中,传输线路无需屏蔽即可取得很好的抗干扰性能,降低了连接成本。不过,由于USB接口3.3V的信号电平相对较低,最大通信距离只有5米。USB规范还限制物理层的层数不超过7层,这意味着用户可以通过最多使用5个连接器,将一个USB设备置于距离主机最远为30米的位置。

    为解决长距离传输问题,扩展USB的应用范围,一些厂商在USB规范上添加了新的功能,例如Powered USB和Extreme USB,前者加大了USB的供电能力,后者延长了USB的传输距离。

    三、差分信号技术:开启信号高速传输之门的金钥匙

    电脑发展史就是追求更快速度的历史,随着总线频率的提高,所有信号传输都遇到了同样的问题:线路间的电磁干扰越厉害,数据传输失败的发生几率就越高,传统的单端信号传输技术无法适应高速总线的需要。于是差分信号技术就开始在各种高速总线中得到应用,我们已经知道,USB实现高速信号传输的秘诀在于采用了差分信号传输方式。

    差分信号技术是20世纪90年代出现的一种数据传输和接口技术,与传统的单端传输方式相比,它具有低功耗、低误码率、低串扰和低辐射等特点,其传输介质可以是铜质的PCB连线,也可以是平衡电缆,最高传输速率可达1.923Gbps。Intel倡导的第三代I/O技术(3GIO),其物理层的核心技术就是差分信号技术。那么,差分信号技术究竟是怎么回事呢?

    图6: 差分信号传输电路

    628637777

    众所周知,在传统的单端(Single-ended)通信中,一条线路来传输一个比特位。高电平表示为“1”,低电平表示为“0”。倘若在数据传输过程中受到干扰,高低电平信号完全可能因此产生突破临界值的大幅度扰动,一旦高电平或低电平信号超出临界值,信号就会出错(图7)。

    图7: 单端信号传输

    628249740

    在差分电路中,输出电平为正电压时表示逻辑“1”,输出负电压时表示逻辑“0”,而输出“0”电压是没有意义的,它既不代表“1”,也不代表“0”。而在图7所示的差分通信中,干扰信号会同时进入相邻的两条信号线中,当两个相同的干扰信号分别进入接收端的差分放大器的两个反相输入端后,输出电压为0。所以说,差分信号技术对干扰信号具有很强的免疫力。

    图8: 差分信号传输

    628726217

    正因如此,实际电路中只要使用低压差分信号(Low Voltage Differential Signal,LVDS),350mV左右的振幅便能满足近距离传输的要求。假定负载电阻为100Ω,采用LVDS方式传输数据时,如果双绞线长度为10米,传输速率可达400Mbps;当电缆长度增加到20米时,速率降为100Mbps;而当电缆长度为100米时,速率只能达到10Mbps左右。

    在近距离数据传输中,LVDS不仅可以获得很高的传输性能,同时还是一个低成本的方案。LVDS器件可采用经济的CMOS工艺制造,并且采用低成本的3类电缆线及连接件即可达到很高的速率。同时,由于LVDS可以采用较低的信号电压,并且驱动器采用恒流源模式,其功率几乎不会随频率而变化,从而使提高数据传输率和降低功耗成为可能。因此,LVDS技术在USB、SATA、PCI Express以及HyperTransport中得以应用,而LCD中控制电路向液晶屏传送像素亮度控制信号,也采用了LVDS方式。

    四、新串行时代已经到来

    差分传输技术不仅突破了速度瓶颈,而且使用小型连接可以节约空间。近年来,除了USB和FireWire,还涌现出很多以差分信号传输为特点的串行连接标准,几乎覆盖了主板总线和外部I/O端口,呈现出从并行整体转移到新串行时代的大趋势,串行接口技术的应用在2005年将进入鼎盛时期(图9)。

    图9: 所有的I/O技术都将采用串行方式

    628657662

    1.LVDS技术,突破芯片组传输瓶颈

    随着电脑速度的提高,CPU与北桥芯片之间,北桥与南桥之间,以及与芯片组相连的各种设备总线的通信速度影响到电脑的整体性能。可是,一直以来所采用的FR4印刷电路板因存在集肤效应和介质损耗导致的码间干扰,限制了传输速率的提升。

    在传统并行同步数字信号的速率将要达到极限的情况下,设计师转向从高速串行信号寻找出路,因为串行总线技术不仅可以获得更高的性能,而且可以最大限度地减少芯片管脚数,简化电路板布线,降低制造成本。Intel的PCI Express、AMD的HyperTansport以及RAMBUS公司的redwood等I/O总线标准不约而同地将低压差分信号(LVDS)作为新一代高速信号电平标准。

    一个典型的PCI Express通道如图9所示,通信双方由两个差分信号对构成双工信道,一对用于发送,一对用于接收。4条物理线路构成PCI Express x1。PCI Express 标准中定义了x1、x2、x4和x16。PCI Express x16拥有最多的物理线路(16×4=64)。

    图10: PCI Express x1数据通道

    628128671

    即便采用最低配置的x1体系,因为可以在两个方向上同时以2.5GHz的频率传送数据,带宽达到5Gbps,也已经超过了传统PCI总线1.056Gbps(32bit×33MHz)的带宽。况且,PCI总线是通过桥路实现的共享总线方式,而PCI Express采用的“端对端连接”(图11),也让每个设备可以独享总线带宽,因此可以获得比PCI更高的性能。

    图11: PCI Express端对端连接消除了桥路

    628937704

    AMD的HyperTransport技术与PCI Express极其相似,同样采用LVDS数据通道,最先用于南北桥之间的快速通信。其工作频率范围从200MHz到1GHz,位宽可以根据带宽的要求灵活选择2、4、8、16或32位。HyperTransport最先用于南北桥之间的快速通信,今后会用于所有芯片间的连接。

    2.SATA,为硬盘插上翅膀

    在ATA33之前,一直使用40根平行数据线,由于数据线之间存在串扰,限制了信号频率的提升。因此从ATA66开始,ATA数据线在两根线之间增加了1根接地线正是为了减少相互干扰。增加地线后,数据线与地线之间仍然存在分布电容C2(图12),还是无法彻底解决干扰问题,使得PATA接口的最高工作频率停留在133MHz上。除了信号干扰这一根本原因之外,PATA还存在不支持热插拔和容错性差等问题。

    图12: 并行ATA的线间串扰

    628651510

    SATA是Intel公司在IDF2000上推出的,此后Intel联合APT、Dell、IBM、Seagate以及Maxtor等业界巨头,于2001年正式推出了SATA 1.0规范。而在春季IDF2002上,SATA 2.0规范也已经公布。

    SATA接口包括4根数据线和3根地线,共有7条物理连线。目前的SATA 1.0标准,数据传输率为150MB/s,与ATA133接口133MB/s的速度略有提高,但未来的SATA 2.0/3.0可提升到300MB/s以至600MB/s。从目前硬盘速度的增长趋势来看,SATA标准至少可以满足未来数年的要求了。

    3.FireWire,图像传输如虎添翼

    FireWire(火线)是1986年由苹果电脑公司起草的,1995年被美国电气和电子工程师学会(IEEE)作为IEEE 1394推出,是USB之外的另一个高速串行通信标准。FireWire最早的应用目标为摄录设备传送数字图像信号,目前应用领域已遍及DV、DC、DVD、硬盘录像机、电视机顶盒以及家庭游戏机等。

    FireWire传输线有6根电缆,两对双绞线形成两个独立的信道,另外两根为电源线和地线。SONY公司对FireWire进行改进,舍弃了电源线和地线,形成只有两对双绞线的精简版FireWire,并取名为i.Link。

    FireWire数据传输率与USB相当,单信道带宽为400Mbps,通信距离为4.5米。不过,IEEE 1394b标准已将单信道带宽扩大到800Mbps,在IEEE 1394-2000新标准中,更是将其最大数据传输速率确定为1.6Gbps,相邻设备之间连接电缆的最大长度可扩展到100米。

    五、“串行”能红到哪天?

    阅读本文之后,如果有人问关于串行传输与并行传输谁更好的问题,你也许会脱口而出:串行通信好!但是,串行传输之所以走红,是由于将单端信号传输转变为差分信号传输,并提升了控制器工作频率的原因,而“在相同频率下并行通信速度更高”这个基本道理是永远不会错的,通过增加位宽来提高数据传输率的并行策略仍将发挥重要作用。当然,前提是有更好的措施来解决并行传输的种种问题。

    技术进步周而复始,以至无穷,没有一项技术能够永远适用。电脑技术将来跨入THz时代后,对信号传输速度的要求会更高,差分传输技术是否能满足要求?是否需要另一种更好的技术来完成频率的另一次突破呢?不妨拭目以待!

    本篇文章系转载。http://blog.csdn.net/a954423389/article/details/6963668

    这世界上有一种鸟是没有脚的,它只能够一直的飞呀飞呀,飞累了就在风里面睡觉,这种鸟一辈子只能下地一次,那一次就是它死亡的时候。

    展开全文
  • 多线程保存图片提速
  • 机器学习深度学习的发展意味着大批量的读取数据变得越来越多,读取速度也强调越来越,本着研究一下各框架的读取速度进行测试一下,然后分享出来。电脑环境是i7-8700 + 16G内存 + GTX1060配置。 1、各类python包...
  • java写的传图片到服务器的代码,越传速度越慢,尤其传大图,彩图, 已初步排除服务器带宽问题。并且配置差不多的不同的电脑,有的,有的慢, 配置差不多,上传速度缺相差很大,请问为什么?大致什么原因?
  • Nginx缓存图片,提高访问速度

    千次阅读 2019-08-20 16:29:38
    亲测有效 本文转自:https://blog.csdn.net/Amen_Wu/article/details/79454455 nginx 缓存机制https://www.cnblogs.com/jun1019/p/6260662.html Nginx之页面缓存...nginx静态资...
  • 并行接口速度比串行接口速度快,这是若干年前的情况了。 在实际时钟频率比较低的情况下,并口因为可以同时传输若干比特,速率确实比串口快。 但是,随着技术的发展,时钟频率越来越高,并行导线之间的相互干扰越来越...
  • 快速保存网页图片

    千次阅读 2018-02-06 11:57:31
    使用整站抓取网页图片的方法,我试过...我使用的方法比较笨,但是速度还可以接受,就是使用谷歌浏览器打开需要抓取图片的页面,打开调试模式(按F12打开) ,但是效果还行,拿到的图片也比较有针对性。 具体步骤 打
  • 怎样提高图片的加载速度?

    千次阅读 2020-04-30 10:29:16
    各位大佬,我想请教一下,再不改变服务器带宽的情况下,资源代下载从技术上如何提高图片的加载速度呀。 硬件是上限,你最多做静态分离,CDN,专门的事情丢给专门的工具来做. 哦哦哦,请问下2M的带宽,加载3M的图片,...
  • 我们先到cmd输入pip,如下就是配置成功了: 第六步: 重启软件后,随便装一个模块,如下:(你可以看到下载模块速度很快!) 二.手动添加镜像源 使用方法: pip install 下载的模块名 -i ...
  • qt快速缩放图片却保持精度

    千次阅读 2019-12-13 10:00:47
    Qt的QImage和QPixmap类都提供了一个scaled方法来缩放图片,该方法有个...其中快速缩放速度快但是缩放失真大,平滑缩放失真小但是速度慢,特别是质量较高的图片时,速度非常不理想。 为此有人说到一个名...
  • web前端压缩图片方法——加快页面加载速度
  • PIL 既方便又,比 OpenCV 4倍多。
  • 本文同步发表于我的微信公众号,扫一扫文章底部的二维码或在微信搜索 郭霖 即可关注,...现在Android上的图片加载框架非常成熟,从最早的老牌图片加载框架UniversalImageLoader,到后来Google推出的Volley,再到后
  • 浏览器是直接加载二进制图片还是加载base64编码的图片?哪个效率更高? 例如: img src=" https://sf-static.b0.upaiyun.com/v-57e4f057/global/img/user-256.png" /> 和
  • 什么浏览器好用稳定速度快

    千次阅读 2018-11-19 10:25:39
    什么浏览器好用稳定速度快? 说到浏览器,不知道你们是否有这样的困惑和烦恼:浏览器换了一款又一款,内存大就不说了,体验总是不尽人意。经常弹出一些莫名其妙的资讯,还会出现卡住、奔溃、网页打开不完全、打开...
  • 关于图片或者文件在数据库的存储方式归纳

    万次阅读 多人点赞 2018-09-26 15:16:17
    商品图片,用户上传的头像,其他方面的图片。目前业界存储图片有两种做法: 1、 把图片直接以二进制形式存储在数据库中 一般数据库提供一个二进制字段来存储二进制数据。比如mysql中有个blob字段。oracle数据库中...
  • Java实现PDF转图片

    万次阅读 2020-07-04 16:49:00
    最近工作中涉及PDF转图片的操作,经过测试,pdfbox转换后清晰度相对来说是比较高的 引入依赖: <dependency> <groupId>org.apache.pdfbox</groupId> <artifactId>pdfbox</...
  • 看别人的APP在加载含有大量网络图片的网页的时候,速度比较,而且别人的做法是等所有的图片全部加载完之后再显示,所以体验比较好,关键是人家的全部加载完所需要的时间不长啊,是不是有什么方法可以让WebView对于...
  • 在日常的工作中,我们经常会遇到这样的问题:发现一款很好看的字体,想要使用却发现不知道这款字体叫什么,或者,你很知道这款字体,很想用这款字体,但是又不确定这款... 省心好用,检测速度快,准确率高,值得使用!
  • 如何压缩图片大小并保证图片分辨率不变 社保图片证件照要求怎么达到 快速压缩图片 改变图片大小 像素不变 分辨率不变
  • 上面就是通过浮动实现图片轮播的原理,下面将简述切换效果速度到慢的原理,代码如下: setInterval( function () { leader = leader + (target - leader ) / 10 ; ul.style.left = leader + "px" ; },...
  • 一个好用的jquery多图片上传插件

    热门讨论 2012-03-08 14:04:12
    swfupload是比较著名的图片上传工具,可以多图片上传,在一次开发中偶遇uploadify,比swfupload还强大好用,选项也很丰富,功能也很强大,再配合ajax技术,可以把多... 就两个词:速度快,功能强大。 自己体验吧。^_^
  • 图片加载这种实现繁琐,可复用性又极强的东西最好是使用图片加载框架来实现。 到Github上面搜索下,关键词Android ImageLoad,ImageLoader、Glide、Picasso、Fresco都有这么多Star,究竟哪个框架更好呢? 有说...
  • 图片怎么存储到数据库里

    万次阅读 多人点赞 2020-12-24 12:07:26
    我们存储图片到数据库里一般有两种方式 将图片保存的路径存储到数据库(文件路径或者ftp路径) 将图片以二进制数据流的形式直接写入数据库字段中(base64) FTP:FTP服务器(File ...关于图片或者文件在数据库.

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 322,553
精华内容 129,021
关键字:

关于速度快的图片