Multi-screen Bitstream Control Method, Device, Equipment and Storage Medium for TV Wall
By monitoring and decoding the multi-screen code stream of the TV wall in the video conferencing system, the image data is copied to the TV wall buffer, which solves the problem of increasing CPU resource occupation when the TV wall monitors multiple pictures, and realizes the multiplexing of image data and the saving of CPU resources.
Patent Information
- Application Number
- CN202211248520.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-10-12
- Publication Date
- 2025-05-30
- Estimated Expiration
- 2042-10-12
AI Technical Summary
In a video conferencing system, when the TV wall monitors multiple screens, it is necessary to forward the code streams of multiple terminals to the designated port for multi-screen synthesis, resulting in an increase in the use of CPU resources.
By monitoring data on at least two acquisition devices, if data is detected by any acquisition device, the data of the acquisition device is decoded to obtain image data, and the image data is copied to the buffer of the TV wall itself. The TV wall only has read permissions for its own buffer, and controls the TV wall to obtain image data from its own buffer and synthesizes the TV screen.
The multiplexing of image data is realized, and the duplicate decoding of the acquisition device data is avoided, and CPU resources are saved.
Smart Images

Figure CN115643363B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of network video technology, and particularly to a multi-screen bitstream control method, device, equipment and storage medium for a video wall. Background Art
[0002] With the progress of society and the development of technology, video conferencing has become increasingly popular. In a video conferencing system, it has become a common user scenario to monitor the screens of current meeting terminals with a video wall.
[0003] However, if a video wall monitors M (M = 1, 2, 3, 4,...) screens, and each screen monitors a different terminal, the video conference needs to forward the bitstreams of M terminals to a specified port for multi-screen synthesis, and the receiving party needs to listen to the bitstreams of M ports simultaneously, which increases the occupation of CPU resources. Summary of the Invention
[0004] The present invention provides a multi-screen bitstream control method, device, equipment and storage medium for a video wall to save CPU resources.
[0005] According to one aspect of the present invention, there is provided a multi-screen bitstream control method for a video wall, including:
[0006] Performing data monitoring on at least two acquisition devices;
[0007] If data is detected in any one of the acquisition devices, decoding the data of the acquisition device to obtain image data, and determining at least one video wall monitoring the acquisition device;
[0008] Copying the image data to the buffer of the video wall itself; the video wall only has read permission for its own buffer;
[0009] Controlling the video wall to obtain image data from its own buffer and synthesizing its own video screen according to the image data.
[0010] According to another aspect of the present invention, there is provided a multi-screen bitstream control device for a video wall, including:
[0011] A data monitoring module for performing data monitoring on at least two acquisition devices;
[0012] A data decoding module for, if data is detected in any one of the acquisition devices, decoding the data of the acquisition device to obtain image data, and determining at least one video wall monitoring the acquisition device;
[0013] A data copying module for copying the image data to the buffer of the video wall itself; the video wall only has read permission for its own buffer;
[0014] A data acquisition module, configured to control a video wall to obtain image data from its own buffer and synthesize its own video screen according to the image data.
[0015] According to another aspect of the present invention, there is provided an electronic device, including:
[0016] At least one processor; and
[0017] A memory communicatively connected to the at least one processor; wherein,
[0018] The memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can execute the multi-screen bitstream control method of the video wall according to any embodiment of the present invention.
[0019] According to another aspect of the present invention, there is provided a computer-readable storage medium storing computer instructions for causing a processor to implement the multi-screen bitstream control method of the video wall according to any embodiment of the present invention when executed.
[0020] The technical solution of the embodiment of the present invention monitors data of at least two acquisition devices; if data of any acquisition device is monitored, the data of the acquisition device is decoded to obtain image data, and at least one video wall monitoring the acquisition device is determined; the image data is copied to the buffer of the video wall itself; the video wall only has read permission for its own buffer; the video wall is controlled to obtain image data from its own buffer and synthesize its own video screen according to the image data. In the above technical solution, each video wall has its own buffer. When data of an acquisition device is monitored, the data of the acquisition device is decoded to obtain image data, and the image data is copied to the buffer of the video wall monitoring the acquisition device, realizing the reuse of image data, enabling the video wall to synthesize its own video screen through the image data obtained from its own buffer, and eliminating the need to repeatedly decode the data of the acquisition device, saving CPU resources.
[0021] It should be understood that the content described in this part is not intended to identify the key or important features of the embodiments of the present invention, nor is it used to limit the scope of the present invention. Other features of the present invention will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0022] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following will briefly introduce the drawings required for the description of the embodiments. Obviously, the drawings in the following description are only some embodiments of the present invention, and those of ordinary skill in the art can also obtain other drawings based on these drawings without creative efforts.
[0023] Figure 1 It is a flowchart of a multi - screen bitstream control method for a TV wall provided in Embodiment 1 of the present invention;
[0024] Figure 2 It is a flowchart of a multi - screen bitstream control method for a TV wall provided in Embodiment 2 of the present invention;
[0025] Figure 3 It is a schematic structural diagram of a multi - screen bitstream control device for a TV wall provided in Embodiment 3 of the present invention;
[0026] Figure 4 It is a schematic structural diagram of an electronic device for implementing the multi - screen bitstream control method of the embodiments of the present invention. Detailed implementation manners
[0027] In order to enable those skilled in the art to better understand the solution of the present invention, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are only a part of the embodiments of the present invention, rather than all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the protection scope of the present invention.
[0028] It should be noted that the terms "first", "second", and "third", etc. in the specification and claims of the present invention and the above - mentioned drawings are used to distinguish similar objects, and do not necessarily need to be used to describe a specific order or sequence. It should be understood that such data can be interchanged under appropriate circumstances so that the embodiments of the present invention described here can be implemented in an order other than those illustrated or described here. In addition, the terms "including" and "having" and any variations thereof are intended to cover non - exclusive inclusion. For example, a process, method, system, product, or device that includes a series of steps or units does not necessarily have to be limited to those steps or units clearly listed, but may include other steps or units not clearly listed or inherent to these processes, methods, products, or devices. In the technical solutions disclosed by the present invention, the collection, storage, use, processing, transmission, provision, and disclosure of the involved data all comply with the regulations of relevant laws and regulations and do not violate public order and good customs.
[0029] Embodiment 1
[0030] Figure 1The figure is a flowchart of a multi - screen bitstream control method provided in the first embodiment of the present invention. The embodiments of the present invention are applicable to the situation of multi - screen monitoring of video conferencing terminals attending the meeting. This method can be executed by a multi - screen bitstream control device for a video wall. The multi - screen bitstream control device for a video wall can be implemented in the form of hardware and / or software. The multi - screen bitstream control device for a video wall can be configured in an electronic device, and the electronic device can be a desktop computer, a workbench, a server, etc. As Figure 1 shown, the multi - screen bitstream control method for a video wall includes:
[0031] S101. Monitor data of at least two acquisition devices.
[0032] Among them, the acquisition devices can be various terminals attending the video conference, such as laptop computers, mobile phones, and PCs, etc. Specifically, use a pre - configured monitoring device to monitor data of at least two acquisition devices.
[0033] S102. If data is detected in any acquisition device, decode the data of the acquisition device to obtain image data, and determine at least one video wall for monitoring the acquisition device.
[0034] Among them, one video wall can monitor one acquisition device or at least two acquisition devices. One acquisition device corresponds to one picture, that is, a video wall can correspond to at least two pictures. One acquisition device can be monitored by one video wall or at least two video walls.
[0035] Exemplarily, assume that two acquisition devices are configured in video wall T1. One is called the first acquisition device, and the other is called the second acquisition device. Video wall T1 defaults to monitoring the acquisition devices configured in itself. When data is detected in the first acquisition device, use a pre - configured decoding thread to decode the data in the first acquisition device to obtain image data; according to the monitoring relationship between video wall T1 and the first acquisition device, determine that the video wall corresponding to the first acquisition device is video wall T1.
[0036] S103. Copy the image data to the buffer of the video wall itself; the video wall only has read permission for its own buffer.
[0037] Each video wall has its own dedicated buffer for storing the data it needs. Each video wall can only read data from its own buffer and cannot read data from the buffers of other video walls, ensuring the security of the buffer data in each video wall.
[0038] Specifically, copy the decoded image data to the buffer of at least one of the above-determined video walls itself. This operation copies the image data to the buffer of the video wall, realizing the reuse of the image data of the acquisition device, without the need to repeatedly decode the data of the acquisition device, thereby saving CPU resources.
[0039] S104. Control the video wall to obtain image data from its own buffer, and synthesize its own video picture according to the image data.
[0040] Specifically, control the video wall to obtain the image data corresponding to all the acquisition devices it monitors from its own buffer, and synthesize these image data to form the video picture of the video wall itself. Among them, the synthesis method may include the synthesis of single image data and the synthesis of multiple image data.
[0041] The technical solution of the embodiment of the present invention monitors the data of at least two acquisition devices; if data of any acquisition device is monitored, decode the data of the acquisition device to obtain image data, and determine at least one video wall that monitors the acquisition device; copy the image data to the buffer of the video wall itself; the video wall only has read permission for its own buffer; control the video wall to obtain image data from its own buffer, and synthesize its own video picture according to the image data. In the above technical solution, each video wall has its own buffer. When data of an acquisition device is monitored, decode the data of the acquisition device to obtain image data, and copy the image data to the buffer of the video wall that monitors the acquisition device, realizing the reuse of image data, enabling the video wall to synthesize its own video picture through the image data obtained from its own buffer, without the need to repeatedly decode the data of the acquisition device, and saving CPU resources.
[0042] On the basis of the above embodiment, as an optional way of the embodiment of the present invention, "monitor the data of at least two acquisition devices" is specifically implemented as: "set listening ports for at least two acquisition devices respectively; group the listening ports based on load balancing; use a polling mechanism to monitor the data of each group of listening ports", so as to ensure that the data listened to by each listening port is uniform, thereby saving CPU resources.
[0043] Among them, each acquisition device corresponds to a monitoring port; the polling mechanism can be to sequentially traverse the monitoring ports of each group at a specified time. Exemplarily, assuming there are 5 acquisition devices, and a monitoring port is set for each acquisition device, then there are a total of 5 monitoring ports; every 2 ports form a group, and one monitoring thread is started, then there are 3 monitoring groups, namely the first monitoring group, the second monitoring group, and the third monitoring group; the first monitoring group and the second monitoring group each have 2 monitoring ports, and the third monitoring group has one monitoring port. If it is necessary to monitor data of newly added acquisition devices, based on load balancing, the polling mechanism is used to traverse each monitoring group. It is found that the monitored data in the third monitoring group is insufficient, and the monitoring port corresponding to the newly added acquisition device is assigned to the third monitoring group to ensure the balance of monitored data in each monitoring group.
[0044] Embodiment 2
[0045] Figure 2 The flowchart of a multi-screen bitstream control method for a video wall provided by Embodiment 2 of the present invention. On the basis of the above embodiments, this embodiment provides an optional solution, as Figure 2 shown, the method includes:
[0046] S201. Monitor data of at least two acquisition devices.
[0047] S202. If data of any acquisition device is monitored, decode the data of the acquisition device to obtain image data, and determine at least one video wall that monitors the acquisition device.
[0048] S203. Copy the image data to the buffer of the video wall itself; the video wall only has read permission for its own buffer.
[0049] S204. Control the video wall to obtain image data from its own buffer and synthesize its own video screen according to the image data.
[0050] S205. In response to an acquisition device addition instruction for any video wall, obtain the acquisition device to be newly added to the video wall.
[0051] Among them, the acquisition device addition instruction is used to add an acquisition device to the video wall; the acquisition device to be newly added can refer to the acquisition device to be configured for the video wall.
[0052] Exemplarily, currently, there are video walls T1 and T2 configured. Video wall T1 is configured with acquisition devices 1 and 2, and video wall T2 is configured with acquisition device 3. Video walls T1 and T2 default to monitor the acquisition devices configured for themselves. The acquisition device addition instruction can be to configure acquisition devices 3 and 4 for video wall T1, then the acquisition devices to be newly added are acquisition devices 3 and 4.
[0053] S206. Determine whether there is already another TV wall monitoring the to-be-added acquisition device based on the monitoring relationship between the TV wall and the acquisition device; if so, execute S207, if not, execute S208.
[0054] Among them, the monitoring relationship can be a one-to-one relationship, a one-to-many relationship, and a many-to-many relationship. A TV wall can monitor one acquisition device or multiple acquisition devices. An acquisition device can be monitored by one TV wall or multiple TV walls.
[0055] Still taking the above example, the to-be-added acquisition device (acquisition device 3) of TV wall T1 has been monitored by TV wall T2; according to the monitoring relationship between TV wall T2 and acquisition device 3, execute S207. There is no other TV wall monitoring the to-be-added acquisition device (acquisition device 4) of TV wall T1, so execute S208.
[0056] S207. Copy the decoded data of the to-be-added acquisition device to the buffer of this TV wall itself.
[0057] Specifically, since there is already another TV wall monitoring the to-be-added acquisition device, it indicates that the data in the to-be-added acquisition device has been decoded. Then, directly copy the decoded data of the to-be-added acquisition device to the buffer of this TV wall itself. Still taking the above example, according to the monitoring relationship between TV wall T2 and acquisition device 3, the data of acquisition device 3 has been decoded. Therefore, copy the decoded data of the to-be-added acquisition device (acquisition device 3) of TV wall T1 to the buffer of TV wall T1 itself, and there is no need to decode the data of acquisition device 3 repeatedly.
[0058] S208. Trigger data monitoring for the to-be-added acquisition device and execute S202.
[0059] Specifically, if there is no other TV wall monitoring the to-be-added acquisition device, data monitoring of the to-be-added acquisition device is triggered; if data of the to-be-added acquisition device is detected, the data of the to-be-added acquisition device is decoded to obtain image data, and at least one TV wall monitoring the to-be-added acquisition device is determined; the image data is copied to the buffer of the TV wall itself; the TV wall is controlled to obtain the image data from its own buffer and synthesize its own TV screen according to the image data. Still taking the above example, there is no other TV wall monitoring the to-be-added acquisition device (acquisition device 4) of TV wall T1, so data monitoring of acquisition device 4 is triggered; if data of acquisition device 4 is detected, the data of acquisition device 4 is decoded to obtain image data, and at least one TV wall (TV wall T1) monitoring acquisition device 4 is determined; the image data is copied to the buffer of TV wall T1 itself; TV wall T1 is controlled to obtain the image data from its own buffer and synthesize its own TV screen according to the image data.
[0060] It should be noted that for the parts not detailed in the embodiments of the present invention, reference may be made to the relevant descriptions of the foregoing embodiments.
[0061] The technical solution of the embodiment of the present invention obtains the to-be-added acquisition device of a TV wall in response to an acquisition device addition instruction for any TV wall; based on the monitoring relationship between the TV wall and the acquisition device, it is determined whether there is already another TV wall monitoring the to-be-added acquisition device; if so, the decoded data of the to-be-added acquisition device is copied to the buffer of the TV wall itself; if not, data monitoring of the to-be-added acquisition device is triggered. The above technical solution determines the processing method for the to-be-added acquisition device according to the monitoring relationship between the TV wall and the to-be-added acquisition device, avoiding repeated listening and decoding of the acquisition device, and thus saving CPU resources.
[0062] In addition, in response to an acquisition device addition instruction for any TV wall, if the to-be-added acquisition device is a repeatedly added acquisition device, no processing needs to be done to the to-be-added device, that is, it is not necessary to copy the decoded data of the to-be-added acquisition device to the buffer of the TV wall itself, nor is it necessary to perform data monitoring on the to-be-added acquisition device, avoiding the misoperation of repeatedly adding a certain to-be-added acquisition device to a certain TV wall.
[0063] Based on the above embodiments, as an alternative embodiment of the present invention, the method may further include: in response to a collection device removal instruction for any video wall, obtaining the collection device to be removed from the video wall; determining whether there is any other video wall monitoring the collection device to be removed; if so, stopping copying the decoded data of the collection device to be removed to the buffer of the video wall itself; otherwise, closing the port listening for the collection device to be removed, closing the decoding thread of the port, and stopping copying the decoded data of the collection device to be removed.
[0064] Wherein, the collection device removal instruction is used to delete the collection device in the video wall; the decoding thread is used to decode the data in the collection device to obtain image data.
[0065] Specifically, in response to a collection device removal instruction for any video wall, obtain the collection device to be removed from the video wall; if there is any other video wall monitoring these collection devices to be removed, it indicates that these collection devices to be removed have an impact on other video walls, and stop copying the decoded data of these collection devices to be removed to the buffers of these video walls; if there is no other video wall monitoring these collection devices to be removed, it indicates that these collection devices to be removed have no impact on other video walls, close the port listening for these collection devices to be removed, close the decoding thread of the port, and stop copying the decoded data of these collection devices to be removed.
[0066] Exemplarily, there are currently configured video walls T1 and T2; video wall T1 is configured with collection devices 1 and 2, and video wall T2 is configured with collection devices 2 and 3. By default, video walls T1 and T2 monitor the collection devices configured for themselves. If the collection device removal instruction is to delete collection device 2 in video wall T1, in response to the collection device removal instruction of video wall T1, obtain the collection device to be removed from this video wall (collection device 2); determine that collection device 2 is being monitored by video wall T2, and stop copying the decoded data of collection device 2 to the buffer of video wall T2 itself. If the collection device removal instruction is to delete collection device 1 in video wall T1, in response to the collection device removal instruction of video wall T1, obtain the collection device to be removed from this video wall (collection device 1); determine that collection device 1 is not monitored by any other video wall, close the port listening for collection device 1, close the decoding thread of this port, and stop copying the decoded data of collection device 1 by video wall T1.
[0067] The technical solution of the embodiment of the present invention determines the processing method for the collection device to be removed by determining whether there is any other video wall monitoring the collection device to be removed, avoiding the impact of accidentally deleting the collection device on the video wall, and making the utilization of CPU resources more reasonable and flexible.
[0068] Based on the above embodiments, as an alternative embodiment of the present invention, the method may further include: in response to a video wall removal instruction for any video wall, all at least one acquisition device monitored by the video wall is regarded as the acquisition device to be removed for the video wall; determining whether there is any other video wall monitoring the acquisition device to be removed; if so, stopping copying the decoded data of the acquisition device to be removed to the buffer of the video wall itself; otherwise, closing the port listening for the acquisition device to be removed, closing the decoding thread of the port, and stopping copying the decoded data of the acquisition device to be removed.
[0069] Specifically, in response to a video wall removal instruction for a certain video wall, all acquisition devices monitored by the video wall are regarded as the acquisition devices to be removed for the video wall; if there is any other video wall monitoring these acquisition devices to be removed, stop copying the decoded data of these acquisition devices to be removed to the buffers of these video walls; if there is no other video wall monitoring these acquisition devices to be removed, close the port listening for these acquisition devices to be removed, close the decoding thread of the port, and stop copying the decoded data of these acquisition devices to be removed.
[0070] Exemplarily, there are currently configured video walls T1, T2, T3, and T4. Video wall T1 is configured with acquisition devices 1 and 2, video wall T2 is configured with acquisition device 3, video wall T3 is configured with acquisition devices 1 and 3, and video wall T4 is configured with acquisition device 4. Video walls T1, T2, T3, and T4 default to monitor the acquisition devices configured for themselves. If the video wall removal instruction is to remove video wall T3, in response to the removal instruction for video wall T3, both acquisition devices 1 and 3 are regarded as the acquisition devices to be removed; it is determined that video wall T1 is monitoring acquisition device 1 and video wall T2 is monitoring acquisition device 3; stop copying the decoded data of acquisition device 1 to the buffer of video wall T1 itself, and stop copying the decoded data of acquisition device 3 to the buffer of video wall T2 itself. If the video wall removal instruction is to remove video wall T4, in response to the removal instruction for video wall T4, acquisition device 4 is regarded as the acquisition device to be removed; it is determined that no other video wall is monitoring acquisition device 4, close the port listening for acquisition device 4, close the decoding thread of the port, and stop video wall T4 from copying the decoded data of acquisition device 4.
[0071] The technical solution of the embodiment of the present invention determines the acquisition device to be removed monitored by the video wall according to the video wall removal instruction; determines the processing method for the acquisition device to be removed by determining whether there is any other video wall monitoring the acquisition device to be removed, avoiding redundant copying of the decoded data of the acquisition device caused by removing the video wall, and thus saving CPU resources.
[0072] Embodiment III
[0073] Figure 3 This is a schematic structural diagram of a multi-screen bitstream control device for a TV wall provided in Embodiment 3 of the present invention. As Figure 3 shown, the device includes:
[0074] A data monitoring module 301, configured to monitor data of at least two acquisition devices;
[0075] A data decoding module 302, configured to, if data of any acquisition device is monitored, decode the data of the acquisition device to obtain image data, and determine at least one TV wall that monitors the acquisition device;
[0076] A data copy module 303, configured to copy the image data to the buffer of the TV wall itself; the TV wall only has read permission for its own buffer;
[0077] A data acquisition module 304, configured to control the TV wall to acquire image data from its own buffer, and synthesize its own TV screen according to the image data.
[0078] The technical solution of the embodiment of the present invention monitors data of at least two acquisition devices through the data monitoring module; through the data decoding module, decodes the data of the acquisition device with data to obtain image data, and determines at least one TV wall that monitors the acquisition device; copies the image data to the buffer of the TV wall itself through the data copy module; controls the TV wall to acquire image data from its own buffer through the data acquisition module, and synthesizes its own TV screen according to the image data. In the above technical solution, each TV wall has its own buffer. When data of an acquisition device is monitored, the data of the acquisition device is decoded to obtain image data, and the image data is copied to the buffer of the TV wall that monitors the acquisition device, so that the TV wall can synthesize its own TV screen through the image data acquired from its own buffer, without having to decode the data of the acquisition device repeatedly, saving CPU resources.
[0079] Further, the multi-screen bitstream control device for the TV wall may further include:
[0080] A new device acquisition module, configured to acquire a to-be-added acquisition device of the TV wall in response to an acquisition device addition instruction for any TV wall;
[0081] A new device monitoring module, configured to determine whether there is already another TV wall monitoring the to-be-added acquisition device based on the monitoring relationship between the TV wall and the acquisition device;
[0082] If so, copy the decoded data of the to-be-added acquisition device to the buffer of the TV wall itself;
[0083] If not, trigger data monitoring for the to-be-added acquisition device.
[0084] Furthermore, the multi-screen bitstream control device for the TV wall may further include:
[0085] A removal device acquisition module, configured to acquire the acquisition device to be removed from the TV wall in response to a removal instruction of the acquisition device of any TV wall;
[0086] A removal device monitoring module, configured to determine whether any other TV wall is monitoring the acquisition device to be removed;
[0087] If so, stop copying the decoded data of the acquisition device to be removed to the buffer of the TV wall itself; otherwise, close the port listening for the acquisition device to be removed, close the decoding thread of the port, and stop copying the decoded data of the acquisition device to be removed.
[0088] Furthermore, the multi-screen bitstream control device for the TV wall may further include:
[0089] A removal device determination module, configured to, in response to a TV wall removal instruction for any TV wall, regard at least one acquisition device monitored by the TV wall as the acquisition device to be removed from the TV wall;
[0090] A monitoring determination module, configured to determine whether any other TV wall is monitoring the acquisition device to be removed;
[0091] If so, stop copying the decoded data of the acquisition device to be removed to the buffer of the TV wall itself; otherwise, close the port listening for the acquisition device to be removed, close the decoding thread of the port, and stop copying the decoded data of the acquisition device to be removed.
[0092] Furthermore, the data monitoring module 301 is specifically configured to: respectively set listening ports for at least two acquisition devices; group the listening ports based on load balancing; and monitor data for each group of listening ports by using a polling mechanism.
[0093] The multi-screen bitstream control device for the TV wall provided by the embodiments of the present invention can execute the multi-screen bitstream control method provided by any embodiment of the present invention, and has corresponding functional modules and beneficial effects for executing the multi-screen bitstream control method.
[0094] Embodiment 4
[0095] Figure 4FIG. 0 shows a schematic structural diagram of an electronic device 400 that can be used to implement embodiments of the present invention. The electronic device is intended to represent various forms of digital computers, such as, for example, laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as, for example, personal digital assistants, cellular telephones, smart phones, wearable devices (such as helmets, glasses, watches, etc.) and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely exemplary and are not intended to limit the implementation of the present invention described and / or claimed herein.
[0096] As Figure 4 shown, the electronic device 400 includes at least one processor 401, and a memory communicatively connected to the at least one processor 401, such as a read-only memory (ROM) 402, a random access memory (RAM) 403, etc. The memory stores a computer program executable by the at least one processor. The processor 401 can perform various appropriate actions and processes according to the computer program stored in the read-only memory (ROM) 402 or the computer program loaded from the storage unit 408 into the random access memory (RAM) 403. In the RAM 403, various programs and data required for the operation of the electronic device 400 can also be stored. The processor 401, the ROM 402, and the RAM 403 are connected to each other via a bus 404. An input / output (I / O) interface 405 is also connected to the bus 404.
[0097] A plurality of components in the electronic device 400 are connected to the I / O interface 405, including: an input unit 406, such as a keyboard, a mouse, etc.; an output unit 407, such as various types of displays, speakers, etc.; a storage unit 408, such as a magnetic disk, an optical disk, etc.; and a communication unit 409, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 409 allows the electronic device 400 to exchange information / data with other devices via a computer network such as the Internet and / or various telecommunication networks.
[0098] The processor 401 can be various general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the processor 401 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The processor 401 executes the various methods and processes described above, such as the multi-screen video stream control method for a video wall.
[0099] In some embodiments, the multi-screen bitstream control method for a video wall can be implemented as a computer program tangibly embodied in a computer-readable storage medium, such as storage unit 408. In some embodiments, part or all of the computer program can be loaded and / or installed onto the electronic device 400 via ROM 402 and / or communication unit 409. When the computer program is loaded into RAM 403 and executed by the processor 401, one or more steps of the multi-screen bitstream control method described above can be performed. Alternatively, in other embodiments, the processor 401 can be configured to execute the multi-screen bitstream control method by any other suitable means (e.g., by means of firmware).
[0100] The various embodiments of the systems and techniques described above in this document can be implemented in digital electronic circuitry, integrated circuit systems, field programmable gate arrays (FPGA), application specific integrated circuits (ASIC), application specific standard products (ASSP), systems on a chip (SOC), complex programmable logic devices (CPLD), computer hardware, firmware, software, and / or combinations thereof. These various embodiments can include: being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which can be a special-purpose or general-purpose programmable processor that receives data and instructions from a storage system, at least one input device, and at least one output device, and transmits the data and instructions to the storage system, the at least one input device, and the at least one output device.
[0101] The computer programs for implementing the methods of the present invention can be written in any combination of one or more programming languages. These computer programs can be provided to the processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, such that when the computer programs are executed by the processor, the functions / operations specified in the flowchart and / or block diagram are implemented. The computer programs can be executed entirely on the machine, partially on the machine, as a stand-alone software package partially on the machine and partially on a remote machine, or entirely on a remote machine or server.
[0102] In the context of the present invention, a computer-readable storage medium can be a tangible medium that can contain or store a computer program for use by or in connection with an instruction execution system, apparatus, or device. The computer-readable storage medium can include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. Alternatively, the computer-readable storage medium can be a machine-readable signal medium. More specific examples of the machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0103] In order to provide interaction with a user, the systems and techniques described herein can be implemented on an electronic device having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and a pointing device (e.g., a mouse or a trackball) by which the user can provide input to the electronic device. Other kinds of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including acoustic input, speech input, or tactile input).
[0104] The systems and techniques described herein can be implemented in a computing system that includes backend components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes frontend components (e.g., a user computer having a graphical user interface or a web browser through which the user can interact with an implementation of the systems and techniques described herein), or a computing system that includes any combination of such backend components, middleware components, or frontend components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: local area network (LAN), wide area network (WAN), blockchain network, and the Internet.
[0105] A computing system may include a client and a server. The client and the server are generally far from each other and usually interact via a communication network. The client-server relationship is created by computer programs running on respective computers and having a client-server relationship with each other. The server can be a cloud server, also known as a cloud computing server or a cloud host, which is a host product in the cloud computing service system, solving the defects of difficult management and weak business scalability existing in traditional physical hosts and VPS services.
[0106] It should be understood that various forms of the processes shown above can be used, with steps reordered, added, or deleted. For example, the steps recited in the present invention can be executed in parallel, sequentially, or in a different order, as long as the desired results of the technical solution of the present invention can be achieved, and no limitation is imposed herein.
[0107] The above specific embodiments do not constitute a limitation on the protection scope of the present invention. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principle of the present invention shall be included within the protection scope of the present invention.
Claims
1. A method for multi - screen bitstream control of a TV wall, characterized in that, it includes: monitoring data of at least two acquisition devices; if data of any acquisition device is monitored, decoding the data of this acquisition device to obtain image data, and determining at least one TV wall monitoring this acquisition device; copying the image data to the buffer of the TV wall itself; the TV wall only has read permission for its own buffer; controlling the TV wall to obtain the image data from its own buffer, and synthesizing its own TV screen according to the image data; responding to an instruction to add an acquisition device for any TV wall, and obtaining the acquisition device to be added for this TV wall; based on the monitoring relationship between the TV wall and the acquisition device, determining whether there is already another TV wall monitoring the acquisition device to be added; if so, copying the decoded data of the acquisition device to be added to the buffer of this TV wall itself; if not, triggering data monitoring of the acquisition device to be added.
2. The method according to claim 1, characterized in that, the method further includes: responding to an instruction to remove an acquisition device for any TV wall, and obtaining the acquisition device to be removed for this TV wall; determining whether there is another TV wall monitoring the acquisition device to be removed; if so, stopping copying the decoded data of the acquisition device to be removed to the buffer of this TV wall itself; otherwise, closing the port listening for the acquisition device to be removed, closing the decoding thread of the port, and stopping copying the decoded data of the acquisition device to be removed.
3. The method according to claim 1, characterized in that, the method further includes: responding to an instruction to remove a TV wall for any TV wall, taking at least one acquisition device monitored by this TV wall as the acquisition device to be removed for this TV wall; determining whether there is another TV wall monitoring the acquisition device to be removed; if so, stopping copying the decoded data of the acquisition device to be removed to the buffer of this TV wall itself; otherwise, closing the port listening for the acquisition device to be removed, closing the decoding thread of the port, and stopping copying the decoded data of the acquisition device to be removed.
4. The method according to claim 1, characterized in that, monitoring data of at least two acquisition devices includes: respectively setting listening ports for the at least two acquisition devices; grouping the listening ports based on load balancing; using a polling mechanism to monitor data for each group of listening ports.
5. A multi - screen bitstream control device for a TV wall, characterized in that, it includes: a data monitoring module for monitoring data of at least two acquisition devices; a data decoding module for, if data of any acquisition device is monitored, decoding the data of this acquisition device to obtain image data, and determining at least one TV wall monitoring this acquisition device; a data copying module for copying the image data to the buffer of the TV wall itself; the TV wall only has read permission for its own buffer; a data acquisition module for controlling the TV wall to obtain the image data from its own buffer, and synthesizing its own TV screen according to the image data; A new device acquisition module, which is used to obtain the acquisition device to be newly added to the TV wall in response to the acquisition device new addition instruction for any TV wall; A new device monitoring module, which is used to determine whether any other TV wall is monitoring the acquisition device to be newly added based on the monitoring relationship between the TV wall and the acquisition device; If so, copy the decoded data of the acquisition device to be newly added to the buffer of the TV wall itself; If not, trigger data monitoring of the acquisition device to be newly added.
6. The device according to claim 5, wherein, the device further includes: A removal device acquisition module, which is used to obtain the acquisition device to be removed from the TV wall in response to the acquisition device removal instruction for any TV wall; A removal device monitoring module, which is used to determine whether any other TV wall is monitoring the acquisition device to be removed; If so, stop copying the decoded data of the acquisition device to be removed to the buffer of the TV wall itself; otherwise, close the port listening for the acquisition device to be removed, close the decoding thread of the port, and stop copying the decoded data of the acquisition device to be removed.
7. An electronic device, wherein, the electronic device includes: at least one processor; and a memory communicatively connected to the at least one processor; wherein, the memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can execute the multi-screen bitstream control method for the TV wall according to any one of claims 1-4.
8. A computer-readable storage medium, wherein, the computer-readable storage medium stores computer instructions, and the computer instructions are used to implement the multi-screen bitstream control method for the TV wall according to any one of claims 1-4 when executed by a processor.
Citation Information
Patent Citations
Patrol switching method and device and electronic equipment
CN109982008A
Video playing method, device and system
CN110636348A