CN114827514A - 电子设备及其与其他电子设备的数据传输方法和介质 - Google Patents
电子设备及其与其他电子设备的数据传输方法和介质 Download PDFInfo
- Publication number
- CN114827514A CN114827514A CN202110129420.XA CN202110129420A CN114827514A CN 114827514 A CN114827514 A CN 114827514A CN 202110129420 A CN202110129420 A CN 202110129420A CN 114827514 A CN114827514 A CN 114827514A
- Authority
- CN
- China
- Prior art keywords
- function
- electronic device
- module
- television
- application
- 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.)
- Granted
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 87
- 238000000034 method Methods 0.000 title claims abstract description 72
- 238000004891 communication Methods 0.000 claims abstract description 58
- 230000008569 process Effects 0.000 claims abstract description 28
- 230000006870 function Effects 0.000 claims description 236
- 230000015654 memory Effects 0.000 claims description 31
- 239000010410 layer Substances 0.000 description 176
- 238000007726 management method Methods 0.000 description 38
- 238000010586 diagram Methods 0.000 description 31
- 229920001621 AMOLED Polymers 0.000 description 8
- 238000006243 chemical reaction Methods 0.000 description 6
- 230000004044 response Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 5
- 230000006978 adaptation Effects 0.000 description 4
- 239000000872 buffer Substances 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000013500 data storage Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000005236 sound signal Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 239000002096 quantum dot Substances 0.000 description 2
- 229910000831 Steel Inorganic materials 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000012792 core layer Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 239000010959 steel Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/18—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
- H04N7/183—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a single remote source
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/14—Systems for two-way working
- H04N7/141—Systems for two-way working between two video terminals, e.g. videophone
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/541—Interprogram communication via adapters, e.g. between incompatible applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/14—Systems for two-way working
- H04N7/141—Systems for two-way working between two video terminals, e.g. videophone
- H04N7/142—Constructional details of the terminal equipment, e.g. arrangements of the camera and the display
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/14—Systems for two-way working
- H04N7/141—Systems for two-way working between two video terminals, e.g. videophone
- H04N7/147—Communication arrangements, e.g. identifying the communication as a video-communication, intermediate storage of the signals
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Telephone Function (AREA)
Abstract
本申请涉及无线通信技术领域,公开了电子设备及其与其他电子设备的数据传输方法和介质。该方法包括:第一电子设备的第一应用调用第一功能;第一电子设备确定利用第二电子设备实现第一功能;第一电子设备通过第一电子设备的第一功能收发模块实现与第二电子设备之间的数据传输,以及通过第一电子设备的第一功能处理模块对实现第一功能所产生的数据进行处理;其中,第一功能收发模块和第一功能处理模块设置于第一电子设备的硬件抽象层。如此,提高了数据的传输速度。此外,由于第一电子设备采用非应用层接收电子设备发送的数据,无需第一电子设备和第二电子设备均安装相关联的应用程序,提高了设备间数据传输的通用性。
Description
技术领域
本申请涉及无线通信技术领域,特别涉及电子设备及其与其他电子设备的数据传输方法和介质。
背景技术
目前分布式设备虚拟化平台(DeviceVirtualization Kit,缩写为DV Kit)已在多个场景得以运用。例如,手机可以通过远端的外接摄像设备(例如无人机)获取更大范围的视频数据,从而充分发挥周边其他设备的硬件优势。
图1示出了手机100获取具有摄像头的电子设备300的视频数据的两种方式。其中一种方式是通过无线通信传输视频数据,外接的具有摄像头的电子设备300直接将视频数据通过与具有摄像头的电子设备300相关联的应用程序传输到手机100中。然而,若手机100中未安装与摄像头相关联的应用程序,则无法使用具有摄像头的电子设备300的拍摄功能,不具备通用性。
另一种方式是通过云平台传输数据。具体地,具有摄像头的电子设备300将视频数据上传至云平台400,手机100再从云平台400读取数据。存在端到端(如远端的具有摄像头的电子设备300将视频数据传输到云平台400再传到手机100)的数据传输流程较长,时延较长的问题。
发明内容
本申请实施例提供了电子设备及其与其他电子设备的数据传输方法和介质。
第一方面,本申请实施例提供了一种种数据传输方法,该方法包括:
第一电子设备和第二电子设备建立无线通信连接;
第一电子设备的第一应用调用第一功能;
所述第一电子设备确定利用第二电子设备实现所述第一功能;
所述第一电子设备通过所述第一电子设备的第一功能收发模块实现与所述第二电子设备之间的数据传输,以及
通过所述第一电子设备的第一功能处理模块对实现所述第一功能所产生的数据进行处理;
其中,所述第一功能收发模块和所述第一功能处理模块设置于所述第一电子设备的硬件抽象层。
本申请实施例中,若第一功能为拍摄功能,第一功能处理模块可以是虚拟Camera模块。若第一功能为音频采集功能,第一功能处理模块可以是虚拟Audio模块,音频采集功能也可以叫做拾音功能。若第一功能为音频播放功能,第一功能处理模块可以是虚拟Sound模块,音频播放功能也可以叫做声音播放功能、扬声功能。
以第一电子设备为电视机,第二电子设备为平板电脑,第一预设功能为拍摄功能为例,在采用电视机等大屏设备进行视频通话的场景中,有的大屏设备是没有设置摄像头的,此时需借助其他设备的摄像头来对电视机的拍摄能力进行拓展,从而充分发挥其他设备的硬件优势。例如,在该应用场景中,假设电视机本身未设置摄像头,或者在分布式应用中需要采用拍摄性能更佳的其他设备来实现拍摄功能。例如,在持有电视机的用户与具有拍摄功能的平板电脑的用户需要进行视频通话的情况下,电视机需要借助具有拍摄功能的平板电脑完成视频通话。在视频通话过程中,平板电脑拍摄到的视频数据会通过无线连接传输给电视机进行显示。
本申请实施例设置由第一电子设备的非应用层(如框架层或HAL层)来接收和处理第二电子设备发送的数据,数据直接由第二电子设备传输给第一电子设备,缩短电子设备间的数据传输路径,降低时延,如此,提高了数据的传输速度。此外,由于第一电子设备采用非应用层接收第二电子设备发送的视频数据,无需第一电子设备和第二电子设备均安装相关联的应用程序,如此,提高了设备间数据传输的通用性。
在上述第一方面的一种可能的实现中,所述第一功能为拍摄功能,所述第一电子设备通过所述第一电子设备的第一功能收发模块实现与所述第二电子设备之间的数据传输,包括:
所述第一电子设备的所述第一功能收发模块从所述第二电子设备接收所述第二电子设备拍摄到的图像数据和/或视频数据,并将接收到的图像数据和/或视频数据发送给所述第一功能处理模块。
在上述第一方面的一种可能的实现中,所述第一功能为音频采集功能;所述第一电子设备通过所述第一电子设备的第一功能收发模块实现与所述第二电子设备之间的数据传输,包括:
所述第一电子设备的所述第一功能收发模块从所述第二电子设备接收所述第二电子设备采集到的音频数据,并将接收到的音频发送给所述第一功能处理模块。
在上述第一方面的一种可能的实现中,上述方法还包括:所述第一功能为扬声功能;所述第一电子设备通过所述第一电子设备的第一功能收发模块实现与所述第二电子设备之间的数据传输,包括:
所述第一电子设备的第一功能处理模块对需要所述第二电子设备扬声的音频数据进行处理,并通过所述第一功能收发模块将处理后的音频数据发送给所述第二电子设备。
在上述第一方面的一种可能的实现中,上述方法还包括:
所述第一电子设备的第二应用调用所述第一功能;
所述第一电子设备确定利用所述第一电子设备的第一功能器件实现所述第一功能。
以第一电子设备为电视机,第二电子设备为平板电脑,第一预设功能为拍摄功能,第一应用为视频通话应用,第二应用为拍照应用为例,在采用电视机等大屏设备进行视频通话的场景中,有的大屏设备是没有设置摄像头的,此时需借助其他设备的摄像头来对电视机的拍摄能力进行拓展,从而充分发挥其他设备的硬件优势。例如,在该应用场景中,假设电视机本身未设置摄像头,或者在分布式应用中需要采用拍摄性能更佳的其他设备来实现拍摄功能。例如,在持有电视机的用户与具有拍摄功能的平板电脑的用户需要通过视频通过应用进行视频通话的情况下,电视机需要借助具有拍摄功能的平板电脑完成视频通话。在视频通话过程中,平板电脑拍摄到的视频数据会通过无线连接传输给电视机进行显示。此外,若电视机中设置摄像头或者可以通过有线方式连接摄像头,在电视机借助具有拍摄功能的平板电脑完成视频通话的过程中,用户也可以通过电视机的拍照应用进行视频录制和拍照等拍摄功能。
在上述第一方面的一种可能的实现中,上述方法还包括:所述第一电子设备通过所述第一电子设备的第二功能收发模块传输所述第一功能器件实现所述第一功能所产生的数据至所述第二应用,以及
通过所述第一电子设备的第二功能处理模块处理所述第一功能器件实现所述第一功能所产生的数据。
本申请实施例中,若第一功能为拍摄功能,第二功能处理模块可以是前/后置摄像头驱动模块,第一功能器件可以是前/后置摄像头。若第一功能为音频采集功能,第二功能处理模块可以是麦克风驱动模块,第一功能器件可以是麦克风。若第一功能为音频播放功能,第二功能处理模块可以是扬声器驱动模块,第一功能器件可以是扬声器。
在上述第一方面的一种可能的实现中,上述方法还包括:所述第一电子设备的第一应用还调用第二功能;
所述第一电子设备确定利用第三电子设备实现所述第二功能;
所述第一电子设备通过第三功能收发模块实现与所述第三电子设备之间的数据传输,以及
通过所述第一电子设备的第三功能处理模块对实现所述第二功能所产生的数据进行,其中,所述第三功能收发模块和所述第三功能处理模块独立于所述第一应用。
本申请实施例中,第一电子设备可以同时利用其他多个电子设备的多个功能,其中,多个电子设备和多个功能一一对应。
例如,若第一功能为拍摄功能,第二功能为音频采集功能。则第一电子设备同时利用第二电子设备的拍摄功能,以及第三电子设备的音频采集功能。则第一功能处理模块可以是虚拟Camera模块。第三功能处理模块可以是虚拟Audio模块。
又如,若第一功能为拍摄功能,第二功能为音频播放功能。则第一电子设备同时利用第二电子设备的拍摄功能,以及第三电子设备的音频播放功能。则第一功能处理模块可以是虚拟Camera模块。第三功能处理模块可以是虚拟Sound模块。
又如,若第一功能为音频采集功能,第二功能为音频播放功能。则第一电子设备同时利用第二电子设备的音频采集功能,以及第三电子设备的音频播放功能。则第一功能处理模块可以是虚拟Audio模块。第三功能处理模块可以是虚拟Sound模块。
在上述第一方面的一种可能的实现中,上述方法还包括:所述第一功能是拍摄功能,所述第二功能是音频采集功能。
在上述第一方面的一种可能的实现中,上述方法还包括:所述第一电子设备的第一应用还调用第三功能;
所述第一电子设备确定利用第四电子设备实现所述第三功能;
所述第一电子设备通过第四功能收发模块实现与所述第四电子设备之间的数据传输,以及
通过所述第一电子设备的第四功能处理模块对实现所述第三功能所产生的数据进行处理,其中,所述第四功能收发模块和所述第四功能处理模块独立于所述第一应用。
本申请实施例中,第一电子设备可以同时利用其他多个电子设备的多个功能,其中,多个电子设备和多个功能一一对应。
例如,若第一功能为拍摄功能,第二功能为音频采集功能,第三功能为音频播放功能。则第一电子设备可以同时利用第二电子设备的拍摄功能,以及第三电子设备的音频采集功能和第四电子设备的音频播放功能。则第一功能处理模块可以是虚拟Camera模块。第三功能处理模块可以是虚拟Audio模块。第四功能处理模块可以是虚拟Sound模块。
在上述第一方面的一种可能的实现中,所述第一功能是拍摄功能,所述第二功能是音频采集功能,所述第三功能是音频播放功能。
在上述第一方面的一种可能的实现中,所述第一应用包括即时通信应用、视频会议应用、直播应用、音乐应用中的任意一种。
在上述第一方面的一种可能的实现中,所述第一电子设备的操作系统为安卓系统或者鸿蒙系统。
第二方面,本申请实施里提供了一种可读介质,所述可读介质上存储有指令,该指令在电子设备上执行时使电子设备执行第一方面的各种可能实现的数据传输方法。
第三方面,本申请实施里提供了一种电子设备,电子设备包括:
存储器,用于存储由电子设备的一个或多个处理器执行的指令;以及
处理器,是电子设备的处理器之一,用于执行第一方面的第一电子设备、第二电子设备或者第三电子设备执行的各种可能实现的数据传输方法。
附图说明
图1示出了手机100获取无人机上的具有摄像头的电子设备300的视频数据的两种方式。
图2根据本申请的一些实施例,示出了一种电子设备通过外接设备实现视频通话的应用场景图。
图3A示出了一种在上述场景中,实现平板电脑300和电视机200之间的视频数据的无线传输的系统架构图。
图3B示出了一种在上述场景中,实现平板电脑300和电视机200之间的视频数据的又一种无线传输的系统架构图。
图4A根据本申请实施例,示出了电视机200与平板电脑300之间建立无线通信连接的一种流程示意图。
图4B根据本申请实施例,示出了一种对平板电脑300和电视机200硬件抽象层中的虚拟camera模块202进行相机参数配置流程示意图。
图4C所示为根据本申请的一些实施例,示出的一种电视机200根据摄像头能力参数和自身能力参数比较的结果参数配置虚拟Camera模块202的流程示意图。
图4D根据本申请实施例,示出了一种视频数据传输流程示意图。
图5A至图5M示出了用户在电视机200上设置外接摄像头的操作界面变化示意图。
图6示出了一种实现麦克风300和电视机200之间的音频数据传输的系统架构图。
图7根据本申请实施例,示出了一种音频数据传输流程示意图。
图8示出了一种实现电视机200分别与麦克风300-1和平板电脑300-2之间的音频数据和视频数据传输的系统架构图。
图9示出了一种实现电视机200分别与麦克风300-1、平板电脑300-2和音箱300-3之间的音频数据、视频数据以及音频数据传输的系统架构图。
图10示出了一种适用于本申请实施例的电视机200的结构示意图。
图11示出了一种适用于本申请实施例的平板电脑300的结构示意图。
图12示出了一种适用于本申请实施例的手机100的结构示意图。
图13是本申请实施例,示出了一种手机100或者电视机200的软件结构框图。
具体实施方式
本申请的说明性实施例包括但不限于电子设备及其与外接设备的数据传输方法和介质。下面通过附图和实施例,对本申请实施例的技术方案做进一步的详细描述。
图2根据本申请的一些实施例,示出了一种电子设备通过无线连接的其他至少一个电子设备实现视频通话的应用场景图。
在采用电视机等大屏设备进行视频通话的场景中,有的大屏设备是没有设置摄像头的,此时需借助其他设备的摄像头来对电视机的拍摄能力进行拓展,从而充分发挥其他设备的硬件优势。例如,如图2所示,在该应用场景中,假设电子设备200本身未设置摄像头,或者在分布式应用中需要采用拍摄性能更佳的其他设备来实现拍摄功能。例如,在持有电子设备100的用户与具有拍摄功能的电子设备200的用户需要进行视频通话的情况下,电子设备200需要借助具有拍摄功能的电子设备300完成视频通话。在视频通话过程中,电子设备300拍摄到的视频数据会通过无线连接传输给电子设备200进行显示。此外,在此过程中,用户也可以通过电子设备200进行视频录制和拍照。
如上文背景技术所述,电子设备100在通过具有摄像头的电子设备300拓展视频功能时,存在设备间视频数据的传输通用性较差、时延较长的问题。在图2所示的场景中,为了解决该问题,本申请实施例设置由电子设备200的非应用层(如框架层或HAL层)来接收和处理电子设备300发送的视频数据,视频数据直接由电子设备300传输给电子设备200,缩短电子设备间的数据传输路径,降低时延,如此,提高了数据的传输速度。此外,由于电子设备200采用非应用层接收电子设备300发送的视频数据,无需电子设备300和电子设备200均安装相关联的应用程序,如此,提高了设备间数据传输的通用性。
可以理解,适用于本申请实施例的电子设备100可以为具有视频显示功能的各种电子设备,例如:手机、电脑、膝上型计算机、平板电脑、电视、显示设备、户外显示屏、车载终端等。
此外,可以理解,适用于本申请实施例的电子设备200可以为具有显示功能的各种电子设备,例如:手机、电脑、膝上型计算机、平板电脑、电视、显示设备、户外显示屏、车载终端,大屏设备等。
此外,可以理解,适用于本申请实施例的电子设备300可以为具有视频录入、音频录入等功能的各种设备,例如:摄像头系统、麦克风系统、手机、电脑、膝上型计算机、平板电脑等。
为了便于说明本申请的技术方案,下文以电子设备100为手机,电子设备200为大屏设备(例如,预装鸿蒙系统的电视机),电子设备300为平板电脑为例,说明在手机100与电视200进行视频通话的情况下,平板电脑300将采集到的视频数据传输给电视机200后,视频数据在电视机200中的传输方法。
电视机200需要与平板电脑300建立通信连接,才能接收平板电脑采集到的视频数据。示例性地,电视机200与平板电脑300登录同一个网络。例如,电视机200可通过路由器与平板电脑300建立Wi-Fi连接;或者,电视机200可直接与平板电脑300建立Wi-Fi P2P连接;或者,电视机200可直接与平板电脑300建立蓝牙连接;或者,电视机200可直接与平板电脑300建立短距离无线连接,该短距离无线连接包括但不限于NFC(Near FieldCommunication,近场通信)连接,红外线连接,UWB(Ultra Wideband,超宽带)超宽带连接,ZigBee(紫峰协议协议)连接;或者,电视机200可直接与平板电脑300建立移动网络连接,该移动网络包括但不限于支持2G,3G,4G,5G以及后续标准协议的移动网络。
或者,电视机200检测到用户点击“视频通话”控件后,电视机200可在显示“视频通话”控件的界面中显示当前电视机200搜索到的可以采集图像/视频数据的一个或多个候选设备,供用户选择,以使得用户选择的候选设备与电视机200建立关联关系。例如,服务器中可以记录每个电子设备是否具有拍摄功能。那么,电视机200可以在服务器中查询与电视机200登录同一账号(例如华为账号)的具有拍摄功能的电子设备。进而,电视机200可将查询到的电子设备作为候选设备显示在显示“视频通话”控件的界面,以使得用户选择的候选设备与电视机200建立关联关系。又如,电视机200将搜索到的设备经过筛选后,保留可以采集图像/视频数据的一个或多个候选设备呈现给用户,供用户选择,以使得用户选择的候选设备与电视机200建立关联关系。
又或者,电视机200中可安装用于管理家庭内智能家居设备(例如电视、平板电脑、空调、音箱或冰箱等)的应用。以智能家居应用举例,用户可以在智能家居应用中添加一个或多个智能家居设备,使得用户添加的智能家居设备与电视机200建立关联。例如,智能家居设备上可以设置包含设备标识等设备信息的二维码,用户使用电视机200的智能家居应用扫描该二维码后,可将对应的智能家居设备添加至智能家居应用中,从而建立智能家居设备与电视机200的关联关系。在本申请实施例中,当智能家居应用中添加的一个或多个智能家居设备上线时,例如,当电视机200检测到已添加智能家居设备发送的Wi-Fi信号时,电视机200可将该智能家居设备作为候选设备显示在显示“视频通话”控件的界面,提示用户选择使用相应的智能家居设备与电视机200进行同步拍摄。
又或者,当用户点击了“视频通话”控件后,电视200自动搜索到了具有拍摄能力的平板电脑300并与平板电脑300建立无线通信连接关系,则电视机300直接进入获取平板电脑300视频数据阶段。此时,无需用户手动选择与电视机200建立无线通信连接关系的具体设备。
又或者,在用户打开支持视频通话的应用程序之前,电视200可能已经与一个或多个具有拍摄功能的电子设备建立了网络连接。例如,用户在电视200中打开支持视频通话的应用程序之前,已经与平板电脑300建立了无线通信连接关系。后续,则电视200可以不再搜索具有拍摄功能的电子设备。
图3A示出了一种在上述场景中,实现平板电脑300和电视机200之间在建立通信连接关系后的视频数据的无线传输的系统架构图,该系统用于实现本申请的数据传输方法。
如图3A所示,平板电脑300包括收发模块301,设备协议适配模块302,设备控制模块303,音频视频转换模块304,设备OS适配模块305,设备OS模块306,平板电脑设备驱动模块307。
其中,收发模块301用于接收电视机200侧设备发送的控制指令,以及向电视机200发送平板电脑300侧的响应指令和视频数据。设备协议适配模块302用于和电视机200进行基本的协议交互,如能力协商、通道协商等。设备控制模块303用于管理和操作平板电脑300侧的音视频模块,如打开/关闭摄像头、扬声器等。音频视频转换模块304用于将接收/采集的音视频数据的转换为目标所需的编解码格式。设备OS适配模块305可以支持不同类型的摄像头,为不同类型的摄像头提供统一的操作系统接口,支持跨平台操作。设备OS模块306用于实现该设备操作系统下的接口调用。平板电脑设备驱动模块307用于控制和操作平板电脑300上的硬件模块,如摄像头、扬声器等。
继续参考图3A,电视机200包括收发模块201、虚拟Camera模块202、相机服务(CameraService)203和支持视频通话的应用程序204。
其中,收发模块201用于接收外接的平板电脑300发送的视频数据。
虚拟Camera模块202用于管理视频数据的获取进程,并根据预先设置的相机参数对视频数据进行处理。例如,虚拟Camera模块202根据预先设置的相机参数对图像或者视频数据进行解码、色彩空间转换、缩放、旋转、镜像、填充等处理。
具体地,虚拟Camera模块202包括状态管理模块2021、图像处理模块2022和操作控制模块2023。其中,状态管理模块2021用于控制平板电脑300的使用状态,能够在电视机200确定用户开启支持视频通话的应用程序204的拍摄功能的情况下,使得电视机200具备使用摄像头的拍摄能力。操作控制模块2023用于打开视频数据获取通道、配置视频或图像数据格式、处理框架层获取视频数据或图像数据的请求指令或关闭指令。图像处理模块2022用于根据预先设置的相机参数对视频数据进行解码、色彩空间转换、缩放、旋转、镜像、填充等处理。
支持视频通话的应用程序204可以为电话应用,微信,WeLink等,但不限于此。
在一些实施例中,平板电脑300将采集到的视频数据传输给电视机200后,在电视机200中视频数据的传输路径可以为:
平板电脑300将拍摄到的视频数据通过收发模块301传输到电视机200的硬件抽象层中的收发模块201。然后收发模块201再将视频数据转化为硬件抽象层需要的格式(例如PCM格式),再传送到虚拟Camera模块202。此时,为了缓解收发模块201接收速率过快,不能将接收到的视频即时显示在电视机200上,也可以在收发模块201缓存视频数据并将视频数据转化为硬件抽象层需要的格式。接着,虚拟Camera模块202再将转化为硬件抽象层需要的格式的视频数据传送到电视机200框架层的CameraService 203。CameraService 203将视频数据转化为符合预设相机参数的格式(例如,将视频数据缩放发到固定大小),进而再将视频数据传送到电视机200应用层中的支持视频通话的应用程序204,在支持视频通话的应用程序204的视频窗口,根据拍摄到的视频数据显示从平板电脑300传输过来的视频。以此循环获取平板电脑300通过拍摄得到的视频数据并显示在电视机200上。
如此,平板电脑300直接将视频数据传输给电视机200,缩短平板电脑300和电视机200间的数据传输路径,降低时延,提高数据的传输速度。此外,由于电视机200内部采用非应用层接收平板电脑300发送的视频数据,无需平板电脑300安装与电视机200相关联的应用程序,如此,提高了设备间数据传输的通用性。
在本申请其他一些实施例中,电视机200既可以通过无线通信方式获取其他电子设备的摄像头的视频数据,也可以通过有线连接(USB等连接件)获取外接摄像头的视频数据,用户通过有线和无线方式获取外接摄像头的视频数据的数据传输路径不同。用户可以根据实际情况自由选择视频数据获取方式。
具体地,图3B示出了一种在上述场景中,实现平板电脑300和电视机200之间的视频数据的又一种无线传输的系统架构图。
如图3B所示,电视机200与外接的平板电脑300通过如USB等可插拔方式连接,从而在平板电脑300拍摄到视频后,通过的内核层中的前/后置摄像头模块208将拍摄到的视频数据传输到电视机200的硬件抽象层中的原生Camera模块207,再传到电视机200框架层的相机服务模块203,进而再传到电视机200应用层中的支持视频通话的应用程序204中显示出来。
在电视机200与平板电脑300通过无线通信方式连接时,具体的数据传输过程与图3A所示的相同,在此不再赘述。
综上所述,电视机200通过无线通信方式获取外接摄像头的视频数据,和电视机200通过有线连接(USB等连接件)获取外接摄像头的视频数据时数据流走向不同。具体地,电视机200在使用无线方式连接其他电子设备的平板电脑300时,如图3B所示,在该应用场景中,由于本申请实施例中在硬件抽象层(HAL层)中新增了“虚拟Camera模块”这个模块,这个模块并列于已有的Android系统中的原生Camera模块207和原生Audio模块209。所以在视频通话的场景中,视频数据流在电视机200中的传输路径依次为:收发模块201---虚拟Camera模块202---CameraService203---支持视频通话的应用程序204。而电视机200在使用有线方式连接外接的平板电脑300时,例如,使用外接的平板电脑300进行拍照时,如图3B所示,在该应用场景中,数据流的走向是:前/后置摄像头驱动模块208(驱动外接平板电脑300)---原生Camera模块207---CameraService203—支持视频通话的应用程序204。由此可知,电视机200接收外接的平板电脑300传输过来的数据流走向是通过虚拟camera模块202,而外接的平板电脑300采集的数据流走向是通过原生Camera模块207。如此,电视机200系统内部的数据流走向是不同的,互不干扰的,在从外接的平板电脑300处获取视频数据播放的同时,并不影响外接的平板电脑300行使拍照功能,电视机200功能更强大,提升了用户体验。
下面将从电视机200与平板电脑300之间建立无线通信连接和平板电脑300进行信息查询、对平板电脑300和电视机200硬件抽象层中的虚拟camera模块202进行相机参数配置、电视机200获取平板电脑300的视频数据三个阶段进行阐述。
电视机200与平板电脑300之间建立无线通信连接和平板电脑300进行信息查询阶
段:
图4A根据本申请实施例,示出了电视机200与平板电脑300之间建立无线通信连接的一种流程示意图。如图4A所示,包括:
401:电视机200在检测到用户在支持视频通话的应用程序204中对外接摄像设备的设备查询操作的情况下,支持视频通话的应用程序204生成设备查询指令。
在需要外接摄像头进行拍摄功能的扩展的情况下,用户可以在支持视频通话的应用程序204中点击相应的控件,查询可外接的摄像设备。其中,设备查询操作用于查询电视机200周围或远端可以与之建立无线通信连接的设备。
根据本申请的一些实施例,图5A至图5M示出了用户在电视机200上设置外接摄像头的操作界面变化示意图。具体地,包括:
如图5A所示,电视机200的显示界面显示一些应用程序,例如支持视频通话的应用程序501(例如即时通信应用、视频会议应用)和娱乐视频应用程序502(例如直播应用、音乐应用)。假设用户想要使用支持视频通话的应用程序501,用户可以通过遥控器或者无线鼠标功能或者用户手指点击电视机200上的“社交”控件501,进入支持视频通话的应用程序的操作界面。
如图5B所示,进入支持视频通话的应用程序501的聊天操作界面,该操作界面显示对话框503和功能控件框504,功能控件框504包括“视频通话”控件5041。假设用户想要与支持视频通话的应用程序501中的联系人进行视频通话,用户可以点击“视频通话”5041控件,启动视频通话功能。
但是,如果电视机200本身未配置摄像头或者未与摄像头通过如USB等可插拔方式连接,则电视机200无法使用视频通话功能。如图5C所示,电视机200可以显示无法使用视频通话功能的提示信息,例如,电视机200上在提示框505中显示提示信息:“该设备不具有拍摄功能,是否外接具有拍摄功能的设备”,该提示框505还可以包括“是”选择控件5051和“取消”选择控件5052,供用户选择。
在用户点击“是”选择控件5051之后,电视机200应用层中的支持视频通话的应用程序204响应于用户的点击操作,确定用户的操作为设备查询操作。此外,可以理解,在其他实施例中,设备查询操作还可以为双击图5B中的“视频通话”控件5041,或者长按图5B中的“视频通话”控件5041,但不限于此。可以理解,在用户点击选择控件“取消”5052之后,电视机200关闭提示框505,提示框505消失。
402:电视机200应用层中的支持视频通话的应用程序204向框架层中的设备发现与连接模块205发送设备查询指令。其中,设备查询指令用于查询电视机200周围或远端可以无线连接的设备。
本申请实施例中,电视机200框架层中的设备发现与连接模块205用于搜索识别周围或远端的电子设备,并与识别到的电子设备之间建立无线通信连接。
此外,在其他一些实施例中,Cameraservice 203负责通信,电视机200应用层中的支持视频通话的应用程序204也可以先将开启设备查询指令发送给Cameraservice203,Cameraservice203在接收到开启设备查询指令的情况下,再向框架层中的设备发现与连接模块205发送开启设备查询指令。
403:电视机200框架层中的设备发现与连接模块205发送设备查询广播。
例如,电视机可以通过开启蓝牙等近距离通信技术发送设备查询广播,也可以通过开启无线等远距离通信技术发送设备查询广播。此时用户可以打开平板电脑300的蓝牙等通信功能,便于电视机200搜索到平板电脑300并与之建立无线通信连接。
404:平板电脑300通过电视机200中框架层的设备发现与连接模块205将设备信息发送给电视机200应用层中的支持视频通话的应用程序204。
可以理解,设备信息用于唯一确定设备信息对应的设备,并与之建立无线通信连接。设备信息可以为查询到的设备无线接入点名称、设备的名称,也可以为设备的MAC地址、IP地址等,但不限于此。
本申请实施例中,平板电脑300在接收到电视机200发送的设备查询广播的情况下,将设备信息发送给电视机200。电视机200中的框架层的设备发现与连接模块205能够检测到该信息并接收该消息。电视机200框架层中的设备发现与连接模块205向应用层中的支持视频通话的应用程序204发送设备信息,以供电视机200显示搜索到的可建立无线通信连接的设备。例如,在电视机200应用层中的支持视频通话的应用程序204接收到平板电脑300的设备信息的情况下,电视机200可以向用户显示平板电脑300。
405:电视机200应用层中的支持视频通话的应用程序204显示查询到的设备信息。
查询到的设备信息可以为周围或远端可以与电视机建立无线通信连接的设备无线接入点名称、设备的名称等。
示例性的,电视机200可以搜索与电视机200位于同一Wi-Fi网络中的电子设备。进而,电视机200可向同一Wi-Fi网络中的各个电子设备发送查询请求,触发接收到查询请求的电子设备可向电视机200发送响应消息,响应消息中可以指示自身是否具有拍摄功能。那么,电视机200可以根据接收到的响应消息确定出当前Wi-Fi网络中具有拍摄功能的电子设备。进而,电视机200可将具有拍摄功能的电子设备作为候选设备显示在提示框506中。
如图5D所示,电视机200显示提示框506,提示框506包括查询到的设备的名称,例如,电视机200显示搜索到如下设备:平板电脑、手机。并在提示框506显示用于与平板电脑、手机建立无线通信的“连接”控件5061。
406:电视机200在检测到用户在支持视频通话的应用程序204中选择了要连接的目标设备的操作的情况下,生成目标设备连接请求。
其中,目标设备连接请求用于请求目标设备与电视机200之间建立无线通信连接关系。例如,用户通过遥控器或者无线鼠标功能或用户手指选择了图5D的提示框506中的“连接”控件5061,则支持视频通话的应用程序204生成目标设备连接请求,以请求与平板电脑300建立连接。
可以理解,查询到的设备信息的数量可能为多个,当用户从查询到的设备中选择需要连接的那个设备后,用户选择的设备即为目标设备。例如,继续参阅图5D,在用户点击提示框506中平板电脑对应的“连接”控件5061时,目标设备为平板电脑300。
407:电视机200应用层中的支持视频通话的应用程序204通过框架层中的设备发现与连接模块205,向平板电脑300发送目标设备连接请求,以请求与平板电脑300建立无线通信连接关系。
可以理解,电视机200框架层中的设备发现与连接模块205在接收到电视机200通过应用层中的支持视频通话的应用程序204发送的目标设备连接请求的情况下,电视机200框架层中的设备发现与连接模块205向平板电脑300发送目标设备连接请求。
408:平板电脑300判断是否与电视机200成功建立连接,若否,则转至409;若是,则转至410。
409:平板电脑300通过电视机200框架层中的设备发现与连接模块205向支持视频通话的应用程序204反馈连接失败的信息。
可以理解,当平板电脑300与电视机200之间未成功建立无线通信连接时,平板电脑300向电视机200框架层中的设备发现与连接模块205反馈目标设备连接失败的信息,然后电视机200框架层中的设备发现与连接模块205再向应用层中的支持视频通话的应用程序204发送目标设备连接失败的反馈信息,以使得电视机200通过应用层中的支持视频通话的应用程序204确定显示目标设备连接失败的信息。
410:平板电脑300通过电视机200框架层中的设备发现与连接模块205向支持视频通话的应用程序204反馈连接成功的信息。
可以理解,当平板电脑300与电视机200之间建立无线通信连接后,平板电脑300向电视机200框架层中的设备发现与连接模块205反馈目标设备连接成功的信息,然后电视机200框架层中的设备发现与连接模块205再向应用层中的支持视频通话的应用程序204发送目标设备连接成功的反馈信息,以使得电视机200通过应用层中的支持视频通话的应用程序204显示目标设备连接成功的信息。
411:电视机200的支持视频通话的应用程序204判断反馈信息是否指示目标设备连接成功。若否,则转至412,若是。则转至413。
412:电视机200的支持视频通话的应用程序204向用户显示连接失败的信息。
可以理解,在一些实施例中,电视机200可以提示用户是否需要再次连接平板电脑300。例如,如图5E所示,电视机200显示提示框507a,该提示框507a显示提示信息:未与平板电脑连接,是否再次连接。如果用户选择再次连接平板电脑,则重复上述步骤407,例如,该提示框507a还包括“是”选择控件5071a和“否”选择控件5072a,供用户选择。
在用户点击“是”选择控件5071a之后,电视机200应用层中的支持视频通话的应用程序204响应于用户的点击操作,确定用户的操作为再次连接平板电脑,执行再次连接平板电脑操作。在用户点击“否”选择控件5072a之后,电视机200响应于此操作,电视机200关闭提示框505a,提示框507a消失,不执行再次连接平板电脑操作。
413:电视机200的支持视频通话的应用程序204向用户显示连接成功的信息。
例如,如图5F所示,电视机200在提示框507b中显示提示信息:“已与平板电脑连接”,该提示框507还包括“是”控件5071b,可以理解,在用户点击“是”控件5071之后,电视机200关闭提示框507,提示框507消失。
414:电视机200通过框架层中的设备管理模块204向平板电脑300发送平板电脑的摄像头使用状况信息查询请求。
可以理解,此处平板电脑的摄像头使用状况信息可以是平板电脑300的拍摄功能被使用,也可以是平板电脑300的拍摄功能未被使用。在平板电脑300的摄像头未被其他设备使用的情况下,才可以被电视机200使用,于是,电视机200通过框架层中的设备管理模块204向平板电脑300发送摄像头使用状况信息查询请求,以确定平板电脑300的摄像头是否被其他设备使用。
415:平板电脑300通过电视机200框架层中的设备管理模块205,向应用层中的支持视频通话的应用程序204反馈平板电脑的摄像头的使用状况信息。
可以理解,在平板电脑300可以通过读取自身存储器目录下的文件内容,判断摄像头是否被使用,并向电视机200框架层中的设备管理模块205反馈摄像头正在被使用信息或者未被使用的信息,具体地,若电视机200查询到平板电脑300目录下存储摄像头未被其他设备使用的消息,则判断平板电脑300的摄像头未被其他设备使用。向电视机200反馈平板电脑300的摄像头未被其他设备使用的信息。若电视机200查询到平板电脑300目录下存储摄像头被其他设备使用的消息,则判断平板电脑300的摄像头被其他设备使用。向电视机200反馈平板电脑300的摄像头被其他设备使用的信息。
416:电视机200的支持视频通话的应用程序204判断接收到的摄像头的使用状况信息是否指示摄像头未被使用。若是,则转至417;若否,则转至418。
417:电视机200显示摄像头被使用信息。
电视机200的支持视频通话的应用程序204在确定接收到的使用状况信息表示摄像头被使用的情况下,提示用户平板电脑300被使用,不可以被电视机200用于视频通话,并提示用户该平板电脑300不可用。
例如,如图5G所示,电视机200在提示框508a显示提示信息:“平板电脑的拍摄功能被使用,请选择其他设备”,该提示框508a还包括控件“是”5081a,可以理解,在用户点击控件“是”5081a之后,电视机200关闭提示框508a,提示框508a消失。
418:电视机200向用户显示摄像头未被使用信息。
电视机200的支持视频通话的应用程序204在确定接收到的使用状况信息表示平板电脑300的摄像头未被使用的情况下,提示用户平板电脑300的摄像头未被使用,可以用于视频通话,并请求用户指示是否继续进行视频通话。
例如,如图5H所示,电视机200在提示框508b显示提示信息:“平板电脑的拍摄功能未被使用,是否继续进行视频通话”,该提示框508b还包括“是”控件5081b,可以理解,在用户点击“是”控件5081b之后,电视机200关闭提示框508,提示框508消失,且电视机200进入对平板电脑300和电视机200硬件抽象层中的虚拟camera模块202进行相机参数配置阶段。
用户在看到如图5H所示的提示信息后,如果选择继续进行视频通话,则电视机200
需要对平板电脑300和电视机200硬件抽象层中的虚拟camera模块202进行相机参数配置。
下面介绍对平板电脑300和电视机200硬件抽象层中的虚拟camera模块202进行相机参数配
置阶段。
图4B根据本申请实施例,示出了一种对平板电脑300和电视机200硬件抽象层中的虚拟camera模块202进行相机参数配置流程示意图。如图4B所示,相机参数配置阶段包括:
419:电视机200检测到用户在应用层中的支持视频通话的应用程序204对外界摄像设备的开启操作的情况下,生成开启摄像头指令,其中,开启摄像头指令用于指示配置并开启平板电脑300,从而使得平板电脑300开始采集视频数据。
例如,在上述图5H中,如果用户点击“是”控件5081b,则电视机200确定用户操作为开启摄像头操作。再例如,如图5B所示,在电视机200与平板电脑300之间建立无线通信连接后,用户再次点击控件“视频通话”5041,即为开启摄像头操作。
420:电视机200应用层中的支持视频通话的应用程序204向硬件抽象层中的虚拟Camera模块202发送开启摄像头指令。
电视机200应用层中的支持视频通话的应用程序204在接收到电视机200应用层中的支持视频通话的应用程序204发送的开启摄像头指令的情况下,触发电视机200硬件抽象层中的虚拟Camera模块202的端口协商操作,端口协商操作使得电视机200与摄像头之间协商出可以传输开启摄像头指令的通道。
421:电视机200硬件抽象层中的虚拟Camera模块202通过硬件抽象层中的收发模块201向平板电脑300发送端口协商请求,端口协商请求用于指示电视机200与平板电脑300协商出能够传输开启摄像头指令的端口。
端口协商请求用于电视机200和平板电脑300之间协商使用预设端口传输开启摄像头指令。此预设端口可以为控制端口。此预设端口与视频数据传输端口不是同一个端口,以防止平板电脑300向电视机200传输视频等数据与如开启摄像头请求等控制指令在一个通道传输,干扰视频数据的传输速度和传输质量。
可以理解,因为控制端口用于发送开启摄像头请求,属于对平板电脑300进行控制,所以还可以叫控制通道。
422:平板电脑300向电视机200硬件抽象层中的收发模块201反馈能够通过预设端口发送开启摄像头指令的信息。
可以理解,端口协商指的是进行具体的指令/数据传输的时候首先要进行协商出用于进行指令/数据传输的设备端口号,两端分别获取对端IP地址等操作。
例如,平板电脑300向电视机200发送开启摄像头请求的端口号进行协商。则平板电脑300向电视机200的收发模块201发送能够使用控制端口传输开启摄像头请求的信息。
例如,电视机200通过A接口向平板电脑300发送开启摄像头请求,平板电脑300通过B接口接收电视机200发送的开启摄像头请求。
在一些实施例中,当协商成功后,平板电脑300向电视机200发送协商成功的信息,电视机200在接收到协商成功的信息后,显示协商成功的信息,使得用户可以知晓配置并开启平板电脑300的进程,提升用户体验。例如,如图5I所示,电视机200在提示框509显示提示信息:“端口协商成功!”,该提示框509还包括“是”控件5091,可以理解,在用户点击“是”控件5091之后,电视机200关闭提示框509,提示框509消失。
423:电视机200硬件抽象层中的收发模块201通过预设端口向平板电脑300发送开启摄像头指令。
可以理解,端口协商成功后,电视机200可以用协商出来的端口发送控制命令,例如,可以将开启摄像头指令通过协商的预设端口进行传输。
可以理解,端口协商可以为端口自动协商。具体的,端口自动协商模式是端口根据另一端设备的连接速度和双工模式,自动把它的速度调节到最高的工作水平,即线路两端能具有的最快速度和双工模式。自协商功能允许一个网络设备能够将自己所支持的工作模式信息传达给网络上的对端,并接受对方可能传递过来的相应信息,从而解决双工和10M/100M速率自协商问题。
424:平板电脑300开启拍摄功能。
可以理解,此时还未进行视频数据传输,仅仅是平板电脑300启动拍摄功能,平板电脑300开始采集视频数据。
425:电视机200通过硬件抽象层中的收发模块201向平板电脑300发送摄像头能力参数查询请求和拍摄功能使用状况信息请求。
可以理解,电视机200和平板电脑300处理视频数据和显示视频的能力不同,因此,电视机200需要获取平板电脑300具备的摄像头能力参数,以便于电视机200调整处理视频数据和显示视频的方式。例如,摄像头能力参数可以为摄像头对视频数据的编码能力。
此外,可以理解,摄像头使用状况信息可以是指示摄像头的拍摄功能未被使用或者正在被使用或被使用,平板电脑300可能随时被其他设备使用,此处可以再重新查询摄像头的使用信息,更加准确的确定摄像头的拍摄功能是否可以使用。
426:平板电脑300通过电视机200硬件抽象层中的收发模块201向硬件抽象层中的虚拟Camera模块202反馈摄像头能力参数和使用状况信息。
例如,若平板电脑300查询到平板电脑300目录下存储摄像头未被其他设备使用的消息,则判断平板电脑300的摄像头未被其他设备使用。平板电脑300向电视机200反馈平板电脑300的摄像头未被其他设备使用的信息。若平板电脑300查询到平板电脑300目录下存储摄像头被其他设备使用的消息,则判断平板电脑300的摄像头被其他设备使用。平板电脑300向电视机200反馈平板电脑300的摄像头被其他设备使用的信息。
例如,若平板电脑300查询到平板电脑300目录下存储摄像头具备H.264编码能力驱动文件,则判断平板电脑300具有摄像头具备H.264编码能力。平板电脑300向电视机200反馈平板电脑300具备摄像头具备H.264编码能力。
电视机200在接收到摄像头能力参数和使用信息的情况下,电视机200通过硬件抽象层中的收发模块201向硬件抽象层中的虚拟Camera模块202发送摄像头能力参数和使用信息,电视机200通过硬件抽象层中的虚拟Camera模块202向应用层中的支持视频通话的应用程序204发送摄像头能力参数和使用信息。
427:电视机200硬件抽象层中的虚拟Camera模块202向应用层中的支持视频通话的应用程序204反馈摄像头使用状况信息。
428:电视机200应用层中的支持视频通话的应用程序204显示摄像头使用状况信息。
429:电视机200硬件抽象层中的虚拟Camera模块202判断平板电脑300的使用状况信息是否指示拍摄功能未被使用。
可以理解,摄像头使用状况信息可以是指示摄像头的拍摄功能未被使用或者正在被使用。在平板电脑300未被其他设备使用的情况下,才可以被电视机200使用,则电视机200需要调用用于处理外接摄像头传输过来的视频数据的程序接口,才能使得电视机200开始视频通话功能。例如,若电视机200硬件抽象层中的虚拟Camera模块202判断平板电脑300的使用状况信息是指示拍摄功能未被使用,则调用电视机200硬件抽象层中用于处理外接摄像头传输过来的视频数据的虚拟Camera模块202。
在平板电脑300被其他设备使用的情况下,不可以被电视机200使用,则不需要调用用于处理外接摄像头传输过来的视频数据的程序接口。例如,若电视机200硬件抽象层中的虚拟Camera模块202判断平板电脑300的使用状况信息是指示拍摄功能被使用,则不调用电视机200硬件抽象层中用于处理外接摄像头传输过来的视频数据的虚拟Camera模块202。
430:电视机200调用硬件抽象层中的虚拟Camera模块202,并根据摄像头能力参数和自身能力参数比较的结果参数配置虚拟Camera模块202。
例如,电视机200可以根据对比度将虚拟Camera模块202配置为具有将接收到的视频数据处理为满足该对比度的视频数据。具体的配置过程将在下文详细描述。
虚拟Camera模块202为具有图像处理能力的程序,图像处理能力可以包括对视频数据进行解码、色彩调整、色彩空间转换、缩放、旋转、镜像、填充、拍摄、录制等,但不限于此。当电视机200响应于用户在支持视频通话的应用程序204上的开启摄像头的操作,通过电视机200的操作系统中的硬件抽象层的操作接口,产生虚拟Camera模块202。
虚拟Camera模块202根据预先设置的相机参数对图像或者视频数据进行解码、色彩空间转换、缩放、旋转、镜像、填充等处理。具体地,虚拟Camera模块202包括状态管理模块2021、图像处理模块2022和操作控制模块2023。其中,状态管理模块2021用于控制平板电脑300的使用状态,状态管理模块2021用于在电视机200确定用户开启支持视频通话的应用程序204的拍摄功能的情况下,使得电视机200具备使用摄像头camera的能力。操作控制模块2023用于打开或关闭视频数据获取通道、配置视频或图像数据格式、处理框架层获取视频或图像数据的请求或关闭指令。图像处理模块2022用于根据预先设置的相机参数对视频数据进行解码、色彩空间转换、缩放、旋转、镜像、填充等处理。
当支持视频通话的应用程序204响应于断开外置平板电脑300连接的用户操作,通过电视机200的操作系统的硬件抽象层的操作接口,释放虚拟Camera模块202。
可以理解,支持视频通话的应用程序一般由Java程序实现,而硬件抽象层由C/C++程序实现,则支持视频通话的应用程序可通过Java本地界面(Java Native Interface,JNT)间接调用硬件抽象层的结构体camera-device-ops-t操作接口,完成对平板电脑300的操作。在封装的图像功能接口中通过软件或安卓主机设备上的硬件编解码器完成外置平板电脑300输出格式的转换,获取预览拍照录像所需要的视频数据。
可以理解,电视机200和平板电脑300处理视频数据和显示视频的能力不同,因此,电视机200需要获取平板电脑300具备的摄像头能力参数,以便于电视机200调整处理视频数据和显示视频的方式。例如,摄像头能力参数可以为摄像头对视频数据的编码能力。电视机200根据摄像头能力参数和自身能力参数比较的结果参数配置虚拟Camera模块202。图4C所示为根据本申请的一些实施例,示出的一种电视机200根据摄像头能力参数和自身能力参数比较的结果参数配置虚拟Camera模块202的流程示意图,具体地,包括:
S1:电视机200获取平板电脑300的编码器对视频数据的编码能力,以及电视机200也获取电视机200的解码器对视频数据的解码能力。
S2:电视机200比较平板电脑300的编码器对视频数据的编码能力和电视机200的解码器对视频数据的解码能力,电视机200判断平板电脑300的编码器和电视机200的解码器是否均具备H.264标准能力,即判断电视机200的解码器是否具备H.264解码能力和平板电脑300的编码器是否具备H.264编码能力,若否,则转至S3,若是,则转至S4。
S3:电视机200显示电视机200不具备H.264解码能力或者平板电脑300不具备H.264编码能力。
S4:电视机200继续判断电视机200的解码器和平板电脑300的编码器是否均具备H.265标准能力,即电视机200判断电视机200的解码器是否具备H.265解码能力和平板电脑300的编码器是否具备H.265编码能力,若是,则转至S5。若否,则转至S6。
S5:将电视机200的解码器设置为H.265解码能力和平板电脑300的编码器设置为H.265编码能力。
S6:将电视机200的解码器设置为H.264解码能力和平板电脑300的编码器设置为H.264编码能力。
为了使得用户可以知晓配置并开启平板电脑300的进程,提升用户体验。如图5J所示,电视机200可以在提示框510显示提示信息:“本地设备具备H.265解码能力,摄像头具备H.264编码能力且未被其他设备使用!”,该提示框509还包括“是”控件5101,可以理解,在用户点击“是”控件5101之后,电视机200关闭提示框510,提示框510消失。
为了提示用户,在电视机200调用硬件抽象层的虚拟摄像头功能后,如图5K所示,电视机20可以在提示框511显示提示消息:“平板电脑的拍摄功能调用成功!”。该提示框511还包括“是”控件5111,可以理解,在用户点击“是”控件5111之后,电视机200关闭提示框511,提示框511消失。
431:电视机200硬件抽象层中的虚拟Camera模块202向框架层中的cameraservice203发送相机参数获取请求。
在电视机200硬件抽象层中的虚拟Camera模块202根据摄像头能力参数和自身能力参数比较的结果参数配置虚拟Camera模块202后,电视机200硬件抽象层中的虚拟Camera模块202向框架层中的cameraservice203发送相机参数获取请求,相机参数获取请求用于指示电视机200硬件抽象层中的虚拟Camera模块202从框架层中的cameraservice203获取相机参数。
其中,相机参数可以包括摄像头的相机参数和电视机的相机参数,其中,摄像头的相机参数用于配置平板电脑300的相机参数。电视机的相机参数用于配置电视机200的相机参数。可以理解,摄像头的相机参数可以为分辨率、帧率、感光度(ISO值)、连拍速度、对焦速度、曝光时间、图像的位深度、像元尺寸、曝光模式、对焦模式等。电视机的相机参数,可以为图像对比度、图像分辨率等。
在一些实施例中,相机参数可以来自用户操作或者电视机本身设置的。以相机参数可以来自用户操作来说明,电视机200可以通过应用层中的支持视频通话的应用程序204确定用户操作所选择的相机参数。电视机200框架层的相机服务203(CameraService)根据用户选择的相机参数向虚拟Camera模块202发送相机参数,例如,如图5L所示,电视机200在提示框512中显示提示消息:“是否配置如下相机参数:曝光模式,对焦模式”。该提示框512还包括勾选控件5121和确定控件5122。用户可以从曝光模式和对焦模式中选择至少一种方式,假设用户选择曝光模式和对焦模式,则点击择曝光模式和对焦模式对应的勾选控件5121和确定控件5122,则电视机200确定相机参数包括曝光模式和对焦模式。
432:电视机200通过框架层中的cameraservice203向硬件抽象层中的虚拟Camera模块202发送相机参数。
433:电视机200硬件抽象层中的虚拟Camera模块202用相机参数配置虚拟Camera模块202。
电视机200根据电视机的相机参数将虚拟Camera模块202配置完成后,虚拟Camera模块202可以将从平板电脑300接收过来的视频数据转化成电视机的相机参数限定的格式,例如,将从平板电脑300接收过来的视频数据转化为预设对比度的视频数据。
434:电视机200硬件抽象层中的虚拟Camera模块202通过硬件抽象层中的收发模块201向平板电脑300发送端口协商请求,该端口协商请求用于指示电视机200和平板电脑300协商出可以传输相机参数的预设端口。
端口协商请求用于电视机200和平板电脑300之间协商使用预设端口传输相机参数。此预设端口可以为参数端口。此预设端口与视频数据传输端口不是同一个端口,以防止平板电脑300向电视机200传输视频等数据与如端口协商请求等控制指令在一个通道传输,干扰视频数据的传输速度和传输质量。可以理解,端口也可以叫控制通道。
435:平板电脑300向电视机200硬件抽象层中的收发模块201反馈能够使用预设端口发送相机参数。
在平板电脑300反馈能够使用预设端口发送相机参数信息后,电视机200就可以通过协商好的预设端口传输相机参数。
436:电视机200硬件抽象层中的收发模块201通过预设端口向平板电脑300发送相机参数。
437:平板电脑300根据相机参数配置平板电脑300。
平板电脑300可以根据电视机200发送过来的摄像头的相机参数配置平板电脑300。以使得平板电脑300通过调整拍摄时的摄像头参数(例如连拍速度、对焦速度、曝光时间)和处理视频数据(将视频数据压缩到预设大小)得到符合相机参数的数据。
438:平板电脑300通过硬件抽象层中的收发模块201向电视机200应用层中的支持视频通话的应用程序204反馈平板电脑300的相机参数配置成功信息。
可以理解,平板电脑300可以向收发模块201反馈相机参数配置成功信息。再通过电视机200硬件抽象层中的收发模块201向电视机200的应用层中的支持视频通话的应用程序204发送相机参数配置成功信息。
平板电脑300也可以直接向应用层中的支持视频通话的应用程序204发送相机参数配置成功信息。
439:电视机200应用层中的支持视频通话的应用程序204显示平板电脑300的相机参数配置成功的信息。
如图5M所示,电视机200在提示框513显示提示信息:“已配置相机参数,是否启动获取平板电脑采集的视频数据的流程!”,该提示框513还包括“是”5131控件,可以理解,在用户点击控件“是”5131之后,电视机200关闭提示框513,提示框513消失。
相机参数配置成功后,例如,用户在看到如图5M所示的提示信息后,,如果选择继 续进行视频通话,则电视机300进入获取平板电脑300视频数据阶段。在其他一些实施例中,电视机200与平板电脑300建立无线通信连接后,在用户无感知的情况下,电视机200自动完成平板电脑300和电视机200硬件抽象层中的虚拟camera模块202进行相机参数配置阶段,如此,用户便可以控制电视机200进入电视机200获取平板电脑300中的视频数据的阶段。
下面介绍电视机200获取平板电脑300视频数据阶段中的视频数据传输过程。具体如下:
图4D根据本申请实施例,示出了一种视频数据传输流程示意图。如图4D所示:
440:电视机200检测到用户的视频获取操作,生成视频获取指令440。其中,视频获取指令用于从平板电脑300获取视频数据。
电视机200可以根据用户在应用层中的支持视频通话的应用程序204的操作确定用户操作是否为视频获取操作。例如,如图5B所示,在电视机200与平板电脑300建立通信连接后,如果用户再次点击“视频通话”控件5041,则电视机200可以确定用户点击“视频通话”控件5041的操作即为视频获取操作。此外,可以理解,该视频获取操作也可以为双击、长按“视频通话”控件,但不限于此。
此外,可以理解,除了视频外,也可以为图像获取操作。
441:电视机200应用层中的支持视频通话的应用程序204通过硬件抽象层的虚拟Camera模块202向平板电脑300发送视频获取请求。其中,视频获取请求用于从平板电脑300获取视频数据。
为了启动平板电脑300的视频数据传输流程,需要向平板电脑300发送视频获取请求。
为了避免平板电脑300向电视机200传输视频等数据与如视频获取请求等控制指令在一个通道传输,干扰视频数据的传输速度和传输质量。在虚拟Camera模块202向平板电脑300发送视频获取请求之前,电视机200与平板电脑300协商出数据传输端口,用于传输视频数据,传输端口也可以叫做数据传输通道。
442:平板电脑300向硬件抽象层中的收发模块201发送视频数据。
平板电脑300将拍摄到的视频数据发送给硬件抽象层中的收发模块201。
443:电视机200硬件抽象层中的收发模块201将视频数据转化为硬件抽象层需要的格式,并缓存转化为硬件抽象层需要的格式的视频数据。
一般情况下,如果硬件抽象层需要的格式与收发模块201接收到的视频数据格式不同,则需要将视频数据转化为硬件抽象层需要的格式。硬件抽象层需要的格式可以为PCM格式。
可以理解,为了缓解收发模块201接收速率过快,不能将接收到的视频即时显示在电视机200上,也可以在收发模块20缓存转化为硬件抽象层需要的格式的视频数据,留待电视机200后续使用。
444:电视机200硬件抽象层中的收发模块201将转化为硬件抽象层需要的格式的视频数据发送给虚拟Camera模块202。
445:电视机200硬件抽象层中的虚拟Camera模块202根据预先设置的相机参数和结果能力参数对接收到视频数据进行处理,得到处理后的视频数据。
虚拟Camera模块202用于管理视频数据的获取进程,并根据预先设置的相机参数对视频数据进行处理。具体地,虚拟Camera模块202包括图像处理模块2022,图像处理模块2022用于根据预先设置的相机参数对视频数据进行解码、色彩空间转换、缩放、旋转、镜像、填充等处理。例如,将视频数据进行H.265格式解码。
446:电视机200通过硬件抽象层中的Camerservice203向应用层中的支持视频通话的应用程序204发送处理后的视频数据。
447:电视机200应用层中的支持视频通话的应用程序204根据处理后的视频数据播放视频。
实施例二:
图6示出了一种实现麦克风300和电视机200之间的音频数据传输的系统架构图。与实施例一中的图3A所示应用场景中的架构图相比,可以将虚拟camera模块更换为虚拟Audio模块205,用于连接具有拾音功能的设备(例如麦克风)。电视机200与麦克风300之间建立无线通信连接和对麦克风300进行信息查询、对麦克风300和电视机200硬件抽象层中的虚拟Audio模块205进行音频参数配置、电视机200获取麦克风300的音频数据三个阶段与实施例一基于相同的技术构思,前两个阶段在此不再赘述,下面具体介绍电视机200获取麦克风300的音频数据阶段的技术。
图7根据本申请实施例,示出了一种音频数据传输流程示意图。如图7所示:
700:电视机200检测到用户的音频获取操作,生成音频获取指令。其中,音频获取指令用于从麦克风300获取音频数据。
电视机200可以根据用户在应用层中的支持视频通话的应用程序204的操作确定用户操作是否为音频获取操作。例如,在电视机200与麦克风300建立通信连接后,如果用户再次点击“音频通话”控件,则电视机200可以确定用户点击“音频通话”控件的操作即为音频获取操作。此外,可以理解,该音频获取操作也可以为双击、长按“音频通话”控件,但不限于此。
701:电视机200应用层中的支持视频通话的应用程序204通过硬件抽象层的虚拟Audio模块205向麦克风300发送音频获取请求。其中,音频获取请求用于从麦克风300获取音频数据。
为了启动麦克风300的音频数据传输流程,需要向麦克风300发送音频获取请求。
为了避免麦克风300向电视机200传输音频等数据与如音频获取请求等控制指令在一个通道传输,干扰音频数据的传输速度和传输质量。在虚拟Audio模块205向麦克风300发送音频获取请求之前,电视机200与麦克风300协商出数据传输端口,用于传输音频数据,传输端口也可以叫做数据传输通道。
702:麦克风300向硬件抽象层中的收发模块201发送音频数据。
麦克风300将通过拾音得到的音频数据发送给硬件抽象层中的收发模块201。
703:电视机200硬件抽象层中的收发模块201将音频数据转化为硬件抽象层需要的格式,并缓存转化为硬件抽象层需要的格式的音频数据。
一般情况下,如果硬件抽象层需要的格式与收发模块201接收到的音频数据格式不同,则需要将音频数据转化为硬件抽象层需要的格式。硬件抽象层需要的格式可以为PCM,例如收发模块201接收到的音频数据格式为AAC,那么收发模块201需要将AAC解码成硬件抽象层需要的PCM格式。。
可以理解,为了缓解收发模块201接收速率过快,不能将接收到的音频即时显示在电视机200上,可以在收发模块20缓存转化为硬件抽象层需要的格式的音频数据,留待电视机200后续使用。
704:电视机200硬件抽象层中的收发模块201将转化为硬件抽象层需要的格式的音频数据发送给虚拟Audio模块205。
705:电视机200硬件抽象层中的虚拟Audio模块205根据预先设置的音频参数对接收到音频数据进行处理,得到处理后的音频数据。
虚拟Audio模块205用于管理音频数据的获取进程,并根据预先设置的相机参数对音频数据进行处理。
706:电视机200通过硬件抽象层中的虚拟Audio模块205向应用层中的支持视频通话的应用程序204发送处理后的音频数据。
707:电视机200应用层中的支持视频通话的应用程序204根据处理后的音频数据播放音频。
实施例三:
图8示出了一种实现电视机200分别与麦克风300-1和平板电脑300-2之间的音频数据和视频数据传输的系统架构图。如图8所示,与实施例一不同的是,在本申请实施例中同时设置虚拟Audio模块205和虚拟Camera模块202,虚拟Audio模块205和虚拟Camera模块202并列,是针对摄像和拾音功能的拓展。电视机200与麦克风300-1和平板电脑300-2可以通过不同的端口(也可以叫做通道)传输数据,互不干扰。例如,电视机200与麦克风300-1通过端口1传输音频数据,电视机200与平板电脑300-2通过端口2传输视频数据。实施例三与实施例一基于相同的技术构思,在此不再赘述。
实施例四:
图9示出了一种实现电视机200分别与麦克风300-1、平板电脑300-2和音箱300-3之间的音频数据、视频数据以及音频数据传输的系统架构图。如图9所示,与实施例一不同的是,在本申请实施例中同时设置虚拟Audio模块205、虚拟Camera模块202和虚拟Sound模块211,虚拟Audio模块205、虚拟Camera模块202和虚拟Sound模块211并列,是针对摄像、拾音功能和声音播放功能的拓展。
其中,电视机200与麦克风300-1、平板电脑300-2、音箱300-3可以通过不同的端口(也可以叫做通道)传输数据,互不干扰。例如,电视机200与麦克风300-1通过端口1传输音频数据,电视机200与平板电脑300-2通过端口2传输视频数据,电视机200与音箱300-3通过端口3传输视频数据。可以理解,电视机200中需要通过音箱300-3播放的音频数据可以来源于与之视频通话的手机100传输过来的可以播放的音频数据,也可以为音乐应用程序中存储的可以播放的音频数据。
本技术方案外接的电子设备包括但不限于摄像头系统(例如平板电脑300-2),还可以外接的麦克风系统(例如麦克风300-1)和音箱系统(例如音箱300-3),在用户通过电视机200进行视频通话时,将视频预览使用摄像头系统来进行,语音播放使用音箱系统来进行,语音采集使用麦克风系统来进行。实施例四与实施例一基于相同的技术构思,在此不再赘述。
图10示出了一种适用于本申请实施例的电视机200的结构示意图。
如图10所示,为根据本申请的实施例公开的一种电视机200的结构示意图。电视机200可以包括通信模块221、处理器222、存储器223、显示屏224、音频模块225以及电源模块226等。
可以理解的是,本发明实施例示意的结构并不构成对电视机200的具体限定。在本申请另一些实施例中,电视机200可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
通信模块221可以包括天线,并经由天线实现对电磁波的收发。无线通信模块221可以提供应用在电视机200上的包括无线局域网(wireless localarea networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR),2G/3G/4G/5G以及后续无线标准协议等无线通信的解决方案。电视机200可以通过无线通信技术与网络以及其他设备进行通信。本申请实施例中,可以通过通信模块221与外接的平板电脑300进行通信,接收平板电脑300传输过来的视频数据。
处理器222可以包括一个或多个处理单元,例如,可以包括CPU、ISP、图形处理器(Graphics Processing Unit,GPU)、DSP、微处理器(Micro-programmed Control Unit,MCU)、人工智能(Artificial Intelligence,AI)处理器或可编程逻辑器件(FieldProgrammable Gate Array,FPGA)等的处理模块或处理电路。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。处理器222中可以设置存储单元,用于存储指令和数据。处理器222可以执行本申请实施中的数据传输方法。
存储器223,用于存储指令和数据.本申请实施例中,可以存储视频数据,音频数据,应用程序,操作系统等。
显示屏224用于显示人机交互界面、图像、视频等。显示屏224包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organiclight-emitting diode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode的,AMOLED),柔性发光二极管(flexlight-emitting diode,FLED),MiniLED,MicroLED,MicroOLED,量子点发光二极管(quantum dot light emitting diodes,QLED)等。本申请实施例中,电视机200可以根据从外接的平板电脑300获取的视频数据播放视频。
音频模块225用于将数字音频信息转换成模拟音频信号输出,或者将模拟音频输入转换为数字音频信号。音频模块225还可以用于对音频信号编码和解码。在一些实施例中,音频模块225可以设置于处理器222中,或将音频模块225的部分功能模块设置于处理器222中。在一些实施例中,音频模块225可以包括扬声器、听筒、麦克风以及耳机接口。
电源模块226可以包括电源、电源管理部件等。电源可以为电池。电源管理部件用于管理电源的充电和电源向其他模块的供电。在一些实施例中,电源管理部件包括充电管理模块和电源管理模块。充电管理模块用于从充电器接收充电输入;电源管理模块用于连接电源,充电管理模块与处理器222。电源管理模块接收电源和/或充电管理模块的输入,为处理器222,显示屏224以及通信模块221等供电。
图11示出了一种适用于本申请实施例的平板电脑300的结构示意图。
如图11所示,为根据本申请的实施例公开的一种平板电脑300的结构示意图。平板电脑300可以包括通信模块321、摄像头322、处理器323以及电源模块324等。
可以理解的是,本发明实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,平板电脑300可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
通信模块321可以包括天线,并经由天线实现对电磁波的收发。无线通信模块321可以提供应用在电子设备100上的包括无线局域网(wireless localarea networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR),2G/3G/4G/5G以及后续无线标准协议等无线通信的解决方案。电子设备100可以通过无线通信技术与网络以及其他设备进行通信。本申请实施例中,可以通过通信模块321与电视机200进行通信,将摄取到的视频数据传输给电视机200。
处理器323可以包括一个或多个处理单元,例如,可以包括CPU、图像信号处理器(Image Signal Processor,ISP)、图形处理器(Graphics Processing Unit,GPU)、DSP、微处理器(Micro-programmed Control Unit,MCU)、人工智能(Artificial Intelligence,AI)处理器或可编程逻辑器件(Field Programmable Gate Array,FPGA)等的处理模块或处理电路。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。处理器322中可以设置存储单元,用于存储指令和数据。本申请实施例中,处理器322可以将摄取到视频经过处理后得到视频数据,并在接收到电视机200发送图像数据获取请求的情况下,向电视机200发送视频数据。
摄像头332用于捕获静态图像或视频。景物通过镜头生成的光学图像投射到感光元件。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。平板电脑300可以通过ISP,摄像头,视频编解码器,GPU,显示屏202以及应用处理器等实现拍摄功能。
电源模块324可以包括电源、电源管理部件等。电源可以为电池。电源管理部件用于管理电源的充电和电源向其他模块的供电。在一些实施例中,电源管理部件包括充电管理模块和电源管理模块。充电管理模块用于从充电器接收充电输入;电源管理模块用于连接电源,充电管理模块与处理器322。电源管理模块接收电源和/或充电管理模块的输入,为处理器323,摄像头322以及通信模块321等供电。
图12示出了一种适用于本申请实施例的手机100的结构示意图。
如图12所示,手机100可以包括处理器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和eSIM卡196等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本申请实施例示意的结构并不构成对手机100的具体限定。在本申请另一些实施例中,手机100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
手机100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。本申请实施例中,可以通过这些模块与电视机200交互,从电视机200获取视频数据。
手机100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),MiniLED,MicroLED,MicroOLED,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,手机100可以包括1个或N个显示屏194,N为大于1的正整数。本申请实施例中,可以根据从电视机200获取的视频数据显示视频。
手机100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展手机100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储手机100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。处理器110通过运行存储在内部存储器121的指令,和/或存储在设置于处理器中的存储器的指令,执行手机100的各种功能应用以及数据处理。
SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和手机100的接触和分离。手机100可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口195可以支持Nano SIM卡,Micro SIM卡,SIM卡等。同一个SIM卡接口195可以同时插入多张卡。所述多张卡的类型可以相同,也可以不同。SIM卡接口195也可以兼容不同类型的SIM卡。SIM卡接口195也可以兼容外部存储卡。
在一些实施例中,手机100还包括eSIM卡196,即:嵌入式SIM卡。eSIM卡196可以嵌在手机100中,不能和手机100分离。其中,eSIM卡196可以集成在手机的SOC(system onchip,片上系统)芯片,调制解调(modem)芯片或者近场通信(NFC,near fieldcommunication)芯片中,本申请实施例对此不作任何限制。
手机100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本发明实施例以分层架构的Android系统为例,示例性说明电手机100的软件结构。
图13是本申请实施例,示出了一种手机100或者电视机200的软件结构框图。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库(也可以为硬件抽象层),以及内核层。
应用程序层可以包括一系列应用程序包。如图11所示,应用程序包可以包括购物、新闻、相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序。应用程序框架层为应用程序层的应用程序提供应用编程接口(Application programminginterface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图13所示,应用程序框架层可以包括窗口管理器,页面提供器,视图系统,电话管理器,资源管理器,通知管理器等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。本申请实施例中,电视机200在提示框508显示提示信息:“摄像头未被使用”
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
Android Runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:虚拟Camera模块、表面管理器(surfacemanager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。其中,虚拟Camera模块包括状态管理模块、图像处理模块和操作控制模块。状态管理模块用于控制平板电脑300的使用状态,状态管理模块用于在电视机200确定用户开启支持视频通话的应用程序204的拍摄功能的情况下,使得电视机200具备使用摄像头camera的能力。操作控制模块用于打开视频数据获取通道、配置视频或图像数据格式、处理框架层获取视频或图像数据的请求或关闭指令。图像处理模块用于根据预先设置的相机参数对视频数据进行解码、色彩空间转换、缩放、旋转、镜像、填充等处理。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
在一些情况下,所公开的实施例可以以硬件、固件、软件或其任何组合来实现。所公开的实施例还可以被实现为由一个或多个暂时或非暂时性机器可读(例如,计算机可读)存储介质承载或存储在其上的指令,其可以由一个或多个处理器读取和执行。例如,指令可以通过网络或通过其他计算机可读介质分发。因此,机器可读介质可以包括用于以机器(例如,计算机)可读的形式存储或传输信息的任何机制,包括但不限于,软盘、光盘、光碟、只读存储器(CD-ROMs)、磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、磁卡或光卡、闪存、或用于利用因特网以电、光、声或其他形式的传播信号来传输信息(例如,载波、红外信号数字信号等)的有形的机器可读存储器。因此,机器可读介质包括适合于以机器(例如,计算机)可读的形式存储或传输电子指令或信息的任何类型的机器可读介质。
虽然通过参阅本申请的某些优选实施例,已经对本申请进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种改变,而不偏离本申请的精神和范围。
Claims (13)
1.一种数据传输方法,其特征在于,所述方法包括:
第一电子设备和第二电子设备建立无线通信连接;
第一电子设备的第一应用调用第一功能;
所述第一电子设备确定利用第二电子设备实现所述第一功能;
所述第一电子设备通过所述第一电子设备的第一功能收发模块实现与所述第二电子设备之间的数据传输,以及
通过所述第一电子设备的第一功能处理模块对实现所述第一功能所产生的数据进行处理;
其中,所述第一功能收发模块和所述第一功能处理模块设置于所述第一电子设备的硬件抽象层。
2.根据权利要求1所述的方法,其特征在于,所述第一功能为拍摄功能,所述第一电子设备通过所述第一电子设备的第一功能收发模块实现与所述第二电子设备之间的数据传输,包括:
所述第一电子设备的所述第一功能收发模块从所述第二电子设备接收所述第二电子设备拍摄到的图像数据和/或视频数据,并将接收到的图像数据和/或视频数据发送给所述第一功能处理模块。
3.根据权利要求1所述的方法,其特征在于,所述第一功能为音频采集功能;所述第一电子设备通过所述第一电子设备的第一功能收发模块实现与所述第二电子设备之间的数据传输,包括:
所述第一电子设备的所述第一功能收发模块从所述第二电子设备接收所述第二电子设备采集到的音频数据,并将接收到的音频发送给所述第一功能处理模块。
4.根据权利要求1所述的方法,其特征在于,所述第一功能为扬声功能;所述第一电子设备通过所述第一电子设备的第一功能收发模块实现与所述第二电子设备之间的数据传输,包括:
所述第一电子设备的第一功能处理模块对需要所述第二电子设备扬声的音频数据进行处理,并通过所述第一功能收发模块将处理后的音频数据发送给所述第二电子设备。
5.根据权利要求1至4中任一所述的方法,其特征在于,所述方法还包括:
所述第一电子设备的第二应用调用所述第一功能;
所述第一电子设备确定利用所述第一电子设备的第一功能器件实现所述第一功能。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
所述第一电子设备通过所述第一电子设备的第二功能收发模块传输所述第一功能器件实现所述第一功能所产生的数据至所述第二应用,以及
通过所述第一电子设备的第二功能处理模块处理所述第一功能器件实现所述第一功能所产生的数据。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述第一电子设备的第一应用还调用第二功能;
所述第一电子设备确定利用第三电子设备实现所述第二功能;
所述第一电子设备通过第三功能收发模块实现与所述第三电子设备之间的数据传输,以及
通过所述第一电子设备的第三功能处理模块对实现所述第二功能所产生的数据进行,其中,所述第三功能收发模块和所述第三功能处理模块独立于所述第一应用。
8.根据权利要求7所述的方法,其特征在于,所述第一功能是拍摄功能,所述第二功能是音频采集功能。
9.根据权利要求7所述的方法,其特征在于,所述方法还包括:
所述第一电子设备的第一应用还调用第三功能;
所述第一电子设备确定利用第四电子设备实现所述第三功能;
所述第一电子设备通过第四功能收发模块实现与所述第四电子设备之间的数据传输,以及
通过所述第一电子设备的第四功能处理模块对实现所述第三功能所产生的数据进行处理,其中,所述第四功能收发模块和所述第四功能处理模块独立于所述第一应用。
10.根据权利要求9所述的方法,其特征在于,所述第一功能是拍摄功能,所述第二功能是音频采集功能,所述第三功能是音频播放功能。
11.根据权利要求1至10中任一项所述的方法,其特征在于,所述第一应用包括即时通信应用、视频会议应用、直播应用、音乐应用中的任意一种。
12.一种可读介质,其特征在于,所述可读介质上存储有指令,该指令在电子设备上执行时使电子设备执行权利要求1至11中任一项所述的数据传输方法。
13.一种电子设备,所述电子设备包括:
存储器,用于存储由电子设备的一个或多个处理器执行的指令,以及
处理器,是电子设备的处理器之一,用于执行权利要求1至11中任一项所述第一电子设备、第二电子设备或者第三电子设备执行的数据传输方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110129420.XA CN114827514B (zh) | 2021-01-29 | 2021-01-29 | 电子设备及其与其他电子设备的数据传输方法和介质 |
PCT/CN2021/143621 WO2022161106A1 (zh) | 2021-01-29 | 2021-12-31 | 电子设备及其与其他电子设备的数据传输方法和介质 |
US18/274,598 US20240089414A1 (en) | 2021-01-29 | 2021-12-31 | Electronic device, method for data transmission between the electronic device and another electronic device, and medium |
EP21922694.1A EP4266677A4 (en) | 2021-01-29 | 2021-12-31 | ELECTRONIC DEVICE, METHOD FOR TRANSMITTING DATA BETWEEN THE ELECTRONIC DEVICE AND ANOTHER ELECTRONIC DEVICE, AND MEDIUM |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110129420.XA CN114827514B (zh) | 2021-01-29 | 2021-01-29 | 电子设备及其与其他电子设备的数据传输方法和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114827514A true CN114827514A (zh) | 2022-07-29 |
CN114827514B CN114827514B (zh) | 2023-11-17 |
Family
ID=82525637
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110129420.XA Active CN114827514B (zh) | 2021-01-29 | 2021-01-29 | 电子设备及其与其他电子设备的数据传输方法和介质 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20240089414A1 (zh) |
EP (1) | EP4266677A4 (zh) |
CN (1) | CN114827514B (zh) |
WO (1) | WO2022161106A1 (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104471510A (zh) * | 2012-07-11 | 2015-03-25 | 谷歌公司 | 用于图像采集和处理的统一跨设备控制的抽象相机管道 |
CN105867997A (zh) * | 2015-02-10 | 2016-08-17 | 联发科技股份有限公司 | 执行应用的控制方法及相关的数据访问系统 |
US20180109624A1 (en) * | 2016-10-13 | 2018-04-19 | Sierraware, Llc | Device and system for cloud based mobile application virtualization |
CN108781236A (zh) * | 2017-06-16 | 2018-11-09 | 华为技术有限公司 | 音频播放方法及电子设备 |
CN111083364A (zh) * | 2019-12-18 | 2020-04-28 | 华为技术有限公司 | 一种控制方法、电子设备、计算机可读存储介质、芯片 |
CN111104012A (zh) * | 2019-12-12 | 2020-05-05 | 惠州Tcl移动通信有限公司 | 测距方法及其装置、存储介质及终端设备 |
CN111625214A (zh) * | 2020-05-22 | 2020-09-04 | 广州视源电子科技股份有限公司 | 音频控制方法、装置、设备及存储介质 |
CN111683279A (zh) * | 2020-06-08 | 2020-09-18 | 海信视像科技股份有限公司 | 显示设备及图像恢复方法 |
CN111930340A (zh) * | 2020-09-21 | 2020-11-13 | 北京技德系统技术有限公司 | 一种基于Linux与Android兼容技术的虚拟音频装置与方法 |
CN112055072A (zh) * | 2020-08-31 | 2020-12-08 | 北京爱奇艺科技有限公司 | 云端音频输入方法、装置、云系统、电子设备与存储介质 |
WO2021052388A1 (zh) * | 2019-09-18 | 2021-03-25 | 华为技术有限公司 | 一种视频通信方法及视频通信装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103634629A (zh) * | 2013-11-07 | 2014-03-12 | 康佳集团股份有限公司 | 一种机顶盒共享移动终端摄像头的方法和装置 |
CN103686328A (zh) * | 2013-12-23 | 2014-03-26 | 乐视致新电子科技(天津)有限公司 | 为智能电视扩展摄像头的方法及装置 |
CN110177218B (zh) * | 2019-06-28 | 2021-06-04 | 广州鲁邦通物联网科技有限公司 | 一种安卓设备的拍照图像处理方法 |
CN110933275B (zh) * | 2019-12-09 | 2021-07-23 | Oppo广东移动通信有限公司 | 拍照方法及相关设备 |
CN111061524A (zh) * | 2019-12-09 | 2020-04-24 | Oppo广东移动通信有限公司 | 一种应用数据处理方法及相关装置 |
CN115136570A (zh) * | 2020-02-20 | 2022-09-30 | 华为技术有限公司 | 物联网设备的集成 |
-
2021
- 2021-01-29 CN CN202110129420.XA patent/CN114827514B/zh active Active
- 2021-12-31 WO PCT/CN2021/143621 patent/WO2022161106A1/zh active Application Filing
- 2021-12-31 US US18/274,598 patent/US20240089414A1/en active Pending
- 2021-12-31 EP EP21922694.1A patent/EP4266677A4/en active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104471510A (zh) * | 2012-07-11 | 2015-03-25 | 谷歌公司 | 用于图像采集和处理的统一跨设备控制的抽象相机管道 |
CN105867997A (zh) * | 2015-02-10 | 2016-08-17 | 联发科技股份有限公司 | 执行应用的控制方法及相关的数据访问系统 |
US20180109624A1 (en) * | 2016-10-13 | 2018-04-19 | Sierraware, Llc | Device and system for cloud based mobile application virtualization |
CN108781236A (zh) * | 2017-06-16 | 2018-11-09 | 华为技术有限公司 | 音频播放方法及电子设备 |
WO2021052388A1 (zh) * | 2019-09-18 | 2021-03-25 | 华为技术有限公司 | 一种视频通信方法及视频通信装置 |
CN111104012A (zh) * | 2019-12-12 | 2020-05-05 | 惠州Tcl移动通信有限公司 | 测距方法及其装置、存储介质及终端设备 |
CN111083364A (zh) * | 2019-12-18 | 2020-04-28 | 华为技术有限公司 | 一种控制方法、电子设备、计算机可读存储介质、芯片 |
CN111625214A (zh) * | 2020-05-22 | 2020-09-04 | 广州视源电子科技股份有限公司 | 音频控制方法、装置、设备及存储介质 |
CN111683279A (zh) * | 2020-06-08 | 2020-09-18 | 海信视像科技股份有限公司 | 显示设备及图像恢复方法 |
CN112055072A (zh) * | 2020-08-31 | 2020-12-08 | 北京爱奇艺科技有限公司 | 云端音频输入方法、装置、云系统、电子设备与存储介质 |
CN111930340A (zh) * | 2020-09-21 | 2020-11-13 | 北京技德系统技术有限公司 | 一种基于Linux与Android兼容技术的虚拟音频装置与方法 |
Also Published As
Publication number | Publication date |
---|---|
EP4266677A4 (en) | 2024-01-10 |
EP4266677A1 (en) | 2023-10-25 |
CN114827514B (zh) | 2023-11-17 |
US20240089414A1 (en) | 2024-03-14 |
WO2022161106A1 (zh) | 2022-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021051989A1 (zh) | 一种视频通话的方法及电子设备 | |
CN113542839B (zh) | 电子设备的投屏方法和电子设备 | |
CN112398855B (zh) | 应用内容跨设备流转方法与装置、电子设备 | |
US20230069398A1 (en) | Method for Implementing Wi-Fi Peer-To-Peer Service and Related Device | |
WO2022121775A1 (zh) | 一种投屏方法及设备 | |
CN113438354B (zh) | 数据传输方法、装置、电子设备和存储介质 | |
WO2022048474A1 (zh) | 一种多应用共享摄像头的方法与电子设备 | |
CN112394895A (zh) | 画面跨设备显示方法与装置、电子设备 | |
CN114697527B (zh) | 一种拍摄方法、系统及电子设备 | |
WO2022068513A1 (zh) | 无线通信方法和终端设备 | |
WO2024087900A1 (zh) | 一种摄像头切换方法及相关电子设备 | |
CN115514882B (zh) | 一种分布式拍摄方法,电子设备及介质 | |
CN112969089B (zh) | 一种http请求传输方法及设备 | |
CN113472477A (zh) | 无线通信系统及方法 | |
CN113395364A (zh) | 一种应用服务器的访问方法及终端 | |
CN114157659A (zh) | 一种文件分享方法及终端设备 | |
CN113746945B (zh) | 反向地址解析方法及电子设备 | |
CN114827514B (zh) | 电子设备及其与其他电子设备的数据传输方法和介质 | |
WO2021218544A1 (zh) | 一种提供无线上网的系统、方法及电子设备 | |
CN114928898A (zh) | 建立基于WiFi直接连接的会话的方法和装置 | |
CN114928900A (zh) | 通过WiFi直接连接进行传输的方法和装置 | |
CN117062252B (zh) | 一种数据传输方法及电子设备 | |
WO2022170885A1 (zh) | 分布式设备能力虚拟化方法、介质和电子设备 | |
CN115942253B (zh) | 一种提示方法及相关装置 | |
EP4354917A1 (en) | Data processing method and electronic device |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |