一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

视频数据处理方法、装置、电子设备和介质与流程

2023-02-06 13:51:16 来源:中国专利 TAG:


1.本公开涉及计算机技术领域,尤其涉及一种视频数据处理方法、视频数据处理装置、电子设备、计算机可读存储介质和计算机程序产品。


背景技术:

2.人工智能相关技术被越来越多地应用到图像与视频处理中。例如,可以根据用户的不同需求,对图像或视频进行不同方式的运算处理,并将运算结果提供给用户。对于运算量较高的数据处理任务,通常可以在服务器处部署人工智能算力(例如神经网络模型),并由服务器向客户端提供相应的运算结果。
3.在此部分中描述的方法不一定是之前已经设想到或采用的方法。除非另有指明,否则不应假定此部分中描述的任何方法仅因其包括在此部分中就被认为是现有技术。类似地,除非另有指明,否则此部分中提及的问题不应认为在任何现有技术中已被公认。


技术实现要素:

4.本公开提供了一种视频数据处理方法、视频数据处理装置、电子设备、计算机可读存储介质和计算机程序产品。
5.根据本公开的一方面,提供了一种视频数据处理方法,应用于服务器。该方法包括:获取待处理的视频数据;对视频数据进行拆分,以获取多个第一图像帧;针对多个第一图像帧中的每个第一图像帧:对该第一图像帧进行图像处理,以获取图像处理结果;对该第一图像帧进行压缩,以获取压缩结果;以及将压缩结果与图像处理结果打包,以获取数据包。该方法还包括:将多个第一图像帧的数据包提供给与服务器通信连接的至少一个客户端,以使至少一个客户端中的每个客户端能够基于数据包生成经渲染的视频数据。
6.根据本公开的另一方面,提供了一种视频数据处理方法,应用于客户端。该方法包括:从与客户端通信连接的服务器获取多个数据包;针对多个数据包中的每个数据包:对该数据包进行拆分,以获取压缩结果和与压缩结果相对应的图像处理结果,压缩结果是由服务器对第一图像帧进行压缩而获取的;针对压缩结果和相对应的图像处理结果获取标识;对压缩结果进行解压缩,以获取第二图像帧;以及根据标识,对第二图像帧和与第二图像帧相对应的图像处理结果进行渲染,以获取渲染图像帧。该方法还包括:基于多个数据包的渲染图像帧,生成经渲染的视频数据。
7.根据本公开的另一方面,提供了一种视频数据处理装置,应用于服务器。该装置包括:视频数据获取单元,被配置为获取待处理的视频数据;拆分单元,被配置为对视频数据进行拆分,以获取多个第一图像帧;视频数据处理单元,被配置为针对多个第一图像帧中的每个第一图像帧:对该第一图像帧进行图像处理,以获取图像处理结果;对该第一图像帧进行压缩,以获取压缩结果;以及将压缩结果与图像处理结果打包,以获取数据包;以及视频数据发送单元,被配置为将多个第一图像帧的数据包提供给与服务器通信连接的至少一个客户端,以使至少一个客户端中的每个客户端能够基于数据包生成经渲染的视频数据。
8.根据本公开的另一方面,提供了一种视频数据处理装置,应用于客户端。该装置包括:数据包获取单元,被配置为从与客户端通信连接的服务器获取多个数据包;图像渲染单元,被配置为针对多个数据包中的每个数据包:对该数据包进行拆分,以获取压缩结果和与压缩结果相对应的图像处理结果,压缩结果是由服务器对第一图像帧进行压缩而获取的;针对压缩结果和相对应的图像处理结果获取标识;对压缩结果进行解压缩,以获取第二图像帧;以及根据标识,对第二图像帧和与第二图像帧相对应的图像处理结果进行渲染,以获取渲染图像帧;以及视频渲染单元,被配置为基于多个数据包的渲染图像帧,生成经渲染的视频数据。
9.根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述的视频数据处理方法。
10.根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,计算机指令用于使计算机执行上述的视频数据处理方法。
11.根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现上述的视频数据处理方法。
12.根据在下文中所描述的实施例,本公开的这些和其它方面将是清楚明白的,并且将参考在下文中所描述的实施例而被阐明。
附图说明
13.附图示例性地示出了实施例并且构成说明书的一部分,与说明书的文字描述一起用于讲解实施例的示例性实施方式。所示出的实施例仅出于例示的目的,并不限制权利要求的范围。在所有附图中,相同的附图标记指代类似但不一定相同的要素。
14.图1示出了根据本公开的实施例的可以在其中实施本文描述的各种方法的示例性系统的示意图;
15.图2示出了根据本公开的实施例的视频数据处理方法的流程图;
16.图3示出了根据本公开的实施例的视频数据处理方法的流程图;
17.图4示出了根据本公开的实施例的图3中视频数据处理方法的部分过程的流程图;
18.图5示出了根据本公开的实施例的视频数据处理装置的结构框图;
19.图6示出了根据本公开的实施例的视频数据处理装置的结构框图;以及
20.图7是示出能够应用于示例性实施例的示例性电子设备的框图。
具体实施方式
21.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
22.在本公开中,除非另有说明,否则使用术语“第一”、“第二”等来描述各种要素不意图限定这些要素的位置关系、时序关系或重要性关系,这种术语只是用于将一个元件与另一元件区分开。在一些示例中,第一要素和第二要素可以指向该要素的同一实例,而在某些
情况下,基于上下文的描述,它们也可以指代不同实例。
23.在本公开中对各种所述示例的描述中所使用的术语只是为了描述特定示例的目的,而并非旨在进行限制。除非上下文另外明确地表明,如果不特意限定要素的数量,则该要素可以是一个也可以是多个。此外,本公开中所使用的术语“和/或”涵盖所列出的项目中的任何一个以及全部可能的组合方式。
24.在人工智能视觉领域,因不同的业务需求,可能需要对原始视频数据进行处理,例如利用人工智能模型对视频数据进行处理以得到处理结果,再对处理结果与视频数据进行渲染以进行显示。在智慧城市或安保监控场景中,可以将视频数据输入神经网络模型,以对视频中的人物进行识别并对识别到的人物进行标注,由此可以在渲染的视频中针对其中的人物叠加显示识别结果(例如可以在监控视频中标注人脸识别结果或其他体貌特征的识别结果)。
25.在一些实施例中,可以利用服务器对视频数据进行人工智能处理,服务器完成人工智能处理后,可以将处理结果渲染到原始数据上,再将渲染后的数据数据编码为视频流。然后再由客户端从服务器拉取视频流进行播放显示。然而,由于人工智能处理和视频渲染通常都需要较高的算力,在服务器上进行人工智能处理和视频渲染可能会过多地占用服务器的运算资源,造成服务器的低使用性价比。在一些应用场景中,用户可能不需要每时每刻查看视频渲染结果。例如,在一些安保监控场景中,用户可能仅需要查看部分时段的标注有识别结果的渲染视频。对此,如果服务器对所有原始视频数据均进行人工智能处理和渲染,将浪费不必要的计算资源。此外,当多个客户端同时从服务器获取处理后的视频时,由于处理后的视频数据会占用较大的网络流量,可能造成网络带宽无法支持的问题。
26.在一些实施例中,可以利用服务器对视频数据进行人工智能处理。客户端从视频源处获取原始视频,并从服务器处获取经人工智能处理的结果,再由客户端基于原始视频和经人工智能处理的结果对视频进行渲染。这虽然可以缓解服务器的运算压力,但是,由于原始视频流和人工智能处理的数据结果是从两个不同的通道获取的,渲染结果的质量容易受到网络的影响,例如,如果客户端仅收到了原始视频流而由于网络传输问题未收到部分人工智能处理结果,则生成的渲染视频的效果将大打折扣。此外,由于这种方式的视频渲染逻辑较为复杂,两个通道的数据可能不同步,从而导致延迟较高或渲染结果异常。例如,在一些应用场景中,客户端显示的人脸识别框的位置可能无法与视频中人物的真实位置对准,从而严重影响用户查看识别结果。
27.基于此,本公开提供了一种视频数据处理方法、视频数据处理装置、电子设备、计算机可读存储介质和计算机程序产品。
28.以下将结合附图,详细描述本公开的实施例。
29.图1是图示出根据示例性实施例的可以在其中实施本文描述的各种方法的示例系统100的示意图。
30.参考图1,该系统100包括客户端设备110、服务器120、以及将客户端设备110与服务器120通信地耦合的网络130。
31.客户端设备110包括显示器114和可经由显示器114显示的客户端应用(app)112。客户端应用112可以为运行前需要下载和安装的应用程序或者作为轻量化应用程序的小程序(lite app)。在客户端应用112为运行前需要下载和安装的应用程序的情况下,客户端应
用112可以被预先安装在客户端设备110上并被激活。在客户端应用112为小程序的情况下,用户102可以通过在宿主应用中搜索客户端应用112(例如,通过客户端应用112的名称等)或扫描客户端应用112的图形码(例如,条形码、二维码等)等方式,在客户端设备110上直接运行客户端应用112,而无需安装客户端应用112。在一些实施例中,客户端设备110可以是任何类型的移动计算机设备,包括移动计算机、移动电话、可穿戴式计算机设备(例如智能手表、智能眼镜等头戴式设备)或其他类型的移动设备。在一些实施例中,客户端设备110可以替换地是固定式计算机设备,例如台式机、服务器计算机或其他类型的固定式计算机设备。
32.服务器120典型地为由互联网服务提供商(isp)或互联网内容提供商(icp)部署的服务器。服务器120可以代表单台服务器、多台服务器的集群、分布式系统、或者提供基础云服务(诸如云数据库、云计算、云存储、云通信)的云服务器。将理解的是,虽然图1中示出服务器120与仅一个客户端设备110通信,但是服务器120可以同时为多个客户端设备提供后台服务。
33.网络130的示例包括局域网(lan)、广域网(wan)、个域网(pan)、和/或诸如互联网之类的通信网络的组合。网络130可以是有线或无线网络。在一些实施例中,使用包括超文本标记语言(html)、可扩展标记语言(xml)等的技术和/或格式来处理通过网络130交换的数据。此外,还可以使用诸如安全套接字层(ssl)、传输层安全(tls)、虚拟专用网络(vpn)、网际协议安全(ipsec)等加密技术来加密所有或者一些链路。在一些实施例中,还可以使用定制和/或专用数据通信技术来取代或者补充上述数据通信技术。
34.为了本公开实施例的目的,在图1的示例中,客户端应用112可以是视频监控应用程序,该应用程序可以提供基于视频监控的各种功能,例如,显示监控视频、在监控视频中显示人脸识别结果等等。与此相应,服务器120可以是与是视频监控应用程序一起使用的服务器。该服务器120可以基于路网数据向客户端设备110中运行的客户端应用112提供在线视频处理服务。
35.图2示出了根据本公开的实施例的视频数据处理方法200的流程图。视频数据处理方法200应用于服务器(例如服务器120)。如图2所示,方法200包括:
36.步骤s210、获取待处理的视频数据;
37.步骤s220、对视频数据进行拆分,以获取多个第一图像帧;
38.针对多个第一图像帧中的每个第一图像帧,在步骤s230中进行以下处理:
39.步骤s231、对该第一图像帧进行图像处理,以获取图像处理结果;
40.步骤s232、对该第一图像帧进行压缩,以获取压缩结果;以及
41.步骤s233、将压缩结果与图像处理结果打包,以获取数据包。
42.方法200还包括步骤s240、将多个第一图像帧的数据包提供给与服务器通信连接的至少一个客户端,以使至少一个客户端中的每个客户端能够基于数据包生成经渲染的视频数据。
43.在步骤s210中,服务器可以从存储器中获取待处理的视频数据。服务器也可以从其他服务器处获取视频流数据。例如,可以基于rtsp(real time streaming protocol)协议从其他服务器获取视频流数据。在示例中,服务器可以响应于来自客户端的数据读取请求来获取待处理的视频数据。
44.在步骤s220中,对视频数据进行拆分所获取多个第一图像帧可以是组成该视频数据的所有图像帧,也可以是组成该视频数据的部分图像帧。例如,视频数据可以包括1000个图像帧,在对处理结果要求较高的情况下,可以获取拆分后的1000个图像帧作为1000个第一图像帧;在对处理结果要求相对较低的情况下,为了节省计算资源,也可以每隔一帧获取其中的一个图像帧,例如获取其中的500个图像帧作为第一图像帧。
45.在步骤s231的示例中,可以对第一图像帧进行图像识别,以确定第一图像帧中所包括的对象。进一步地,可以对识别到的对象进行分类,例如确定图像中的人物、建筑物、动物等。并且可以对图像中的人物进行进一步的识别和分类(例如确定人物性别、是否属于特定人群等)。
46.将理解的是,在步骤s231之前,可以对第一图像帧进行图像预处理,例如降噪处理、特征提取、图像分割等,以优化图像识别的效率。
47.在步骤s232的示例中,可以基于h.264标准进行压缩,以在压缩过程中提供较高的数据压缩比率和一定的容错能力。
48.随后,在步骤s240中,服务器可以将针对每个第一图像帧的数据包(包括该第一图像帧的压缩结果和图像处理结果)提供给与服务器通信连接的至少一个客户端,以使每个客户端能够基于数据包生成经渲染的视频数据。由此,服务器不对视频进行渲染,而由客户端渲染视频,可以缓解服务器的运算压力。并且服务器将每个图像帧的压缩结果和相应的图像处理结果打包提供给客户端,可以避免客户端从多个通道分别获取原始视频数据和图像处理结果,因此不会因网络影响(例如传输过程中丢失部分压缩图像或丢失部分图像处理结果)而造成客户端渲染结果发生错误。由此,可以在缓解服务器的运算压力同时,提升视频渲染结果的准确性和效率,从而提升用户体验。
49.根据一些实施例,步骤s231可以包括:将第一图像帧输入人工智能模型,以获取人工智能模型输出的包围第一图像帧中的对象的检测框和针对对象的目标检测结果。
50.在示例场景中,可以利用人工智能模型对图像中检测到的对象进行分类,并且根据需求提供针对特定对象(例如人物)的检测框和检测结果。其中,可以以像素坐标的形式提供检测框,像素坐标可以指示检测框在相应第一图像帧中的位置。并且针对对象的目标检测结果可以包括针对该对象的特征识别结果,例如标注人物对象的性别、身份、是否符合准入条件等。
51.在一些场景中,待处理视频的相邻每帧图像之间的区别可能较小。例如,在相邻每帧图像中,可能仅人物的动作或表情发生了变化,而图像中的背景没有发生变化。为了进一步减少服务器与客户端之间的数据传输流量,本公开进一步提出了如下改进。
52.根据一些实施例,压缩结果可以包括由网络抽象层nal处理得到的nal包。
53.网络抽象层(network abstraction layer,nal)属于h.264/avc视频编码标准的一部分,使得符合h.264标准的文件能容易地在不同网络(例如互联网、cdma,gprs、wcdma、cdma2000等)上传输。nal以nal-单元作为视讯编码层(video coding layer,vcl)的运算单位。
54.通过nal包,可以只发送每个图像帧中的关键数据。例如,可以只发送每帧图像相对于上一帧图像的变化量。由此,可以进一步减少服务器与客户端之间的数据传输流量,从而进一步避免因网络带宽限制而造成的视频渲染结果质量差的问题。
55.根据一些实施例,步骤s240可以包括:通过缓存或消息队列将数据包提供给至少一个客户端。
56.在示例中,服务器可以将数据包发送至消息队列,当客户端存在查看数据的需求时,可以从消息队列中获取相应的数据包,并基于数据包中的第一图像帧的压缩结果和图像处理结果生成经渲染的视频数据。消息队列的示例可以包括zeromq、kafka、rabbitmq等。
57.在示例中,服务器可以数据包发送至缓存,当客户端存在查看数据的需求时,可以从缓存中读取相应的数据包,并基于数据包中的第一图像帧的压缩结果和图像处理结果生成经渲染的视频数据。缓存的的示例可以包括redis、web cache等。
58.由此,同一待处理数据只需要被人工智能模型处理一次,则可通过使用消息队列或缓存向多个客户端提供处理后的数据,或向同一客户端多次提供处理后的数据,节省了服务器的运算资源。
59.图3示出了根据本公开的实施例的视频数据处理方法300的流程图。视频数据处理方法300应用于客户端(例如客户端设备110)。如图3所示,方法300包括:
60.步骤s310、从与客户端通信连接的服务器获取多个数据包;
61.针对多个数据包中的每个数据包,在步骤s320中进行以下处理:
62.步骤s321、对该数据包进行拆分,以获取压缩结果和与压缩结果相对应的图像处理结果,其中,压缩结果是由服务器对第一图像帧进行压缩而获取的;
63.步骤s322、针对压缩结果和相对应的图像处理结果获取标识;
64.步骤s323、对压缩结果进行解压缩,以获取第二图像帧;以及
65.步骤s324、根据标识,对第二图像帧和与第二图像帧相对应的图像处理结果进行渲染,以获取渲染图像帧。
66.方法300还包括步骤s330、基于多个数据包的渲染图像帧,生成经渲染的视频数据。
67.在步骤s310的示例中,可以通过缓存或消息队列从服务器获取多个数据包。
68.在示例中,数据包中可以包括上文中关于方法200所描述的图像压缩结果和与图像压缩结果相对应的图像处理结果。相应地,客户端对数据包进行拆分后,可以获取到数据包中的图像压缩结果和与图像压缩结果相对应的图像处理结果。
69.在步骤s322的示例中,标识可以唯一地指示压缩结果和与其相对应的图像处理结果。例如,压缩结果可以具有哈希值a作为其标识,并且与该压缩结果相对应的图像处理结果也可以具有相同的哈希值a作为其标识,由此,压缩结果和与其相对应的图像处理结果之间便具有了唯一对应关系。此外,标识可以是客户端生成的,也可以是从服务器处获取到的。例如,客户端可以在拆分数据包时,为该数据包中的一对压缩结果和图像处理结果分配相同的哈希值作为它们的标识。
70.由此,服务器不对视频进行渲染,而由客户端渲染视频,可以缓解服务器的运算压力。并且客户端基于包括压缩结果和相应的图像处理结果的数据包进行视频渲染,可以避免因网络影响而造成客户端渲染结果发生错误。客户端可以对具有相同标识的第二图像帧和图像处理结果进行渲染,由此可以避免将彼此不对应的第二图像帧和图像处理结果渲染在一起而造成渲染产生错误的结果。由此,可以在缓解服务器的运算压力同时,提升视频渲染结果的准确性和效率,从而提升用户体验。
71.图4示出了根据本公开的实施例的图3中视频数据处理方法300的部分过程的流程图。根据一些实施例,如图4所示,步骤s324可以包括:
72.步骤s401、将第二图像帧渲染到第一图层;
73.步骤s402、将具有与第二图像帧相同标识的图像处理结果渲染到第二图层,其中,第二图层具有透明背景;以及
74.步骤s403、将第一图层与第二图层叠加,以获取渲染图像帧。
75.由于第二图层具有透明背景,通过叠加第一图层与第二图层而获取到的渲染图像帧能够同时显示第二图像帧和图像处理结果中的内容。
76.在示例中,第二图像帧与压缩前的第一图像帧可以相同,即第二图像帧包括第一图像中的对象(例如人物和背景)。图像处理结果可以是包围第二图像帧中的对象(例如人物)的检测框和针对该对象(人物)的目标检测结果。针对对象的目标检测结果可以包括针对该对象的特征识别结果,例如标注人物对象的性别、身份、是否符合准入条件等。
77.根据一些实施例,标识可以包括时间戳。
78.在示例中,客户端可以以接收到每个数据包的时间作为该数据包的时间戳,并将每个数据包拆分得到的图像处理结果存储在以时间戳为键值的字典中。由于对压缩结果进行解压缩的速度可能相对较慢,当完成一帧图像的解压缩后,可以根据该压缩结果的时间戳在字典中查询具有相同时间戳的图像处理结果。由此,可以确保解压缩的图像和相应的图像处理结果能够“同步”显示在渲染视频帧中。
79.根据本公开的另一方面,还提供一种视频数据处理装置500,装置500应用于服务器。图5示出了根据本公开的实施例的视频数据处理装置500的结构框图。
80.如图5所示,装置500包括:
81.视频数据获取单元510,被配置为获取待处理的视频数据;
82.拆分单元520,被配置为对视频数据进行拆分,以获取多个第一图像帧;
83.视频数据处理单元530,被配置为针对多个第一图像帧中的每个第一图像帧:对该第一图像帧进行图像处理,以获取图像处理结果;对该第一图像帧进行压缩,以获取压缩结果;以及将压缩结果与图像处理结果打包,以获取数据包;以及
84.视频数据发送单元540,被配置为将多个第一图像帧的数据包提供给与服务器通信连接的至少一个客户端,以使至少一个客户端中的每个客户端能够基于数据包生成经渲染的视频数据。
85.应当理解,图5中所示装置500的各个单元可以与参考图2描述的方法200中的各个步骤相对应。由此,上面针对方法200描述的操作、特征和优点同样适用于装置500及其包括的单元。为了简洁起见,某些操作、特征和优点在此不再赘述。
86.根据本公开的另一方面,还提供一种视频数据处理装置600,装置600应用于客户端。图6示出了根据本公开的实施例的视频数据处理装置600的结构框图。
87.如图6所示,装置600包括:
88.数据包获取单元610,被配置为从与客户端通信连接的服务器获取多个数据包;
89.图像渲染单元620,被配置为针对多个数据包中的每个数据包:对该数据包进行拆分,以获取压缩结果和与压缩结果相对应的图像处理结果,其中,压缩结果是由服务器对第一图像帧进行压缩而获取的;针对压缩结果和相对应的图像处理结果获取标识;对压缩结
果进行解压缩,以获取第二图像帧;以及根据标识,对第二图像帧和与第二图像帧相对应的图像处理结果进行渲染,以获取渲染图像帧;以及
90.视频渲染单元630,被配置为基于多个数据包的渲染图像帧,生成经渲染的视频数据。
91.应当理解,图6中所示装置600的各个单元可以与参考图3描述的方法300中的各个步骤相对应。由此,上面针对方法300描述的操作、特征和优点同样适用于装置600及其包括的单元。为了简洁起见,某些操作、特征和优点在此不再赘述。
92.根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述的视频数据处理方法。
93.根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,计算机指令用于使计算机执行上述的视频数据处理方法。
94.根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现上述的视频数据处理方法。
95.图7是示出根据本公开的示例性实施例的电子设备700的示例的框图。需要说明的,图7所示出的结构仅是一个示例,根据具体的实现方式,本公开的电子设备可以仅包括图7所示出的组成部分中的一种或多个。
96.电子设备700例如可以是通用计算机(例如膝上型计算机、平板计算机等等各种计算机)、移动电话、个人数字助理。根据一些实施例,电子设备700可以是云计算设备和智能设备。
97.根据一些实施例,电子设备700可被配置为对图像、文本和音频中的至少一者进行处理,并且将所述处理结果传输至输出设备而提供给用户。输出设备例如可以为显示屏、包括显示屏的设备,也可以为耳机、扬声器、或振荡器等声音输出设备。例如,电子设备700可被配置为对图像进行目标检测,将目标检测结果传输至显示设备以显示,电子设备700还可被配置为对图像进行增强处理,并将增强结果传输至显示设备以显示。电子设700还可被配置为对图像中的文本进行识别,并将识别结果传输至显示设备以显示和/或将识别结果转换成声音数据并传输至声音输出设备进行播放。电子设备700还可被配置为对音频进行识别和处理,并将识别结果传输至显示设备以显示和/或将处理结果转换成声音数据并传输至声音输出设备进行播放。
98.电子设备700可以包括图像处理电路703,图像处理电路703可以被配置为对图像进行各种图像处理。图像处理电路703例如可以被配置为对图像进行以下图像处理中的至少一项:对图像进行降噪、对图像进行几何矫正、对图像进行特征提取、对图像中的对象进行检测和/或识别、对图像进行增强处理、以及对图像中包含的文字进行检测和/或识别等等。
99.电子设备700还可以包括文字识别电路704,所述文字识别电路704被配置为对图像中的文字区域进行文字检测和/或识别(例如ocr处理),从而获得文字数据。所述文字识别电路704例如可以通过专用芯片实现。电子设备700还可以包括声音转换电路705,所述声音转换电路705被配置为将所述文字数据转换成声音数据。所述声音转换电路705例如可以通过专用芯片实现。
100.电子设备700还可以包括音频处理电路706,所述音频处理电路706被配置为将音频转换为文字,从而获得音频相应的文字数据。所述音频处理电路706还可被配置为对音频相应的文字数据进行处理,例如可以包括关键字提取、意图识别、智能推荐和智能问答等等。所述音频处理电路706例如可以通过专用芯片实现。所述声音转换电路705还可被配置为将音频处理结果转换为声音数据,以适用于语音助手或虚拟客服等应用场景。
101.上述的各种电路(例如图像处理电路703、文字识别电路704、声音转换电路705、音频处理电路706中的一个或多个可以使用定制硬件,和/或可以用硬件、软件、固件、中间件、微代码,硬件描述语言或其任何组合来实现。例如,上述的各种电路中的一个或多个可以通过使用根据本公开的逻辑和算法,用汇编语言或硬件编程语言(诸如verilog,vhdl,c )对硬件(例如,包括现场可编程门阵列(fpga)和/或可编程逻辑阵列(pla)的可编程逻辑电路)进行编程来实现。
102.根据一些实施方式,电子设备700还可以包括输出设备707,所述输出设备707可以是用于呈现信息的任何类型的设备,可以包括但不限于显示屏、具有显示功能的终端、耳机、扬声器、振动器和/或打印机等。
103.根据一些实施方式,电子设备700还可以包括输入设备708,所述输入设备708可以是用于向电子设备700输入信息的任何类型的设备,可以包括但不限于各种传感器、鼠标、键盘、触摸屏、按钮、控制杆、麦克风和/或遥控器等等。
104.根据一些实施方式,电子设备700还可以包括通信设备709,所述通信设备709可以是使得能够与外部设备和/或与网络通信的任何类型的设备或系统,可以包括但不限于调制解调器、网卡、红外通信设备、无线通信设备和/或芯片组,例如蓝牙设备、802.11设备、wifi设备、wimax设备、蜂窝通信设备和/或类似物。
105.根据一些实施方式,电子设备700还可以包括处理器701。所述处理器701可以是任何类型的处理器,并且可以包括但不限于一个或多个通用处理器和/或一个或多个专用处理器(例如特殊处理芯片)。处理器701例如可以是但不限于中央处理单元cpu、图形处理器gpu、或各种专用的人工智能(ai)计算芯片等等。
106.电子设备700还可以包括工作存储器702和存储设备711。处理器701可以被配置为能够获取并且执行存储在工作存储器702、存储设备711或者其他计算机可读介质中的计算机可读指令,诸如操作系统702a的程序代码、应用程序702b的程序代码等。工作存储器702和存储设备711是用于存储指令的计算机可读存储介质的示例,所存储的指令能够由处理器701执行来实施前面所描述的各种功能。工作存储器702可以包括易失性存储器和非易失性存储器二者(例如ram、rom等等)。存储设备711可以包括硬盘驱动器、固态驱动器、可移除介质、包括外部和可移除驱动器、存储器卡、闪存、软盘、光盘(例如cd、dvd)、存储阵列、网络附属存储、存储区域网等等。工作存储器702和存储设备711在本文中都可以被统称为存储器或计算机可读存储介质,并且可以是能够把计算机可读、处理器可执行程序指令存储为计算机程序代码的非暂态介质,计算机程序代码可以由处理器701作为被配置成实施在本文的示例中所描述的操作和功能的特定机器来执行。
107.根据一些实施方式,处理器701可以对图像处理电路703、文字识别电路704、声音转换电路705、音频处理电路706以及电子设备700包括的其他各种装置和电路中的至少一个进行控制和调度。根据一些实施方式,图7中所述的各个组成部分中的至少一些可通过总
线710而相互连接和/或通信。
108.软件要素(程序)可以位于所述工作存储器702中,包括但不限于操作系统702a、一个或多个应用程序702b、驱动程序和/或其他数据和代码。
109.根据一些实施方式,用于进行前述的控制和调度的指令可以被包括在操作系统702a或者一个或多个应用程序702b中。
110.根据一些实施方式,执行本公开所述的方法步骤的指令可以被包括在一个或多个应用程序702b中,并且上述电子设备700的各个模块可以通过由处理器701读取和执行一个或多个应用程序702b的指令来实现。换言之,电子设备700可以包括处理器701以及存储程序的存储器(例如工作存储器702和/或存储设备711),所述程序包括指令,所述指令在由所述处理器701执行时使所述处理器701执行如本公开各种实施例所述的方法。
111.根据一些实施方式,图像处理电路703、文字识别电路704、声音转换电路705、音频处理电路707中的至少一个所执行的操作中的一部分或者全部可以由处理器701读取和执行一个或多个应用程序702b的指令来实现。
112.软件要素(程序)的指令的可执行代码或源代码可以存储在非暂时性计算机可读存储介质(例如所述存储设备711)中,并且在执行时可以被存入工作存储器702中(可能被编译和/或安装)。因此,本公开提供存储程序的计算机可读存储介质,所述程序包括指令,所述指令在由电子设备的处理器执行时,致使所述电子设备执行如本公开各种实施例所述的方法。根据另一种实施方式,软件要素(程序)的指令的可执行代码或源代码也可以从远程位置下载。
113.还应该理解,可以根据具体要求而进行各种变型。例如,也可以使用定制硬件,和/或可以用硬件、软件、固件、中间件、微代码,硬件描述语言或其任何组合来实现各个电路、单元、模块或者元件。例如,所公开的方法和设备所包含的电路、单元、模块或者元件中的一些或全部可以通过使用根据本公开的逻辑和算法,用汇编语言或硬件编程语言(诸如verilog,vhdl,c )对硬件(例如,包括现场可编程门阵列(fpga)和/或可编程逻辑阵列(pla)的可编程逻辑电路)进行编程来实现。
114.根据一些实施方式,电子设备700中的处理器701可以分布在网络上。例如,可以使用一个处理器执行一些处理,而同时可以由远离该一个处理器的另一个处理器执行其他处理。电子设备700的其他模块也可以类似地分布。这样,电子设备700可以被解释为在多个位置执行处理的分布式计算系统。电子设备700的处理器701也可以是云计算系统的处理器,或者是结合了区块链的处理器。
115.虽然已经参照附图描述了本公开的实施例或示例,但应理解,上述的方法、系统和设备仅仅是示例性的实施例或示例,本发明的范围并不由这些实施例或示例限制,而是仅由授权后的权利要求书及其等同范围来限定。实施例或示例中的各种要素可以被省略或者可由其等同要素替代。此外,可以通过不同于本公开中描述的次序来执行各步骤。进一步地,可以以各种方式组合实施例或示例中的各种要素。重要的是随着技术的演进,在此描述的很多要素可以由本公开之后出现的等同要素进行替换。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献