CN117499781A - 一种拍照方法、物联网设备及协同工作系统 - Google Patents
一种拍照方法、物联网设备及协同工作系统 Download PDFInfo
- Publication number
- CN117499781A CN117499781A CN202210869233.XA CN202210869233A CN117499781A CN 117499781 A CN117499781 A CN 117499781A CN 202210869233 A CN202210869233 A CN 202210869233A CN 117499781 A CN117499781 A CN 117499781A
- Authority
- CN
- China
- Prior art keywords
- photographing
- request
- task
- internet
- camera
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 230000005540 biological transmission Effects 0.000 claims description 66
- 230000006855 networking Effects 0.000 claims 2
- 238000007726 management method Methods 0.000 description 85
- 238000004891 communication Methods 0.000 description 39
- 230000006870 function Effects 0.000 description 30
- 238000012545 processing Methods 0.000 description 24
- 238000010586 diagram Methods 0.000 description 14
- 230000005236 sound signal Effects 0.000 description 9
- 238000001914 filtration Methods 0.000 description 5
- 238000010295 mobile communication Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 230000006978 adaptation Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 238000009877 rendering Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000004807 localization Effects 0.000 description 2
- 230000001537 neural effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Landscapes
- Telephonic Communication Services (AREA)
Abstract
本申请提供了一种拍照方法、物联网设备及协同工作系统,涉及终端技术领域与物联网技术领域。其中,该方法包括:接收到所述至少一个电子设备发送的至少一个拍照请求,其中,每个所述电子设备发送一个拍照请求;对所述至少一个拍照请求中的每个拍照请求创建对应的拍照任务,并按照接收到每个所述拍照请求的时间先后顺序将各所述拍照任务插入拍照任务队列,所述拍照任务队列的首位拍照任务为最先接收到的拍照请求对应的拍照任务;执行所述首位拍照任务以获取照片数据;向所述至少一个电子设备发送所述照片数据。利用该方法,能够使一台物联网设备同时收到多台电子设备的拍照请求后,将照片正确回传至多台电子设备,提升了用户体验。
Description
技术领域
本申请涉及终端技术领域,尤其涉及一种拍照方法、物联网设备及协同工作系统。
背景技术
目前,通过在手机、平板电脑等中心侧设备上安装有设备虚拟化软件开发套件(device virtualization software development kit,DVSDK)和分布式移动感知开发平台(distribute mobile sensing development platform,DMSDP)等组件,并在台灯等可以使用相机的物联网(Internet of Things,IoT)设备上设置对应的DMSDP进行适配,可以使中心侧设备与IoT设备连接,并使中心侧设备上能使用IoT设备的虚拟化相机功能。
以上技术的一种典型的应用场景为教育场景。中心侧设备上安装有的教育类应用程序,可以发出拍照请求,台灯等IoT设备利用摄像头进行拍照后,将照片回传至中心侧设备,以实现答疑、作业递交等功能。
但是,目前的方案中一台IoT设备仅能响应一台中心侧设备的拍照请求。当IoT设备同时收到多台中心侧设备的拍照请求后,可能出现照片回传异常,导致虚拟相机拍照服务中断,影响体验。
发明内容
为了解决上述问题,本申请提供了一种拍照方法、物联网设备及协同工作系统,能够使一台IoT设备同时收到多台电子设备,也即多台中心侧设备的拍照请求后,将照片正确回传至多台电子设备,提升了用户体验。
第一方面,本申请提供了一种拍照方法,应用于物联网设备,所述物联网设备用于连接至少一个电子设备,所述拍照方法包括:接收到所述至少一个电子设备发送的至少一个拍照请求,其中,每个所述电子设备发送一个拍照请求;对所述至少一个拍照请求中的每个拍照请求创建对应的拍照任务,并按照接收到每个所述拍照请求的时间先后顺序将各所述拍照任务插入拍照任务队列,所述拍照任务队列的首位拍照任务为最先接收到的拍照请求对应的拍照任务;执行所述首位拍照任务以获取照片数据;向所述至少一个电子设备发送所述照片数据。
本申请提供的方案,利用拍照任务队列排列各拍照请求对应的拍照任务,队列按照先后顺序进行排列。仅下发队列中队首的拍照任务对应的拍照请求命令,避免多次重复下发拍照任务,导致相机驱动崩溃或工作异常。获取照片数据后,向各个电子设备分别发送该照片数据,也即通过一次拍照完成了多个拍照任务。利用该方案,能够使一台IoT设备同时收到多台中心侧设备的拍照请求后,将照片正确回传至多台中心侧设备,避免出现照片回传异常而导致虚拟相机拍照服务中断,因此提升了用户体验。
在一种可能的实现方式中,所述按照接收到每个所述拍照请求的时间先后顺序将各所述拍照任务插入拍照任务队列之前,所述方法还包括:
生成所述拍照任务队列。
在一种可能的实现方式中,所述生成所述拍照任务队列,具体包括:
以所述物联网设备允许建立的传输通道的最大数量值,为所述拍照任务队中列允许插入的拍照任务数量的上限值,创建所述拍照任务队列;所述传输通道用于传输所述拍照请求和所述照片数据,每个所述电子设备至多和所述物联网设备建立一条所述传输通道。
在一种可能的实现方式中,所述生成所述拍照任务队列,具体包括:
以所述物联网设备当前建立的传输通道的数量,为所述拍照任务队中列允许插入的拍照任务数量的上限值,创建所述拍照任务队列;所述传输通道用于传输所述拍照请求和所述照片数据,每个所述电子设备至多和所述物联网设备建立一条所述传输通道。
因为本申请的协同工作系统支持空闲释放通道,当中心侧设备与物联网设备建立的通道长时间未传输数据时,会销毁该通道,以释放空间,减少资源占用。因此拍照任务队列不需要太长,与传输通道的数量相同即可,能够进行动态变化,以减少资源占用。
在一种可能的实现方式中,所述方法还包括:
当所述物联网设备建立的所述传输通道均被销毁时,删除所述拍照任务队列。
当中心侧设备与物联网设备建立的通道因长时间未传输数据而销毁时,拍照任务队列也可以进行删除,以释放存储空间,减少资源占用。
在一种可能的实现方式中,所述执行所述首位拍照任务以获取照片数据,具体包括:
向所述物联网设备的相机驱动发送所述首位拍照任务对应的拍照请求命令;
所述相机驱动驱动所述物联网设备的摄像头拍摄图像,以获取所述照片数据。
在一种可能的实现方式中,所述物联网设备用于连接至少两个电子设备并接收到至少两个拍照请求,所述对所述至少一个拍照请求中的每个拍照请求创建对应的拍照任务,并按照接收到每个所述拍照请求的时间先后顺序对各所述拍照任务进行排序以形成拍照任务队列,具体包括:
分别为所述至少两个拍照请求中的每个拍照请求创建对应的拍照任务;
存储每个所述拍照请求与对应的拍照任务的对应关系;
按照接收到所述至少两个拍照请求中的每个拍照请的顺序,将各所述拍照任务插入拍照任务队列。
在一种可能的实现方式中,所述向所述至少一个电子设备发送所述照片数据,具体包括:
拷贝所述照片数据,并分别向所述拍照任务队列中的各拍照任务填充所述照片数据;
根据存储的每个所述拍照请求与对应的拍照任务的对应关系,将各所述拍照请求对应的拍照任务中填充的所述照片数据,回传至各发送所述的拍照请求的电子设备。
第二方面,本申请还提供了一种物联网设备,该物联网设备包括摄像头、存储器和处理器。存储器与处理器耦合,摄像头与所述处理器耦合,物联网设备包括的摄像头的数量可以为一个或多个。存储器存储有程序指令,当所述程序指令由所述处理器执行时,使得物联网设备执行以上第一方面或第一方面对应的各实现方式中提供的拍照方法。
物联网设备用于提供硬件虚拟化服务,具体包括拍照管理模块。该拍照管理本模块包括队列管理模块和照片共享模块。队列管理模块用于根据设备互联服务发送的多个拍照请求生成对应的多个拍照任务,并按照时间顺序填充入拍照任务队列,并向相机驱动下发队列首位的拍照任务对应的拍照请求命令。拍照任务队列中的每个拍照任务对应一个拍照请求,因此拍照任务的顺序对应拍照请求的顺序。
照片共享模块向拍照任务队列中的各拍照任务分别填充照片数据。照片共享模块用于实现照片数据的共享。
在一些实施例中,照片共享模块具体用于将照片数据拷贝,分别填充至各个拍照任务。
第三方面,本申请还提供了一种协同工作系统,协同工作系统中包括一个或多个电子设备,以及一个或多个第二方面提供的物联网设备。
在一种可能的实现方式中,所述协同工作系统中包括至少两个电子设备,所述至少两个电子设备中的每个电子设备,均与所述物联网设备建立传输通道。
附图说明
图1为场景示意图一;
图2a为本申请提供的一种中心侧设备的示意图;
图2b为本申请提供的中心侧设备的软件结构的示意图;
图3a为本申请提供的一种IoT设备的示意图;
图3b为本申请提供的IoT设备的软件结构的示意图;
图4为为本申请实施例提供的拍照方法的流程图一;
图5为本申请实施例提供的另一种拍照方法的流程图;
图6为本申请实施例提供的一种实现拍照方法的架构图;
图7为本申请实施例提供的一种协同工作系统的示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有进行创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
本申请实施例的说明书和权利要求书中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序。
为了使本技术领域的人员更清楚地理解本申请的方案,下面首先说明本申请技术方案的应用场景。
目前,在线教育受到越来越多人的欢迎,学生对在线教育的需求也越来越大。在一些应用场景中,当遇到生词时,学生可以进行在线查词以获取相关解释;在一些应用场景中,对书本内容的在线朗读更便于学生学习知识和发音;在一些应用场景中,学生需要将其作业进行在线提交。因此,如何基于智能设备满足用户的在线教育需求,是需要解决的问题。
参见图1,该图为场景示意图一。
中心侧设备10上安装有的教育类应用程序,台灯等IoT设备20利用摄像头进行拍照后,将照片回传至中心侧设备,以实现答疑、作业递交等功能,或者中心侧设备10利用IoT设备20上的摄像头进行图片的预览,并根据IoT设备20采集到的图像为用户提供各种在线教育功能,例如在线查词、在线朗读。
其中,中心侧设备10可以为手机、平板电脑、笔记本电脑或者台式电脑等,本申请实施例不作具体限定。
中心侧设备10与IoT设备20可以进行近场通信和/或远场通信。其中,近场通信可以通过路由器等设备完成设备间信息交互,远场通信可以通过云服务器完成设备间信息交互。
下面首先说明中心侧设备10的硬件架构。
参见图2a,该图为本申请提供的一种中心侧设备的示意图。
图2a所示的中心侧设备10仅是一个范例,并且中心侧设备10可以具有比图中所示的更多的或者更少的部件,可以组合两个或多个的部件,或者可以具有不同的部件配置。图2a中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
中心侧设备10可以包括:处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器,陀螺仪传感器,加速度传感器,温度传感器,运动传感器,气压传感器,磁传感器,距离传感器,接近光传感器,指纹传感器,触摸传感器,环境光传感器,骨传导传感器等。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。
其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是中心侧设备10的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为中心侧设备10充电,也可以用于中心侧设备10与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备,例如AR设备等。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。
在一些无线充电的实施例中,充电管理模块140可以通过中心侧设备10的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。
中心侧设备10的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。中心侧设备10中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。
例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在中心侧设备10上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。
无线通信模块160可以提供应用在中心侧设备10上的包括无线局域网(wirelesslocal area networks,WLAN)(如Wi-Fi网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。
在一些实施例中,中心侧设备10的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得中心侧设备10可以通过无线通信技术与网络以及其他设备通信。
中心侧设备10通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。在一些实施例中,中心侧设备10可以包括1个或N个显示屏194,N为大于1的正整数。
在本申请实施例中,显示屏194可以显示拍摄预览界面和拍照图像界面等。需要说明的是,在本申请实施例中,拍摄预览界面是指用户可通过显示屏194观看IoT设备的摄像头实时采集的图像的界面。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展中心侧设备10的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行中心侧设备10的各种功能应用以及数据处理,例如使得中心侧设备10实现本申请实施例中的协同工作方法。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。
存储数据区可存储中心侧设备10使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
中心侧设备10可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。中心侧设备10可以通过扬声器170A收听音乐,或收听免提通话。在一些实施例中,中心侧设备10可以设置多个扬声器170A。
受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当中心侧设备10接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170C发声,将声音信号输入到麦克风170C。中心侧设备10可以设置至少一个麦克风170C。在另一些实施例中,中心侧设备10可以设置两个麦克风170C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,中心侧设备10还可以设置三个,四个或更多麦克风170C,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
耳机接口170D用于连接有线耳机。耳机接口170D可以是USB接口130,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
下面说明中心侧设备10的软件结构。
参见图2b,该图为本申请提供的中心侧设备的软件结构的示意图。
中心侧设备10的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本发明实施例以分层架构的Android系统为例,示例性说明中心侧设备10的软件结构。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,从上至下分别为应用程序层,应用程序框架层,系统库,扩展层以及内核层。
应用程序层可以包括一系列应用程序包。例如应用程序包可以包括图库,地图,Wi-Fi,蓝牙,短信,音乐,通话,导航,视频,相机,设备管理应用,教育应用程序等应用程序。
其中,设备管理应用可以感知、发现并注册区域内的IoT设备。
教育应用程序可以由第三方厂商开发,用于为用户提供在线教育功能,可以具备但不限于视图、播报、注释、查询等功能。
在一些实施例中,设备管理应用可以与台灯等IoT设备进行绑定;教育应用程序也可以与台灯等IoT设备进行绑定。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图2b所示,应用程序框架层可以包括DVSDK,DMSDK,AUTH,智能互联服务与互联服务等。
其中,身份验证(authentication,AUTH),又称“认证”、“鉴权”,是指通过一定的手段,接口调用鉴权,提供安全权限管理能力,完成对用户身份的确认,也即提供鉴权服务。
DVSDK,用于提供设备虚拟化服务,设备虚拟化服务也可以称为硬件虚拟化服务,以下说明中不再进行区分。为第三方厂商的应用程序提供互联服务的入口,同时进行接口访问安全权限管理。具体可以用于在中心设备侧与IoT设备侧之间建立逻辑通道,提供虚拟化相机的能力。
DMSDK,用于提供设备管理服务,为第三方厂商提供远场(即云端)IOT设备信息以及近场(即附近可连接)的IOT设备信息。
智能互联服务用于提供物理传输通道,用于提供数据传输能力,同时管理互联服务的启动。
互联服务,在中心侧设备和IoT设备之间建立逻辑通道,提供虚拟化相机能力。具体用于实现数据处理、传输通道、流量控制以及能力采集功能。
除此之外,还可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。
例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。电话管理器用于提供电子设备100的通信功能。例如通话状态的管理(包括接通,挂断等)。资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。
系统层包括系统库和安卓运行时(Android Runtime)。
Android Runtime包括核心库和虚拟机。Android Runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
在本申请实施例中,Android Runtime还包括虚拟相机适配层,提供虚拟相机注册的能力。
系统库可以包括多个功能模块。例如:包括多媒体平台、音频框架、图形图像处理库、解码模块以及虚拟相机适配层等。
其中,多媒体平台可以用于对多媒体的管理,支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。多媒体平台可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
图形图像处理库可以用于实现图形绘图,图像渲染,合成,和图层处理等。
编解码器可以用于实现对音频数据、视频数据的编解码操作。
拓展层中包括硬件抽象层(Hardware Abstraction Layer,HAL),HAL是软件层的例行程序包,为位于操作系统内核与硬件电路之间的接口层,用于模拟特定系统平台的细节使程序可以直接访问硬件的资源。
HAL层包括但不限于:音频(Audio)HAL、传感器(Sensor)HAL、调制解调(Modem)HAL、相机HAL、虚拟相机HAL。
其中,音频HAL用于对音频流进行处理,例如,对音频流进行降噪、定向增强等处理。相机HAL用于对与电子设备侧摄像头对应的图像流进行处理,虚拟相机HAL用于对电子设备侧注册的虚拟相机对应的图像流进行处理,也即用于对IOT设备侧摄像头采集的图像流进行处理。
内核层是硬件和软件之间的层。内核层可以包含显示驱动,相机驱动,USB驱动,CPU驱动,音频驱动,网络驱动(如Wi-Fi驱动),存储驱动和打印驱动等。
下面说明IoT设备20的硬件结构。
参见图3a,该图为本申请提供的一种IoT设备的示意图。
在一些实施例中,IoT设备为带有摄像头的台灯。应该理解的是,图3a所示的IoT设备20仅是一个范例,并且可以具有比图中所示的更多的或者更少的部件,可以组合两个或多个的部件,或者可以具有不同的部件配置。图3a中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
IoT设备可以包括:处理器210,摄像头201,无线通信模块202,存储器203,音频模块204,USB接口205,充电管理模块206,电源管理模块207,电池208,照明装置209,按键211等。
处理器210可以包括一个或多个处理单元,例如:处理器210可以包括GPU,ISP,控制器,存储器,视频编解码器等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
控制器可以是IoT设备20的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
摄像头201用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。
感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。以台灯为例,摄像头201可以设置于台灯支架上,用于向下采集图像。
IoT设备20可以通过ISP,摄像头201,视频编解码器,GPU等实现拍摄功能。
ISP用于处理摄像头201反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头201中。
无线通信模块202可以提供应用在IoT设备20上的包括WLAN(如Wi-Fi网络),蓝牙(bluetooth,BT)等无线通信的解决方案。在一些实施例中,IoT设备20的天线和无线通信模块202耦合,使得IoT设备20可以通过无线通信技术与网络以及其他设备通信。
存储器203可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器210通过运行存储在存储器203的指令,从而执行IoT设备20的各种功能应用以及数据处理,例如使得IoT设备20实现本申请实施例中的协同工作方法。
IoT设备20可以通过音频模块204,扬声器212等实现音频功能,例如音乐播放等。
USB接口205是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口205可以用于连接充电器为IoT设备20充电,也可以用于IoT设备20与外围设备之间传输数据。
充电管理模块206用于从充电器接收充电输入。充电管理模块206为电池208充电的同时,还可以通过电源管理模块207为IoT设备20供电。
电源管理模块207用于连接电池208,充电管理模块206与处理器210。电源管理模块207接收电池208和/或充电管理模块206的输入,为处理器210,存储器203,摄像头201,无线通信模块202,以及照明装置209等供电。
按键211包括开机键(或称电源键)等。
下面说明IoT设备20的软件结构。
参见图3b,该图为本申请提供的IoT设备的软件结构的示意图。
IoT设备的层与层之间通过软件接口通信。在一些实施例中,从上至下分别为应用程序层、应用程序框架层,系统库以及内核层。
应用程序层可以包括设备应用服务,设备应用服务可以理解为系统级应用,IoT设备系统启动后设备应用服务启动。
应用程序框架层包括一些预先定义的函数。如图3b所示,应用程序框架层可以包括智能互联服务、资源管理器与互联服务等。
资源管理器用于提供各种资源,比如本地化字符串,图标,图片,布局文件,音频文件,视频文件等等。
智能互联服务提供物理传输通道,用于提供数据传输能力同时管理互联服务的启动开关。
互联服务:在中心侧设备和IoT之间建立逻辑通道,提供虚拟化相机能力,同时提供设备相机开放接口,具体可以包括数据处理、能力采集、虚拟音频模块以及虚拟相机模块等。
系统层可以包括多个功能模块。例如:包括多媒体平台、音频框架、图形图像处理库、解码模块以及IoT厂商适配相机模块等。
多媒体平台可以用于对多媒体的管理,支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。多媒体平台可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
图形图像处理库可以用于实现图形绘图,图像渲染,合成,和图层处理等。
编解码器可以用于实现对音频数据、视频数据的编解码操作。
IoT厂商适配相机模块,用于实现互联模块的接口,提供打开相机、拍照、预览等功能。
内核层是硬件和软件之间的层。内核层可以包含相机驱动,USB驱动,CPU驱动,音频驱动,网络驱动和存储驱动等。
目前,通过在手机、平板电脑等中心侧设备上安装有DVSDK和DMSDP等组件,并在台灯等IoT设备上设置对应的DMSDP进行适配,可以使中心侧设备与IoT设备连接,并使中心侧设备上能使用IoT设备的虚拟化相机功能。
目前,以上技术的一种典型的应用场景为教育场景。中心侧设备10上安装有的教育类应用程序,台灯等IoT设备20上包括摄像头。当中心侧设备10与IoT设备20建立连接后,可以在中心侧设备10上使用IoT设备20的虚拟化相机功能。例如,使用IoT设备20的摄像头捕捉桌面上书本的的文字,当手机指向文字时,中心侧设备10上的教育类应用程序自动识别文字显示注解并进行语音播报。教育类应用程序,还可以发出拍照请求,台灯等IoT设备利用摄像头进行拍照后,将照片回传至中心侧设备,以实现答疑、作业递交等功能。
但是,目前的方案中一台IoT设备20仅能响应一台中心侧设备10的拍照请求。当同时收到多台不同的中心侧设备10的拍照请求后,可能出现照片回传错误或者异常,影响体验。
为了解决以上技术问题,本申请提供了一种拍照方法、电子设备、物联网设备及协同工作系统,能够使一台IoT设备同时收到多台中心侧设备的拍照请求后,将照片正确回传至多台中心侧设备,提升了用户体验。
下面结合具体的实现方式进行说明。
为了使本领域技术人员更清楚地理解本申请的技术方案,下面首先说明本申请方案中一台中心侧设备与一台IoT设备建立连接并协同实现拍照的过程。以下说明中,以中心侧设备为平板电脑,IoT设备为台灯为例进行说明。
参见图4,该图为本申请实施例提供的拍照方法的流程图一。
0.设备服务初始化阶段,具体包括以下步骤:
S0.1:响应于用户操作,台灯的设备应用服务启动,加载互联服务。
示例性的,用户操作可以时用户开启台灯电源的操作。响应于用户操作,台灯系统启动,设备应用服务随之启动,并加载互联服务。其中,互联服务可以用于在平板和台灯之间建立物理传输通道,用于提供数据传输能力。
S0.2,台灯的互联服务加载硬件抽象服务。
互联服务还可以控制硬件抽象服务的开启。示例性的,在互联服务启动后,互联服务可以以插件的形式加载硬件抽象服务。其中,硬件抽象服务可以用于在平板和台灯之间建立逻辑通道,提供虚拟化相机的能力,同时还可以提供台灯相机的开放接口。
硬件抽象服务至少可以包括基础组件和相机组件。其中,在设备服务初始化阶段,互联服务加载首先加载基础组件,并对基础组件进行初始化。在基础组件初始化之后,可以与台灯的设备适配模块进行信息交互,获取设备信息和虚拟化能力信息。示例性的,设备信息包括但不限于设备名称、设备标识、设备类型等。示例性的,虚拟化能力信息包括但不限于是否支持虚拟化相机、是否支持虚拟化麦克风等,还可以进一步包括支持的虚拟化相机的功能,例如只支持视频预览、只支持拍照、或者同时支持拍照和视频预览。
其中,台灯具有支持虚拟化相机的能力,可以理解为台灯的摄像头允许其他电子设备(如平板)调用,也即可以理解为台灯的摄像头允许被作为其他电子设备的虚拟相机。
在基础组件获取到台灯的设备信息和能力信息之后,如果台灯具有支持虚拟化相机的能力,则基础组件加载相机组件,以提供虚拟化相机的能力。此时,基础组件即可进行协商通道建立准备,以待与平板建立协商通道协商网络连接相关信息(包括但不限于IP地址和端口等)。其中,在基础组件进行协商通道建立准备时,创建一个会话服务(SessionServer),并将会话服务的会话名称(Session Name)发送至互联服务中,以待平板侧的传输管理服务与台灯侧的互联服务建立协商通道。
1.设备发现阶段,具体包括以下步骤:
S1.1:响应于用户操作,平板的教育APP向设备管理服务发送设备发现指令。
用户操作可以是用户点击教育APP中需要调用虚拟相机的功能选项的操作。示例性的,用户操作可以为点击教育APP中点读功能、查词功能、作业功能、拍照功能的操作。
平板的教育APP接收到用户操作,响应于该操作,向平板的设备管理服务发送设备发现指令。其中,设备发现指令,用于指示查找能够与平板建立连接的IoT设备。示例性的,设备发现指令中可以包括但不限于指令类型和待发现的设备类型。在本实施例中,设备发现指令具体用于查找能够与平板建立连接的台灯。
S1.2:平板中设备管理服务调用鉴权服务对教育APP进行鉴权,获取到对教育APP的鉴权结果。
设备管理服务接收到设备发现指令后,并根据教育APP的名称对教育APP进行APP鉴权。
在鉴权服务得到教育APP的鉴权结果(鉴权成功或鉴权失败),将鉴权结果发送给设备管理服务。
S1.3:平板中设备管理服务在教育APP鉴权成功时向传输管理服务发送设备搜索指令。
其中,设备搜索指令可以包括但不限于指令类型、待搜索的设备类型以及搜索方式。示例性的,搜索方式包括但不限于近场设备扫描和从云服务器中获取设备信息。在本实施中,待搜索的设备类型为台灯。
S1.4:平板中传输管理服务根据设备搜索指令获取到远近场设备列表,并将远近场设备列表发送给设备管理服务。
远近场设备列表包括远场设备列表和近场设备列表。其中,远场设备列表中包括的远场设备是指从云服务器中获取到的已注册设备,近场设备列表中包括的近场设备是指通过近场通信扫描到的设备。在远场设备列表和近场设备列表中,设备信息包括但不限于设备名称、设备标识、设备类型等。
传输管理服务接收到设备搜索指令时,根据设备搜索指令中携带的待搜索的设备类型以及搜索方式执行相关设备搜索操作,如执行近场设备扫描操作以及在云服务器中获取相关设备信息的操作,得到远场设备列表和近场设备列表,并将远场设备列表和近场设备列表发送给设备管理服务。
S1.5:平板中设备管理服务根据远近场设备列表进行设备过滤,并将过滤后得到的设备信息上报给教育APP。
进行设备过滤,确定能够与平板联动的台灯信息,并发送给教育APP。
其中,设备管理服务可以对远场设备列表和近场设备列表执行取交集的操作,过滤掉仅存在于远场设备列表或仅存在于近场设备列表中的台灯,将既存在于远场设备列表又存在于近场设备列表中的台灯,作为能够与平板联动的台灯信息。这样,设备管理服务能够过滤掉未在云服务器中注册的台灯,也能过滤掉无法与平板进行近场通信的台灯。
在另一种可选的实施方式中,若平板和台灯无论是否处于同一个局域网下,平板的传输管理服务可以根据设备搜索指令获取通信设备列表和注册设备列表。其中,通信设备列表中包括的设备是指通过近场通信或远场通信扫描到的设备,注册设备列表中包括的设备是指从云服务器中获取到的已注册设备。近场设备列表中包括的近场设备是指通过近场通信扫描到的设备。在通信设备列表和注册设备列表中,设备信息包括但不限于设备名称、设备标识、设备类型等。
平板中传输管理服务将通信设备列表和注册设备列表发送至设备管理服务,设备管理服务根据通信设备列表和注册设备列表进行设备过滤,并将过滤后得到的设备信息上报给教育APP。其中,设备管理服务可以对通信设备列表和注册设备列表执行取交集的操作,过滤掉仅存在于通信设备列表或仅存在于注册设备列表中的台灯,将既存在于通信设备列表又存在于注册设备列表中的台灯,作为能够与平板联动的台灯信息。这样,设备管理服务能够过滤掉未在云服务器中注册的台灯,也能过滤掉无法与平板进行近场通信的台灯。
2.虚拟相机使能阶段,包括以下步骤:
S2.1:平板的教育APP确定待联动的台灯。
S2.2:平板的教育APP对台灯进行设备校验、设备连接,并获取到台灯具有支持虚拟化相机的能力。
S2.3:平板的教育APP向硬件虚拟化服务发送虚拟相机使能请求。
虚拟相机使能请求用于指示在虚拟相机HAL中注册虚拟相机。虚拟相机使能请求中可以包括但不限于请求类型、设备名称、设备标识、设备类型以及虚拟相机的标识。
S2.4:平板的硬件虚拟化服务向虚拟相机HAL注册虚拟相机。
硬件虚拟化服务接收到虚拟相机使能请求之后,根据虚拟相机使能请求中向虚拟相机HAL注册相应的虚拟相机。
S2.5:平板的虚拟相机HAL在虚拟相机注册完成之后,向教育APP发送虚拟相机使能成功指示。
3.虚拟相机预览访问阶段:
S3.1:平板中硬件虚拟化API向相机服务发送虚拟相机访问指令。
虚拟相机访问指令,指的是用于调用虚拟相机的指令。其中,虚拟相机访问指令中可以包括但不限于指令类型、虚拟相机ID和摄像头配置参数。
S3.2:平板中相机服务根据虚拟相机访问指令向虚拟相机HAL发送图像预览请求。
相机服务接收到虚拟相机访问指令后,根据虚拟相机ID生成相应的图像预览请求发送至虚拟相机HAL。
其中,该图像预览请求用于请求预览图像数据流。示例性的,该图像预览请求中可以包括但不限于请求标识、虚拟相机ID和摄像头配置参数等。
S3.3:平板中虚拟相机HAL向硬件虚拟化服务发送图像预览请求。
虚拟相机HAL接收到图像预览请求后,根据图像请求中携带的虚拟相机ID,确定匹配的虚拟化硬件标识。
在本实施例中,虚拟相机HAL根据虚拟相机ID,以及虚拟相机ID与台灯摄像头的映射关系,确定联动的台灯摄像头,并根据确定的虚拟化硬件标识生成相应的图像请求发送至硬件虚拟化服务。
示例性的,该图像预览请求中可以包括但不限于请求标识、设备信息(即台灯信息)、虚拟化硬件标识(即台灯摄像头标识)和摄像头配置参数等。
S3.4:平板中硬件虚拟化服务向传输管理服务发送图像预览请求。
硬件虚拟化服务将图像预览请求发送至传输管理服务。其中,图像预览请求中可以包括但不限于请求标识、设备信息(即台灯信息)、虚拟化硬件标识(即台灯摄像头标识)和摄像头配置参数等。
在平板中硬件虚拟化服务向传输管理服务发送图像预览请求时,如果发现未与台灯建立数据通道,则生成数据通道建立请求,发送至传输管理服务中。数据通道建立请求,用于指示与台灯之间传输数据。其中,数据通道建立请求中可以包括但不限于会话标识、连接信息、数据编解码模式等。
平板中传输管理服务接收到数据通道建立请求,根据数据通道建立请求携带的信息与台灯建立数据通道连接,也即在平板和台灯之间建立数据通道。进而,平板中传输管理服务和台灯中互联服务可以基于该数据通道传输各种数据,包括但不限于图像数据。
在数据通道建立成功之后,平板中传输管理服务向平板中硬件虚拟化服务发送数据通道成功连接指示,台灯中互联服务向硬件抽象服务中相机组件发送数据通道成功连接指示。其中,数据通道成功连接指示中可以包括但不限于连接成功标识以及数据通道相关信息。
S3.5:平板中传输管理服务向台灯的互联服务传输图像预览请求。
平板中传输管理服务根据图像预览请求中携带的设备信息确定相应的控制通道,并在该控制通道中向台灯的互联服务传输图像预览请求。
S3.6:台灯中互联服务向相机驱动下发图像预览请求。
台灯中互联服务接收到图像预览请求之后,根据虚拟化硬件标识确定响应的硬件驱动(在本实施例中为确定相机驱动),并将相应的图像预览请求发送至相机驱动。
S3.7:台灯中相机驱动驱动摄像头采集图像,并将预览图像数据通过数据通道传输至平板的硬件虚拟化服务。
相机驱动使摄像头开启,并驱动摄像头以图像预览请求中携带的摄像头配置参数采集图像,得到预览图像数据流,并将预览图像数据流通过硬件抽象服务发送至互联服务,以使互联服务在数据通道中向平板的硬件虚拟化服务中持续传输预览图像数据流。其中,关于预览图像数据流的分包组包及编解码流程,此处不再赘述。
S3.8:平板中硬件虚拟化服务将预览图像数据发送至虚拟相机HAL。
硬件虚拟化服务持续接收到预览图像数据流,将预览图像数据流发送至虚拟相机HAL。
S3.9:平板中虚拟相机HAL将预览图像数据发送至相机服务。
此时,虚拟相机HAL持续获取到台灯摄像头采集的预览图像数据,并将预览图像数据持续发送至相机服务。
S3.10:平板中相机服务将预览图像数据发送至教育APP。
S3.11:平板中教育APP显示预览图像。
4.虚拟相机拍照阶段
S4.1:响应于接收到的用户操作,平板中教育APP向硬件虚拟化服务发送拍照请求。
用户操作例如可以是点击拍照选项的操作。响应于接收到的用户操作,平板中教育APP向硬件虚拟化服务发送拍照请求。
其中,拍照请求中可以包括但不限于拍摄图像序号、设备信息(即台灯信息)、虚拟化硬件标识(即台灯摄像头标识)和摄像头配置参数等。摄像头配置参数包括但不限于图像分辨率。
其中,拍照请求还可以携带任务标识,以保证多拍照任务的有序管理。
S4.2:平板中硬件虚拟化服务向传输管理服务发送拍照请求。
S4.3:平板中传输管理服务将向台灯的互联服务传输拍照请求。
平板中传输管理服务根据图像预览请求中携带的设备信息确定相应的控制通道,并在该控制通道中向台灯的互联服务传输图像预览请求。
S4.4:台灯中互联服务向相机驱动下发拍照请求。
台灯中互联服务接收到图像预览请求之后,根据虚拟化硬件标识确定响应的硬件驱动(在本实施例中为确定相机驱动),并将相应的拍照请求发送至相机驱动。
S4.5:台灯中相机驱动驱动摄像头拍摄图像,并将拍摄图像数据通过数据通道传输至平板的硬件虚拟化服务。
相机驱动驱动摄像头以拍照请求中携带的摄像头配置参数采集图像,得到拍摄图像数据,并将拍摄图像数据通过硬件抽象服务发送至互联服务,以使互联服务在数据通道中向平板的硬件虚拟化服务中持续传输拍摄图像数据。其中,关于拍摄图像数据的分包组包及编解码流程,此处不再赘述。
S4.6:平板中硬件虚拟化服务将拍摄图像数据发送至教育APP。
S4.7:平板中教育APP显示拍摄图像。
以上流程中,IoT设备侧的硬件抽象服务在本申请方案中也即硬件虚拟化服务。
该技术方案,中心侧设备可以直接采用手机、平板电脑等电子设备,IoT设备与中心侧设备可以分离设置,因此中心侧设备不需要配置带有可升降式摄像头的厚重底座,IoT设备,例如台灯的摆放方式较为自由,可以根据实际需要调整屏幕角度。并且在中心侧设备上安装的教育应用程序,还具备较高的兼容性和拓展性,易于实现推广,可为教育提供极大的便利。
以上方案中说明了一台中心侧通过虚拟相机服务利用一台IoT设备进行拍照的过程,下面以IoT设备同时收到两台中心侧设备的拍照请求为例进行说明。当IoT设备收到三台以及更多的中心侧设备的拍照请求时的原理类似,在此不再赘述。
一并参见图5和图6。其中,图5为本申请实施例提供的另一种拍照方法的流程图;图6为本申请实施例提供的一种实现拍照方法的架构图。
IoT设备与两台中心侧设备建立连接与传输通道的具体实现方式可以参见以上实施例中的说明,本申请实施例在此不再赘述。
S51:设备互联服务接收到两个拍照请求。
两个拍照请求分别由两台中心侧设备发送。
实际应用中,两台中心侧设备分别发送的拍照请求总是存在先后顺序,依次设备互联服务会依次获取到两个拍照请求。
并且两台中心侧设备同时与一台IoT设备建立连接时,建立的传输通道为不同的传输通道。两个传输通道之间互不影响。也即IoT设备从两个不同的传输通道接收到拍照请求。
以下说明中,以中心侧设备10a发出的拍照请求1先到,中心侧设备10b发出的拍照请求2后到为例进行说明。
IoT设备接收这两个拍照请求的时间不同,拍照请求1的接收时间为t1,拍照请求2的接收时间为t2,t1提前于t2。
S52:设备互联服务向队列管理模块传输两个拍照请求。
本申请实施例在IoT设备侧的硬件虚拟化服务(也可以称为设备虚拟化服务)中增加了拍照管理模块。
拍照管理本模块包括队列管理模块和照片共享模块。
其中,队列管理模块用于根据设备互联服务发送的多个拍照请求生成对应的多个拍照任务,并按照时间顺序填充入拍照任务队列,并向相机驱动下发队列首位的拍照任务对应的拍照请求命令。
拍照任务队列中的每个拍照任务对应一个拍照请求,因此拍照任务的顺序对应拍照请求的顺序。
在一种可能的实现方式中,设备互联服务向队列管理模块传输拍照请求时,依次逐个传输拍照请求,则队列管理模块接收到的首个拍照请求对应的拍照任务插入拍照任务队列的首位。后续接收到的拍照请求生成的拍照任务依次插入拍照任务队列。
在另一些实施例中,设备互联服务向队列管理模块传输拍照请求时,可以传输拍照请求以及拍照请求的接收时间,此时队列管理模块可以直接根据接收时间对拍照任务进行排序和插入。
S53:队列管理模块根据拍照请求分别创建拍照任务,并将拍照任务按照拍照请求的顺序填充入任务队列。
每个拍照请求对应创建一个拍照任务。也即为拍照请求1创建的拍照任务为拍照任务1;为拍照任务2创建的拍照任务为拍照任务2。然后保存拍照任务与拍照请求之间的对应关系。
此时,由于拍照请求1为先接收到的拍照请求,则拍照任务1为拍照任务队列的队首。
S54:队列管理模块向相机驱动下发队列的首位拍照任务对应的拍照请求命令。
队列管理模块仅下发队列中队首的拍照任务对应的拍照请求命令,也即下发拍照任务1对应的拍照请求命令。
避免多次重复下发拍照任务,导致相机驱动崩溃或工作异常。
S55:驱动摄像头拍摄图像。
相机驱动接收到拍照请求命令后驱动摄像头拍摄图片。
S56:将图片数据发送至照片共享模块。
S57:照片共享模块向队列中的两个拍照任务分别填充照片数据。
照片共享模块向两个拍照任务分别填充的照片数据相同。照片共享模块用于实现照片数据的共享。
在一种可能的实现方式中,照片共享模块可以同时向两个拍照任务分别填充照片数据。
在另一种可能的实现方式中,照片共享模块可以先向拍照任务1填充照片数据,再向拍照任务2填充照片数据,填充顺序为队列顺序,也即拍照请求的接收顺序。
在一些实施例中,照片共享模块具体用于将照片数据拷贝两份,分别填充至两个拍照任务。
S58:队列管理模块向设备互联服务分别发送两个拍照请求对应的照片数据。
也即此时拍照管理模块通过设备互联服务向两个中心侧设备分别发送对应的照片数据。
S59:设备互联服务向两个中心侧设备分别发送对应的照片数据。
具体的,由于两台中心侧设备同时与一台IoT设备建立连接时,建立的传输通道为不同的传输通道,且两个传输通道之间互不影响。每个通道对应一个中心侧设备,因此拍照请求与传输通道和中心侧设备之间存在第一对应关系。而拍照请求、拍照任务与照片数据之间存在第二对应关系,根据以上的第一对应关系和第二对应关系,即可将拍照数据通过正确的传输通道回传至正确的中心侧设备。
下面以中心侧设备10a为例具体说明。对于中心侧设备10b,原理类似,在此不再赘述。
当中心侧设备10a与IoT设备建立连接通道后,中心侧设备10a发送的拍照请求1中会携带有指示所对应的传输通道的通道标识。
拍照请求中还可以包括但不限于拍摄图像序号、IoT设备信息(即台灯信息)、虚拟化硬件标识(即台灯摄像头标识)和摄像头配置参数等。摄像头配置参数包括但不限于图像分辨率。此外,拍照请求还可以携带任务标识,以保证多拍照任务的有序管理。
根据拍照请求1创建拍照任务1,并且拍照任务1完成后,得到拍照请求1对应的照片数据1,此时根据拍照请求1中携带的通道标识,可以将拍照数据1通过正确的通道进行传输。
可以理解的是,虽然拍照任务1和拍照任务2最终填充的照片数据一致,但拍照任务依旧需要对应到唯一的拍照请求,并通过唯一的传输通道返回照片数据,这样中心侧设备接收到照片数据后才会认为拍照请求完成。
此外,拍照队列中的允许插入的拍照任务数量的上限值,与根据建立的传输通道的数量对应。当建立一条传输通道时,也即IoT设备与一台中心侧设备建立传输通道时,拍照队列的空间中最多允许一个拍照任务进行排队;当建立两条传输通道时,也即IoT设备与两台中心侧设备建立传输通道时,拍照队列的空间中最多允许插入两个拍照任务进行排队。
因为本申请的协同工作系统支持空闲释放通道,当中心侧设备与IoT设备建立的通道长时间未传输数据时,会销毁该通道,以释放空间,减少资源占用。因此拍照任务队列不需要太长,与传输通道的数量相同即可,能够进行动态变化,以减少资源占用。当中心侧设备与IoT设备建立的通道因长时间未传输数据而销毁时,拍照任务队列也可以进行删除,以释放存储空间,减少资源占用。
此外,在另一些实施例中,拍照队列中的允许插入的拍照任务数量的上限值,也可以大于建立的传输通道的数量。例如以物联网设备允许连接的最大中心侧设备数量为该上限值。本申请实施例对允许连接的最大中心侧设备数量不作限定。
以上说明中以物联网设备连接两个中心侧设备为例进行说明,当物联网设备连接一个中心侧设备时的原理类似,再次不再赘述。
综上所述,利用本申请实施例提供的拍照方法,通过拍照任务队列排列各拍照请求对应的拍照任务,队列按照先后顺序进行排列。仅下发队列中队首的拍照任务对应的拍照请求命令,避免多次重复下发拍照任务,导致相机驱动崩溃或工作异常。获取照片数据后,向各个电子设备分别发送该照片数据,也即通过一次拍照完成了多个拍照任务。利用该方案,能够使一台IoT设备同时收到多台中心侧设备的拍照请求后,将照片正确回传至多台中心侧设备,避免出现照片回传异常而导致虚拟相机拍照服务中断,因此提升了用户体验。
基于以上实施例提供的拍照方法,本申请还提供了一种物联网设备。
继续参见图3a所示的物联网设备的示意图。
本申请实施例提供的物联网包括:摄像头201、存储器203和处理器210。
其中,存储器203与处理器210耦合,摄像头201与处理器210耦合。在一些实施例中,摄像头201的数量可以为多个。
本申请实施例提供的物联网设备,利用拍照任务队列排列各拍照请求对应的拍照任务,队列按照先后顺序进行排列。仅下发队列中队首的拍照任务对应的拍照请求命令,避免多次重复下发拍照任务,导致相机驱动崩溃或工作异常。获取照片数据后,向各个电子设备分别发送该照片数据,也即通过一次拍照完成了多个拍照任务。因此该物联网设备能够在同时收到多台中心侧设备的拍照请求后,将照片正确回传至多台中心侧设备,避免出现照片回传异常而导致虚拟相机拍照服务中断,因此提升了用户体验。
进一步的,本申请实施例还提供了一种协同工作系统。
参见图7,该图为本申请实施例提供的一种协同工作系统的示意图。
该协同工作系统30包括:电子设备10a、电子设备10b和IoT设备20。
电子设备10a和10b也即中心侧设备。关于电子设备10a、10b和IoT设备20的具体实现方式可以参见以上实施例中的相关说明,本申请实施例在此不再赘述。
本申请实施例中以电子设备10a、电子设备10b同时建立与IoT设备20传输通道为例进行说明,实际应用中,协同工作系统30可以仅包括一个电子设备或者包括三个及以上数量的电子设备,本申请实施例不再赘述。
电子设备具体可以为平板电脑、手机、笔记本电脑或者台式电脑,本申请实施例不作具体限定。物联网设备可以是台灯。
本实施例还提供一种计算机存储介质,该计算机存储介质中存储有计算机指令,当该计算机指令在物联网设备上运行时,使得物联网设备执行上述相关方法步骤实现上述实施例中的拍照。
本实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的拍照方法。
另外,本申请的实施例还提供一种装置,这个装置具体可以是芯片,组件或模块,该装置可包括相连的处理器和存储器;其中,存储器用于存储计算机执行指令,当装置运行时,处理器可执行存储器存储的计算机执行指令,以使芯片执行上述各方法实施例中的拍照方法。
其中,本实施例提供的IOT设备、计算机存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (11)
1.一种拍照方法,其特征在于,应用于物联网设备,所述物联网设备用于连接至少一个电子设备,所述拍照方法包括:
接收到所述至少一个电子设备发送的至少一个拍照请求,其中,每个所述电子设备发送一个拍照请求;
对所述至少一个拍照请求中的每个拍照请求创建对应的拍照任务,并按照接收到每个所述拍照请求的时间先后顺序将各所述拍照任务插入拍照任务队列,所述拍照任务队列的首位拍照任务为最先接收到的拍照请求对应的拍照任务;
执行所述首位拍照任务以获取照片数据;
向所述至少一个电子设备发送所述照片数据。
2.根据权利要求1所述的拍照方法,其特征在于,所述按照接收到每个所述拍照请求的时间先后顺序将各所述拍照任务插入拍照任务队列之前,所述方法还包括:
生成所述拍照任务队列。
3.根据权利要求2所述的拍照方法,其特征在于,所述生成所述拍照任务队列,具体包括:
以所述物联网设备允许建立的传输通道的最大数量值,为所述拍照任务队中列允许插入的拍照任务数量的上限值,创建所述拍照任务队列;所述传输通道用于传输所述拍照请求和所述照片数据,每个所述电子设备至多和所述物联网设备建立一条所述传输通道。
4.根据权利要求2所述的拍照方法,其特征在于,所述生成所述拍照任务队列,具体包括:
以所述物联网设备当前建立的传输通道的数量,为所述拍照任务队中列允许插入的拍照任务数量的上限值,创建所述拍照任务队列;所述传输通道用于传输所述拍照请求和所述照片数据,每个所述电子设备至多和所述物联网设备建立一条所述传输通道。
5.根据权利要求3或4中任一项所述的拍照方法,其特征在于,所述方法还包括:
当所述物联网设备建立的所述传输通道均被销毁时,删除所述拍照任务队列。
6.根据权利要求1所述的拍照方法,其特征在于,所述执行所述首位拍照任务以获取照片数据,具体包括:
向所述物联网设备的相机驱动发送所述首位拍照任务对应的拍照请求命令;
所述相机驱动驱动所述物联网设备的摄像头拍摄图像,以获取所述照片数据。
7.根据权利要求所述的拍照方法,其特征在于,所述物联网设备用于连接至少两个电子设备并接收到至少两个拍照请求,所述对所述至少一个拍照请求中的每个拍照请求创建对应的拍照任务,并按照接收到每个所述拍照请求的时间先后顺序对各所述拍照任务进行排序以形成拍照任务队列,具体包括:
分别为所述至少两个拍照请求中的每个拍照请求创建对应的拍照任务;
存储每个所述拍照请求与对应的拍照任务的对应关系;
按照接收到所述至少两个拍照请求中的每个拍照请的顺序,将各所述拍照任务插入拍照任务队列。
8.根据权利要求7所述的拍照方法,其特征在于,所述向所述至少一个电子设备发送所述照片数据,具体包括:
拷贝所述照片数据,并分别向所述拍照任务队列中的各拍照任务填充所述照片数据;
根据存储的每个所述拍照请求与对应的拍照任务的对应关系,将各所述拍照请求对应的拍照任务中填充的所述照片数据,回传至各发送所述的拍照请求的电子设备。
9.一种物联网设备,其特征在于,所述物联网设备包括:
摄像头、存储器和处理器,所述存储器与所述处理器耦合,所述摄像头与所述处理器耦合;
所述存储器存储有程序指令,当所述程序指令由所述处理器执行时,使得所述物联网设备执行权利要求1-8中任一项所述的拍照方法。
10.一种协同工作系统,其特征在于,所述系统包括至少一个电子设备,还包括权利要求9中所述的物联网设备。
11.根据权利要求10所述的协同工作系统,其特征在于,所述协同工作系统中包括至少两个电子设备,所述至少两个电子设备中的每个电子设备,均与所述物联网设备建立传输通道。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210869233.XA CN117499781A (zh) | 2022-07-21 | 2022-07-21 | 一种拍照方法、物联网设备及协同工作系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210869233.XA CN117499781A (zh) | 2022-07-21 | 2022-07-21 | 一种拍照方法、物联网设备及协同工作系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117499781A true CN117499781A (zh) | 2024-02-02 |
Family
ID=89666505
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210869233.XA Pending CN117499781A (zh) | 2022-07-21 | 2022-07-21 | 一种拍照方法、物联网设备及协同工作系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117499781A (zh) |
-
2022
- 2022-07-21 CN CN202210869233.XA patent/CN117499781A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112291764B (zh) | 一种内容接续系统 | |
CN112527174B (zh) | 一种信息处理方法及电子设备 | |
WO2021147406A1 (zh) | 一种音频输出方法及终端设备 | |
WO2019227450A1 (zh) | 应用功能的实现方法及电子设备 | |
US20230021994A1 (en) | Cross-Device Content Projection Method and Electronic Device | |
CN112398855B (zh) | 应用内容跨设备流转方法与装置、电子设备 | |
CN112130788A (zh) | 一种内容分享方法及其装置 | |
US12010257B2 (en) | Image classification method and electronic device | |
WO2022143883A1 (zh) | 一种拍摄方法、系统及电子设备 | |
CN113190362B (zh) | 服务调用方法、装置、计算机设备及存储介质 | |
WO2024037032A1 (zh) | 账号登录的方法及电子设备 | |
CN114327175B (zh) | 一种信息分享方法及设备 | |
CN116056076B (zh) | 通信系统、方法及电子设备 | |
WO2023045597A1 (zh) | 大屏业务的跨设备流转操控方法和装置 | |
WO2022135157A1 (zh) | 页面显示的方法、装置、电子设备以及可读存储介质 | |
CN114490228B (zh) | 一种蓝牙自动化测试方法及相关装置 | |
CN117499781A (zh) | 一种拍照方法、物联网设备及协同工作系统 | |
CN117499780A (zh) | 一种拍照方法、电子设备及协同工作系统 | |
CN117473465A (zh) | 一种设备虚拟化服务的兼容性验证方法、设备及系统 | |
CN116366957B (zh) | 一种虚拟化相机使能的方法、电子设备及协同工作系统 | |
WO2023051116A1 (zh) | 分布式实现方法、系统、电子设备及存储介质 | |
CN117478682A (zh) | 建立点对点通道的方法、设备及协同工作系统 | |
CN111142648B (zh) | 一种数据处理方法和智能终端 | |
WO2023236939A1 (zh) | 应用组件交互方法及相关设备 | |
CN117472603A (zh) | 数据传输方法、电子设备及协同工作系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |