Method and device for sharing camera
By configuring a virtual camera and interacting with camera information, the performance and network bandwidth issues when multiple terminal devices use the same physical camera simultaneously are resolved, achieving stable and smooth camera control and improving device utilization efficiency.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-28
- Publication Date
- 2026-03-10
AI Technical Summary
When multiple terminal devices use the same physical camera simultaneously, the performance and network bandwidth requirements of the devices are high, and existing technologies struggle to achieve stable and smooth control.
By acquiring information from physical cameras, virtual cameras are configured, and stable and smooth control of multiple devices is achieved in electronic devices. Virtual cameras are used to operate physical cameras, including the interaction of labels, parameters, and instruction information, avoiding the need to repeatedly open physical cameras.
When single-device network bandwidth and media data processing capabilities are limited, multiple electronic devices can simultaneously and stably control the camera of another device, improving device utilization efficiency and network bandwidth utilization.
Smart Images

Figure CN121644982A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communication technology, and more specifically, to a method and apparatus for sharing a camera. Background Technology
[0002] With technological advancements, terminal devices are becoming increasingly interconnected and capable of processing media data, leading to significant growth in their applications across various industries. Distributed business application scenarios are also becoming more diverse in interconnected device operations, with distributed camera sharing receiving particular attention.
[0003] In current distributed cameras, the operation typically involves interconnection and sharing between two devices. Most often, the first terminal device calls upon the second terminal device's camera through the distributed camera system to perform common functions such as previewing, taking photos, and recording video. As distributed scenarios with multiple terminal devices become increasingly common, the simultaneous interconnection and use of a single physical camera by multiple terminal devices has become a pressing need. However, this simultaneous use of a single physical camera places high demands on device performance and network bandwidth. Summary of the Invention
[0004] This application provides a method and apparatus for sharing a camera, enabling multiple electronic devices to use the same physical camera simultaneously.
[0005] Firstly, a method for sharing a camera is provided. This method can be executed by a first device, or by other entities, without limitation in this application. The first device includes an electronic device, or chips or circuits within the electronic device (such as a modem chip, also known as a baseband chip, or a system-on-a-chip (SoC) chip or system-in-package (SIP) chip including a modem core), or functional modules within the electronic device capable of calling and executing programs.
[0006] The method includes: acquiring information of a first camera, the information of which is related to a physical camera on a second device; configuring a first virtual camera according to the information of the first camera, the first virtual camera corresponding to the physical camera; sending information of the first virtual camera, the information of which includes the information of the physical camera; and receiving first information from a third device, the first information being used to perform a first operation on the first virtual camera, wherein performing the first operation on the first virtual camera includes performing the first operation on the physical camera through the first virtual camera.
[0007] Based on the above scheme, the distributed cameras that are already turned on in the electronic device are virtualized again into new distributed cameras that can be called by other electronic devices. This allows multiple electronic devices to control the camera of another electronic device stably and smoothly at the same time, even when the network bandwidth and media data processing capabilities of a single device are limited.
[0008] In some implementations, the information of the physical camera includes one or more of the following: the identifier of the second device, the identifier of the physical camera, and parameters of the physical camera.
[0009] Based on the above scheme, other electronic devices can determine whether to use the physical camera based on the identifier of the second device and the identifier and parameters of the physical camera.
[0010] In some implementations, the information of the first virtual camera may also include one or more of the identifier of the first virtual camera and the parameters of the first virtual camera.
[0011] Based on the above scheme, other electronic devices can relay the opening of the physical camera of the first device using the first virtual camera.
[0012] Optionally, the parameters of the first virtual camera are less than or equal to the parameters of the physical camera.
[0013] In some implementations, the information of the first virtual camera may also include first indication information, which indicates whether the first virtual camera is available for use by other devices.
[0014] In some implementations, the first indication information includes a connectable number, which is the maximum number of devices that the first virtual camera can currently connect to, and the value of the connectable number is a first value.
[0015] Based on the above scheme, the other electronic devices can determine whether the first virtual camera is available according to the maximum number of devices that the first virtual camera can currently connect to.
[0016] In some implementations, the method further includes: after the third device establishes a connection with the first virtual camera, determining and sending an updated number of connectable devices, wherein the updated number of connectable devices is a second value, and the second value is the first value minus one.
[0017] Based on the above scheme, the number of devices that the first virtual camera can connect to decreases by 1 each time it connects to another device, so that other electronic devices can promptly determine whether the first virtual camera is available.
[0018] In some implementations, the method further includes sending second information, the second information being used to perform a second operation on the first camera.
[0019] In some implementations, before configuring the first virtual camera, the method further includes: determining whether the physical camera has been turned on by the first device based on information from the first camera; and determining that the first camera is available when the physical camera has not yet been turned on by the first device.
[0020] Based on the above solution, the repeated opening of the same physical camera can be avoided.
[0021] In some implementations, configuring the first virtual camera based on the information of the first camera includes: configuring the first virtual camera based on the information of the first camera when the first camera is turned on.
[0022] In some implementations, the first camera is the physical camera.
[0023] In some implementations, the first camera is a second virtual camera on a fourth device, and the second virtual camera corresponds to the physical camera.
[0024] In some implementations, the method further includes: receiving third information from a fifth device, the second information being used to perform a third operation on the first virtual camera.
[0025] Secondly, a method for sharing a camera is provided. This method can be executed by a third device, or by other entities, without limitation in this application. The third device may include an electronic device, or a chip or circuit within the electronic device (such as a modem chip, also known as a baseband chip, or a system-on-a-chip (SoC) chip or system-in-package (SIP) chip including a modem core), or a functional module within the electronic device capable of calling and executing programs.
[0026] The method includes: acquiring information of a first virtual camera on a first device, the first virtual camera corresponding to a physical camera on a second device, the information of the first virtual camera including information of the physical camera; sending first information, the first information being used to perform a first operation on the first virtual camera, wherein performing the first operation on the first virtual camera includes: performing the first operation on the physical camera through the first virtual camera.
[0027] In some implementations, the information of the physical camera includes one or more of the following: the identifier of the second device, the identifier of the physical camera, and parameters of the physical camera.
[0028] In some implementations, the information of the first virtual camera may also include one or more of the identifier of the first virtual camera and the parameters of the first virtual camera.
[0029] In some implementations, the information of the first virtual camera may also include first indication information, which indicates whether the first virtual camera is available for use by other devices.
[0030] In some implementations, the first indication information includes a connectable number, which is the maximum number of devices that the first virtual camera can currently connect to, and the value of the connectable number is a first value.
[0031] In some implementations, before sending the first information, the method further includes: determining whether the physical camera has been turned on by the first device; and when the physical camera has not been turned on by the first device, determining that the first virtual camera is available.
[0032] In some implementations, before sending the first information, the method further includes: determining whether a first condition is met; when the first condition is met, determining that the first virtual camera is available, wherein the first condition includes: the physical camera has not yet been turned on by the first device, and the first value is greater than 0.
[0033] Thirdly, a method for sharing a camera is provided. This method can be executed by a second device, or by other entities, without limitation in this application. The second device may include an electronic device, or a chip or circuit within the electronic device (such as a modem chip, also known as a baseband chip, or a system-on-a-chip (SoC) chip or system-in-package (SIP) chip including a modem core), or a functional module within the electronic device capable of calling and executing programs.
[0034] The method includes: sending information about a physical camera on the second device, the information of which includes an identifier of the second device and an identifier and parameters of the physical camera.
[0035] Fourthly, a communication device is provided. The communication device is used to execute the first aspect described above and any of its embodiments. Specifically, the communication device includes a processor and a memory for storing a computer program; the processor is used to retrieve and run the computer program from the memory, causing the communication device to execute the first aspect described above and any of its embodiments.
[0036] In one implementation, the communication device is a first device. When the communication device is the first device, the transceiver unit can be a transceiver or an input / output interface. The processing unit can be at least one processor. Optionally, the transceiver can be a transceiver circuit. Optionally, the input / output interface can be an input / output circuit.
[0037] In another implementation, the communication device can be a chip, chip system, or circuit in the first device. In this case, the transceiver unit can be an input / output interface, interface circuit, output circuit, input circuit, pin, or related circuit on the chip, chip system, or circuit; the processing unit can be at least one processor, processing circuit, or logic circuit.
[0038] Fifthly, a communication device is provided. The communication device is used to execute the second aspect described above and any of its embodiments. Specifically, the communication device includes a processor and a memory for storing a computer program; the processor is used to retrieve and run the computer program from the memory, causing the communication device to execute the second aspect described above and any of its embodiments.
[0039] In one implementation, the communication device is a third device. When the communication device is a third device, the transceiver unit can be a transceiver or an input / output interface. The processing unit can be at least one processor. Optionally, the transceiver can be a transceiver circuit. Optionally, the input / output interface can be an input / output circuit.
[0040] In another implementation, the communication device can be a chip, chip system, or circuit in a third device. In this case, the transceiver unit can be an input / output interface, interface circuit, output circuit, input circuit, pin, or related circuit on the chip, chip system, or circuit; the processing unit can be at least one processor, processing circuit, or logic circuit.
[0041] Sixthly, a communication device is provided. The communication device is used to execute the third aspect described above and any of its embodiments. Specifically, the communication device includes a processor and a memory for storing a computer program; the processor is used to retrieve and run the computer program from the memory, causing the communication device to execute the third aspect described above and any of its embodiments.
[0042] In one implementation, the communication device is a second device. When the communication device is a second device, the transceiver unit can be a transceiver or an input / output interface. The processing unit can be at least one processor. Optionally, the transceiver can be a transceiver circuit. Optionally, the input / output interface can be an input / output circuit.
[0043] In another implementation, the communication device can be a chip, chip system, or circuit in the second device. In this case, the transceiver unit can be an input / output interface, interface circuit, output circuit, input circuit, pin, or related circuit on the chip, chip system, or circuit; the processing unit can be at least one processor, processing circuit, or logic circuit.
[0044] A seventh aspect provides a computer-readable storage medium storing a computer program that, when executed, causes the methods of any one of the implementations of the first, second, and third aspects described above to be performed.
[0045] Eighthly, a computer program product comprising instructions is provided. When the computer program product is run, it causes the method provided by any implementation of the first and second aspects above to be executed.
[0046] Ninth aspect, a chip is provided, the chip including a processor and a communication interface, the processor reading instructions through the communication interface and executing the method provided by any one of the implementations of the first, second and third aspects above.
[0047] Optionally, as one implementation, the chip also includes a memory that stores computer programs or instructions. The processor is used to execute the computer programs or instructions stored in the memory. When the computer programs or instructions are executed, the processor is used to perform the methods provided by any one of the implementations of the first, second, and third aspects described above.
[0048] Tenthly, a computer program is provided. When the computer program is run, it causes the methods provided in any of the implementations of the first, second, and third aspects described above to be executed.
[0049] Eleventhly, a computer program product containing instructions is provided, which, when run on a computer, causes the computer to perform any of the communication methods that can be implemented in the first aspect and the first aspect, or the second aspect and the second aspect, or the third aspect and the third aspect.
[0050] In a twelfth aspect, a communication system is provided, comprising a communication device of the fourth aspect, a communication device of the fifth aspect, and a communication device of the sixth aspect. Attached Figure Description
[0051] Figure 1 This is a schematic diagram of the structure of an electronic device.
[0052] Figure 2 A software structure block diagram of an electronic device provided in an embodiment of this application.
[0053] Figure 3 This is a schematic diagram of the architecture of the communication system used in the embodiments of this application.
[0054] Figure 4 This is a schematic diagram of one application scenario of this application.
[0055] Figure 5 This is a schematic flowchart illustrating a method for sharing a camera, provided as an embodiment of this application.
[0056] Figure 6 This is a schematic block diagram of an electronic device according to this application.
[0057] Figure 7 This is a schematic flowchart illustrating a method for sharing a camera, as provided in one embodiment of this application.
[0058] Figure 8 This is a schematic diagram of a data transmission scenario provided in an embodiment of this application.
[0059] Figure 9 This is a timing diagram of a distributed camera invocation according to an embodiment of this application.
[0060] Figure 10 This is a schematic flowchart illustrating a method for sharing a camera, provided as an embodiment of this application.
[0061] Figure 11 This is a schematic diagram of a data transmission scenario provided in an embodiment of this application.
[0062] Figure 12 This is a schematic block diagram of a communication device provided in one embodiment of this application.
[0063] Figure 13 This is a schematic diagram of the structure of a communication device provided in another embodiment of this application. Detailed Implementation
[0064] To facilitate understanding of the above embodiments provided in this application, the following points are made:
[0065] 1) In this application, unless otherwise specified or in case of logical conflict, the terms and / or descriptions of different embodiments are consistent and can be referenced by each other. The technical features of different embodiments can be combined to form new embodiments according to their inherent logical relationship.
[0066] 2) In this application, "at least one" means one or more, and "more than one" means two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can mean: A exists alone, A and B exist simultaneously, or B exists alone, where A and B can be singular or plural. In the textual description of this application, the character " / " generally indicates that the preceding and following related objects are in an "or" relationship. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one of a, b, and c can mean: a, or, b, or, c, or, a and b, or, a and c, or, b and c, or, a, b, and c. Here, a, b, and c can each be single or multiple.
[0067] 3) In this application, the terms "first," "second," and various numerical designations (e.g., #1, #2, etc.) indicate distinctions made for ease of description and are not intended to limit the scope of the embodiments of this application. For example, they may distinguish different messages, rather than describing a specific order or sequence. It should be understood that such descriptions can be interchanged where appropriate to describe solutions other than those in the embodiments of this application.
[0068] 4) In this application, descriptions such as “when…”, “under the circumstances of…” and “if” all refer to the fact that the device will make corresponding processing under certain objective circumstances. They are not time limits, nor do they require the device to make a judgment action when it is implemented, nor do they mean that there are other limitations.
[0069] 5) In this application, "instruction" or "for instruction" can include both direct and indirect instruction. When describing an instruction as being used to instruct A, it may include whether the instruction directly instructs A or indirectly instructs A, but does not necessarily mean that the instruction carries A.
[0070] The indication methods involved in the embodiments of this application should be understood to cover various methods that enable the party to be indicated to obtain the information to be indicated. The information to be indicated can be sent as a whole or divided into multiple sub-information and sent separately. Moreover, the sending period and / or sending time of these sub-information can be the same or different. This application does not limit the sending method, for example.
[0071] The "instruction information" in the embodiments of this application can be an explicit instruction, that is, a direct instruction through signaling, or an instruction obtained by combining other rules or parameters with the parameters indicated by the signaling, or by deduction. It can also be an implicit instruction, that is, an instruction obtained based on rules or relationships, or based on other parameters, or by deduction. This application does not specifically limit it in this regard.
[0072] 6) In this application, "communication" can also be described as "data transmission," "information transmission," "data processing," etc. "Transmission" includes "sending" and "receiving." "Transmission" can also be described as "output."
[0073] 7) In this application, "sending information to XX (device)" can be understood as the destination of the information being that device. This can include sending information directly or indirectly to that device. "Receiving information from XX (device), or receiving information from XX (device)" can be understood as the source of the information being that device, and can include receiving information directly or indirectly from that device. Information may undergo necessary processing between the source and destination, such as format changes, but the destination can understand the valid information from the source.
[0074] The electronic device described below is an example of the electronic device in this application. In some embodiments, the electronic device may be a portable electronic device that also includes other functions such as a personal digital assistant and / or music player, such as a mobile phone, tablet computer, or wearable electronic device with wireless communication capabilities (such as a smartwatch). Exemplary embodiments of the portable electronic device include, but are not limited to, devices equipped with... Alternatively, it can be a portable electronic device with another operating system. The aforementioned portable electronic device can also be other portable electronic devices, such as laptops. It should also be understood that in some other embodiments, the aforementioned electronic device may not be a portable electronic device, but rather a desktop computer. In some other embodiments, the electronic device can be a measurement instrument, such as an oscilloscope. In this application, the electronic device can be replaced by a terminal device.
[0075] For example, Figure 1A schematic diagram of the structure of electronic device 100 is shown. Electronic device 100 may include a processor 110, an external memory interface 120, an internal memory 121, a universal serial bus (USB) interface 130, a charging management module 140, a power management module 141, a battery 142, antenna 1, antenna 2, a mobile communication module 150, a wireless communication module 160, an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, a headphone jack 170D, a sensor module 180, buttons 190, a motor 191, an indicator 192, a camera 193, a display screen 194, and a subscriber identification module (SIM) card interface 195, etc. The sensor module 180 may include a pressure sensor 180A, a gyroscope sensor 180B, a barometric pressure sensor 180C, a magnetic sensor 180D, an accelerometer sensor 180E, a distance sensor 180F, a proximity sensor 180G, a fingerprint sensor 180H, a temperature sensor 180J, a touch sensor 180K, an ambient light sensor 180L, a bone conduction sensor 180M, etc.
[0076] It is understood that the structures illustrated in the embodiments of this application do not constitute a specific limitation on the electronic device 100. In other embodiments of this application, the electronic device 100 may include more or fewer components than illustrated, or combine some components, or split some components, or have different component arrangements. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.
[0077] Processor 110 may include one or more processing units, such as: application processor (AP), modem processor, graphics processing unit (GPU), image signal processor (ISP), controller, memory, video codec, digital signal processor (DSP), baseband processor, and / or neural network processing unit (NPU), etc. Different processing units may be independent devices or integrated into one or more processors.
[0078] The controller can be the nerve center and command center of the electronic device 100. The controller can generate operation control signals according to the instruction opcode and timing signals to complete the control of fetching and executing instructions.
[0079] The processor 110 may also include a memory for storing instructions and data. In some embodiments, the memory in the processor 110 is a cache memory. This memory can store instructions or data that the processor 110 has just used or that are used repeatedly. If the processor 110 needs to use the instruction or data again, it can retrieve it directly from the memory. This avoids repeated accesses, reduces the waiting time of the processor 110, and thus improves the efficiency of the system.
[0080] In some embodiments, the processor 110 may include one or more interfaces. Interfaces may include an inter-integrated circuit (I2C) interface, an inter-integrated circuit sound (I2S) interface, a pulse code modulation (PCM) interface, a universal asynchronous receiver / transmitter (UART) interface, a mobile industry processor interface (MIPI), a general-purpose input / output (GPIO) interface, a subscriber identity module (SIM) interface, and / or a universal serial bus (USB) interface, etc.
[0081] The wireless communication function of electronic device 100 can be realized through antenna 1, antenna 2, mobile communication module 150, wireless communication module 160, modem processor and baseband processor, etc.
[0082] Antenna 1 and antenna 2 are used to transmit and receive electromagnetic wave signals. Each antenna in electronic device 100 can be used to cover one or more communication frequency bands. Different antennas can also be multiplexed to improve antenna utilization. For example, antenna 1 can be multiplexed as a diversity antenna for a wireless local area network. In some other embodiments, the antennas can be used in conjunction with tuning switches.
[0083] The mobile communication module 150 can provide solutions for wireless communication, including 2G / 3G / 4G / 5G, applied to the electronic device 100. The mobile communication module 150 may include at least one filter, switch, power amplifier, low noise amplifier (LNA), etc. The mobile communication module 150 can receive electromagnetic waves via antenna 1, and perform filtering, amplification, and other processing on the received electromagnetic waves before transmitting them to a modem processor for demodulation. The mobile communication module 150 can also amplify the signal modulated by the modem processor and convert it into electromagnetic waves for radiation via antenna 1. In some embodiments, at least some functional modules of the mobile communication module 150 may be housed in the processor 110. In some embodiments, at least some functional modules of the mobile communication module 150 and at least some modules of the processor 110 may be housed in the same device.
[0084] The modem processor may include a modulator and a demodulator. The modulator modulates the low-frequency baseband signal to be transmitted into a mid-to-high frequency signal. The demodulator demodulates the received electromagnetic wave signal into a low-frequency baseband signal. The demodulator then transmits the demodulated low-frequency baseband signal to the baseband processor for processing. After processing by the baseband processor, the low-frequency baseband signal is transmitted to the application processor. The application processor outputs sound signals through an audio device (not limited to speaker 170A, receiver 170B, etc.) or displays images or videos through the display screen 194. In some embodiments, the modem processor may be a separate device. In other embodiments, the modem processor may be independent of the processor 110 and may be housed in the same device as the mobile communication module 150 or other functional modules.
[0085] The wireless communication module 160 can provide solutions for wireless communication applications on the electronic device 100, including wireless local area networks (WLANs) (such as wireless fidelity (Wi-Fi) networks), Bluetooth (BT), global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), and infrared (IR) technologies. The wireless communication module 160 can be one or more devices integrating at least one communication processing module. The wireless communication module 160 receives electromagnetic waves via antenna 2, performs frequency modulation and filtering of the electromagnetic wave signals, and sends the processed signal to processor 110. The wireless communication module 160 can also receive signals to be transmitted from processor 110, perform frequency modulation and amplification, and convert them into electromagnetic waves for radiation via antenna 2.
[0086] In some embodiments, antenna 1 of electronic device 100 is coupled to mobile communication module 150, and antenna 2 is coupled to wireless communication module 160, enabling electronic device 100 to communicate with networks and other devices via wireless communication technology. The wireless communication technology may include Global System for Mobile Communications (GSM), General Packet Radio Service (GPRS), Code Division Multiple Access (CDMA), Wideband Code Division Multiple Access (WCDMA), Time Division Code Division Multiple Access (TD-SCDMA), Long Term Evolution (LTE), BT, GNSS, WLAN, NFC, FM, and / or IR technologies, etc. The GNSS may include the Global Positioning System (GPS), the Global Navigation Satellite System (GLONASS), the BeiDou Navigation Satellite System (BDS), the Quasi-Zenith Satellite System (QZSS), and / or satellite-based augmentation systems (SBAS).
[0087] Electronic device 100 implements display functions through a GPU, a display screen 194, and an application processor. The GPU is a microprocessor for image processing, connected to the display screen 194 and the application processor. The GPU is used to perform mathematical and geometric calculations and for graphics rendering. Processor 110 may include one or more GPUs, which execute program instructions to generate or modify display information.
[0088] Display screen 194 is used to display images, videos, etc. Display screen 194 includes a display panel. The display panel may be a liquid crystal display (LCD), an organic light-emitting diode (OLED), an active-matrix organic light-emitting diode (AMOLED), a flexible light-emitting diode (FLED), a miniature LED, a microLED, a quantum dot light-emitting diode (QLED), etc. In some embodiments, electronic device 100 may include one or N displays 194, where N is a positive integer greater than 1.
[0089] Electronic device 100 can perform shooting functions through ISP, camera 193, video codec, GPU, display 194 and application processor.
[0090] The ISP (Image Signal Processor) is used to process data fed back from the camera 193. For example, when taking a picture, the shutter is opened, and light is transmitted through the lens to the camera's photosensitive element. The light signal is converted into an electrical signal, and the camera's photosensitive element transmits the electrical signal to the ISP for processing, transforming it into an image visible to the naked eye. The ISP can also perform algorithmic optimization of image noise, brightness, and skin tone. The ISP can also optimize parameters such as exposure and color temperature of the shooting scene. In some embodiments, the ISP can be set in the camera 193.
[0091] Camera 193 is used to capture still images or videos. An object is projected onto a photosensitive element by generating an optical image through the lens. The photosensitive element can be a charge-coupled device (CCD) or a complementary metal-oxide-semiconductor (CMOS) phototransistor. The photosensitive element converts the light signal into an electrical signal, which is then passed to an ISP for conversion into a digital image signal. The ISP outputs the digital image signal to a DSP for processing. The DSP converts the digital image signal into image signals in standard RGB, YUV, or other formats. In some embodiments, the electronic device 100 may include one or N cameras 193, where N is a positive integer greater than 1.
[0092] Digital signal processors (DSPs) are used to process digital signals. Besides digital image signals, they can also process other digital signals. For example, when electronic device 100 selects a frequency, the DSP can perform Fourier transforms on the frequency energy.
[0093] Video codecs are used to compress or decompress digital video. Electronic device 100 may support one or more video codecs. Thus, electronic device 100 can play or record videos in various encoding formats, such as Moving Picture Experts Group (MPEG) 1, MPEG2, MPEG3, MPEG4, etc.
[0094] An NPU (Neural Processing Unit) is a computational processor for neural networks (NNs). By borrowing the structure of biological neural networks, such as the transmission patterns between neurons in the human brain, it can rapidly process input information and continuously learn on its own. NPUs enable intelligent cognitive applications in electronic devices, such as image recognition, facial recognition, speech recognition, and text understanding.
[0095] The external storage interface 120 can be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the electronic device 100. The external memory card communicates with the processor 110 through the external storage interface 120 to perform data storage functions. For example, music, video, and other files can be saved on the external memory card.
[0096] Internal memory 121 can be used to store computer executable program code, which includes instructions. Processor 110 executes various functional applications and data processing of electronic device 100 by running the instructions stored in internal memory 121. Internal memory 121 may include a program storage area and a data storage area. The program storage area may store the operating system, at least one application program required for a function (such as sound playback, image playback, etc.), etc. The data storage area may store data created during the use of electronic device 100 (such as audio data, phonebook, etc.). Furthermore, internal memory 121 may include high-speed random access memory and may also include non-volatile memory, such as at least one disk storage device, flash memory device, universal flash storage (UFS), etc.
[0097] Electronic device 100 can implement audio functions, such as music playback and recording, through audio module 170, speaker 170A, receiver 170B, microphone 170C, headphone jack 170D, and application processor.
[0098] The audio module 170 is used to convert digital audio information into analog audio signals for output, and also to convert analog audio input into digital audio signals. The audio module 170 can also be used for encoding and decoding audio signals. In some embodiments, the audio module 170 may be located in the processor 110, or some functional modules of the audio module 170 may be located in the processor 110.
[0099] The speaker 170A, also known as a "loudspeaker," is used to convert audio electrical signals into sound signals. The electronic device 100 can listen to music or make hands-free calls through the speaker 170A.
[0100] The receiver 170B, also known as the "earpiece," is used to convert audio electrical signals into sound signals. When the electronic device 100 answers a telephone call or voice message, the receiver 170B can be brought close to the ear to listen to the voice.
[0101] Microphone 170C, also known as a "microphone" or "voice transducer," is used to convert sound signals into electrical signals. When making a phone call or sending a voice message, the user can speak by bringing their mouth close to microphone 170C, inputting the sound signal into microphone 170C. Electronic device 100 may have at least one microphone 170C. In some embodiments, electronic device 100 may have two microphones 170C, which, in addition to collecting sound signals, can also perform noise reduction. In other embodiments, electronic device 100 may also have three, four, or more microphones 170C, which can collect sound signals, reduce noise, identify the sound source, and perform directional recording, etc.
[0102] Pressure sensor 180A is used to sense pressure signals and convert them into electrical signals. In some embodiments, pressure sensor 180A can be disposed on display screen 194. There are many types of pressure sensors 180A, such as resistive pressure sensors, inductive pressure sensors, and capacitive pressure sensors. A capacitive pressure sensor may include at least two parallel plates with conductive material. When force is applied to pressure sensor 180A, the capacitance between the electrodes changes. Electronic device 100 determines the pressure intensity based on the change in capacitance. When a touch operation is applied to display screen 194, electronic device 100 detects the intensity of the touch operation based on pressure sensor 180A. Electronic device 100 can also calculate the touch position based on the detection signal from pressure sensor 180A. In some embodiments, touch operations applied to the same touch position but with different touch operation intensities can correspond to different operation commands. For example, when a touch operation with a touch operation intensity greater than or equal to a first pressure threshold is applied to the alarm clock application icon, a command to create a new alarm clock is executed.
[0103] The fingerprint sensor 180H is used to collect fingerprints. The electronic device 100 can utilize the collected fingerprint characteristics to achieve fingerprint unlocking, app access lock, fingerprint photography, fingerprint call answering, etc. For example, when the phone detects a user's touch operation on the lock screen, the phone can collect the user's fingerprint information through the fingerprint sensor 180H and match the collected fingerprint information with preset fingerprint information in the phone. If the match is successful, the phone can transition from the lock screen to the unlock screen.
[0104] Touch sensor 180K, also known as a "touch panel," can be located on display screen 194. The touch sensor 180K and display screen 194 together form a touchscreen, also known as a "touch screen." Touch sensor 180K detects touch operations applied to or near it. The touch sensor can transmit the detected touch operation to the application processor to determine the type of touch event. Visual output related to the touch operation can be provided through display screen 194. In other embodiments, touch sensor 180K may also be located on the surface of electronic device 100, in a different position than display screen 194.
[0105] Figure 2 This is a software structure block diagram of an electronic device 100 according to an embodiment of this application. The layered architecture divides the software into several layers, each with a clear role and function. Layers communicate with each other through software interfaces. In some embodiments, the Android system is divided into four layers, from top to bottom: the application layer, the application framework layer, the Android runtime and system libraries, and the kernel layer. The application layer may include a series of application packages.
[0106] like Figure 2 As shown, the application layer can include camera, settings, skin modules, user interface (UI), third-party applications, etc. Third-party applications can include gallery, calendar, call, map, navigation, WLAN, Bluetooth, music, video, SMS, etc.
[0107] The application framework layer provides application programming interfaces (APIs) and programming frameworks for applications in the application layer. The application framework layer may include some predefined functions.
[0108] like Figure 2 As shown, the application framework layer may include a window manager, content provider, view system, phone manager, resource manager, notification manager, etc.
[0109] The window manager is used to manage windowed applications. It can obtain the screen size, determine if a status bar is present, lock the screen, and capture screenshots. The content provider stores and retrieves data, making this data accessible to applications. This data may include videos, images, audio, made and received phone calls, browsing history and bookmarks, phone books, etc.
[0110] A view system includes visual controls, such as controls for displaying text and controls for displaying images. View systems can be used to build applications. A display interface can consist of one or more views.
[0111] The phone manager is used to provide communication functions for electronic device 100. For example, it manages call status (including connection and disconnection).
[0112] The file explorer provides applications with various resources, such as localized strings, icons, images, layout files, video files, and more.
[0113] The notification manager allows applications to display notifications in the status bar. These notifications can be used to deliver informational messages and can disappear automatically after a short pause, requiring no user interaction. For example, the notification manager can be used to notify users of completed downloads or message alerts. The notification manager can also display notifications as icons or scrolling text in the top status bar, such as notifications from background applications, or as dialog boxes on the screen. Examples include displaying text messages in the status bar, emitting sounds, vibrating electronic devices, and flashing indicator lights.
[0114] The Android runtime consists of core libraries and a virtual machine. The Android runtime is responsible for the calls and management of the Android system.
[0115] The core library consists of two parts: one part is the functionalities that need to be called by the Java language, and the other part is the Android core library.
[0116] The application layer and application framework layer run in a virtual machine. The virtual machine executes the Java files of the application layer and application framework layer as binary files. The virtual machine is used to perform functions such as object lifecycle management, stack management, thread management, security and exception management, and garbage collection.
[0117] System libraries can include multiple functional modules. For example: surface manager, media libraries, 3D graphics processing libraries (e.g., OpenGL ES), 2D graphics engines (e.g., SGL), etc.
[0118] The Surface Manager is used to manage the display subsystem and provides the blending of 2D and 3D layers for multiple applications.
[0119] The media library supports playback and recording of various common audio and video formats, as well as still image files. It supports multiple audio and video encoding formats, such as MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG.
[0120] The 3D graphics processing library is used to implement 3D graphics drawing, image rendering, compositing, and layer processing.
[0121] A 2D graphics engine is a graphics engine for 2D drawing.
[0122] In addition, the system library may also include status monitoring service modules, such as a physical status recognition module for analyzing and recognizing user gestures; and a sensor service module for monitoring sensor data uploaded by various sensors at the hardware layer to determine the physical status of the electronic device 100.
[0123] The kernel layer is the layer between hardware and software. The kernel layer contains at least the display driver, camera driver, audio driver, and sensor driver.
[0124] The hardware layer can include various types of sensors, such as Figure 1 The various sensors introduced in the text.
[0125] The technical solutions in this application will now be described with reference to the accompanying drawings.
[0126] The technical solutions of this application embodiment can be applied to various communication systems, such as: Long Term Evolution (LTE) systems, LTE Frequency Division Duplex (FDD) systems, LTE Time Division Duplex (TDD) systems, Universal Mobile Telecommunication System (UMTS), Worldwide Interoperability for Microwave Access (WiMAX) communication systems, 5th Generation (5G) systems or new radio (NR) systems and future communication systems, vehicle-to-other devices (V2X), where V2X can include vehicle-to-network (V2N), vehicle-to-vehicle (V2V), vehicle-to-infrastructure (V2I), vehicle-to-pedestrian (V2P), etc., Long Term Evolution-V (LTE-V) technology for vehicle-to-everything (V2X), vehicle-to-everything (V2X), machine-type communication (MTC), and the Internet of Things (IoT). Things (IoT), Long Term Evolution of Machines (LTE-M), Machine to Machine (M2M), etc.
[0127] To facilitate understanding of the embodiments of this application, firstly, in conjunction with Figure 3 A schematic diagram briefly illustrates the structure of a communication system 300 according to an embodiment of this application. For example... Figure 3 As shown, the communication system 300 may include at least two terminal devices, such as Figure 3 The communication system 300, which includes terminal devices 311 and 312, may also include at least one network device, such as... Figure 1 The network device 321 shown.
[0128] Terminal device 312 can communicate with terminal device 311 through network device 321. That is, when terminal device 312 sends data to terminal device 311, it needs to go through two paths: the first path is between terminal device 312 and network device 321, and the second path is between network device 321 and terminal device 311.
[0129] Alternatively, terminal device 312 can communicate directly with terminal device 311. That is, terminal device 312 only needs to go through a path to send data to terminal device 311, namely the path between terminal device 312 and terminal device 311.
[0130] It should be understood that Figure 3 This is a simplified illustration for ease of understanding only. The communication system may also include other network devices or other terminal devices. Figure 3 It was not drawn in the middle.
[0131] It should also be understood that Figure 3 This is merely one application scenario of an embodiment of this application, and this application does not limit the scenarios in which the method is applied. The embodiments shown below are for ease of understanding and explanation only, using the interaction between terminal devices as an example to describe in detail the method provided by the embodiments of this application. It should be understood that the interaction between terminal devices can be understood as direct communication between terminal devices, or as communication between terminal devices through other terminal devices or network devices.
[0132] In this application, the terminal device can refer to user equipment (UE), access terminal, user unit, user station, mobile station, mobile station, remote station, remote terminal, mobile device, user terminal, terminal, wireless communication device, user agent, or user device. The terminal device can also be a cellular phone, cordless phone, session initiation protocol (SIP) phone, wireless local loop (WLL) station, personal digital assistant (PDA), handheld device with wireless communication capabilities, computing device, or other processing device connected to a wireless modem, vehicle-mounted device, wearable device, terminal device in a 5G network, or terminal device in a future public land mobile network (PLMN), etc. This application does not limit the scope of the terminal device to these specific types.
[0133] Terminals can be widely used in various scenarios, such as device-to-device (D2D), vehicle-to-everything (V2X) communication, machine-type communication (MTC), the Internet of Things (IoT), virtual reality, augmented reality, industrial control, autonomous driving, telemedicine, smart grids, smart furniture, smart offices, smart wearables, smart transportation, and smart cities. Terminals can be mobile phones, tablets, computers with wireless transceiver capabilities, wearable devices, vehicles, drones, helicopters, airplanes, ships, robots, robotic arms, smart home devices, etc. Furthermore, terminal devices can also be terminal devices within Internet of Things (IoT) systems. IoT is an important component of future information technology development; its main technical characteristic is connecting objects to networks through communication technologies, thereby realizing an intelligent network that enables human-machine interconnection and machine-to-machine interconnection.
[0134] It should be understood that this application does not limit the specific form of the terminal device.
[0135] The network device in this application embodiment can also be a device for communicating with terminal devices. The network device can be a base station (BTS) in a global system of mobile communication (GSM) or code division multiple access (CDMA) system, a base station (nodeB, NB) in a wideband code division multiple access (WCDMA) system, an evolved base station (eNB or eNodeB) in an LTE system, or a radio controller in a cloud radio access network (CRAN) scenario. Alternatively, the communication device can be a relay station, access point, vehicle-mounted equipment, wearable device, or a communication device in a 5G network or a communication device in a future evolved PLMN network, etc. The embodiments of this application are not limited to these.
[0136] It should be understood that the network equipment in this wireless communication system can be any device with wireless transceiver capabilities. This equipment includes, but is not limited to: evolved node B (eNB), radio network controller (RNC), roadside unit (RSU), node B (NB), base station controller (BSC), base transceiver station (BTS), home base station (e.g., home evolved node B, or home node B, HNB), baseband unit (BBU), access point (AP), wireless relay node, wireless backhaul node, transmission point (TP), or transmission and reception point (TRP) in a wireless fidelity (WIFI) system, and can also be a gNB or transmission point (TRP or TP) in a 5G (e.g., NR) system, or one or a group of antenna panels (including multiple antenna panels) of a base station in a 5G system. This network equipment can also be a network-side device in a vehicle-to-everything (V2X) network that provides communication services or communication control for terminal devices.
[0137] Alternatively, the network equipment can also consist of multiple radio access network (RAN) nodes constituting a gNB or transmission point. Multiple RAN nodes collaborate to assist the terminal in achieving wireless access, with different RAN nodes implementing some of the base station's functions. For example, RAN nodes can be central units (CUs), distributed units (DUs), CU-control plane (CPs), CU-user plane (UPs), or radio units (RUs), etc. CUs and DUs can be set up separately or included in the same network element, such as a baseband unit (BBU). RUs can be included in radio equipment or radio units, such as remote radio units (RRUs), active antenna units (AAUs), or remote radio heads (RRHs).
[0138] In different systems, CU (or CU-CP and CU-UP), DU, or RU may have different names, but those skilled in the art will understand their meaning. For example, in an ORAN system, CU can also be called O-CU (open CU), DU can also be called O-DU, CU-CP can also be called O-CU-CP, CU-UP can also be called O-CU-UP, and RU can also be called O-RU. For ease of description, this application uses CU, CU-CP, CU-UP, DU, and RU as examples. Any of the units among CU (or CU-CP, CU-UP), DU, and RU in this application can be implemented through software modules, hardware modules, or a combination of software and hardware modules.
[0139] Network equipment provides communication services to terminal equipment in a cell. The terminal equipment in the cell communicates with the network equipment through the transmission resources (e.g., frequency domain resources, time domain resources, etc.) allocated by the network equipment. The cell may belong to a macro base station (e.g., macro eNB or macro gNB, etc.).
[0140] The technical problem to be solved and the technical solution adopted in this application are described below.
[0141] Figure 4 This is a schematic diagram of a scenario according to an embodiment of this application. For example... Figure 4 As shown, N electronic devices are connected to a local area network via WLAN or other means. Suppose that N-1 electronic devices other than electronic device 1 want to turn on camera 1 of electronic device 1. According to the implementation logic of distributed cameras, the preview stream data of camera 1 needs to be transmitted to the other N-1 electronic devices after being encoded. That is, each frame of data needs to be sent out N-1 times. Therefore, it is very susceptible to the influence of network bandwidth and processor performance.
[0142] This application proposes a method for sharing cameras, which virtualizes an already opened distributed camera in an electronic device into a new distributed camera that can be called by other electronic devices. This method enables multiple electronic devices to control the camera of another electronic device stably and smoothly, even when the network bandwidth and media data processing capabilities of a single device are limited.
[0143] Figure 5 This is a schematic flowchart of a method 500 for sharing a camera provided in an embodiment of this application. For ease of description, the following... Figure 5The interaction of the first device, the second device, and the third device is illustrated by example. The first device can be replaced by an electronic device or a component of an electronic device (e.g., a chip, a chip system, a circuit, or a communication module), the second device can be replaced by an electronic device or a component of an electronic device (e.g., a chip, a chip system, a circuit, or a communication module), and the third device can be replaced by an electronic device or a component of an electronic device (e.g., a chip, a chip system, a circuit, or a communication module). Figure 5 The method 500 shown may include the following steps.
[0144] S501, the first device acquires information from the first camera, the information of the first camera including information from the physical camera on the second device.
[0145] The information of the physical camera includes one or more of the following: hardware parameters of the physical camera, identification of the second device, and identification of the physical camera. The hardware parameters of the physical camera may include camera resolution, aperture parameters, focal length parameters, high dynamic range (HDR) capability, portrait capability, and super night scene capability, etc.
[0146] In one implementation, the first camera is a physical camera on the second device. That is, the information from the first camera is the same as the information from the physical camera on the second device.
[0147] In this case, the first device acquiring information from the first camera includes: the first device receiving information from the physical camera of the second device.
[0148] It should be understood that the second device acquires the information of the physical camera before sending the information from the physical camera.
[0149] It should be understood that, due to limitations in processor performance and network bandwidth, the number of devices that this physical camera can connect to simultaneously is limited.
[0150] Therefore, optionally, the information of the physical camera may also include the number of devices that the physical camera can connect to, which is the maximum number of devices that the physical camera can connect to.
[0151] Optionally, the first device may send second information to the second device, the second information being used to perform a second operation on the first camera. For example, turning the physical camera on or off, adjusting parameters such as the resolution and focal length of the physical camera, adjusting or switching some functions of the physical camera, or controlling the physical camera to take a picture or record a video.
[0152] In another implementation, the first camera is a virtual camera on the fourth device (i.e., the second virtual camera). That is, the information of the first camera is the same as the information of the second virtual camera on the fourth device.
[0153] In this case, the first device acquiring information from the first camera includes: the first device receiving information from a second virtual camera on the fourth device, the information of the second virtual camera including information from the physical camera on the second device.
[0154] Optionally, the information of the second virtual camera may also include the identifier of the second virtual camera and the identifier of the fourth device.
[0155] Optionally, the information of the second virtual camera may also include second indication information, which indicates whether the second virtual camera is available for use by other devices.
[0156] For example, the second indication information includes the number of connectable devices for the second virtual camera, which is the maximum number of devices that the second virtual camera can connect to.
[0157] For example, the second indication information indicates the status of the second virtual camera, which includes an available status or an unavailable status.
[0158] Optionally, the first device may send second information to the fourth device, the second information being used to perform a second operation on the second virtual camera. For example, turning the second virtual camera on or off, adjusting parameters such as the resolution and focal length of the second virtual camera, adjusting or switching some functions of the second virtual camera, or controlling the second virtual camera to take a picture or record a video.
[0159] It should be understood that performing a second operation on the second virtual camera includes performing a second operation on the physical camera on the second device through the second virtual camera.
[0160] S502, the first device configures the first virtual camera according to the information of the first camera, and the first virtual camera corresponds to the physical camera.
[0161] It should be understood that after the first device obtains the information of the first camera, it can virtualize the first camera and then configure the first virtual camera.
[0162] Specifically, the first device can configure the parameters of the first virtual camera based on the hardware parameters of the physical camera on the second device.
[0163] Optionally, the parameters of the first virtual camera may include resolution, aperture parameters, focal length parameters, high dynamic range (HDR) capability, portrait capability, super night scene capability, etc.
[0164] Optionally, before step S502, the first device needs to determine whether the first camera is available.
[0165] For example, after the first device obtains the information of the first camera, it can first determine whether the physical camera on the second device has been turned on by the first device. If the physical camera on the second device has not been turned on by the first device, then it is determined that the first camera is available.
[0166] For example, after the first device obtains the information of the first camera, it can first determine whether the physical camera on the second device has been turned on by the first device and whether the number of connections of the first camera is 0. If the physical camera on the second device has not been turned on by the first device and the number of connections of the first camera is greater than 0, then it is determined that the first camera is available.
[0167] For example, after the first device obtains the information of the first camera, it can first determine whether the physical camera on the second device has been turned on by the first device and whether the first camera is in a usable state. If the physical camera on the second device has not been turned on by the first device and the first camera is in a usable state, then it is determined that the first camera is usable.
[0168] It should be understood that after determining that the first camera is available, the first device configures the first virtual camera based on the information of the first camera.
[0169] Optionally, when the first device determines that the first camera is available, it may not configure the first virtual camera initially, but instead configure the first virtual camera based on the information of the first camera when the first camera is turned on.
[0170] S503, the first device sends information about the first virtual camera, which includes information about the physical camera on the second device; correspondingly, one or more devices receive the information about the first virtual camera, including a third device.
[0171] The information of the first virtual camera includes one or more of the following: parameters of the first virtual camera, identifier of the first virtual camera, and information of the aforementioned physical camera.
[0172] Optionally, the information of the first virtual camera may also include first indication information, which is used to indicate whether the first virtual camera is available for use by other devices.
[0173] For example, the first indication information includes the number of connectable devices for the first virtual camera, which is the maximum number of devices that the first virtual camera can connect to.
[0174] For example, the first indication information indicates the status of the first virtual camera, which includes an available status or an unavailable status.
[0175] S504, the third device sends first information to the first device, the first information being used to perform a first operation on the first virtual camera.
[0176] It should be understood that performing the first operation on the first virtual camera includes: performing a first operation on the physical camera on the second device through the first virtual camera. For example, turning the physical camera on or off, or adjusting parameters such as the resolution and focal length of the physical camera, or adjusting or switching some functions of the physical camera, or controlling the physical camera to take a picture or record a video.
[0177] The first operation includes: turning the camera on or off, or adjusting the camera's resolution, focal length, or other parameters, or adjusting or switching some of the camera's functions, or controlling the camera to take photos or record videos.
[0178] Optionally, before the third device sends the first information to the first device, it is necessary to determine whether the first virtual camera is available.
[0179] For example, the third device determines whether the physical camera on the second device has been turned on by the first device. If the physical camera on the second device has not been turned on by the third device, then the first virtual camera is determined to be available.
[0180] For example, the third device determines whether the physical camera on the second device has been turned on by the first device and whether the number of connections of the first virtual camera is 0. If the physical camera on the second device has not been turned on by the third device and the number of connections of the first virtual camera is greater than 0, then the first virtual camera is determined to be available.
[0181] For example, the third step is to determine whether the physical camera on the second device has been turned on by the first device and whether the first virtual camera is available. If the physical camera on the second device has not been turned on by the first device and the first virtual camera is available, then the first virtual camera is determined to be available.
[0182] It should be understood that when the first virtual camera includes a connectable number, the value of the connectable number decreases by 1 for each device connected to the first virtual camera.
[0183] For example, in step S503, the information of the first virtual camera includes a first value for the number of connectable devices. After the third device establishes a connection with the first virtual camera, the value of the number of connectable devices is reduced by 1. The first device can then generate an updated number of connectable devices, which is a second value, and the second value is the first value minus one.
[0184] Optionally, in addition to the third device, other devices also receive information from the first virtual camera and send third information to the first device. This third information is used to perform a third operation on the first virtual camera; correspondingly, the first device receives the third information.
[0185] Figure 6 This is a schematic block diagram of an electronic device provided in this application. The electronic device can be a first device, a second device, or a third device. It includes an application layer, a framework layer, a service layer, a hardware abstraction layer, and a hardware layer. In embodiments of this application, the electronic device can be a source device and a destination device, wherein the destination device can invoke and operate a physical camera or a virtual camera on the source device.
[0186] The camera framework / service includes functions such as session management, input / output stream management, and camera device management.
[0187] A distributed camera framework / service can be a source-side distributed camera framework / service and a destination-side distributed camera framework / service. The source-side distributed camera framework / service includes functions such as distributed camera device management, distributed camera control and operation, distributed camera output, distributed camera data processing, and distributed camera data transmission. The destination-side distributed camera framework / service includes functions such as distributed camera device management, distributed camera control, distributed camera input, distributed camera data processing, and distributed camera data reception.
[0188] Distributed hardware management framework / service: including functions such as hardware access management, hardware resource management, and distributed component management.
[0189] The following is in conjunction with this Figure 6 ,as well as Figure 7 The flowchart and Figure 8 The scene diagram shown further illustrates the above method 500.
[0190] Figure 7 This is a schematic flowchart of a method 700 for sharing a camera provided in an embodiment of this application. Figure 8 This is a schematic diagram of a data transmission scenario provided in an embodiment of this application. Figure 8 The method includes N electronic devices. In method 700, the N electronic devices include electronic device 1 and the remaining N-1 electronic devices. Furthermore, the N-1 electronic devices can simultaneously open the physical camera on electronic device 1 through method 700. It should be understood that method 700 is a specific implementation of method 500.
[0191] S701, electronic device 1 (i.e., an example of the second device) sends information from physical camera 1 (i.e., an example of the first camera) on electronic device 1.
[0192] The information of the physical camera includes one or more of the following: hardware parameters of the physical camera, the identifier of electronic device 1 (DeviceID), and the identifier of the physical camera (CameraID). The hardware parameters of the physical camera may include camera resolution, aperture parameters, focal length parameters, high dynamic range (HDR) capability, portrait capability, super night scene capability, etc.
[0193] For example, the information of the physical camera can be shown in Table 1:
[0194] Table 1
[0195]
[0196] It should be understood that the settings of each parameter in Table 1 are merely examples, and this application does not limit the comparison.
[0197] S702, electronic device 2 (i.e., an example of the first device) turns on the physical camera 1.
[0198] Optionally, before step S702, the electronic device 2 receives information from the physical camera 1 and determines whether the physical camera 1 is available.
[0199] For example, if electronic device 2 determines that physical camera 1 has not been turned on and the number of connections available to physical camera 1 is greater than 0, then physical camera 1 is determined to be available.
[0200] For example, if electronic device 2 determines that physical camera 1 has not been turned on and that physical camera 1 is in an available state, then physical camera 1 is determined to be available.
[0201] Electronic device 2 can call physical camera 1 of electronic device 1 through the distributed camera system, that is, electronic device 2 is the destination device and electronic device 1 is the source device.
[0202] Optionally, similar to electronic device 2, electronic device 3 (i.e., an example of the first device) can also turn on the physical camera 1, i.e., electronic device 3 is the destination device and electronic device 1 is the source device.
[0203] It should be understood that there are multiple ways to enable multiple electronic devices to open or preview the same distributed camera (e.g., electronic devices 2 and 3 open physical camera 1). For example, the source (electronic device 1) can distribute the encoded preview data sequentially to the requesting destinations (electronic devices 2 and 3), or the preview data can be encoded separately according to the different encoding and decoding requirements of the destinations before being sent to the corresponding destinations. Alternatively, the camera system can support hot configuration of multiple streams, allowing direct configuration of the camera data stream. These methods will not be elaborated upon here.
[0204] Optionally, the electronic device 2 can also perform other operations on the physical camera 1, such as sending third information to the electronic device 1 for performing a third operation on the physical camera 1.
[0205] S703, the electronic device 2 configures the virtual camera 2 (i.e., an example of the first virtual camera) based on the information of the physical camera 1.
[0206] After receiving the first frame of the preview stream data sent back by electronic device 1, electronic device 2 adds a distributed camera 2 (i.e., virtual camera 2) that can be provided externally by electronic device 2 by calling the application programming interface (API) of the distributed camera framework of electronic device 1. This API realizes the synchronization of the relevant parameter information of the added distributed camera 2 of electronic device 2 to other electronic devices under the same local area network, starting from the source distributed camera framework, through the source distributed camera service, the distributed hardware management framework, the distributed hardware management service, and finally through the distributed database.
[0207] Optionally, similar to electronic device 2, electronic device 3 can also configure virtual camera 3 based on information from physical camera 1.
[0208] S704, Electronic device 2 sends information to virtual camera 2.
[0209] For example, the information of the virtual camera 2 can be shown in Table 2:
[0210] Table 2
[0211]
[0212] To avoid duplication, for terminal devices that have already opened the physical camera 1 through the distributed camera system, the virtual camera 2 will not be used as a usable distributed camera.
[0213] Optionally, similar to electronic device 2, electronic device 3 can also send information from virtual camera 3.
[0214] S705, electronic device 4 (i.e., an example of a third device) turns on the virtual camera 2.
[0215] Optionally, before step S705, if the electronic device 4 receives information from the virtual camera 2 and determines that the physical camera 1 has not yet been turned on, and the number of connections available to the virtual camera 2 is not 0 (or the virtual camera 2 is in an available state), then the virtual camera 2 can be determined to be available.
[0216] Optionally, the electronic device may also perform other operations on the virtual camera 2, such as sending first information to the electronic device 2 for performing a first operation on the virtual camera 2.
[0217] It should be understood that opening virtual camera 2 means opening physical camera 1 through virtual camera 2, and performing the first operation on virtual camera 2 means performing the first operation on physical camera 1 through virtual camera 2.
[0218] Optionally, after the electronic device 4 opens the virtual camera 2, the number of connectable devices for the virtual camera 2 is reduced by 1. The electronic device 2 can refresh the updated number of connectable devices to the distributed database through the distributed hardware management service and synchronize it to other terminal devices.
[0219] Optionally, when the number of connections available to the virtual camera 2 drops to 0, the electronic device 2 can determine that the virtual camera 2 is "unavailable" and refresh this status to the distributed database through the distributed hardware management service, and synchronize it to other terminal devices.
[0220] Optionally, similar to electronic device 4, electronic device 5 (i.e., an example of a third device) can also turn on virtual camera 2 and reduce the number of connectable virtual cameras 2 by 1.
[0221] It should be understood that for data transmission between electronic device 4 and electronic device 1, electronic device 1 corresponds to the second device in method 500, electronic device 2 corresponds to the first device in method 500, and electronic device 4 corresponds to the third device in method 500.
[0222] The above scheme uses electronic device 4 / electronic device 5 as a relay through the virtual camera 2 of electronic device 2 to call the physical camera 1 on electronic device 1.
[0223] Optionally, after opening the virtual camera 2, electronic device 4 / electronic device 5 can further virtualize the virtual camera 2 and synchronize it with other devices.
[0224] For example, electronic device 4 configures virtual camera 4 according to the parameters of virtual camera 2, and the parameters of virtual camera 4 can be shown in Table 3:
[0225] Table 3
[0226]
[0227]
[0228] Electronic device 4 can send information from virtual camera 4 to other electronic devices, allowing other devices to preview or operate physical camera 1 through virtual camera 4. Other terminal devices can determine whether to add virtual camera 4 to the available list or remove it from the list of available cameras based on whether the number of connectable devices for virtual camera 4 is 0 (or whether it is in an available state).
[0229] For example, electronic device 8 / electronic device 9 can preview or operate physical camera 1 by operating virtual camera 4.
[0230] After the electronic device 8 opens the virtual camera 4, the number of connectable devices for the virtual camera 4 is reduced by 1. The electronic device 4 can refresh the updated number of connectable devices to the distributed database through the distributed hardware management service and synchronize it to other terminal devices.
[0231] Optionally, similar to electronic device 8, electronic device 9 can also turn on virtual camera 4 and reduce the number of connectable virtual cameras 4 by 1.
[0232] It should be understood that for data transmission between electronic device 8 and electronic device 1, electronic device 1 corresponds to the second device in method 500, electronic device 4 corresponds to the first device in method 500, and electronic device 8 corresponds to the third device in method 500.
[0233] By following the above steps in a loop, electronic devices 2, 3, ..., N can all open the physical camera 1 on electronic device 1.
[0234] Figure 9 This is a timing diagram of a distributed camera invocation according to an embodiment of this application. In the distributed camera invocation, electronic device 2 invokes a camera 1 of electronic device 1 through the distributed camera system. That is, electronic device 2 is the destination and electronic device 1 is the source. The invocation timing of each main module is as follows: Figure 9 As shown.
[0235] This application also provides a method 1000 that enables multiple electronic devices to use the camera of electronic device 1 simultaneously, even when electronic device 1 only supports one other device to open its camera.
[0236] Figure 10 This is a schematic flowchart of a method 1000 for sharing a camera provided in an embodiment of this application. Figure 11 This is a schematic diagram of a data transmission scenario provided in an embodiment of this application. Figure 11 The method includes N electronic devices. In method 1000, the N electronic devices include electronic device 1 and the remaining N-1 electronic devices. Furthermore, the N-1 electronic devices can simultaneously open the physical camera on electronic device 1 through method 1000. It should be understood that method 1000 is a specific implementation of method 500.
[0237] S1001, electronic device 1 (i.e., an example of the second device) sends information from physical camera 1 (i.e., an example of the first camera) on electronic device 1.
[0238] The information of the physical camera includes one or more of the following: hardware parameters of the physical camera, the identifier of electronic device 1 (DeviceID), and the identifier of the physical camera (CameraID). The hardware parameters of the physical camera may include camera resolution, aperture parameters, focal length parameters, high dynamic range (HDR) capability, portrait capability, super night scene capability, etc.
[0239] For example, the information of the physical camera can be shown in Table 4:
[0240] Table 4
[0241]
[0242] It should be understood that the settings of each parameter in Table 1 are merely examples, and this application does not limit the comparison.
[0243] S1002, electronic device 2 (i.e., an example of the first device) turns on the physical camera 1.
[0244] Electronic device 2 can call physical camera 1 of electronic device 1 through the distributed camera system, that is, electronic device 2 is the destination device and electronic device 1 is the source device.
[0245] Optionally, the electronic device 2 can also perform other operations on the physical camera 1, such as sending third information to the electronic device 1 for performing a third operation on the physical camera 1.
[0246] S1003, the electronic device 2 configures the virtual camera 2 (i.e., an example of the first virtual camera) based on the information of the physical camera 1.
[0247] After receiving the first frame of the preview stream data sent back by electronic device 1, electronic device 2 adds a distributed camera 2 (i.e., virtual camera 2) that can be provided externally by electronic device 2 by calling the application programming interface (API) of the distributed camera framework of electronic device 1. This API realizes the synchronization of the relevant parameter information of the added distributed camera 2 of electronic device 2 to other electronic devices under the same local area network, starting from the source distributed camera framework, through the source distributed camera service, the distributed hardware management framework, the distributed hardware management service, and finally through the distributed database.
[0248] S1004, Electronic device 2 sends information to virtual camera 2.
[0249] For example, the information of the virtual camera 2 can be shown in Table 5:
[0250] Table 5
[0251]
[0252] S1005, electronic device 3 (i.e., an example of a third device) turns on the virtual camera 2.
[0253] Optionally, the electronic device 3 can also perform other operations on the virtual camera 2, such as sending first information to the electronic device 2 for performing a first operation on the virtual camera 2.
[0254] It should be understood that opening virtual camera 2 means opening physical camera 1 through virtual camera 2, and performing the first operation on virtual camera 2 means performing the first operation on physical camera 1 through virtual camera 2.
[0255] It should be understood that for data transmission between electronic device 3 and electronic device 1, electronic device 1 corresponds to the second device in method 500, electronic device 2 corresponds to the first device in method 500, and electronic device 3 corresponds to the third device in method 500.
[0256] The above scheme uses electronic device 3 as a relay through virtual camera 2 of electronic device 2 to call physical camera 1 on electronic device 1.
[0257] Optionally, after opening the virtual camera 2, the electronic device 3 can further virtualize the virtual camera 2 and synchronize it with other devices.
[0258] For example, electronic device 3 configures virtual camera 3 according to the parameters of virtual camera 2, and the parameters of virtual camera 3 can be as shown in Table 6:
[0259] Table 6
[0260]
[0261] Electronic device 3 can send information from virtual camera 3 to other electronic devices, so that other devices can preview or operate physical camera 1 through virtual camera 3.
[0262] For example, electronic device 4 can preview or operate physical camera 1 by operating virtual camera 3.
[0263] It should be understood that for data transmission between electronic device 4 and electronic device 1, electronic device 1 corresponds to the second device in method 500, electronic device 3 corresponds to the first device in method 500, and electronic device 4 corresponds to the third device in method 500.
[0264] By following the above steps in a loop, electronic devices 2, 3, ..., N can all open the physical camera 1 on electronic device 1.
[0265] The above text combined Figures 1 to 11 The communication method embodiments of this application are described in detail below, and will be combined with... Figures 12 to 13 This application describes in detail the communication device-side embodiments. It should be understood that the descriptions of the device embodiments correspond to the descriptions of the method embodiments; therefore, any parts not described in detail can be found in the preceding method embodiments.
[0266] Figure 12 This is a schematic block diagram of the communication device 1200 provided in an embodiment of this application. Figure 12 As shown, the communication device 1200 includes a processing module 1210 and a communication module 1220. The communication device 1200 can be a terminal side, or a communication device applied to or used in conjunction with a terminal side to implement a method executed on the terminal side, such as a chip, chip system, or circuit.
[0267] The communication module can also be called a transceiver module, transceiver, transceiver unit, or transceiver device. The processing module can also be called a processor, processing board, processing unit, or processing device. Optionally, the communication module is used to perform the sending and receiving operations on the terminal side and network side in the above method. The device in the communication module that implements the receiving function can be considered a receiving unit, and the device in the communication module that implements the sending function can be considered a sending unit; that is, the communication module includes a receiving unit and a sending unit.
[0268] Optionally, the communication device 1200 may also include a storage module for storing device program code and / or data.
[0269] In one example, when the communication device 1200 is applied to the terminal side, for example, the terminal or a communication module in the terminal, or a circuit or chip in the terminal that is responsible for communication functions.
[0270] The processing module 1210 can be used to implement the processing function on the terminal side in the above embodiments, and the communication module 1220 can be used to implement the sending and receiving function on the terminal side in the above embodiments.
[0271] The terminal side includes terminal devices, or chips or circuits in the terminal devices (such as modem chips, also known as baseband chips, or system-on-chip (SoC) chips or system-in-package (SIP) chips containing modem cores), or functional modules in the terminal devices that can call and execute programs.
[0272] In one possible design, when the communication device 1200 is a terminal or a communication module within a terminal, the functionality of the processing module 1210 can be implemented by one or more processors. Specifically, the processor may include a modem chip, or a system-on-a-chip (SoC) or SIP chip containing a modem core. The functionality of the communication module 1220 can be implemented by transceiver circuitry.
[0273] In one possible design, when the communication device 1200 is a circuit or chip in a terminal responsible for communication functions, such as a modem chip or a system-on-a-chip (SoC) or SIP chip containing a modem core, the function of the processing module 1210 can be implemented by a circuit system in the aforementioned chip that includes one or more processors or processor cores. The function of the communication module 1220 can be implemented by interface circuits or data transceiver circuits on the aforementioned chip.
[0274] Furthermore, it should be noted that the aforementioned communication module and / or processing module can be implemented through virtual modules. For example, the processing module can be implemented through software functional units or virtual devices, and the communication module can be implemented through software functions or virtual devices. Alternatively, the processing module or communication module can also be implemented through physical devices, such as chips / circuits (e.g., integrated circuits or logic circuits). The communication module can be an input / output circuit and / or a communication interface, performing input operations (corresponding to the aforementioned receiving operation) and output operations (corresponding to the aforementioned sending operation); the processing module is an integrated processor, microprocessor, or circuit (e.g., integrated circuits or logic circuits).
[0275] It is understood that the division of units in the above-described device is merely a logical functional division. Each function can correspond to a functional unit, or two or more functions can be integrated into one functional unit. In actual implementation, all or some units can be integrated into a single physical entity, or they can be distributed across different physical entities. Furthermore, the aforementioned functional units can be implemented in hardware, software, or a combination of both. Whether a function is executed in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0276] The module division in this application is illustrative and represents only one logical functional division. In actual implementation, other division methods are possible. Furthermore, the functional modules in the various examples of this application can be integrated into a single processor, exist as separate physical entities, or be integrated into a single module. The integrated modules described above can be implemented in hardware or as software functional modules.
[0277] Figure 13 This is a schematic block diagram of a communication device 2000 provided in an embodiment of this application. Optionally, the communication device 2000 may be a chip or a chip system. Optionally, in this application, the chip system may be composed of chips or may include chips and other discrete devices.
[0278] like Figure 12 As shown, the communication device 2000 can be used to implement the functions of any device (e.g., a terminal device) in the communication system described in the foregoing examples. The communication device 2000 may include at least one processor 2010. Optionally, the processor 2010 is coupled to a memory, which may be located within the device, integrated with the processor, or located outside the device. For example, the communication device 2000 may also include at least one memory 2020. The memory 2020 stores computer programs, computer programs or instructions, and / or data necessary for implementing any of the above examples; the processor 2010 may execute the computer program stored in the memory 2020 to perform the methods in any of the above examples.
[0279] The communication device 2000 may also include a communication interface 2030, through which the communication device 2000 can interact with other devices. For example, the communication interface 2030 may be a transceiver, circuit, bus, module, pin, or other type of communication interface. When the communication device 2000 is a chip-based device or circuit, the communication interface 2030 in the device 2000 may also be an input / output circuit, capable of inputting information (or receiving information) and outputting information (or sending information). The processor 2010 may be an integrated processor, microprocessor, integrated circuit, or logic circuit, etc., and the processor can determine the output information based on the input information.
[0280] In one example, when the communication device 2000 is applied to the terminal side, the processor 2010 can be used to implement the processing functions of the terminal side in the above embodiments, and the communication interface 2030 can be used to implement the sending and receiving functions of the terminal side in the above embodiments.
[0281] The terminal side includes terminal devices, or chips or circuits in the terminal devices (such as modem chips, also known as baseband chips, or system-on-chip (SoC) chips or system-in-package (SIP) chips containing modem cores), or functional modules in the terminal devices that can call and execute programs.
[0282] The coupling in this application refers to indirect coupling or communication connection between devices, units, or modules, which can be electrical, mechanical, or other forms, used for information exchange between devices, units, or modules. The processor 2010 may operate in conjunction with the memory 2020 and the communication interface 2030. This application does not limit the specific connection medium between the processor 2010, the memory 2020, and the communication interface 2030.
[0283] Optionally, such as Figure 13 As shown, the processor 2010, the memory 2020, and the communication interface 2030 are interconnected via a bus 2040. Optionally, the bus may include buses of the types such as address bus, data bus, and control bus. Furthermore, for ease of illustration, Figure 13 The diagram shows a bus 2040, but does not imply that there is only one bus or one type of bus.
[0284] It should be understood that the processor mentioned in the embodiments of this application can be one of the following devices or a portion of the circuitry used for processing functions: a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor can be a microprocessor or any conventional processor.
[0285] It should also be understood that the memory mentioned in the embodiments of this application can be volatile memory and / or non-volatile memory. Non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. Volatile memory can be random access memory (RAM). For example, RAM can be used as an external cache. By way of example and not limitation, RAM includes the following forms: static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous linked dynamic random access memory (SLDRAM), and direct rambus RAM (DR RAM).
[0286] It should be noted that when the processor is a general-purpose processor, DSP, ASIC, FPGA, or other programmable logic device, discrete gate or transistor logic device, or discrete hardware component, the memory (storage module) can be integrated into the processor.
[0287] It should also be noted that the memory described herein is intended to include, but is not limited to, these and any other suitable types of memory.
[0288] This application also provides a computer-readable storage medium storing computer instructions for implementing the methods executed by a communication device (such as a network side or a terminal side) in the above-described method embodiments.
[0289] This application also provides a computer program product comprising instructions which, when executed by a computer, implement the methods performed by a communication device (such as a network side or a terminal side) in the above-described method embodiments.
[0290] This application also provides a communication system, which includes the network side and / or terminal side described in the above embodiments.
[0291] The explanations and beneficial effects of the relevant contents in any of the devices provided above can be found in the corresponding method embodiments provided above, and will not be repeated here.
[0292] In the various embodiments of this application, the order of the above-mentioned processes does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.
[0293] In this application, examples may reference each other without logical contradiction. For example, methods and / or terms between method embodiments may reference each other, functions and / or terms between device embodiments may reference each other, and functions and / or terms between device examples and method examples may reference each other.
[0294] It should be understood that the above embodiments are mainly illustrated using devices in existing network architectures as examples, and the specific form of the devices is not limited in the embodiments of this application. For example, any device that can achieve the same function in the future is applicable to the embodiments of this application.
[0295] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0296] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be described again here.
[0297] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.
[0298] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0299] In addition, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.
[0300] If the aforementioned functions are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the essential contributing part of the technical solution of this application, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, external hard drives, ROM, RAM, magnetic disks, or optical disks.
[0301] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
Claims
1. A method of sharing a camera, the method comprising: The method applied to a first device comprises: obtaining information of a first camera, the information of the first camera being related to a physical camera on a second device; configuring a first virtual camera according to the information of the first camera, the first virtual camera corresponding to the physical camera; sending information of the first virtual camera, the information of the first virtual camera comprising the information of the physical camera; receiving first information from a third device, the first information being used for performing a first operation on the first virtual camera, wherein the first operation on the first virtual camera comprises performing the first operation on the physical camera through the first virtual camera.
2. The method of claim 1, wherein, The information of the physical camera comprises one or more of an identifier of the second device, an identifier of the physical camera, and a parameter of the physical camera.
3. The method according to claim 1 or 2, characterized in that, The information of the first virtual camera further comprises one or more of an identifier of the first virtual camera and a parameter of the first virtual camera.
4. The method of claim 3, wherein, The information of the first virtual camera further comprises first indication information, the first indication information being used for indicating whether the first virtual camera is available for other devices.
5. The method of claim 4, wherein, The first indication information comprises a connectable number, the connectable number being a maximum number of devices currently connectable to the first virtual camera, a value of the connectable number being a first value. The method further comprises: determining and sending an updated connectable number when the third device establishes a connection with the first virtual camera, a value of the updated connectable number being a second value, the second value being one less than the first value.
6. The method according to any one of claims 1 to 5, characterized in that, The method further comprises: sending second information, the second information being used for performing a second operation on the first camera.
7. The method according to any one of claims 1 to 6, characterized in that, Before configuring the first virtual camera, the method further comprises: determining whether the physical camera has been opened by the first device according to the information of the first camera; determining that the first camera is available when the physical camera has not been opened by the first device.
8. The method according to any one of claims 1 to 7, characterized in that, The configuring of the first virtual camera according to the information of the first camera comprises: configuring the first virtual camera according to the information of the first camera when the first camera is opened.
9. The method according to any one of claims 1 to 8, characterized in that, The first camera is the physical camera.
10. The method according to any one of claims 1 to 8, characterized in that, The first camera is a second virtual camera on a fourth device, the second virtual camera corresponding to the physical camera. 11.A method for sharing a camera, the method comprising: The method applied to a third device comprises: obtaining information of a first virtual camera on a first device, the first virtual camera corresponding to a physical camera on a second device, the information of the first virtual camera comprising information of the physical camera; sending first information, the first information being used for performing a first operation on the first virtual camera, wherein the first operation on the first virtual camera comprises performing the first operation on the physical camera through the first virtual camera.
12. The method of claim 11, wherein, The information of the first virtual camera further comprises first indication information, the first indication information being used for indicating whether the first virtual camera is available for other devices.
13. The method of claim 12, wherein, The first indication information comprises a connectable number, the connectable number being a maximum number of devices currently connectable to the first virtual camera, a value of the connectable number being a first value.
14. The method according to any one of claims 11 to 13, characterized in that, Before sending the first information, the method further comprises: determining whether the physical camera has been opened by the first device; when the physical camera has not been opened by the first device, determining that the first virtual camera is available.
15. The method of claim 13, wherein, Before sending the first information, the method further comprises: determining whether a first condition is met; when the first condition is met, determining that the first virtual camera is available, wherein the first condition comprises that the physical camera has not been opened by the first device, and the first value is greater than 0.
16. A communications device, characterized by The communication device is configured to perform the method of any one of claims 1-10 or 11-15.
17. A communications device, characterized by The communication device comprises at least one processor and at least one memory, the at least one memory is configured to store computer programs or instructions, and the at least one processor is configured to execute the computer programs or instructions in the memory, so that the method of any one of claims 1-10 is performed, or the method of any one of claims 11-15 is performed.
18. A computer-readable storage medium, characterized in that, The computer readable storage medium stores computer programs or instructions, when the computer programs or instructions are run on a computer, the method of any one of claims 1-10 is performed, or the method of any one of claims 11-15 is performed.
19. A computer program product, characterised in that, When the computer program product is run on a computer, the method of any one of claims 1-10 is performed, or the method of any one of claims 11-15 is performed.
20. A chip, characterized by The chip is installed in a communication device, the chip comprises a processor and a communication interface, when the processor reads instructions and runs through the communication interface, the communication device performs the method of any one of claims 1-10, or the communication device performs the method of any one of claims 11-15.