Video transmission method, electronic device, storage medium and program product
By block processing and filtering conditions for the transmitted video, only the target video block is transmitted, the problems of bandwidth consumption and computing complexity in real-time video surveillance are solved, and efficient video transmission and real-time monitoring are achieved.
Patent Information
- Application Number
- CN202411738487.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-28
- Publication Date
- 2025-03-28
AI Technical Summary
In real-time video surveillance, due to the huge amount of data in real-time video surveillance, the consumption of video transmission bandwidth and the computational complexity increase, making it difficult to effectively reduce the cost and complexity of the system.
By chunking the video to be transmitted, the filtering conditions for the video block where the target monitoring object is located are determined, and only the selected target video block is encoded and transmitted.
It significantly reduces the transmission amount of video data, alleviates bandwidth pressure, reduces the computing burden and delay of the system, and improves the real-time video surveillance and resource utilization efficiency.
Smart Images

Figure CN119728919A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the fields of video processing technology and data transmission technology, and in particular to a video transmission method, electronic equipment, storage medium and program product. Background Art
[0002] As the number of surveillance cameras in cities increases, the amount of real-time video surveillance data is rapidly expanding. All of this video surveillance data needs to be transmitted to the data center for integration for subsequent analysis and review, which has brought tremendous pressure on bandwidth, storage and computing resources.
[0003] In the related art, in order to reduce the amount of data transmitted in the video, key frames in the video surveillance data are usually selectively transmitted to reduce bandwidth consumption. However, the selection of key frames usually relies on complex calculations and re-encoding operations. Due to the huge amount of data in real-time video surveillance data, this type of real-time selection method has a large amount of calculation, which increases the cost and complexity of the system. Summary of the invention
[0004] The embodiments of the present application provide a video transmission method, an electronic device, a storage medium, and a program product to achieve the effect of reducing bandwidth consumption and computing power.
[0005] In a first aspect, an embodiment of the present application provides a video transmission method, the video transmission method comprising:
[0006] Perform block processing on the video to be transmitted to obtain video blocks corresponding to the video to be transmitted;
[0007] Based on the video block, determining a screening condition of the video block where the target monitoring object is located, the screening condition including a bit rate value;
[0008] Based on the screening condition, a target video block for uploading is determined from the video blocks, and the target video block is encoded and transmitted.
[0009] In a second aspect, an embodiment of the present application provides a video transmission device, including:
[0010] A preprocessing module, used for performing block processing on the video to be transmitted to obtain video blocks corresponding to the video to be transmitted;
[0011] An analysis module, used to determine, based on the video block, a screening condition of the video block where the target monitoring object is located, wherein the screening condition includes a bit rate value;
[0012] The processing module is used to determine a target video block for uploading from the video blocks based on the screening condition, and encode and transmit the target video block.
[0013] In a third aspect, an embodiment of the present application provides a control device, including: a memory, a processor;
[0014] The memory stores computer-executable instructions;
[0015] The processor executes the computer-executable instructions stored in the memory, so that the processor executes the above first aspect and / or various possible implementations of the first aspect.
[0016] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, in which computer-executable instructions are stored. When the computer-executable instructions are executed by a processor, they are used to implement the first aspect above and / or various possible implementations of the first aspect.
[0017] In a fifth aspect, an embodiment of the present application provides a computer program product, including a computer program, which, when executed by a processor, implements the above first aspect and / or various possible implementation methods of the first aspect.
[0018] The video transmission method, electronic device, storage medium and program product provided by the embodiments of the present disclosure obtain video blocks corresponding to the video to be transmitted by performing block processing on the video to be transmitted, and then determine the screening conditions of the video blocks where the target monitoring object is located based on the video blocks, and finally determine the target video blocks for uploading from the video blocks based on the screening conditions, and encode and transmit the target video blocks. Therefore, by performing block processing on the video to be transmitted, the transmission amount of video data is significantly reduced, thereby alleviating bandwidth pressure. By determining the screening conditions of the target monitoring object based on the video blocks, the scheme can effectively identify and extract key video blocks, avoid complex calculations and re-encoding operations on the entire video stream, and reduce the computational burden and delay of the system. Finally, by encoding and transmitting the target video blocks, the scheme improves the real-time performance and resource utilization efficiency of the system while ensuring the quality of video surveillance, and reduces the overall cost and complexity. BRIEF DESCRIPTION OF THE DRAWINGS
[0019] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present application and, together with the description, serve to explain the principles of the present application.
[0020] Figure 1 An application scenario diagram of the video transmission method provided by the embodiment of the present disclosure;
[0021] Figure 2 A flowchart of a video transmission method provided by an embodiment of the present disclosure;
[0022] Figure 3 A flowchart of a video transmission method provided by another embodiment of the present disclosure;
[0023] Figure 4 A schematic diagram of the structure of a video transmission device provided by another embodiment of the present disclosure;
[0024] Figure 5 A schematic diagram of the structure of a control device provided in one embodiment of the present disclosure.
[0025] The above drawings have shown clear embodiments of the present application, which will be described in more detail later. These drawings and text descriptions are not intended to limit the scope of the present application in any way, but to illustrate the concept of the present application to those skilled in the art by referring to specific embodiments. DETAILED DESCRIPTION
[0026] Exemplary embodiments will be described in detail herein, examples of which are shown in the accompanying drawings. When the following description refers to the drawings, the same numbers in different drawings represent the same or similar elements unless otherwise indicated. The implementations described in the following exemplary embodiments do not represent all implementations consistent with the present application. Instead, they are merely examples of devices and methods consistent with some aspects of the present application as detailed in the appended claims.
[0027] Figure 1 A schematic diagram of an application scenario of the video transmission method provided in this application, such as Figure 1 As shown, during the video transmission process, the camera 100 transmits the collected video data to the processor 110, and the processor 110 selects the video blocks to be uploaded from the video data and uploads them to the data center server 120 to complete the video transmission process.
[0028] It should be noted that Figure 1 In the scenario shown, only one or a specific number of cameras, processors, and data center servers are used as examples for illustration, but the present disclosure is not limited to this. In other words, the number of cameras, processors, and data center servers can be arbitrary.
[0029] With the increase in the number of surveillance cameras in cities, the amount of real-time video surveillance data has expanded rapidly. These video surveillance data need to be transmitted to the data center for integration for subsequent analysis and review. Therefore, in order to reduce the bandwidth load, we continue to study how to effectively reduce the transmission volume of video surveillance data without significantly increasing the computational burden and complexity of the system.
[0030] Due to the huge amount of real-time video surveillance data, traditional methods rely on complex calculations and re-encoding to select key frames, which not only requires high-performance computing resources, but may also introduce delays and affect real-time performance. To reduce bandwidth consumption while ensuring video quality and information integrity, technical solutions must find a balance between algorithm efficiency and computing resources. In addition, the system must be flexible enough to adapt to changes in different scenarios and requirements, which places higher requirements on algorithm design and system architecture.
[0031] On the other hand, the difficulty of discovering technical problems lies in identifying and evaluating the bottlenecks and deficiencies in each link of the video surveillance data transmission process. Since video surveillance systems usually involve multiple components and complex transmission links, problems may occur at any stage of data acquisition, transmission, storage or processing. The characteristics of real-time data make it more difficult to locate problems, because the dynamic and complex nature of data flows may mask potential performance bottlenecks. In addition, as the number of surveillance cameras increases, the amount of data that the system needs to process grows exponentially, and traditional monitoring and analysis methods are difficult to adapt to this scale of change. Therefore, identifying these problems requires comprehensive analysis and monitoring of the system in order to adjust strategies and optimize resource allocation in a timely manner, resulting in the lack of existing technologies that can simultaneously meet the requirements of reducing bandwidth consumption and computing power.
[0032] The video transmission method provided in the present application processes the video to be transmitted in blocks and divides the video into multiple video blocks so as to manage and process the data more finely. By setting the screening conditions, the system can identify the key video blocks containing the target monitoring objects, thereby reducing unnecessary data transmission. This method avoids complex calculations and re-encoding of the entire video stream and only encodes and transmits the selected target video blocks. This strategy effectively reduces bandwidth consumption and computational complexity while ensuring the real-time and effectiveness of video surveillance.
[0033] The technical solution of the present application and how the technical solution of the present application solves the above-mentioned technical problems are described in detail below with specific embodiments. The following specific embodiments can be combined with each other, and the same or similar concepts or processes may not be repeated in some embodiments. The embodiments of the present application will be described below in conjunction with the accompanying drawings.
[0034] Figure 2 Schematic diagram of the video transmission method provided in this application Figure 1 ,like Figure 2 As shown, the method includes:
[0035] S201, performing block processing on a video to be transmitted to obtain video blocks corresponding to the video to be transmitted.
[0036] Specifically, this embodiment is used to illustrate the implementation process of the video transmission method.
[0037] The execution subject of the embodiments of the present disclosure may be a data transmission node cooperating with a camera, a camera sensor with data processing function, a processing terminal cooperating with a cloud server, or a cloud server (not a data center for receiving target data blocks), or the cooperation of a camera sensor and a cloud server. For the convenience of description, the execution subjects will be collectively referred to as processors in the following.
[0038] After acquiring the video to be transmitted (that is, real-time monitoring video data) from the camera, the processor will divide the video to be transmitted into multiple smaller video blocks. This block processing is mainly based on space. For example, the video frame can be divided into multiple areas in a fixed manner (such as divided into twelve small blocks of 4*3, or divided into 16 small blocks, and the size of each area is fixed), and each area is a video block. This type of division method is suitable for monitoring scenarios that only focus on specific areas or specific objects, because usually monitoring cameras are only aimed at fixed areas, and only when there are moving objects or changing areas within the camera range, they need to be paid attention to.
[0039] Through block processing, the system can analyze video data more finely and reduce unnecessary data analysis, processing and transmission. This method reduces the overall data processing volume, improves the processing efficiency of the system, and provides a basis for the screening and transmission of subsequent steps.
[0040] S202: Determine, based on the video block, a screening condition for the video block where the target monitoring object is located.
[0041] The filtering condition includes a bit rate value.
[0042] Specifically, after the video to be transmitted is divided into blocks, the processor needs to determine which video blocks contain the target monitoring object, so as to upload the video blocks containing the target monitoring object to the data center. By uploading a single video block (or several video blocks, such as multiple video blocks containing the target monitoring object) instead of the complete video, the amount of uploaded data can be significantly reduced (for example, if the video blocks are evenly divided into 16 blocks, the amount of uploaded data can be reduced to 1 / 16 of the original data transmission amount. Even if multiple video blocks need to be uploaded, it usually does not exceed 1 / 2 of the original data transmission amount).
[0043] Filter criteria can include bit rate value, motion intensity, color characteristics, etc.
[0044] Taking the bit rate value as an example, when the target monitoring object is included in the video block, its bit rate value will change relative to when it does not contain the target monitoring object. Therefore, by comparing the changes in the bit rate values of each video block, the video blocks that may contain the target monitoring object can be screened out. And screening by bit rate value has a small amount of calculation and high calculation efficiency, which can reduce the amount of calculation before uploading the monitoring video data to the data center and reduce the processor load.
[0045] For processors with strong computing power, the video block containing the target object can be determined by feature matching and other methods.
[0046] Therefore, by setting screening conditions, the system can effectively identify and extract key video blocks, reduce unnecessary data transmission, reduce bandwidth consumption, and at the same time reduce the computational burden of the processor, and ensure the real-time and effectiveness of video surveillance.
[0047] The filtering conditions can be adjusted regularly, such as fine-tuning once every hour. Therefore, you only need to redefine the filtering conditions when adjusting. At other times, you only need to filter out the corresponding video blocks according to the determined filtering conditions for uploading, thereby minimizing the processor calculation amount.
[0048] S203: Based on the screening condition, determine a target video block for uploading from the video blocks, and encode and transmit the target video block.
[0049] Specifically, according to the screening conditions, the processor can quickly screen out the target video blocks that need to be uploaded. The selected target video blocks will be encoded, compressed and packaged in a format suitable for transmission, and then uploaded to the data center or other storage devices.
[0050] By encoding and transmitting the target video blocks, the solution improves the real-time performance and resource utilization efficiency of the system while ensuring the quality of video surveillance. This strategy effectively reduces the overall cost and complexity while ensuring the integrity and timeliness of key video information.
[0051] The video transmission method provided in the embodiment of the present application obtains the video blocks corresponding to the video to be transmitted by performing block processing from the video to be transmitted, and then determines the screening conditions of the video blocks where the target monitoring object is located based on the video blocks, and finally determines the target video blocks for uploading from the video blocks based on the screening conditions, and encodes and transmits the target video blocks. Thus, by performing block processing on the video to be transmitted, the transmission amount of video data is significantly reduced, thereby alleviating the bandwidth pressure. By determining the screening conditions of the target monitoring object based on the video blocks, the scheme can effectively identify and extract key video blocks, avoid complex calculations and re-encoding operations on the entire video stream, and reduce the computational burden and delay of the system. Finally, by encoding and transmitting the target video blocks, the scheme improves the real-time performance and resource utilization efficiency of the system while ensuring the quality of video surveillance, and reduces the overall cost and complexity.
[0052] Figure 3 Schematic diagram of the video transmission process provided for this application Figure 2 ,like Figure 3 As shown, in this embodiment Figure 2 Based on the embodiment, the specific process in the video transmission method is described in detail, and the method includes:
[0053] S301: Determine a block division method for a video to be transmitted based on a correspondence between a set video resolution and a block division method and a resolution of the video to be transmitted.
[0054] Specifically, for each camera, since its video resolution is fixed, the system automatically selects the most suitable blocking method according to the corresponding relationship between the set video resolution and the blocking method, and fixes the blocking method as the blocking method corresponding to the camera. In this way, the amount of computing power consumed by the processor for judgment and situation identification is reduced, rapid processing of the video to be transmitted is achieved, and the rationality and effectiveness of video blocking can be ensured.
[0055] The specific division principle is usually: each video block can completely contain a target monitoring object. For example, the video block corresponding to the garage camera needs to ensure that each video block can usually contain the complete appearance of a vehicle.
[0056] By reasonably selecting the block division method, the management and processing efficiency of video data is optimized, and unnecessary calculation and resource waste are reduced.
[0057] S302: Based on the block method, the video to be transmitted is processed in blocks.
[0058] Specifically, according to a predetermined fixed block division method, the processor performs block processing on the video to be transmitted, divides each frame of the video data, and obtains a plurality of video blocks corresponding to the video to be transmitted.
[0059] S303: Based on the set sampling condition, sample a video block of a set duration from the video block as the video block to be analyzed.
[0060] Specifically, the processor needs to determine which filtering condition is used to select the target video block for transmission from the video blocks, and therefore, the corresponding filtering condition needs to be determined.
[0061] The screening conditions can be determined by directly selecting a certain length of (video block) portion from the video to be transmitted (sampling the video blocks to be analyzed) and determining the screening conditions by analyzing these video blocks to be analyzed to reduce the amount of calculation.
[0062] In some embodiments, the processor may also transmit the video blocks to be analyzed to the cloud server, which analyzes the video blocks to be analyzed, determines the corresponding screening conditions, and returns the screening conditions to the processor, so that the processor automatically determines the corresponding target video blocks according to the screening conditions. In this way, the amount of calculation of the processor can be further reduced.
[0063] In some embodiments, based on a set time interval or a set environmental trigger condition, a video block of a set length can be sampled from the video block as the video block to be analyzed, and the set environmental trigger condition includes receiving notification information of weather changes and / or notification information of light intensity changes.
[0064] Specifically, when determining the video block to be analyzed, based on the set sampling conditions, a video block of a set duration is sampled from the video block as the video block to be analyzed. The sampling conditions can be time intervals or environmental trigger conditions. Time interval sampling means regular sampling according to the set duration (time interval), and environmental trigger sampling means sampling according to weather or light changes (such as sampling when receiving a meteorological notification message of weather changes). These two methods can also be combined to adapt to different environmental changes and ensure the accuracy of the screening conditions.
[0065] Each sampling is to collect a video block of a set length, such as 30 seconds, as the video block to be analyzed.
[0066] By sampling according to different conditions, the amount of data that needs to be processed is reduced, the system burden is reduced, and at the same time, it is ensured that the monitoring video data at key moments related to the target monitoring object is captured.
[0067] S304: Determine a bit rate range of each video block to be analyzed.
[0068] Specifically, the processor (or cloud server) calculates the bit rate range of each video block to be analyzed to perform screening based on the bit rate range (in another embodiment, if other indicators are used as screening conditions, the value of the corresponding type indicator of each video block to be analyzed will be calculated).
[0069] The specific bit rate can be calculated using a standard algorithm or estimated using a machine learning model, and there is no limitation here.
[0070] S305 : Based on the image detection algorithm, determine the video block to be analyzed that contains the target monitoring object from the video blocks to be analyzed.
[0071] Specifically, each camera usually contains a corresponding target monitoring object, such as pedestrians and vehicles. These target monitoring objects are usually moving objects. Therefore, the image detection algorithm (or target detection algorithm) can be used to identify the video blocks to be analyzed that contain the target monitoring objects (or moving objects) from these video blocks to be analyzed.
[0072] In some embodiments, the video block to be analyzed containing the target monitoring object may be determined in the following manner:
[0073] Step A1: Based on an image detection algorithm, determine the video blocks to be analyzed that contain moving objects.
[0074] Specifically, the processor (or cloud server) may use an image detection algorithm to identify whether a moving object is contained in the video block to be analyzed. The specific image detection algorithm may also be a motion detection-related algorithm (such as a frame difference method, a background subtraction method, an optical flow method, or other algorithms) to compare the changes between consecutive frames, thereby identifying a dynamically changing area and determining whether a moving object is contained.
[0075] Step A2: based on the video blocks to be analyzed that contain moving objects, determine the video blocks to be analyzed that contain the target monitoring object.
[0076] Specifically, after identifying the moving objects, a specific image recognition algorithm (such as a target detection algorithm) is further used to determine whether these moving objects include the target monitoring object (for example, the moving object may also be the leaves fluttering in the camera, so it is necessary to further determine whether it is the target monitoring object).
[0077] This step usually involves feature matching and classification of objects, such as feature matching based on target monitoring objects (such as vehicles), machine learning classification, and other methods.
[0078] By accurately identifying the target monitoring object, it ensures that only video blocks containing important information are processed and transmitted, improving the accuracy and resource utilization efficiency of the system.
[0079] S306: Determine a screening condition for the video block where the target monitoring object is located based on the bit rate range of the to-be-analyzed video block containing the target monitoring object.
[0080] Specifically, after determining the video block to be analyzed that contains the target monitoring object, the corresponding bit rate range can be determined, and the screening condition can be determined according to the bit rate range, and the screening condition can be optimized through historical data and algorithm prediction.
[0081] In some embodiments, to optimize the screening conditions, the specific screening conditions may be determined in the following manner:
[0082] Step B1: Obtain the history records of the predetermined screening conditions.
[0083] Specifically, the processor (or cloud server, usually more often the cloud server to complete the optimization process) extracts historical records related to the filter conditions from the database or storage. These records include the filter conditions corresponding to the past video block bit rates.
[0084] Therefore, by analyzing historical data, it is possible to identify the changing trends of the screening conditions and better optimize the screening conditions.
[0085] Step B2: input the bit rate range of the to-be-analyzed video block containing the target monitoring object and the historical records of the screening conditions into the sliding window algorithm, and output the corresponding predicted bit rate range.
[0086] Specifically, the processor will input the currently calculated bit rate range of the video block to be analyzed containing the target monitoring object and the historical filtering conditions into the sliding window algorithm to smooth the bit rate range calculated in the previous steps so that the filtering conditions are more in line with short-term trend changes.
[0087] The sliding window algorithm is a type of moving average algorithm, which will not be described here.
[0088] Through the sliding window algorithm, the system can dynamically adjust the screening conditions to adapt to changes in video data and improve the accuracy and efficiency of target video block identification.
[0089] Step B3: input the predicted bit rate range into the feature optimization algorithm, and use the output bit rate range as a screening condition.
[0090] Specifically, the processor inputs the predicted bit rate range obtained from the sliding window algorithm into the feature optimization algorithm to determine the optimal feature ratio threshold range. The feature optimization algorithm outputs an optimized bit rate range by analyzing and adjusting the input parameters, which will be used as the final screening condition to identify the target video block.
[0091] The feature optimization algorithm can choose to simply optimize based on statistical features (such as confidence), or it can be a linear regression, nonlinear optimization algorithm (such as genetic algorithm, particle swarm optimization), machine learning model and other algorithms to adjust the bit rate range so that it can effectively distinguish between video blocks containing the target monitoring object and video blocks that do not contain the target monitoring object in the video to be transmitted.
[0092] Through the feature optimization algorithm, the system can more accurately determine the screening conditions suitable for the current video data. This optimization not only improves the recognition accuracy of the target video block, but also reduces the misjudgment rate, ensuring that system resources are used effectively. In addition, by regularly sampling and determining the screening conditions, it can adapt to changes in different environments and scenarios, improving the flexibility and adaptability of the system.
[0093] S307: Determine the video blocks that meet the screening condition as target video blocks, and discard other non-target video blocks.
[0094] Specifically, if the filtering condition is completed by the cloud server, the cloud server will also return the filtering condition to the processor, so that the processor can select the target video block from each video block of the video to be transmitted according to the filtering condition.
[0095] At this time, the processor can use frames or seconds as time units, screen the video blocks of each time unit, find out the target video blocks corresponding to each time unit, and discard other non-target video blocks.
[0096] This can effectively reduce the amount of data, ensure that only important video blocks are transmitted, and optimize bandwidth usage.
[0097] S308: Encode the target video block and upload the target video block.
[0098] Specifically, after determining the target video block of each time unit, the processor may encode the target video block and upload it to a data center or other storage device.
[0099] The video transmission method provided in the embodiment of the present application effectively reduces the amount of data that needs to be processed, reduces bandwidth and storage pressure, and then uses image detection algorithms and feature matching technology to accurately identify video blocks containing target monitoring objects, thereby ensuring the transmission of key data. Through the calculation of the bit rate range and historical data analysis, the screening conditions are dynamically adjusted to adapt to changes in different scenes, thereby improving the accuracy of target video block identification. The screening conditions are further optimized by combining feature optimization algorithms to reduce the misjudgment rate and ensure efficient use of resources. Finally, through efficient encoding and priority transmission, the solution reduces bandwidth consumption and data calculation complexity while ensuring video quality, optimizes the video data processing process, and improves the real-time performance, flexibility, and resource utilization efficiency of the system.
[0100] Figure 4 The schematic diagram of the structure of the video transmission device provided in this application is as follows: Figure 4 As shown, the video transmission device 400 provided in this embodiment includes:
[0101] A pre-processing module 410 is used to perform block processing on the video to be transmitted to obtain video blocks corresponding to the video to be transmitted;
[0102] An analysis module 420 is used to determine, based on the video block, a screening condition of the video block where the target monitoring object is located, wherein the screening condition includes a bit rate value;
[0103] The processing module 430 is used to determine a target video block for uploading from the video blocks based on the screening condition, and encode and transmit the target video block.
[0104] In a possible implementation, the preprocessing module 410 is specifically used to determine the block division method of the video to be transmitted based on the corresponding relationship between the set video resolution and the block division method and the resolution of the video to be transmitted; and perform block processing on the video to be transmitted based on the block division method.
[0105] In a possible implementation, the analysis module 420 is specifically used to, based on set sampling conditions, sample video blocks of a set length from the video blocks as video blocks to be analyzed; determine a bit rate range of each video block to be analyzed; based on an image detection algorithm, determine the video blocks to be analyzed that contain the target monitoring object from the video blocks to be analyzed; and determine the screening conditions for the video blocks where the target monitoring object is located based on the bit rate range of the video blocks to be analyzed that contain the target monitoring object.
[0106] In one possible implementation, the analysis module 420 is specifically used to sample video blocks of a set length from video blocks based on a set time interval or a set environmental trigger condition, as the video blocks to be analyzed, and the set environmental trigger condition includes receiving notification information of weather changes and / or notification information of light intensity changes.
[0107] In a possible implementation, the analysis module 420 is specifically configured to determine, based on an image detection algorithm, video blocks to be analyzed that contain moving objects; and determine video blocks to be analyzed that contain target monitoring objects based on video blocks to be analyzed that contain moving objects.
[0108] In one possible implementation, the analysis module 420 is specifically used to obtain historical records of predetermined filtering conditions; input the bit rate range of the video block to be analyzed containing the target monitoring object and the historical records of the filtering conditions into the sliding window algorithm, and output the corresponding predicted bit rate range; input the predicted bit rate range into the feature optimization algorithm, and use the output bit rate range as the filtering condition.
[0109] In a possible implementation, the processing module 430 is specifically configured to determine a video block that meets the screening condition as a target video block and discard other non-target video blocks; perform encoding processing on the target video block, and upload the target video block.
[0110] The video transmission device provided in this embodiment can execute the method provided in the above method embodiment. Its implementation principle and technical effect are similar, and this embodiment will not be described in detail here.
[0111] Figure 5 This is a schematic diagram of the structure of the control device provided in this application. Figure 5 As shown, the electronic device 50 provided in this embodiment includes: at least one processor 501 and a memory 502. Optionally, the device 50 also includes a communication component 503. The processor 501, the memory 502 and the communication component 503 are connected via a bus 504.
[0112] In a specific implementation process, at least one processor 501 executes the computer-executable instructions stored in the memory 502, so that at least one processor 501 executes the above method.
[0113] The specific implementation process of the processor 501 can be found in the above method embodiment, and its implementation principle and technical effect are similar, so this embodiment will not be repeated here.
[0114] In the above embodiments, it should be understood that the processor may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), etc. A general-purpose processor may be a microprocessor or any conventional processor. The steps of the method disclosed in the invention may be directly implemented as being executed by a hardware processor, or may be executed by a combination of hardware and software modules in the processor.
[0115] The memory may include a high-speed memory (Random Access Memory, RAM), and may also include a non-volatile memory (Non-volatile Memory, NVM), such as at least one disk memory.
[0116] The bus may be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus, etc. The bus may be divided into an address bus, a data bus, a control bus, etc. For ease of representation, the bus in the drawings of the present application is not limited to only one bus or one type of bus.
[0117] The present application also provides a computer program product, including a computer program, which implements the method in any of the above embodiments when executed by a processor.
[0118] The present application also provides a computer-readable storage medium, in which computer-executable instructions are stored. When a processor executes the computer-executable instructions, the method in any of the above embodiments is implemented.
[0119] The above-mentioned readable storage medium can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic disk or optical disk. The readable storage medium can be any available medium that can be accessed by a general or special-purpose computer.
[0120] An exemplary readable storage medium is coupled to a processor so that the processor can read information from the readable storage medium and write information to the readable storage medium. Of course, the readable storage medium can also be a component of the processor. The processor and the readable storage medium can be located in an application specific integrated circuit (Application Specific Integrated Circuits, referred to as: ASIC). Of course, the processor and the readable storage medium can also exist in the device as discrete components.
[0121] The division of units is only a logical function division, and there may be other divisions in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interface, device or unit, which can be electrical, mechanical or other forms.
[0122] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0123] In addition, each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
[0124] If the function is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, or the part that contributes to the prior art, or the part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium, including several instructions for a computer device (which can be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods of each embodiment of the present invention. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), disk or optical disk, etc. Various media that can store program codes.
[0125] Those skilled in the art can understand that all or part of the steps of implementing the above-mentioned method embodiments can be completed by hardware related to program instructions. The aforementioned program can be stored in a computer-readable storage medium. When the program is executed, the steps of the above-mentioned method embodiments are executed; and the aforementioned storage medium includes: ROM, RAM, disk or optical disk and other media that can store program codes.
[0126] Finally, it should be noted that those skilled in the art will readily conceive of other embodiments of the present invention after considering the specification and practicing the invention disclosed herein. The present invention is intended to cover any variations, uses or adaptations of the present invention, which follow the general principles of the present invention and include common knowledge or customary technical means in the art not disclosed by the present invention, are not limited to the precise structure described above and shown in the drawings, and may be modified and changed in various ways without departing from the scope thereof. The scope of the present invention is limited only by the appended claims.
Claims
1. A video transmission method, characterized in that: The video transmission method comprises: Perform block processing on the video to be transmitted to obtain video blocks corresponding to the video to be transmitted; Based on the video block, determining a screening condition of the video block where the target monitoring object is located, the screening condition including a bit rate value; Based on the screening condition, a target video block for uploading is determined from the video blocks, and the target video block is encoded and transmitted.
2. The method according to claim 1, characterized in that The step of performing block processing on the video to be transmitted to obtain a video block corresponding to the video to be transmitted includes: Determining the block mode of the video to be transmitted based on the corresponding relationship between the set video resolution and the block mode and the resolution of the video to be transmitted; Based on the block mode, the video to be transmitted is processed in blocks.
3. The method according to claim 1, characterized in that: The step of determining, based on the video block, a screening condition for the video block where the target monitoring object is located includes: Based on the set sampling condition, sampling a video block of a set duration from the video block as the video block to be analyzed; Determining a bit rate range for each video block to be analyzed; Based on an image detection algorithm, determining a video block to be analyzed that contains a target monitoring object from the video blocks to be analyzed; Based on the bit rate range of the to-be-analyzed video block containing the target monitoring object, a screening condition for the video block where the target monitoring object is located is determined.
4. The method according to claim 3, characterized in that The step of sampling the video blocks to obtain the video blocks of the set duration based on the set sampling condition includes: Based on a set time interval or a set environmental trigger condition, a video block of a set duration is sampled from the video block as the video block to be analyzed, and the set environmental trigger condition includes receiving notification information of weather changes and / or notification information of light intensity changes.
5. The method according to claim 3, characterized in that: The step of determining the video block to be analyzed that contains the target monitoring object from the video blocks to be analyzed based on the image detection algorithm includes: Based on an image detection algorithm, determining a video block to be analyzed that contains a moving object in the video block to be analyzed; Based on the to-be-analyzed video blocks containing the moving object, a to-be-analyzed video block containing the target monitoring object is determined.
6. The method according to claim 3, characterized in that The step of determining the screening condition of the video block where the target monitoring object is located based on the bit rate range of the to-be-analyzed video block containing the target monitoring object includes: Get the history of pre-determined filter criteria; Inputting the bit rate range of the video block to be analyzed containing the target monitoring object and the historical record of the screening condition into the sliding window algorithm, and outputting the corresponding predicted bit rate range; The predicted bit rate range is input into a feature optimization algorithm, and the output bit rate range is used as the screening condition.
7. The method according to any one of claims 1 to 6, characterized in that The step of determining a target video block for uploading from the video blocks based on the screening condition, and encoding and transmitting the target video block comprises: Determine the video blocks that meet the screening condition as target video blocks, and discard other non-target video blocks; The target video block is encoded and uploaded.
8. A video transmission device, characterized in that: include: A preprocessing module, used for performing block processing on the video to be transmitted to obtain video blocks corresponding to the video to be transmitted; An analysis module, configured to determine, based on the video block, a screening condition for the video block where the target monitoring object is located, wherein the screening condition includes a bit rate value; The processing module is used to determine a target video block for uploading from the video blocks based on the screening condition, and encode and transmit the target video block.
9. A control device, characterized in that: include: Memory, processor; The memory stores computer-executable instructions; The processor executes the computer-executable instructions stored in the memory, so that the processor performs the method according to any one of claims 1 to 7.
10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer-executable instructions, which are used to implement the method according to any one of claims 1 to 7 when executed by a processor.