用于分布式光学字符识别和分布式机器语言翻译的技术转让专利

申请号 : CN201580027153.8

文献号 : CN106462572B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 亚历山大·杰·卡斯贝特徐鹏

申请人 : 谷歌有限责任公司

摘要 :

用于在移动计算设备与服务器之间选择性分布OCR和机器语言翻译任务的技术包括接收包含文本的对象的图像。移动计算设备能够确定用于从图像获得文本的光学字符识别(OCR)复杂性程度。基于该OCR复杂性程度,移动计算设备和/或服务器能够执行OCR来获得OCR文本。移动计算设备能够确定用于将OCR文本从其源语言翻译为目标语言的翻译复杂性程度。基于该翻译复杂性程度,移动计算设备和/或服务器能够执行从源语言到目标语言的OCR文本的机器语言翻译以获得经翻译的OCR文本。然后,移动计算设备能够输出经翻译的OCR文本。

权利要求 :

1.一种计算机实现的方法,包括:

在具有一个或多个处理器的移动计算设备处接收包括源语言的文本的对象的图像;

在所述移动计算设备处确定用于对所述图像执行光学字符识别(OCR)以获得所述文本的OCR复杂性程度;

当所述OCR复杂性程度小于第一OCR复杂性阈值时,在所述移动计算设备处对所述图像执行OCR以获得OCR文本,所述第一OCR复杂性阈值表示所述移动计算设备适于执行的OCR复杂性程度;

当所述OCR复杂性程度大于所述第一OCR复杂性阈值时:

(i)将所述图像的至少一部分从移动计算设备传送至第一服务器,以及(ii)在所述移动计算设备处从所述第一服务器接收所述OCR文本的至少一部分;

在移动计算设备处确定将所述OCR文本从所述源语言翻译为目标语言的翻译复杂性程度;

当所述翻译复杂性程度小于第一翻译复杂性阈值时,在所述移动计算设备处执行从所述源语言到目标语言的对所述OCR文本的机器语言翻译以获得所述目标语言的经翻译OCR文本,所述第一翻译复杂性阈值表示所述移动计算设备适于执行的翻译复杂性程度;

当所述翻译复杂性程度大于所述第一翻译复杂性阈值时:

(i)将所述OCR文本的至少一部分传送至第二服务器,以及

(ii)从所述第二服务器接收所述经翻译OCR文本的至少一部分;以及通过修改(i)所述图像以用所述经翻译OCR文本替换所述文本,以及(ii)所述经翻译OCR文本的样式使得该样式不同于所述文本的样式,在所述移动计算设备处获取经修改的图像;

在所述移动计算设备的显示器处输出所述经翻译OCR文本。

2.根据权利要求1所述的计算机实现的方法,其中,当所述OCR复杂性程度大于所述第一OCR复杂性阈值且小于第二OCR复杂性阈值时:将所述图像的至少所述部分从所述移动计算设备传送至所述第一服务器;以及在所述移动计算设备处从所述第一服务器接收所述OCR文本的至少所述部分。

3.根据权利要求2所述的计算机实现的方法,其中,所述第二OCR复杂性阈值表示所述移动计算设备不适于执行并且所述第一服务器适于执行的OCR复杂性程度。

4.根据权利要求3所述的计算机实现的方法,其中,当所述OCR复杂性程度大于所述第二OCR复杂性阈值时:将所述图像的全部从所述移动计算设备传送至所述第一服务器;以及

在所述移动计算设备处从所述第一服务器接收所述OCR文本的全部。

5.根据权利要求1所述的计算机实现的方法,其中,当所述翻译复杂性程度大于所述第一翻译复杂性阈值并且小于第二翻译复杂性阈值时:将所述OCR文本的至少所述部分从所述移动计算设备传送至所述第二服务器;以及在所述移动计算设备处从所述第二服务器接收所述经翻译OCR文本的至少所述部分。

6.根据权利要求5所述的计算机实现的方法,其中,所述第二翻译复杂性阈值表示所述移动计算设备不适于执行并且所述第二服务器适于执行的翻译复杂性程度。

7.根据权利要求6所述的计算机实现的方法,其中,当所述翻译复杂性程度大于所述第二翻译复杂性阈值时:将所述OCR文本的全部从所述移动计算设备传送至所述第二服务器;以及在所述移动计算设备处从所述第二服务器接收所述经翻译OCR文本的全部。

8.根据权利要求1所述的计算机实现的方法,其中,所述经翻译OCR文本包括第一部分和第二部分,其分别对应于由所述移动计算设备和所述第二服务器进行的机器语言翻译,以及其中,输出所述经翻译OCR文本包括:在所述移动计算设备的所述显示器处输出所述经翻译OCR文本的所述第一部分,同时等待来自所述第二服务器的所述经翻译OCR文本的所述第二部分。

9.根据权利要求8所述的计算机实现的方法,其中,所述OCR文本包括第一部分和第二部分,其分别对应于所述经翻译OCR文本的所述第一部分和所述第二部分,以及其中,输出所述经翻译OCR文本包括:在所述移动计算设备的所述显示器处输出所述经翻译OCR文本的所述第一部分和所述OCR文本的所述第二部分,同时等待来自所述第二服务器的所述经翻译OCR文本的所述第二部分。

10.根据权利要求9所述的计算机实现的方法,进一步包括响应于从所述第二服务器接收到所述经翻译OCR文本的所述第二部分,在所述移动计算设备的所述显示器处输出所述经翻译OCR文本的所述第一部分和所述第二部分。

11.一种具有一个或多个处理器的移动计算设备,被配置来执行操作,包括:接收包括源语言的文本的对象的图像;

确定用于对所述图像执行光学字符识别(OCR)以获得所述文本的OCR复杂性程度;

当所述OCR复杂性程度小于第一OCR复杂性阈值时,对所述图像执行OCR以获得OCR文本,所述第一OCR复杂性阈值表示所述移动计算设备适于执行的OCR复杂性程度;

当所述OCR复杂性程度大于所述第一OCR复杂性阈值时:

(i)经由通信设备将所述图像的至少一部分传送至第一服务器,以及(ii)经由所述通信设备从所述第一服务器接收所述OCR文本的至少一部分;

确定将所述OCR文本从所述源语言翻译为目标语言的翻译复杂性程度;

当所述翻译复杂性程度小于第一翻译复杂性阈值时,执行从所述源语言到目标语言的对所述OCR文本的机器语言翻译以获得所述目标语言的经翻译OCR文本,所述第一翻译复杂性阈值表示所述移动计算设备适于执行的翻译复杂性程度;

当所述翻译复杂性程度大于所述第一翻译复杂性阈值时:

(i)经由所述通信设备将所述OCR文本的至少一部分传送至第二服务器,以及(ii)经由所述通信设备从所述第二服务器接收所述经翻译OCR文本的至少一部分;

通过修改(i)所述图像以用所述经翻译OCR文本替换所述文本,以及(ii)所述经翻译OCR文本的样式使得该样式不同于所述文本的样式,在所述移动计算设备处获取经修改的图像;以及在所述移动计算设备的显示器处输出所述经翻译OCR文本。

12.根据权利要求11所述的移动计算设备,其中,当所述OCR复杂性程度大于所述第一OCR复杂性阈值且小于第二OCR复杂性阈值时,所述操作进一步包括:经由所述通信设备将所述图像的至少所述部分传送至所述第一服务器;以及经由所述通信设备从所述第一服务器接收所述OCR文本的至少所述部分。

13.根据权利要求12所述的移动计算设备,其中,所述第二OCR复杂性阈值表示所述移动计算设备不适于执行并且所述第一服务器适于执行的OCR复杂性程度。

14.根据权利要求13所述的移动计算设备,其中,当所述OCR复杂性程度大于所述第二OCR复杂性阈值时,所述操作进一步包括:经由所述通信设备将所述图像的全部传送至所述第一服务器;以及

经由所述通信设备从所述第一服务器接收所述OCR文本的全部。

15.根据权利要求11所述的移动计算设备,其中,当所述翻译复杂性程度大于所述第一翻译复杂性阈值并且小于第二翻译复杂性阈值时,所述操作进一步包括:经由所述通信设备将所述OCR文本的至少所述部分传送至所述第二服务器;以及经由所述通信设备从所述第二服务器接收所述经翻译OCR文本的至少所述部分。

16.根据权利要求15所述的移动计算设备,其中,所述第二翻译复杂性阈值表示所述移动计算设备不适于执行并且所述第二服务器适于执行的翻译复杂性程度。

17.根据权利要求16所述的移动计算设备,其中,当所述翻译复杂性程度大于第二翻译复杂性阈值时,所述操作进一步包括:经由所述通信设备将所述OCR文本的全部传送至所述第二服务器;以及经由所述通信设备从所述第二服务器接收所述经翻译OCR文本的全部。

18.根据权利要求11所述的移动计算设备,其中,所述经翻译OCR文本包括第一部分和第二部分,其分别对应于由所述移动计算设备和所述第二服务器进行的机器语言翻译,以及其中,在所述移动计算设备的所述显示器处输出所述经翻译OCR文本包括:显示所述经翻译OCR文本的所述第一部分,同时等待来自所述第二服务器的所述经翻译OCR文本的所述第二部分。

19.根据权利要求18所述的移动计算设备,其中,所述OCR文本包括第一部分和第二部分,其分别对应于所述经翻译OCR文本的所述第一部分和所述第二部分,以及其中,在所述移动计算设备的所述显示器处输出所述经翻译OCR文本包括:显示所述经翻译OCR文本的所述第一部分和所述OCR文本的所述第二部分,同时等待来自所述第二服务器的所述经翻译OCR文本的所述第二部分。

20.根据权利要求19所述的移动计算设备,其中,所述操作进一步包括:响应于从所述第二服务器接收到所述经翻译OCR文本的所述第二部分,在所述移动计算设备的所述显示器处输出所述经翻译OCR文本的所述第一部分和所述第二部分。

说明书 :

用于分布式光学字符识别和分布式机器语言翻译的技术

[0001] 相关申请的交叉引用
[0002] 本申请要求2014年4月29日提交的美国实用申请No.14/264,296的优先权。上述申请的公开内容通过引用整体合并入本文。

技术领域

[0003] 本公开大体涉及移动计算设备,更具体涉及用于分布式光学字符识别(OCR)和分布式机器语言翻译的技术。

背景技术

[0004] 本文提供的背景描述出于一般地呈现本公开的场境的目的。在背景技术部分所描述的范围内的当前已知的发明者的工作,以及在提交时不适格作为现有技术的本说明书的方面,既不明确也不隐含地被承认为本公开的现有技术。
[0005] 光学字符识别(OCR)涉及使用计算设备——例如服务器来检测图像中的文本。与例如由用户手工将文本输入到用户设备内相比,OCR能够提供更快的方式来在用户设备上获得数字形式的文本。在获得图像中的文本之后,文本能够以各种方式来被利用。例如,文本能够由计算设备来处理、存储在存储器中、和/或传送到另一计算设备。处理文本的一个示例是机器语言翻译,其涉及使用计算设备将文本从源语言翻译为不同的目标语言。

发明内容

[0006] 呈现了一种计算机实现的技术。该技术能够包括在具有一个或多个处理器的移动计算设备处接收包括源语言的文本的对象的图像。该技术能够包括在该移动计算设备处确定用于对该图像执行光学字符识别(OCR)以获得该文本的OCR复杂性程度。当该OCR复杂性程度小于第一OCR复杂性阈值时,该技术能够包括在该移动计算设备处对该图像执行OCR以获得OCR文本,该第一OCR复杂性阈值表示该移动计算设备适于执行的OCR复杂性程度。当该OCR复杂性程度大于该第一OCR复杂性阈值时,该技术能够包括:(i)将该图像的至少一部分从移动计算设备传送至第一服务器,以及(ii)在该移动计算设备处从该第一服务器接收所述OCR文本的至少一部分。该技术能够包括在该移动计算设备处确定将该OCR文本从该源语言翻译成目标语言的翻译复杂性程度。当该翻译复杂性程度小于第一翻译复杂性阈值时,该技术能够包括在该移动计算设备处执行该OCR文本从该源语言到目标语言的机器语言翻译以获得该目标语言的经翻译OCR文本,该第一OCR复杂性阈值表示该移动计算设备适于执行的翻译复杂性程度。当该翻译复杂性程度大于该第一翻译复杂性阈值时,该技术能够包括:(i)将所述OCR文本的至少一部分传送至第二服务器,以及(ii)从该第二服务器接收该经翻译OCR文本的至少一部分。该技术还能够包括在该移动计算设备的显示器处输出该经翻译OCR文本。
[0007] 在一些实施例中,当OCR复杂性程度大于第一OCR复杂性阈值且小于第二OCR复杂性阈值时,该技术能够包括:将所述图像的至少所述部分从移动计算设备传送至第一服务器,以及在该移动计算设备处从该第一服务器接收所述OCR文本的至少所述部分。
[0008] 在其他实施例中,第二OCR复杂性阈值表示移动计算设备不适于执行并且第一服务器适于执行的OCR复杂性程度。
[0009] 在一些实施例中,当OCR复杂性程度大于第二OCR复杂性阈值时,该技术能够包括:将所述图像的全部从移动计算设备传送至第一服务器,以及在该移动计算设备处从该第一服务器接收OCR文本的全部。
[0010] 在其他实施例中,当翻译复杂性程度大于第一翻译复杂性阈值且小于第二翻译复杂性阈值时,该技术能够包括:将所述OCR文本的至少所述部分从移动计算设备传送至第二服务器,以及在该移动计算设备从该第二服务器接收经翻译OCR文本的至少所述部分。
[0011] 在一些实施例中,第二翻译复杂性阈值表示移动计算设备不适于执行且第二服务器适于执行的翻译复杂性程度。
[0012] 在其他实施例中,当OCR复杂性程度大于第二翻译复杂性阈值时,该技术能够包括:将所述OCR文本的全部从移动计算设备传送至第二服务器,以及在该移动计算设备处从第一服务器接收经翻译OCR文本的全部。
[0013] 在一些实施例中,经翻译OCR文本包括分别与由移动计算设备和第二服务器进行的机器语言翻译相对应的第一部分和第二部分,以及输出该经翻译OCR文本包括在该移动计算设备的显示器上输出经翻译OCR文本的所述第一部分,同时等待来自该第二服务器的经翻译OCR文本的所述第二部分。
[0014] 在其他实施例中,OCR文本包括分别与经翻译OCR文本的第一部分和第二部分相对应的第一部分和第二部分,输出经翻译OCR文本包括:在移动计算设备的显示器上输出经翻译OCR文本的所述第一部分和OCR文本的所述第二部分,同时等待来自第二服务器的经翻译OCR文本的所述第二部分。
[0015] 在一些实施例中,该技术进一步包括响应于从第二服务器接收到经翻译OCR文本的第二部分,在移动计算设备的显示器处输出所述经翻译OCR文本的第一部分和第二部分。
[0016] 呈现了一种具有一个或多个处理器的移动计算设备,其被配置为执行操作。所述操作能够包括:接收包括源语言的文本的对象的图像。该操作能够包括:确定用于对该图像执行OCR以获得文本的OCR复杂性程度。当该OCR复杂性程度小于第一OCR复杂性阈值时,所述操作能够包括对该图像执行OCR以获得OCR文本,该第一OCR复杂性阈值表示该移动计算设备适于执行的OCR复杂性程度。当该OCR复杂性程度大于该第一OCR复杂性阈值时,所述操作能够包括:(i)经由通信设备将所述图像的至少一部分传送至第一服务器,以及(ii)经由该通信设备从第一服务器接收所述OCR文本的至少一部分。所述操作能够包括确定将该OCR文本从源语言翻译成目标语言的翻译复杂性程度。当该翻译复杂性程度小于第一翻译复杂性阈值时,所述操作能够包括执行该OCR文本从源语言到目标语言的机器语言翻译以获得目标语言的经翻译OCR文本,所述第一OCR复杂性阈值表示该移动计算设备适于执行的翻译复杂性程度。当翻译复杂性程度大于该第一翻译复杂性阈值时,所述操作能够包括:(i)经由通信设备将所述OCR文本的至少一部分传送至第二服务器,以及(ii)经由该通信设备从第二服务器接收经翻译OCR文本的至少一部分。所述操作还能够包括:在所述移动计算设备的显示器处输出所述经翻译OCR文本。
[0017] 在一些实施例中,当OCR复杂性程度大于第一OCR复杂性阈值且小于第二OCR复杂性阈值时,所述操作能够进一步包括:经由通信设备将所述图像的至少所述部分传送至第一服务器,以及经由该通信设备从该第一服务器接收所述OCR文本的至少所述部分。
[0018] 在其他实施例中,第二OCR复杂性阈值表示移动计算设备不适于执行并且第一服务器适于执行的OCR复杂性程度。
[0019] 在一些实施例中,当OCR复杂性程度大于第二OCR复杂性阈值时,所述操作能够进一步包括:经由通信设备将所述图像的全部传送至第一服务器,以及经由该通信设备从该第一服务器接收OCR文本的全部。
[0020] 在其他实施例中,当翻译复杂性程度大于第一翻译复杂性阈值且小于第二翻译复杂性阈值时,所述操作能够进一步包括:经由通信设备将所述OCR文本的至少所述部分传送至第二服务器,以及经由该通信设备从该第二服务器接收经翻译OCR文本的至少所述部分。
[0021] 在一些实施例中,第二翻译复杂性阈值表示移动计算设备不适于执行而第二服务器适于执行的翻译复杂性程度。
[0022] 在其他实施例中,当OCR复杂性程度大于第二翻译复杂性阈值时,所述操作能够进一步包括:经由通信设备将所述OCR文本的全部传送至第二服务器,以及经由该通信设备从第一服务器接收经翻译OCR文本的全部。
[0023] 在一些实施例中,经翻译OCR文本包括分别与由移动计算设备和第二服务器进行的机器语言翻译相对应的第一部分和第二部分,以及在该移动计算设备的显示器上输出经翻译OCR文本包括:显示经翻译OCR文本的所述第一部分,同时等待来自该第二服务器的经翻译OCR文本的所述第二部分。
[0024] 在其他实施例中,OCR文本包括分别与所述经翻译OCR文本的第一部分和第二部分相对应的第一部分和第二部分,以及在移动计算设备的显示器处输出经翻译OCR文本包括:显示经翻译OCR文本的所述第一部分和OCR文本的所述第二部分,同时等待来自第二服务器的经翻译OCR文本的所述第二部分。
[0025] 在一些实施例中,所述操作进一步包括:响应于从所述第二服务器接收到所述经翻译OCR文本的所述第二部分,在移动计算设备的显示器处输出经翻译OCR文本的所述第一部分和所述第二部分。
[0026] 还呈现了另一个计算机实现的技术。该技术能够包括在具有一个或多个处理器的移动计算设备处接收包括源语言的文本的对象的图像。该技术能够包括在该移动计算设备处确定用于对该图像执行OCR以获得该文本的OCR复杂性程度。该技术能够包括基于该OCR复杂性程度来从移动计算设备向服务器传送所述图像的至少一部分。该技术能够包括在移动计算设备处从服务器接收OCR结果。该技术能够包括在移动计算设备处获得基于OCR结果的OCR文本。该技术能够包括在移动计算设备处获得从源语言到目标语言的OCR文本的机器语言翻译以获得经翻译的OCR文本。该技术还能够包括在移动计算设备的显示器上输出经翻译的OCR文本。
[0027] 在一些实施例中,该技术进一步包括:当OCR复杂性程度小于第一OCR复杂性阈值时,在移动计算设备处对于整个图像执行OCR,以及当OCR复杂性程度大于第一OCR复杂性阈值时,从移动计算设备向服务器传送所述图像的至少一部分。
[0028] 在其他实施例中,第一OCR复杂性阈值表示移动计算设备适于自身来执行的OCR复杂性程度。
[0029] 在一些实施例中,该技术进一步包括当OCR复杂性程度大于第二OCR复杂性阈值时,从移动计算设备向服务器传送图像的全部,所述第二OCR复杂性阈值大于第一OCR复杂性阈值。
[0030] 在其他实施例中,第二OCR复杂性阈值表示移动计算设备不适于自身来执行的OCR复杂性程度。
[0031] 在一些实施例中,当OCR复杂性程度在第一和第二OCR复杂性阈值之间时,移动计算设备对图像的第一部分执行OCR且该移动计算设备将所述图像的第二部分传送至服务器,所述图像的第一部分和第二部分共同形成整个图像。
[0032] 还呈现了另一个计算机实现的技术。该技术能够包括在具有一个或多个处理器的移动计算设备处接收包括源语言的文本的对象的图像。该技术能够包括在移动计算设备处获得对于对象和文本的OCR结果以获得OCR文本。该技术能够包括在移动计算设备处确定OCR文本的源语言。该技术能够包括在移动计算设备处确定用于执行从源语言到目标语言的OCR文本的机器语言翻译的翻译复杂性程度。该技术能够包括基于该翻译复杂性程度来从移动计算设备向服务器传送OCR文本的至少一部分。该技术能够包括在该移动计算设备处从服务器接收机器语言翻译结果。该技术能够包括在移动计算设备处获得基于机器语言翻译结果的经翻译OCR文本。该技术还能够包括在移动计算设备的显示器处输出经翻译OCR文本。
[0033] 在一些实施例中,该技术进一步包括:当翻译复杂性程度小于第一翻译复杂性阈值时,在移动计算设备处对于整个OCR文本执行机器语言翻译,以及当翻译复杂性程度大于第一翻译复杂性阈值时,从移动计算设备向服务器传送该OCR文本的至少一部分。
[0034] 在其他实施例中,第一翻译复杂性阈值表示移动计算设备适于自身来执行的翻译复杂性程度。
[0035] 在一些实施例中,该技术进一步包括:当翻译复杂性程度大于第二翻译复杂性阈值时,从移动计算设备向服务器传送OCR文本的全部,所述第二复杂性阈值大于第一翻译复杂性阈值。
[0036] 在其他实施例中,第二翻译复杂性阈值表示移动计算设备不适于自身来执行的翻译复杂性程度。
[0037] 在一些实施例中,当翻译复杂性程度在第一和第二翻译复杂性阈值之间时,移动计算设备对于OCR文本的第一部分执行机器语言翻译,以及移动计算设备向服务器传送OCR文本的第二部分,所述OCR文本的第一部分和第二部分共同形成整个OCR文本。
[0038] 在其他实施例中,在从服务器接收OCR文本的第二部分的机器语言翻译结果之前,移动计算设备所获得的OCR文本的第一部分的机器语言翻译结果被输出到该移动计算设备的显示器。
[0039] 还呈现了另一个计算机实现的技术。该技术能够包括在具有一个或多个处理器的移动计算设备处接收包括源语言的文本的对象的图像。该技术能够包括在该移动计算设备处确定用于对该图像执行OCR以获得文本的OCR复杂性程度。该技术能够包括基于OCR复杂性程度来从移动计算设备向第一服务器传送该图像的至少一部分。该技术能够包括在移动计算设备处从该第一服务器接收OCR结果。该技术能够包括来在移动计算设备处获得基于OCR结果的OCR文本。该技术能够包括在移动计算设备处确定执行从源语言到目标语言的对OCR文本的机器语言翻译的翻译复杂性程度。该技术能够包括基于翻译复杂性程度来从移动计算设备向第二服务器传送该OCR文本的至少一部分。该技术能够包括在移动计算设备处从该第二服务器接收机器语言翻译结果。该技术能够包括在移动计算设备处获得基于机器语言翻译结果的经翻译OCR文本。该技术还能够包括在移动计算设备的显示器上输出经翻译OCR文本。
[0040] 在一些实施例中,该技术进一步包括:当OCR复杂性程度小于第一OCR复杂性阈值时,在移动计算设备处对整个图像执行OCR,其中第一OCR复杂性阈值表示移动计算设备适于自身来执行的OCR复杂性程度,以及当OCR复杂性程度大于第一OCR复杂性阈值时,从移动计算设备向第一服务器传送图像的至少一部分。
[0041] 在其他实施例中,该技术进一步包括:当OCR复杂性程度大于第二OCR复杂性阈值时,从移动计算设备向第一服务器传送图像的全部,第二OCR复杂性阈值大于第一OCR复杂性阈值,其中第二OCR复杂性阈值表示移动计算设备不适于自身来执行的OCR复杂性程度,以及当OCR复杂性程度在第一和第二OCR复杂性阈值之间时,移动计算设备对图像的第一部分执行OCR并且该移动计算设备将所述图像的第二部分传送至第一服务器,所述图像的第一部分和第二部分共同形成整个图像。
[0042] 在一些实施例中,该技术进一步包括:当翻译复杂性程度小于第一翻译复杂性阈值时,在移动计算设备处对于整个OCR文本执行机器语言翻译,其中第一翻译复杂性阈值表示移动计算设备适于自身来执行的翻译复杂性程度,以及当翻译复杂性程度大于第一翻译复杂性阈值时,从移动计算设备向第二服务器传送该OCR文本的至少一部分。
[0043] 在其他实施例中,该技术进一步包括:当翻译复杂性程度大于第二翻译复杂性阈值时,从移动计算设备向第二服务器传送OCR文本的全部,所述第二翻译复杂性阈值大于第一翻译复杂性阈值,其中第二翻译复杂性阈值表示移动计算设备不适于自身来执行的翻译复杂性程度,以及当翻译复杂性程度在第一和第二翻译复杂性阈值之间时,移动计算设备对于OCR文本的第一部分执行机器语言翻译以及移动计算设备向服务器传送OCR文本的第二部分,所述OCR文本的第一部分和第二部分共同形成整个OCR文本。
[0044] 在一些实施例中,经翻译OCR文本包括分别与由移动计算设备和第二服务器进行的机器语言翻译相对应的第一部分和第二部分,以及在该移动计算设备的显示器上输出经翻译OCR文本包括:显示经翻译OCR文本的所述第一部分,同时等待来自该第二服务器的经翻译OCR文本的所述第二部分,并且随后响应于从所述第二服务器接收到所述经翻译OCR文本的所述第二部分,在移动计算设备的显示器上输出经翻译OCR文本的第一部分和第二部分。
[0045] 还呈现了另一种计算机实现的技术。该技术能够包括在具有一个或多个处理的移动计算设备处获得源语言的文本。该技术能够包括在移动计算设备处确定文本的源语言。该技术能够包括在移动计算设备处确定用于执行从源语言到目标语言的对文本的机器语言翻译的翻译复杂性程度。该技术能够包括基于该翻译复杂性程度来从移动计算设备向服务器传送该文本的至少一部分。该技术能够包括在移动计算设备处从服务器接收机器语言翻译结果。该技术能够包括在移动计算设备处获得基于机器语言翻译结果的经翻译文本。
该技术还能够包括在移动计算设备的显示器处输出经翻译文本。
[0046] 在一些实施例中,该技术进一步包括:当翻译复杂性程度小于第一翻译复杂性阈值时,在移动计算设备处对于整个文本执行机器语言翻译,以及当翻译复杂性程度大于第一翻译复杂性阈值时,从移动计算设备向服务器传送该文本的至少一部分。
[0047] 在其他实施例中,第一翻译复杂性阈值表示移动计算设备适于自身来执行的翻译复杂性程度。
[0048] 在一些实施例中,该技术进一步包括当翻译复杂性程度大于第二翻译复杂性阈值时,从移动计算设备向服务器传送文本的全部,第二翻译复杂性阈值大于第一复杂性阈值。
[0049] 在其他实施例中,第二翻译复杂性阈值表示移动计算设备不适于自身来执行的翻译复杂性程度。
[0050] 在一些实施例中,当翻译复杂性程度在第一和第二翻译复杂性阈值之间时,移动计算设备对于文本的第一部分执行机器语言翻译,以及移动计算设备向服务器传送文本的第二部分,该文本的第一部分和第二部分共同形成整个文本。
[0051] 在其他实施例中,在从服务器接收文本的第二部分的机器语言翻译结果之前,移动计算设备所获得的文本的第一部分的机器语言翻译结果被输出到该移动计算设备的显示器。
[0052] 本公开的进一步的应用领域根据下文提供的具体实施方式将变得明显。应当理解,具体实施方式和特定示例意图仅用于说明目的而非意图限制本公开的范围。

附图说明

[0053] 本公开从具体实施方式和附图将被更完全地理解,其中:
[0054] 图1是根据本公开的一些实施方式的包括示例移动计算设备的计算网络的功能框图;
[0055] 图2是图1的示例移动计算设备的功能框图;
[0056] 图3A-3C是根据本公开的一些实施方式的、用于分布式光学字符识别(OCR)和/或分布式机器语言翻译的示例技术的流程图;以及
[0057] 图4A-4D图示了根据本公开的一些实施方式的、在分布式OCR和机器语言翻译技术的执行期间在各个阶段处的示例移动计算设备的示例显示。

具体实施方式

[0058] 计算机服务器能够具有比移动计算设备(平板计算机、移动电话等等)更强大的处理能力,因此它们能够生成更好的光学字符识别(OCR)结果和机器语言翻译结果。尽管计算服务器通常能够生成更快和/或更准确的结果,但是在移动计算设备上获得这些结果能够由于与传送数据相关联的网络延迟而更慢。此外,在简单/不复杂的情况下,移动计算设备可以有能力生成与服务器相同的结果。例如,图像可以具有少量文本和/或非常大的文本。类似地,例如,要翻译的文本可以具有少量的字符/词/句子和/或可能是语言上简单的文本。
[0059] 因此,提出了用于分布式OCR和分布式语言翻译的技术。这些技术涉及基于各个OCR和/或机器语言翻译任务的复杂性程度来使所述任务在移动计算设备与一个或多个服务器之间选择性分布。移动计算设备能够接收包括源语言的文本的对象的图像。移动计算设备能够确定从图像获得文本的OCR复杂性程度。基于该OCR复杂性程度,移动计算设备和/或服务器能够执行OCR以获得OCR文本。然后,移动计算设备能够确定用于将OCR文本从源语言翻译成目标语言的翻译复杂性程度。基于该翻译复杂性程度,移动计算设备和/或服务器能够执行OCR文本从源语言到目标语言的机器语言翻译以获得经翻译的OCR文本。然后,移动计算设备能够输出经翻译的OCR文本。将认识到,本公开的分布式OCR技术和分布式机器语言翻译技术能够被单独(分离)地使用或一起使用。在一个示例实施方式中,本公开的分布式OCR技术能够被用来获得OCR文本,而经翻译的文本能够从OCR文本获得。在另一示例实施方式中,OCR文本能够从图像获得,并且能够执行本公开的分布式机器语言翻译技术来获得经翻译的文本。在其他示例实现中,能够使用本公开的分布式OCR技术来确定和存储/输出OCR文本,和/或使用本公开的分布式机器语言翻译技术来确定和存储/输出经翻译的输入文本。
[0060] 现在参照图1,图示了计算网络100。计算网络100包括服务器104a和104b(统称为“服务器104”)。例如,服务器104a可以是OCR服务器并且服务器104b可以是机器语言翻译服务器。但是,应当认识到,本文所使用的术语“服务器”能够指代单个硬件计算机服务器和在并行或分布式架构中操作的多个相似的服务器。因此,计算网络100可以包括执行OCR和机器语言翻译这二者的单个服务器104,或者计算网络100可以包括共同执行OCR和机器语言翻译的三个或更多服务器。
[0061] 移动计算设备108被配置来经由网络112与服务器104通信,移动计算设备108的示例包括膝上型计算机、平板计算机、移动电话、以及可穿戴技术——诸如智能手表、眼镜、或包含计算设备的其他可穿戴对象。但是,应当认识到,本公开的技术能够在具有显示器和相机的任何计算设备——例如桌面计算机处实现。网络112能够包括局域网(LAN)、广域网(WAN)——例如互联网、或者其组合。移动计算设备108能够与用户116相关联。例如,用户116能够经由显示器120——例如触摸显示器来与移动计算设备108进行交互。
[0062] 用户116能够使用移动计算设备108来与其上具有文本128的对象124交互。对象124能够是适合于显示文本128的任何对象,文本128包括但不限于文档、符号、广告、和菜单。例如,用户116可以命令移动计算设备108使用与移动计算设备108相关联的相机212(参见图2)捕获对象124及其文本128的图像。OCR能够对图像执行OCR以检测文本128。在获得文本128之后,文本128能够随后从其源语言被翻译为目标语言,诸如用户116所理解/所说的语言。
[0063] 现在参照图2,图示了示例移动计算设备108的功能框图。移动计算设备108能够包括显示器120、通信设备200、处理器204、存储器208、和相机212。应当认识到,移动计算设备108还能够包括其他合适的组件,诸如物理按钮、麦克风、和扬声器。通信设备200能够包括任何合适的组件(诸如收发器),其被配置为经由网络112与诸如服务器104的其他设备通信。存储器208能够是被配置来在移动计算设备108上存储信息的任何合适的存储介质(闪存、硬盘等)。
[0064] 处理器204能够控制移动计算设备108的操作。处理器204所执行的示例功能包括但不限于控制经由通信设备200传送/接收信息以及控制存储器208处的读/写操作。处理器204还能够处理从相机212接收的信息并且输出该信息到显示器120。相机212能够是被配置为捕获对象124及其文本128的图像的任何合适的相机(电荷耦合器件(CCD)、互补金属氧化物半导体(CMOS)等),。在一个实施方式中,显示器120是被配置来从用户116接收输入的触摸显示器。处理器204还能够被配置来执行本公开的技术的至少一部分,现在对其进行更详细的讨论。
[0065] 处理器204能够从相机212接收对象124及其文本128的图像。通过用户116对相机212定位并提供用以捕获图像的输入,图像能够被相机212捕获。当请求对图像进行OCR时,处理器204能够确定文本128的OCR复杂性程度。例如,OCR复杂性程度可以响应于OCR请求而被确定,所述OCR请求是(i)响应于用户116的输入而生成的或(ii)响应于利用相机212捕获图像而自动生成的。OCR复杂性程度指示处理器204自己执行OCR的困难程度。基于OCR复杂性程度,处理器204能够确定是否传送图像到服务器104a以进行OCR。
[0066] 确定OCR复杂性程度的示例因素包括但不限于:图像的分辨率、对象124和/或其文本128的大小、文本128的样式/字体、和/或图像被捕获时所处的角度/视野。更具体地,当以一个角度捕获图像时,即不是从正上方(straight-on)或正前方(straight-forward)来捕获,图像中的文本128可能是歪斜的。高分辨率图像可以对应于较低的OCR复杂性程度,而低分辨率图像可以对应于较高的OCR复杂性程度。大的、无样式的、和/或基本字体可以对应于较低的OCR复杂性程度,而小的、有样式的、和/或复杂字体可以对应于较高OCR复杂性程度。小或无歪斜可以对应于较低的OCR复杂性程度,而高度歪斜的文本可以对应于较高的OCR复杂性程度。
[0067] 如上面所提及的,处理器204能够基于OCR复杂性程度来确定是否传送图像到服务器104a以进行OCR。例如,处理器204可以将OCR复杂性程度与一个或多个OCR复杂性阈值进行比较。OCR复杂性阈值能够是预定义或用户定义的。在一些情况下,OCR复杂性程度可以指示服务器104a适于(或者比处理器204更适于)对于图像的至少一部分执行OCR。在这些情况下,处理器204可以将图像的至少一部分传送到服务器104a。在其他情况下,处理器204可以将整个图像传送到服务器104a以进行OCR,或者可以不传送任何图像到服务器104a并且由此可以完全自己来执行OCR。
[0068] 更具体地,当OCR复杂性程度小于第一OCR复杂性阈值时,处理器204可以完全自己来执行OCR。当OCR复杂性程度大于第一OCR复杂性阈值且小于第二OCR复杂性阈值时,处理器204可以将图像的至少一部分传送到服务器104b。当OCR复杂性程度大于第二OCR复杂性阈值时,处理器204可以将整个图像传送到服务器104b。此外,在一些情况下,处理器204可以确定较低分辨率版本的图像对服务器104a是足够的,并且因此处理器204可以将较低分辨率版本的图像的至少一部分传送到服务器104a。当图像的至少一部分被传送到服务器104a时,服务器104a能够将OCR结果返回到移动计算设备108。
[0069] 服务器104a和处理器204对图像进行OCR的适合性能够分别指代服务器104a和处理器204执行OCR的准确度和/或效率的预期水平。处理器204能够使用任何合适的OCR算法来自己执行OCR。在本地和/或从服务器104a获得OCR结果之后,处理器204能够编译OCR结果以获得OCR文本。OCR文本表示对于其上具有文本128的对象124的OCR结果。取决于OCR结果的质量,OCR文本可能与文本128相同或者与文本128不同。处理器204能够确定OCR文本的源语言。
[0070] 一旦获得了OCR文本,处理器204就能够确定OCR文本的源语言。当处理器204在其对源语言的确定上不确信时,处理器204可以将OCR文本发送到服务器104b以进行该确定,并且如果请求的话则也进行机器语言翻译。当请求OCR文本的机器语言翻译时,OCR文本能够从其源语言被翻译成目标语言。例如,OCR文本能够响应于翻译请求来被翻译,所述翻译请求是(i)响应于来自用户116的输入而生成的或(ii)响应于确定源语言不是用户所优选的一个或多个语言而自动生成。响应于该翻译请求,处理器204能够确定将OCR文本从源语言翻译成目标语言的翻译复杂性程度。翻译复杂性程度指示处理器204自己对OCR文本执行机器语言翻译的困难程度。
[0071] 确定翻译复杂性程度的示例因素包括但不限于:源语言和/或目标语言的复杂性以及OCR文本中字符、词、和/或句子的数目。较不复杂(简单)、较常见、和/或较多被利用的语言可以对应于较低的翻译复杂性程度,而较复杂、较不常见、和/或较少被利用的语言可以对应于较高的翻译复杂性程度。较少字符、词、和/或句子可以对应于较低的翻译复杂性程度,而较多字符、词、和/或句子可以对应于较高的翻译复杂性程度。仅作为示例,英语可以具有低的翻译复杂性程度并且俄语可以具有高的翻译复杂性程度。
[0072] 基于翻译复杂性程度,处理器204能够确定是否将OCR文本传送到服务器104b以进行机器语言翻译。例如,处理器204可以将翻译复杂性程度与一个或多个翻译复杂性阈值进行比较。翻译复杂性阈值能够是预定的或用户定义的。移动计算设备108还可以具有本地语言包,例如存储在存储器208处的本地语言包,并且这些本地语言包可以包含处理器204自己执行机器语言翻译时能够使用的信息。因此,这些本地语言包的存在与类型可以影响翻译复杂性阈值。在一些情况下,翻译复杂性程度可以指示服务器104b适合(或者比处理器204更适合)对于OCR文本的至少一部分执行机器语言翻译。
[0073] 在这些情况下,处理器204可以将OCR文本的至少一部分传送到服务器104b。在其他情况下,处理器204可以将整个OCR文本传送到服务器104b以进行OCR,或者可以不将任何OCR文本传送给服务器104b,并且由此可以完全自己来执行机器语言翻译。更具体地,当翻译复杂性程度小于第一翻译复杂性阈值时,处理器204可以完全自己来执行机器语言翻译。当翻译复杂性程度大于第一翻译复杂性阈值且小于第二翻译复杂性阈值时,处理器204可以将OCR文本的至少一部分传送到服务器104b。当翻译复杂性程度大于第二翻译复杂性阈值时,处理器204可以将整个OCR文本传送到服务器104b。
[0074] 处理器204能够使用任何合适的机器翻译算法来自己执行机器语言翻译。在本地和/或从服务器104b获得机器语言翻译结果之后,处理器204能够编译该机器语言翻译结果以获得经翻译的文本。经翻译的文本表示OCR文本的机器语言翻译结果。取决于机器语言翻译结果的质量,经翻译的文本可能是或可能不是OCR文本从源语言到目标语言的准确翻译。类似地,取决于如上所讨论的OCR结果的质量,经翻译的文本可能是或可能不是对象124的文本128从源语言到目标语言的准确翻译。在获得经翻译的文本之后,处理器204能够输出经翻译的文本。例如,处理器204能够输出经翻译的文本到显示器120。
[0075] 现在参照图3A,图示了用于分布式OCR和分布式机器语言翻译的示例技术300的流程图。在304处,移动计算设备108能够接收包括源语言的文本128的对象124的图像。在308处,移动计算设备108能够确定对图像执行OCR以获得文本128的OCR复杂性程度。在312处,移动计算设备108能够对OCR复杂性程度与第一OCR复杂性阈值和第二OCR复杂性阈值进行比较。当OCR复杂性程度小于第一OCR复杂性阈值时,在316处,处理器204能够完全自己对图像执行OCR,并且然后前进到332。
[0076] 当OCR复杂性程度在第一OCR复杂性阈值和第二OCR复杂性阈值之间时,在320处,移动计算设备108能够将图像的一部分传送到服务器104a以执行OCR,并且然后前进到328。当OCR复杂性程度大于第二OCR复杂性阈值时,在324处,移动计算设备108能够将整个图像传送到服务器104a以执行OCR并且然后前进到328。在328处,移动计算设备108能够从服务器104a接收OCR结果并且获得OCR文本。在332处,移动计算设备108能够确定OCR文本的源语言。在一些实施方式中,移动计算设备108可以将OCR文本的至少一部分传送到服务器104b以确定源语言。
[0077] 在336处,移动计算设备108能够确定用于将OCR文本从源语言翻译成目标语言的翻译复杂性程度。在340处,移动计算设备108能够将翻译复杂性程度与第一翻译复杂性阈值和第二翻译复杂性阈值进行比较。当翻译复杂性程度小于第一翻译复杂性阈值时,在344处,移动计算设备108能够完全自己对OCR文本执行机器语言翻译,并且然后前进到360。当翻译复杂性程度在第一翻译复杂性阈值和第二翻译复杂性阈值之间时,在348处,移动计算设备108能够将OCR文本的一部分传送到服务器104b以执行机器语言翻译,并且然后前进到356。
[0078] 当翻译复杂性程度大于第二翻译复杂性阈值时,在352处,移动计算设备108能够将整个OCR文本传送到服务器104b以进行机器语言翻译,并且然后前进到356。在356处,移动计算设备108能够从服务器104b接收机器语言翻译结果并且获得经翻译的OCR文本。在360处,移动计算设备108能够在显示器120处输出经翻译的OCR文本。在一些实施方式中,在显示器处输出经翻译的OCR文本包括在输出从服务器104b获得的OCR文本的另一部分之前输出由移动计算设备获得的经翻译的OCR文本的一部分。然后,技术300能够结束或返回304以进行一个或多个附加循环。
[0079] 现在参照图3B,呈现了用于分布式OCR的示例技术370。在371处,移动计算设备104能够接收包括源语言的文本128的对象124的图像。在372处,移动计算设备108能够确定对图像执行OCR以获得文本128的OCR复杂性程度。在373处,移动计算设备108能够基于OCR复杂性程度来将图像的至少一部分传送到服务器104a。在374处,移动计算设备108能够从服务器104a接收OCR结果。在375处,移动计算设备108能够使用OCR结果获得OCR文本。在376处,移动计算设备108能够获得OCR文本从源语言到目标语言的机器语言翻译以获得经翻译的OCR文本。在377处,移动计算设备108能够输出经翻译的OCR文本。然后,技术370能够结束或返回371以进行一个或多个附加循环。
[0080] 现在参照图3C,呈现了用于分布式机器语言翻译的示例技术380。在381处,移动计算设备108能够接收包括源语言的文本128的对象124的图像。在382处,移动计算设备108能够从该图像获得OCR文本。在383处,移动计算设备108能够确定OCR文本的源语言。在一些实施方式中,移动计算设备108能够将OCR文本的至少一部分传送到服务器104b以确定源语言。在384处,移动计算设备108能够确定用于执行从源语言到目标语言的OCR文本的机器语言翻译的翻译复杂性程度。在385处,移动计算设备108能够基于翻译复杂性程度来将OCR文本的至少一部分传送到服务器104b。在386处,移动计算设备108能够从服务器104b接收机器语言翻译结果。在387处,移动计算设备108能够基于机器语言翻译结果来获得OCR文本从源语言到目标语言的翻译以获得经翻译的OCR文本。在388处,移动计算设备108能够输出经翻译的OCR文本。然后,技术380能够结束或返回381以进行一个或多个附加循环。
[0081] 现在参照图4A至图4B,图示了在分布式OCR和机器语言翻译技术的执行期间在各个阶段的示例移动计算设备108的显示120。图4A图示了对象124的图像,其处于图4A至图4B的目的是法语菜单。该菜单包括页眉/标题文本404(“La Menu”),其大于其他文本408。如本文先前所讨论的,OCR复杂性程度能够取决于文本大小、文本样式(粗体、斜体等)、以及其他类似因素而不同。在这个示例中,移动计算设备108对于页眉/标题文本404执行OCR并且服务器104a对于其他文本408执行OCR。更具体地,移动计算设备108对包含页眉/标题文本404的第一部分412执行OCR,并且服务器104a对包含其他文本408的第二部分416执行OCR。
[0082] 图4B图示了分布式OCR的结果。移动计算设备108从第一部分412获取页眉/标题OCR文本420,并且服务器104a获取和提供另一OCR文本424。这些OCR文本420、424共同表示图像的OCR文本。在一些实施方式中,OCR文本420、424能够被斜体化或以其他方式来突出标记(accent)——例如勾轮廓或镶边以指示完成OCR和/或机器语言翻译还未执行。例如,本地OCR可以被首先完成,并且由此在其他OCR文本424之前页眉/标题OCR文本420可以被突出标记。在这个示例中,用户116是说英语的用户,不能阅读或理解法语,因此他/她请求机器语言翻译。这可以是自动执行的,例如基于他们的语言偏好来执行,或者响应于来自用户116的输入——例如选择诸如相机图标的图标来执行、或者通过按动物理按钮来执行。
[0083] 图4C图示了从法语到英语的本地机器语言翻译的结果。在这个示例中,移动计算设备108具有例如存储在存储器208上的法语-英语本地语言包,并且因此移动计算设备108能够进行一些法语到英语的机器语言翻译。更具体地,移动计算设备108执行对OCR文本的第一部分的机器语言翻译以获得第一经翻译的OCR文本432。OCR文本的该第一部分428可以包括对于法语到英语的机器语言翻译而言容易/简单的词。但是,移动计算设备108可能不能够、不准确、或不足以执行对OCR文本的第二部分436的机器语言翻译。更具体地,OCR文本的该第二部分436包括移动计算设备108不适于执行OCR的词440(Escargots)。
[0084] 因为翻译复杂性程度太高,例如因为词440不在本地语言包中,所以移动计算设备108能够确定OCR文本的第二部分436的应当被发送到服务器104b以进行机器语言翻译。在一些实施方式中,一旦完成机器语言翻译,文本的样式/突出标记就能够被去除以通知用户
116。如图4C中所示,第一经翻译OCR文本432不具有样式或突出标记。最后,图4D图示了从法语到英语的分布式机器语言翻译的结果。服务器104b已经获得和提供了第二经翻译OCR文本444。第一经翻译OCR文本432和第二经翻译OCR文本444共同表示图像的经翻译的OCR文本。响应于从服务器104b接收到第二经翻译OCR文本444,移动计算设备108显示第二经翻译OCR文本444。例如,移动计算设备108可以以第二经翻译OCR文本444覆盖词440和/或从词
440渐变为第二经翻译OCR文本444。
[0085] 提供示例实施例以使得本公开将透彻,且将完全地向本领域技术人员传达其范围。阐述了诸如具体组件、设备、和方法的示例的许多具体细节,以提供对本公开的实施例的透彻的理解。对于本领域技术人员将显而易见的是,不必采用所述体细节,可以以许多不同的形式来体现示例实施例并且这两者都不应被解释为限制本公开的范围。在一些示例实施例中,公知的过程、公知的设备结构、和公知的技术没有被详细描述。
[0086] 这里使用的术语的目的仅仅在于描述具体示例实施例并且不意图进行限制。如本文所使用的,除非上下文另外清楚地指示,单数形式的“一”、“一个”、和“该”意图也可以包括复数形式。术语“和/或”包括关联的所列出项目中的一个或多个的任何组合和所有组合。术语“包括”、“包含”、和“具有”是包含性的,并且因此指定所陈述的特征、整体、步骤、操作、元素、和/或组件的存在,但不排除一个或多个其他特征、整体、步骤、操作、元素、组件、和/或其群组的存在或添加。不应将本文所述的方法步骤、过程、和操作理解为必需要求以所讨论或所图示的特定顺序来执行它们,除非明确标识为执行顺序。还应理解,可以利用附加步骤或替选的步骤。
[0087] 尽管可以在本文中使用术语第一、第二、第三等来描述各个元素、组件、区域、层和/或部分,这些元素、组件、区域、层和/或部分不应当受这些术语限制。这些术语可以仅仅被用来区分一个元素、组件、区域、层或部分与另一区域、层或部分。诸如“第一”、“第二”、和其他数字术语的术语在本文中被使用时不暗示顺序或次序,除非由上下文清楚指示。因此,在不偏离示例实施例的教导的情况下,下面讨论的第一元素、组件、区域、层或部分可以被称作第二元素、组件、区域、层或部分。
[0088] 如本文所使用的,术语模块可以指代以下、是以下的一部分、或包括以下:专用集成电路(ASIC);电子电路;组合逻辑电路;现场可编程门阵列(FPGA);执行代码或过程的联网集群或数据中心中的存储以及处理器或处理器的分布式网络(共享的、专用的、或分组的);提供分布式功能的其他合适的组件;或以上中一些或全部的组合,诸如在片上系统中。术语模块还能够包括存储由一个或多个处理器执行的代码的存储器(共享的、专用的、或分组的)。
[0089] 如上面所使用的,术语代码可以包括软件、固件、字节代码和/或微代码,并且可以指代程序、例程、功能、类、和/或对象。如上面所使用的,术语“共享”意指来自多个模块的一些或所有代码可以使用单个(共享的)处理器来执行。此外,来自多个模块的一些或所有代码可以由单个(共享的)存储器存储。如上面所使用的,术语“群组”意指来自单个模块的一些或所有代码可以使用处理器群组来执行。此外,来自单个模块的一些或全部代码可以使用存储器的群组来存储。
[0090] 本文所描述的技术可以通过由一个或多个处理器执行的一个或多个计算机程序来实现。计算机程序包括存储在非瞬时性有形计算机可读介质上的处理器可执行的指令。计算机程序还可以包括存储的数据。非瞬时性有形计算机可读介质的非限制性示例是非易失性存储器、磁存储、和光存储。
[0091] 上面描述的一些部分在对信息的操作的算法和符号表示方面介绍了本文所描述的技术。这些算法描述和表示是数据处理领域的技术人员用来向领域中其它技术人员最有效地传达他们工作的实质的手段。这些操作在从功能上或逻辑上进行描述时,被理解为由计算机程序来实现。而且,也已经证明,在不损失一般性的情况下,将操作的这些布置称作模块或通过功能名称来称呼这些布置有时是方便的。
[0092] 除非明确指出,否则从上述讨论显而易见的是,应认识到在整个说明书中,利用诸如“处理”或“计算”或“确定”或“显示”等术语的讨论指代计算机系统或类似电子计算设备的动作和过程,其在计算机系统存储器或寄存器或其他这样的信息存储、传输或者显示设备内操纵和变换被表示为物理(电子)量的数据。
[0093] 所述技术的某些方面包括以算法形式在本文中描述的过程步骤和指令。应当注意到,所描述的过程步骤和指令可以被包含在软件、固件或硬件中,并且当被包含在软件中时,可以被下载以驻留在由实时网络操作系统使用的不同平台上并且可以从其被操作。
[0094] 本公开还涉及用于执行本文中的操作的装置。该装置能够被特别构建以用于所需目的,或者其可以包括由存储在能够由计算机访问的计算机可读介质上的计算机程序选择性地激活或重新配置的通用计算机。这样的计算机程序可以被存储在有形计算机可读存储介质中,诸如但不限于:包括软盘、光盘、CD-ROM、磁光盘的任何类型的盘、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁卡或光卡、专用集成电路(ASIC)、或者适于存储电子指令的任何类型的介质,并且均耦合至计算机系统总线。此外,本说明书中所提到的计算机可以包括单个处理器、或者可以是采用针对增加提高的计算能力而设计的多个处理器的架构。
[0095] 本文所介绍的算法和操作并非固有地与任何特定计算机或其他装置相关。根据本文的教导,各个通用系统也可以与程序一起使用,或者可以证明构造更专门的装置来执行所需的方法步骤是方便的。用于各种这些系统的所需结构连同等效变型对本领域的技术人员将是显而易见的。此外,本公开并非关于任何特定编程语言来被描述。应当认识到,各种编程语言都可以被用来实现本文所述的本公开的教导,并且对特定语言的任何引用被提供用于对本发明的实现和最佳模式的公开。
[0096] 本公开非常适用于在众多拓扑结构上的广泛多种计算机网络系统。在本领域内,大型网络的配置和管理包括:通过诸如互联网的网络来通信地耦合至不同的计算机和存储设备的存储设备和计算机。
[0097] 出于说明和描述的目的而提供了实施例的前述描述。其不意图穷尽或者限制本公开。特定实施例的个体元素或特征通常不限于该特定实施例,而在适用的情况下,即使没有具体示出或描述,也是可互换的并且能够被用于所选择的实施例。同样也可以以许多方式变化。这样的变型不被视为偏离本公开,并且所有这样的修改意图被包括在本公开的范围内。