本地编辑远程存储的图像的制作方法

文档序号:6366741阅读:162来源:国知局
专利名称:本地编辑远程存储的图像的制作方法
本地编辑远程存储的图像
背景技术
可以由用户在本地收集和存储的数字媒体,例如图像。例如,用户可以拍照并且在用户的本地机器(例如,桌上型计算机、膝上型计算机、手持式计算机、智能电话等)上存储照片。此外,用户可以随后在本地观看并且编辑图像,例如通过使用驻留在他们本地机器上的图像处理应用。例如,用户可以观看本地存储的图像的集合,并且调节ー个或多个图像的特征,例如亮度、对比度、旋度、焦点、色彩等。用户还可以远程地存储图像,例如在远程存储服务的远程存储服务器上存储。作为ー个示例,用户可以通过导航到包含存储服务的网站而访问远程存储的图像。在这个示例中,可以将远程存储的图像下载到用户的本地机器进行图像编辑,并且将其上传回远程存储服务。

发明内容
提供本发明内容而以简化形式介绍精选的观点,在以下的具体实施方式
中将进ー步描述这些观点。本发明内容没有打算标识所要求保护的主题的关键因素或必要特征,也 没有打算用来限制所要求保护的主题的范围。当前,为了从用户的客户端装置编辑远程地存储的图像,将图像从包含该图像的远程服务器下载到客户端装置,用户使用本地可用的程序执行期望的编辑,并且将编辑后的图像上传回远程存储服务器。以这种方式编辑远程存储的图像可能需要相当大的带宽,因为客户端装置下载图像的全尺寸版本;可能适度地减缓了整个编辑过程,因为在本地处理全尺寸图像,其取决于本地装置的CPU和/或其他因素;并且可能适度地损害图像逼真度,这是由于在每个编辑会话之后再压缩全尺寸图像来上传。例如,其他通用的技术可以执行服务器侧的编辑。在这个示例中,客户端装置可以从远程服务器重新得到图像的“观看尺寸”版本,发送编辑命令到远程服务器,远程服务器远程地执行编辑,远程地重新处理图像,并且在每个编辑之后发送另一个观看尺寸版本到客户端。根据本地编辑可以减少这个技术的带宽使用率,但是其仍然是适度的,因为在相应编辑之后将图像的“观看尺寸”版本下载到本地装置。此外,使用这个技木,编辑过程的整体速率/响应性可能是缓慢的,因为客户端必须等待远程服务器执行编辑并且下载观看尺寸的图像。另外,使用这个技术,编辑后的图像的输出版本的逼真度是低的,因为典型地在相应编辑操作之后远程服务器再压缩图像,其可能在图像中积累了噪声。因此,公开了ー个或多个技术和/或系统,其中,可以在本地编辑远程存储的图像的全尺寸版本,其具有相对小的带宽使用率、快速地整体编辑速度,从而产生编辑后的图像的高输出逼真度。例如,客户端装置可以重新得到图像的“预览”尺寸版本,不过只有一次,对其执行期望的编辑,例如在浏览器中。在这个示例中,预览图像可以包含全尺寸图像的缩减版本,可以在本地对其执行编辑。此外,在本地编辑之后,可以仅将编辑命令发送给包含该图像的远程服务器,其中可以对该图像的全尺寸版本执行编辑,例如,从而产生编辑后的图像的高逼真度版本。在一个用于编辑远程存储的图像的实施例中,可以将图像的预览版本载入浏览器的画布(canvas)部件,例如运行在用户的本地客户端装置上。用户可以对图像的预览版本施加一个或多个编辑,并且可以将ー个或多个编辑记录为施加到预览图像的ー个或多个图像转换。例如在浏览器中可以为用户再现(render)预览图像的编辑后的版本以进行观看,该预览图像的编辑后的版本包含施加到图像的预览版本的一个或多个图像转换。在用户提交(commit)转换之后,例如,可以将请求发送给包含图像的远程服务器,以远程地编辑图像,其中,该请求包含指示ー个或多个图像转换的ー个或多个增量变化。为了达到上述以及相关的目标,以下描述和所附附图阐述了某些例证性方面和实现方式。这些表示各种方式但是较少的各种方式,其中可以使用ー个或多个方面。当连同所附附图一起考虑时,根据以下详细描述,将会明了本公开的其他方面、优点和新颖的特征。


图I是图示用于编程远程存储的图像的示范性方法的流程图。
图2是图示本文描述的ー个或多个技术的ー个或多个部分的一个实施例的流程图。图3是图示本文描述的ー个或多个技术的ー个或多个部分的一个实施例的流程图。图4是用于编辑远程存储的图像的示范性系统的部件图。图5是图示可以实现本文描述的ー个或多个系统的一个实施例的部件图。图6是包含被配置为收录本文阐述的一个或多个规定的处理器可执行指令的示范性计算机可读媒介的图示。图7图示了一种示范性计算环境,在其中可以实现本文阐述的ー个或多个規定。
具体实施例方式现在,參照附图描述所要求保护的主题,其中通常,相同的附图标记始终用于指代相同的元件。在以下描述中,为了解释起见,阐述了许多具体细节,以便提供所要求保护的主题的彻底理解。然而,非常明显的是,无需这些具体细节也可以实施所要求保护的主題。在其他情况中,以结构图形式示出了结构和装置,以便易于描述所要求保护的主題。例如,设计ー种方法,其提供相对快速、轻量(lightweight)的方式来使用网络浏览器编辑图像。可以将图像的小的预览版本载入客户端,并且在本地对其进行编辑,并且还可以在本地预览编辑。下载和处理小的预览版本可以改进编辑速度,并且减轻带宽使用要求(例如,同下载并在本地编辑的图像的全尺寸版本相比而言)。此外,例如,可以仅将编辑命令发送回远程存储图像的地方,并且可以在远程位置处理图像的全尺寸版本。这样,例如,可以减少带宽使用,并且可以增加编辑处理速度,同时在浏览器内执行期望的编辑。图I是图示用于编辑远程存储的图像的示范性方法100的流程图。示范性方法100开始于102,并且包括在104将图像的预览版本载入浏览器的画布部件。例如,画布部件可以包含作为超文本标记语言版本5 (HTML5)的一部分的画布部件,其是规定在浏览器中再现ニ维形状和位像的程序模型。画布部件还可以包含浏览器中的元素,和/或被再现的网页,其规定图像的再现和/或编辑。作为ー个例证性的示例,用户可以将他们的浏览器导航到为用户存储图像的网站(例如,基于云的存储器)。在这个示例中,用户可以选择图像以在他们的浏览器中进行观看/编辑,并且可以将图像的预览版本载入到浏览器的画布部件。在一个实施例中,载入的预览图像的大小和/或分辨率可以取决于再现图像所使用的显示器类型。例如,桌上型计算机监视器可以比手持式计算装置的屏幕包含更高的分辨率能力。在这个实施例中,例如,可以将预览图像的第一版本载入到计算机监视器(例如,较高的分辨率),并且可以将预览图像的第二版本载入到手持式屏幕(例如,较低的分辨率)。在示范性方法100的106处,记录施加到预览图像的一个或多个图像转换。例如,用户可以对浏览器中的预览图像执行ー个或多个编辑,其中这些编辑可以包含图像转换。作为ー个例证性的示例,当在浏览器中再现图像时,用户可以决定增加图像的对比度、降低亮度、増加色彩、改变色彩、裁剪图像、和/或执行可用于图像的许多图像编辑操作的任何ー个或多个。在一个实施例中,浏览器和/或画布部件可以提供编辑工具,该编辑工具允许用户将所记录的编辑施加到图像的预览版本上。在108处,再现图像编辑后的预览版本,其包含一个或多个图像转换。例如,在用户将编辑施加到预览图像之后,给用户显示预览图像编辑后的版本,以便用户可以看到所施加的编辑是如何影响图像的。作为例证性的示例,用户可以使用浏览器工具来调节浏览·器中的预览图像的对比度,并且在施加预览编辑后,可以在浏览器中显示表示对比度编辑的编辑后的版本,以供用户观看。这样,例如,用户将能决定在图像上所施加的编辑是否产生了预期效果。在110处,在提交对图像的编辑后的预览版本后,发送请求以远程地编辑图像。在这里,该请求包含ー个或多个增量变化,其指示一个或多个图像转换。例如,用户可以对预览图像执行ー个或多个编辑,并且观看预览图像编辑后的版本,一次或多次地直到他们实际提交转换的任意ー个或多个。作为ー个例证性的示例,在观看浏览器中的图像编辑后的预览版本之后,用户可以决定不接受所施加的编辑,并且该编辑被丢弃(例如,不再被保存/记录)。在一个实施例中,当丢弃编辑时,重新再现图像的预览版本(例如,不用编辑)。在这个示例中,用户可以将不同等级的对比度转换施加到图像,并且可以继续这个编辑-丢弃-编辑过程,直到他们找到他们期望保留的一个或多个转换。例如,用户可以提交一个或多个编辑,例如通过选择浏览器中的提交菜单选项,并且可以创建用于所选择的ー个或多个编辑的请求。作为ー个示例,该请求包含增量变化,增量变化可以识别由用户提交的预览图像的那些转换。增量变化可以包含识别施加到图像的全尺寸版本的一个或多个转换的指令,例如,该指令可以存储在远程服务器上。此外,例如,该请求可以包含识别远程位置的图像的信息,例如存储图像以供用户观看和编辑的网站的远程存储服务器。发送完远程编辑请求后,在112处,示范性方法100结束。图2是图示本文描述的ー个或多个技术的ー个或多个部分的一个实施例200的流程图。在202处,用户导航到包含图像的网站,例如,该图像是用户希望编辑的图像。应当意识到,为编辑而准备的图像可以不局限于由用户提供和/或存储的图像,而是可以包含用户可在浏览器中获得的任何图像(例如,并且包含可编辑属性)。例如,用户可以浏览联机存储站点、社交联网站点、包含图像的内联网位置、和/或在浏览器中提供可编辑图像的任何站点。在这个示例中,相对于用户正在利用来访问图像的客户端,远程地(例如,在远程服务器上)存储图像的全尺寸(例如,原始图像的全分辨率和/或尺寸)版本。在204处,可以为用户的客户端装置检测装置显示器属性。例如,可以将各种装置用于使用浏览器来访问图像,例如具有附加监视器(例如,其中不同的监视器可以包含不同的显示器属性)的桌上型计算机、膝上型计算机、手持式计算装置、智能电话、连接到电视的控制台装置、因特网简便电视等。相应的装置显示器可以具有不同与其他装置显示器的显示器属性,并且甚至在两个相同装置之间也可能具有不同的显示器属性(例如,如由用户设定的)。在这个示例中,可以由提供图像和/或编辑能力的远程服务、和/或由装置上的浏览器来检测由用户显示图像所使用的装置的显示器属性。例如,可以将这些显示器属性提供给远程服务器,以便可以提供图像预览版本的适当版本。在206处,例如,可以由远程服务器提供图像的预览版本,并且将其载入浏览器的画布部件。在一个实施例中,载入图像的预览版本可以包含载入远程存储的图像的縮小分辨率版本,其适合于再现图像的预览版本的显示装置。例如,图像的全尺寸版本可以包含大 量数据,其可以使用巨大量的带宽来从远程服务器下载到客户端装置,并且需要相当长的时间来下载。在这个实施例中,下载图像的縮小版本(例如,较小的尺寸,较小的分辨率)可以降低用于下载的带宽,并且提高下载速度。此外,装置显示器的显示器属性仅能再现图像的缩小分辨率版本。在示例性实施例200中的208处,用户可以将编辑施加到图像的预览版本。对图像的编辑可以包含图像从第一格式到第二格式的任何类型的转换,其可以包含改变亮度、对比度、色彩、尺寸、透明度、形状、方向、焦点、锐度、遮幅、图像主题结构和/或更多。在一个实施例中,浏览器和/或画布部件(例如HTML5画布元素)可以提供编辑工具(例如,文件菜单或按钮),编辑工具允许用户对图像执行ー个有限列表的编辑。在另ー个实施例中,在客户端装置上运行或者作为浏览器中的基于网络应用(webapp)运行的应用可以给用户提供编辑工具。在210处,可以记录施加到预览图像的转换。例如,如果用户将色彩调节施加到预览图像,则可以在本地(例如,在客户端装置上)记录色彩调节的适当的信息(例如,什么颜色,调节多少等)。在一个实施例中,浏览器(例如,或者其中的部件)可以在客户端装置的本地高速缓存中缓存转换信息。在另ー个实施例中,本地运行的应用可以在本地存储转换信息。此外,在一个实施例中,转换信息可以包含与图像相关联的元数据,并且可以在本地(例如,与信息相关的图像一起)存储转换信息。在212处,可以在浏览器中再现图像预览版本的编辑后的版本(编辑后的预览图像),例如在画布部件中。在一个实施例中,在将相应转换施加到画布部件中的预览图像之后,可以执行将图像的预览版本转换到编辑后的预览图像。例如,当用户将期望的编辑施加到预览图像时,在施加编辑后,可以在画布部件中(例如,自动地)再现包含所施加的编辑的编辑后的预览版本。作为另ー个示例,当用户激活预览操作(例如,使用用户接ロ(UI)菜单项或按钮)时,可以执行编辑后的预览图像的再现。在214处,用户可以决定接受还是拒绝施加到预览图像的转换,例如在观看编辑后的预览图像之后。如果用户拒绝该转换(在214处为否),则可以在浏览器中再现预览图像的未编辑的版本(例如,不包含该转换)(例如,预览图像的原始版本,或者如果之前施加和接受了编辑则为预览图像的上一版本)。在一个实施例中,在210处,可以记录所施加的转换的拒绝。例如,可以记录指令,指示所施加的转换没有被施加(例如,刷新预览图像)。在208-214处,用户可以将另ー个编辑施加到预览图像,并且继续记录转换,观看编辑后的预览图像,以及决定是否接受该编辑,直到用户接受了对图像的转换(在214处为是)。在218处,如果接受了转换,则用户可以确定是否可以施加另ー个编辑。在208处,如果用户希望将转换施加到编辑后的预览图像(例如,将第二转换施加到包含第一转换的预览图像),则用户可以施加该转换。在210-214处(如上所述),用户可以继续转换记录、重新观看编辑后的预览图像以及决定转换接受,直到他们接受了第二转换(例如,以及第三,第四转换等)。在一个实施例中,记录施加到预览图像的ー个或多个图像转换可以包含记录由用户以期望的施加顺序执行的转换。例如,如果第一施加对比度调节,第二施加色彩调节,并且第三施加遮幅 (cropping),则本地存储的转换的记录可以反映出编辑施加的顺序。此外,例如,转换的记录可以包含“重新设置图像”指令,其中图像转换未被接受,从而将预览图像返回到前一版本。如果用户结束编辑预览图像(在218处为否),则在220处,用户可以提交预览图像的一个或多个编辑。例如,在将ー个或多个转换施加到浏览器中的预览图像之后,可以在包含一个或多个编辑的画布部件中再现编辑后的预览图像。在这个示例中,如果用户接受相应的ー个或多个转换,则他们可以提交编辑后的预览图像,例如通过选择提交图像转换的UI菜单项或按钮(例如,或一些其他的激活操作)。图3是图示本文描述的ー个或多个技术的ー个或多个部分的一个实施例300的流程图。在302处,可以针对预览图像提交的编辑(例如,来自编辑后的预览图像)转变为增量变化350。例如,增量变化可以包含用于转换图像的全尺寸版本的信息(例如,矢量数据、像素数据、色彩数据、层数据、和/或图像位数据等),所述全尺寸版本例如存储在远程服务器上。在一个实施例中,生成ー个或多个增量变化350以指示施加到预览图像的一个或多个图像转换。在这个实施例中,仅在例如由用户为图像提交转换时,才为该转换生成增量变化。在304处,生成远程编辑图像的请求。在306处,例如,生成可以将ー个或多个增量变化封装其中的请求。在308处,可以将该请求发送给包含图像(例如,图像的全尺寸版本)的远程服务器。在一个实施例中,生成请求可以包含生成指示远程服务器读取包含在该请求中的增量变化的标记语言请求。例如,该请求可以包含到远程服务器的指令,以读取增量变化以及将它们施加到远程存储的图像的全尺寸版本。在一个实施例中,增量变化可以指示施加到预览图像、并且为图像提交的转换(例如,关于如何依据由用户施加到预览图像的编辑来编辑所存储的图像的指令)。在一个实施例中,在提交图像编辑后的预览版本时,可以生成包含ー个或多个增量变化的请求。例如,当用户观看包含期望的转换的编辑后的预览图像、并且提交该转换时,可以自动地(例如,编程地)生成请求,并且将该请求发送给远程服务器。在另ー个实施例中,在用户已经提交编辑后的预览图像的转换之后,可以提示(例如,通过Π元件)用户生成并且发送请求。在一个实施例中,可以通过驻留在网站、画布部件和/或浏览器等中的脚本语言代码(例如,JavaScript, Jscript等)生成增量变化(例如,用于远程存储的图像的图像增量指令)。在这个实施例中,例如,可以写入脚本代码以记录对预览图像的一个或多个转换,生成增量变化,并且将它们封装在发送给远程服务器的请求中。此外,在一个实施例中,用于读取请求的脚本代码可以与该请求一起封装,例如封装在可扩展标记语言中,并且将其发送给远程服务器。此外,远程服务器可以包含脚本语言代码(例如,或者使用与请求一起封装的代码),该脚本语言代码允许远程服务器读取请求,并且可以将增量变化施加到远程存储的图像。在示例性实施例300中的310处,包含图像的远程服务器可以通过读取并且施加请求中的增量变化而将编辑施加到存储的图像。在312处,远程服务器可以保存图像编辑后的版本(例如,全尺寸的图像)。在一个实施例中,发送远程编辑图像的请求可以包含请求远程服务器保留远程存储的图像的未编辑的版本。在这个实施例中,远程服务器例如可以施加由请求中的增量变化指示的转换,并且保存图像编辑后的版本,而不改写或者删除所存储的图像的未编辑的版本。
在314处,远程服务器可以返回针对该请求的响应,其指示图像远程编辑的状况。在一个实施例中,客户端装置(例如,经由浏览器)可以接收针对该请求的响应,其指示远程存储的图像的编辑的状况。此外,在316处,可以在Π元件中将远程编辑的状况显示给用户,例如在浏览器中。例如,该状况可以指示是否适当地完成了图像的远程编辑。在一个实施例中,该状况可以包含由远程服务器保存的编辑后的图像的版本的预览。这样,例如,可以通知用户他们的编辑是按照预期而被执行的。可以设计一种给用户提供在浏览器中编辑图像的方式的系统,其中远程地存储图像的全尺寸版本(例如,远离用于运行浏览器的客户端装置)。例如,用户可以使用远程图像存储服务来存储一个或多个图像,其中存储的图像包含图像的全尺寸和/或原始格式版本。可以在本地编辑远程存储的图像,并且可以将一个或多个编辑远程地施加到存储的图像,例如,不用必须将图像的全尺寸版本下载到用于执行编辑的客户端装置。此外,例如,在编辑过程期间,可以在客户端装置上显示一个或多个编辑的预览,以便用户可以决定是否提交一个或多个编辑,如果有的话。图4是一种用于编辑远程存储的图像的示范性系统400的部件图。基于计算机的处理器402被配置为处理系统的数据,并且处理器402可操作地与画布部件404相耦合。画布部件404再现浏览器450中的图像的预览版本452 (预览图像),以及浏览器450中的图像编辑后的预览版本454 (编辑后的预览图像)。例如,浏览器450可以驻留/运行在由用户使用的装置上;并且用户可以将浏览器450导航到包含用户希望编辑的图像的站点。在这个示例中,画布部件404可以操作于浏览器中,以再现预览图像452,其可以包含远程存储的全尺寸图像的缩小版本(例如,在尺寸和/或分辨率方面缩小的),和/或编辑后的预览图像454 (例如,全尺寸图像的缩小版本的编辑后的版本)。转换记录部件406可操作地与画布部件404相耦合,以记录施加到预览图像452以生成编辑后的预览图像454的图像转换。例如,用户可以将指示图像转换的编辑施加到预览图像,并且可以通过将转换施加到预览图像生成编辑后的预览图像。在这个示例中,转换记录部件406可以记录用于生成预览图像的转换的一个或多个编辑指令。
图像编辑请求部件408可操作地与转换记录部件406相耦合,并且在提交编辑后的预览图像时,图像编辑请求部件408发送请求456以远程地编辑图像。由图像编辑请求部件408发送的请求456包含一个或多个增量变化(例如,编辑图像远程存储的全尺寸版本的指令),该一个或多个增量变化指示由转换记录部件406记录的一个或多个图像转换。这样,例如,示范性系统400可以规定下载远程存储的图像的较小版本,在本地编辑图像并且仅仅发送描述如何远程地编辑全尺寸版本的指令。图5是图示可以实现本文描述的一个或多个系统的一个实施例500的部件图。在这个示例中,提供了图4的扩展,并且因此为了简单起见,可以不用重复参照图4所描述的元件、部件等的说明。预览图像转换部件510可以使用一个或多个图像转换将预览图像552转换为编辑后的预览图像554。例如,包含浏览器550的装置562的用户可以在画布部件404中观看预览图像552,并且施加期望的编辑。可以通过预览图像转换部件510将作为转换的编辑施加到预览图像552,以生成将在画布部件404中对其进行观看的编辑后的预览图像554。异步处理部件512可以产生画布部件404的线程处理,以允许画布部件404对 用户交互作出响应。例如当正在处理图像时,例如施加编辑,由浏览器运行的脚本代码的线程执行可以继续运行(其可以暂停,冻结等)用于显示图像和由用户与图像进行交互的用户接口(UI)。在一个实施例中,异步处理部件512可以有助于增加画布部件的响应性(responsiveness),例如,允许脚本代码模型不定期地将控制向后传递给Π线程,以便该UI能够向后传送/发送将要发送给远程服务器558的来自用户的命令和增量变化。如果将转换提交给图像,则增量变化生成部件516根据施加到预览图像552的一个或多个图像转换生成一个或多个增量变化。例如,装置562的用户可以观看预览图像552,并且施加编辑。当/如果提交一个或多个转换时,可以将编辑,例如对预览图像552的编辑,转变为远程服务器558上的图像的远程编辑请求556的增量变化。在一个实施例中,增量变化生成部件可以按照施加到预览图像的一个或多个转换的顺序生成该请求的一个或多个增量变化。例如,由于对预览图像552执行编辑,可以根据相应的编辑生成增量变化。请求生成部件514可以生成包含指示一个或多个图像转换的一个或多个增量变化的请求。例如,可以将由增量变化生成器516生成的增量变化封装到编辑请求556中。此夕卜,作为示例,该编辑请求可以包含标记语言代码,该标记语言代码告知包含图像的全尺寸版本的远程服务器去读取增量变化并且将增量变化施加到所存储的图像上。响应接收部件518可以接收针对远程编辑图像的请求556的响应560,其中,该响应包含由远程服务器558对图像进行远程编辑的状况的指示。例如,远程服务器558可以接收针对图像的编辑请求556,对远程存储的图像执行所请求的转换,并且发送指示对图像成功编辑的编辑响应560。另一方面,如果不能编辑远程存储的图像,或者未能成功地编辑,则该编辑响应可以指示出这种状况。例如,在一个实施例中,可以在装置562的浏览器550中指示编辑响应560,例如在用户的Π中。类似地,也可以返回编辑过程的进展(例如,70%完成)(例如,状态栏等,随着编辑过程进行而改变(例如,增加)色彩,长度等)。又一实施例包括计算机可读媒介,该计算机可读媒介包含被配置为实现本文介绍的一个或多个技术的处理器可执行指令。图6中图示了以这些方式设计的示范性计算机可读媒介,其中,实现方式600包含计算机可读媒介608 (例如,⑶-R,DVD-R,或者硬盘驱动器的盘),在其上编码有计算机可读数据606。该计算机可读数据606进而包含被配置为依照本文阐述的一个或多个原理操作的计算机指令604的集合。例如,在一个这种实施例602中,可以将处理器可执行指令604配置为执行一种方法,例如图I的示范性方法100的至少一些。例如,在另一个这种实施例中,可以将处理器可执行指令604配置为实现一种系统,例如图4的示范性系统400的至少一些。本领域技术人员可以设计许多这种计算机可读介质,以将其配置为依据本文介绍的技术操作。尽管已经以具体到结构特征和/或方法行为的语言描述了本主题,但是将理解的是,在所附权利要求中所定义的主题不必局限于如上所述的具体特征或行为。相反,仅仅将如上所述的具体特征和行为公开为实现权利要求的示例形式。在本申请中使用的术语“部件”、“模块”、“系统”、“接口”等通常规定为涉及与计算机有关的实体,或者硬件、硬件和软件的组合、软件或者执行中的软件。例如,部件可以是,但不局限于,在处理器上运行的进程、处理器、对象、可执行文件、执行的线程、程序和/或计算机。作为例证,运行在控制器上的应用和控制器双方都可以是部件。一个或多个部件 可以驻留在执行的进程和/或线程内,并且一个部件可以位于一个计算机上和/或分布在两个或多个计算机之间。此外,所要求保护的主题可以实现为使用标准编程和/或工程技术以产生软件、固件、硬件或者它们的任何组合来控制计算机实现所公开的主题的方法、设备或制品。本文使用的术语“制品”规定为包含可从任何计算机可读装置、载体或者介质存取的计算机程序。当然,在不脱离所要求保护的主题的范围或精神的情况下,本领域技术人员可以认识到能够对这种配置进行许多修改。图7及随后的讨论提供了实现本文阐述的一个或多个规定的实施例的适当的计算环境的简短、概括的说明。图7的操作环境仅是适当的操作环境的一个示例,并且没有打算对操作环境的使用或者功能范围提出任何限定。示例性计算装置包括,但不局限于,个人计算机、服务器计算机、手持式或者膝上型装置、移动装置(例如,移动电话,个人数字助理(PDA),媒体播放器等)、多处理器系统、消费电子设备、小型计算机、大型计算机、包括上述系统或装置任意一个的分布式计算环境等。尽管不是必需的,但是还是在由一个或多个计算装置执行的“计算机可读指令”的一般语境中描述了实施例。可以经由计算机可读介质(以下将讨论)分配计算机可读指令。计算机可读指令可以作为程序模块实现,例如执行特定任务或者实现特定抽象数据类型的函数、对象、应用编程接口(API)、数据结构等。典型地,可以在各种环境中随意地组合或者分配计算机可读指令的功能。图7图示了包含被配置为实现本文提供的一个或多个实施例的计算装置712的系统710的示例。在一种配置中,计算装置712包括至少一个处理单元716和存储器718。取决于计算装置准确的配置和类型,存储器718可以是易失性的(例如,诸如RAM),非易失性的(例如,诸如R0M,闪速存储器等)或者这两者的一些组合。在图7中用虚线714图示了这种配置。在其他实施例中,装置712可以包括另外的特征和/或功能。例如,装置712还可以包括附加存储器(例如,可拆卸的和/或不可拆卸的),包括但不局限于,磁存储器、光存储器等。在图7用存储器720图示了这种附加存储器。在一个实施例中,实现本文提供的一个或多个实施例的计算机可读指令可以在存储器720中。存储器720还可以存储其他计算机可读指令以实现操作系统、应用程序等。例如,可以将计算机可读指令载入存储器718中,以由处理单元716执行。本文使用的术语“计算机可读介质”包括计算机存储介质。计算机存储介质包括以任何方法或技术实现的易失性和非易失性的、可拆卸和不可拆卸的介质,以用于存储诸如计算机可读指令或者其他数据的信息。内存718和存储器720是计算机存储介质的示例。计算机存储介质包括,但不局限于,RAM、ROM、EEPR0M、闪速存储器或者其他存储技术、CD-ROM、数字通用光盘(DVD )或者其他光存储器、磁带盒、磁带、磁盘存储器或者其他磁存储装置、或者可用于存储期望的信息并且可以由装置712访问的任何其他媒介。任何这种计算机存储介质都可以是装置712的一部分。装置712还可以包括允许装置712与其他装置进行通信的一个或多个通信连接 726。一个或多个通信连接726可以包括,但不局限于,调制解调器、网络接口卡(NIC)、综合网络接口、射频发射器/接收器、红外线端口、USB连接、或者用于将计算装置712连接到其他计算装置的其他接口。一个或多个通信连接726可以包括有线连接或者无线连接。一个或多个通信连接726可以传送和/或接收通信介质。术语“计算机可读介质”可以包括通信介质。典型地,通信介质将计算机可读指令或者其他数据体现在例如载波的“调制数据信号”或其他传送机构中,并且通信介质包括任何信息递送介质。术语“调制数据信号”可以包括以将信息编码到信号中的方式使其特征的一个或多个被设置或改变的信号。装置712可以包括一个或多个输入装置724,例如键盘、鼠标、笔、语音输入装置、触摸式输入装置、红外线照相机、视频输入装置和/或任何其他输入装置。在装置712中还包括一个或多个输出装置722,例如一个或多个显不器、扬声器、打印机和/或任何其他输出装置。一个或多个输入装置724和一个或多个输出装置722可以经由有线连接、无线连接或者任何它们的组合连接到装置712。在一个实施例中,来自另一个计算装置的输入装置或者输出装置可以用作计算装置712的一个或多个输入装置724或者一个或多个输出装置722。可以通过诸如总线的各种互连连接计算装置712的部件。这种互连可以包括外设部件互连(PCI ),例如快捷PCI,通用串行总线(USB),火线(IEEE 1394),光学总线结构等。在另一个实施例中,可以通过网络互连计算装置712的部件。例如,内存718可以包括位于通过网络互连的不同物理位置的多个物理内存单元。本领域技术人员将认识到,可以跨接网络分配存储计算机可读指令所使用的存储装置。例如,经由网络728可存取的计算装置730可以存储计算机可读指令,以实现本文提供的一个或多个实施例。计算装置712可以访问计算装置730,并且下载部分或者全部的计算机可读指令以用于执行。另选地,计算装置712可以根据需要下载计算机可读指令块,或者可以在计算装置712处执行一些指令,并且可以在计算装置730处执行一些指令。本文提供了各种实施例的操作。在一个实施例中,描述的操作的一个或多个可以构成在一个或多个计算机可读介质上存储的计算机可读指令,如果其由计算装置执行,则将使得计算装置执行所描述的操作。一些或者全部操作被描述的顺序不应被解释为意味着这些操作必须依赖于顺序。从本说明书获益的本领域技术人员将会意识到另选的顺序。此夕卜,应当理解的是,不是所有的操作都必须存在于本文提供的每个实施例中。此外,本文中词语“示范性的”用来指作为示例、实例或者例证。本文描述为“示范性的”任何方面或者设计都没有必要看作优于其他方面或者设计。相反,使用词语“示范性的”是用来以具体方式介绍原理。作为本申请所使用的术语“或者”是用来指包括性的“或者”,而不是排他性的“或者”。也就是说,除非另外规定,或者上下文明确规定,“X使用A或B”是指正常包括性排列的任意一个。也就是说,如果X使用A ;X使用B ;或者X使用A和B两者,则按照上述实例的任意一个,都满足“X使用A或B”。此外,A和B的至少一个和/或其他通常意味着A或B,或者A和B两者。另外,通常,可以将本申请和所附权利要求中使用的冠词“一”和“一个”解释为“一个或多个”,除非另外规定或者上下文明确规定指出为单数形式。同样,A和B的至少一个和/或其他通常意味着A或B,或者A和B两者。同样,尽管已经参照一个或多个实现方式示出并且描述了本公开,但是基于本说 明书和所附附图的阅读和理解,本领域的其他技术人员会想到等价的变更和修改。本公开包括所有这些修改和变更,并且仅由随后权利要求的范围限定。特别对于由以上描述的部件(例如,元件,资源等)执行的各种功能,除非另有说明,否则描述这些部件所使用的术语规定为与执行所描述的部件的具体功能(例如,功能上等价的)的任何部件相对应,即使在结构上未能与执行本公开示范性实现方式所图示的本文中的功能的本公开结构相等价。另夕卜,虽然可能仅参照若干实现方式之一公开本公开的特定特征,但是可以将这种特征与其余实现方式的一个或多个其他特征进行组合,这是期望的和对任何给定或特定应用是有利的。此外,在具体实施方式
或权利要求中使用的术语“包括”、“具有”、“拥有”、“带有”或者它们的变体,这样的术语在这点意义上被规定为类似于术语“包含”是包括性的。
权利要求
1.一种用于编辑远程存储的图像的基于计算机的方法(100),所述方法(100)包括 将图像的预览版本载入浏览器的画布部件中(104); 使用基于计算机的处理器记录施加到预览图像的一个或多个图像转换(106); 再现包含所述一个或多个图像转换的编辑后的预览图像(108);以及 在提交所述图像编辑后的预览版本后,发送请求以远程地编辑所述图像,所述请求包括指示所述一个或多个图像转换的一个或多个增量变化(110)。
2.如权利要求I所述的方法,载入所述图像的预览版本包括载入所述远程存储的图像的缩小分辨率版本,其适合于再现所述图像的预览版本的显示装置。
3.如权利要求I所述的方法,记录施加到所述图像的一个或多个图像转换包括记录由 所述浏览器的画布部件的用户以期望的施加顺序执行的转换。
4.如权利要求I所述的方法,所述方法包括在将相应的转换施加到所述画布部件中的所述图像的预览版本之后,将所述图像的预览版本转换为所述图像编辑后的预览版本。
5.如权利要求I所述的方法,所述方法包括生成指示所述一个或多个图像转换的所述一个或多个增量变化。
6.如权利要求5所述的方法,生成所述一个或多个增量变化包括仅在为所述图像提交所述转换时,生成所述转换的增量变化。
7.如权利要求I所述的方法,所述方法包括在提交所述图像编辑后的预览版本后,生成包括所述一个或多个增量变化的请求。
8.如权利要求7所述的方法,生成所述请求包括生成标记语言请求,所述标记语言请求请求接收所述请求的服务器读取包括在所述请求中的所述远程存储的图像的所述增量变化。
9.如权利要求I所述的方法,发送所述请求以远程地编辑所述图像包括将所述请求发送给存储所述远程存储的图像的远程服务器。
10.如权利要求9所述的方法,发送所述请求以远程地编辑所述图像包括请求所述远程服务器将由所述一个或多个增量变化指示的所述一个或多个转换施加到所述远程存储的图像。
11.一种用于编辑远程存储的图像的系统(400),所述系统包括 基于计算机的处理器(402),其被配置为处理所述系统的数据; 画布部件(404),其可操作地与所述处理器相耦合,并且被配置为再现 在浏览器中的所述图像的预览版本;以及 在所述浏览器中的所述图像的编辑后的预览版本; 转换记录部件(406),其可操作地与所述画布部件相耦合,并且被配置为记录施加到的所述图像的预览版本的图像转换,以生成所述图像编辑后的预览版本;以及 图像编辑请求部件(408),其可操作地与所述转换记录部件相耦合,并且被配置为在提交所述图像编辑后的预览版本后,发送请求以远程地编辑所述图像,所述请求包括指示一个或多个所记录的图像转换的一个或多个增量变化。
12.如权利要求11所述的系统,所述系统包括预览图像转换部件,其被配置为利用所述一个或多个图像转换将所述图像的预览版本转换为所述图像编辑后的预览版本。
13.如权利要求11所述的系统,所述系统包括增量变化生成部件,其被配置为如果为所述图像提交所述转换,则根据施加到所述预览图像的所述一个或多个图像转换生成所述一个或多个增量变化。
14.如权利要求11所述的系统,所述系统包括请求生成部件,其被配置为生成包括指示所述一个或多个图像转换的所述一个或多个增量变化的请求。
15.如权利要求11所述的系统,所述系统包括响应接收部件,其被配置为接收针对用以远程编辑所述图像的请求的响应,所述响应包括由远程服务器对所述图像的远程编辑的状况的指示。
全文摘要
本发明公开了用于编辑远程存储的图像的一个或多个技术和/或系统。用户可以浏览包括图像的站点,并且可以将图像的预览(例如,轻量)版本载入浏览器的画布部件。可以在本地将一个或多个编辑施加到预览图像,其包含一个或多个转换。可以记录一个或多个转换,并且可以在画布部件中再现预览图像的编辑后的版本,其包含一个或多个图像转换。一旦用户提交一个或多个转换,就可以将请求发送给包含图像的远程服务器以远程地编辑图像,其中与需要多个带宽集中传送整个图像相比,该请求包括指示一个或多个提交的图像转换的一个或多个增量变化。
文档编号G06F17/30GK102708146SQ20121007772
公开日2012年10月3日 申请日期2012年3月22日 优先权日2011年3月22日
发明者G.M.埃米斯顿, H.P.费尔古森四世, O.乌德索伊 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1