WO2024109317A1 - Method and device for transmitting video frames and camera parameter information - Google Patents
Method and device for transmitting video frames and camera parameter information Download PDFInfo
- Publication number
- WO2024109317A1 WO2024109317A1 PCT/CN2023/121056 CN2023121056W WO2024109317A1 WO 2024109317 A1 WO2024109317 A1 WO 2024109317A1 CN 2023121056 W CN2023121056 W CN 2023121056W WO 2024109317 A1 WO2024109317 A1 WO 2024109317A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- camera parameter
- parameter information
- information
- byte
- video frames
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/172—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/186—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
Definitions
- the present application relates to the field of communications, and in particular to a technology for transmitting video frames and camera parameter information.
- the coding sequence includes multiple video frame coding units and at least one camera parameter coding unit, and each camera parameter coding unit includes supplementary enhancement information for indicating corresponding camera parameter information;
- the computer device receives the coding sequence of multiple video frames shot by the camera device and sent by the transmission device, decodes the coding sequence, obtains and presents the corresponding multiple video frames through the corresponding display device.
- a device for transmitting video frames and camera parameter information is provided, wherein the device is connected to a camera device, wherein the device comprises:
- a computer device for transmitting video frames and camera parameter information includes a display device, wherein the computer device includes:
- a module 21 is used to receive a coding sequence of multiple video frames shot by a camera device and sent by a corresponding transmission device, wherein the coding sequence includes multiple video frame coding units and at least one camera parameter coding unit, and each camera parameter coding unit contains supplementary enhancement information for indicating corresponding camera parameter information;
- Module 22 is used to decode the coding sequence, obtain and present the corresponding multiple video frames through the display device.
- a computer device wherein the device includes:
- a memory arranged to store computer executable instructions, which when executed cause the processor to perform the steps of any of the methods described above.
- a computer-readable storage medium on which a computer program/instruction is stored, characterized in that when the computer program/instruction is executed, the system performs the steps of any of the methods described above.
- a computer program product including a computer program/instruction, characterized in that the computer program/instruction implements the steps of any of the above methods when executed by a processor.
- the present application writes the camera parameter information into the corresponding supplementary enhancement information while transmitting the video frame, and transmits it to the computer device together with the video frame, so as to display the video frame and perform real-time rendering of the video frame.
- the present application can synchronize the camera parameter information of the camera device with the collected video frame at the image sequence frame level, and can realize the hyper-realistic AR rendering label in the mobile video scene, so as to achieve real-time synchronization between the push stream end and the pull stream end, which is beneficial to the real-time action command in the application scene. Since SEI is not a necessary option in the decoding process, in other words, SEI has no direct impact on the decoding process.
- this solution can ignore network jitter. No matter how jittery the network is, this solution can ensure that the image data and the camera parameter information are synchronized at the image sequence frame level.
- FIG1 shows a flow chart of a method for transmitting video frames and camera parameter information according to an embodiment of the present application
- FIG2 shows a flow chart of a method for transmitting video frames and camera parameter information according to another embodiment of the present application
- FIG3 shows a device structure diagram of a transmission device according to an embodiment of the present application
- FIG4 shows a device structure diagram of a computer device according to an embodiment of the present application.
- FIG. 5 illustrates an exemplary system that may be used to implement various embodiments described herein.
- the terminal, the device of the service network and the trusted party all include one or more processors (e.g., a central processing unit (CPU)), an input/output interface, a network interface and a memory.
- processors e.g., a central processing unit (CPU)
- Memory may include non-permanent storage in a computer-readable medium, in the form of random access memory (RAM) and/or non-volatile memory, such as read-only memory (ROM) or flash memory.
- RAM random access memory
- ROM read-only memory
- Memory is an example of a computer-readable medium.
- Computer-readable media include permanent and non-permanent, removable and non-removable media that can store information by any method or technology.
- the information can be computer-readable instructions, data structures, program modules or other data.
- Examples of computer storage media include, but are not limited to, Phase-Change Memory (PCM), Programmable Random Access Memory (PRAM), Static Random-Access Memory (SRAM), Dynamic Random Access Memory (DRAM), other types of Random Access Memory (RAM), Read-Only Memory (ROM), Electrically-Erasable Programmable Read-Only Memory (EEPROM), flash memory or other memory technology, Compact Disc Read-Only Memory (CD-ROM), Digital Versatile Disc (DVD) or other optical storage, magnetic cassettes, magnetic disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information that can be accessed by a computing device.
- PCM Phase-Change Memory
- PROM Programmable Random Access Memory
- SRAM Static Random-Access Memory
- DRAM Dynamic Random Access Memory
- RAM Random Access
- the devices referred to in this application include but are not limited to user devices, network devices, or devices formed by integrating user devices and network devices through a network.
- the user devices include but are not limited to any mobile electronic products that can interact with users (for example, interact with users through a touchpad), such as smart phones, tablet computers, etc.
- the mobile electronic products can use any operating system, such as Android operating system, iOS operating system, etc.
- the network device includes an electronic device that can automatically perform numerical calculations and information processing according to pre-set or stored instructions, and its hardware includes but is not limited to microprocessors, application specific integrated circuits (Application Specific Integrated Circuit, ASIC), programmable logic devices (Programmable Logic Device, PLD), field programmable gate arrays (Field Programmable Gate Array, FPGA), digital signal processors (Digital Signal Processor, DSP), embedded devices, etc.
- the network devices include but are not limited to computers, network hosts, single network servers, multiple network server sets or multiple servers.
- the cloud is composed of a large number of computers or network servers based on cloud computing (Cloud Computing), wherein cloud computing is a type of distributed computing, a virtual supercomputer composed of a group of loosely coupled computer sets.
- the network includes but is not limited to the Internet, wide area networks, metropolitan area networks, local area networks, VPNs, etc. Network, wireless self-organizing network (Ad Hoc network), etc.
- the device may also be a program running on the user device, network device, or a device formed by integrating the user device and network device, network device, touch terminal, or network device and touch terminal through a network.
- the algorithm data set video frames and camera parameter information are stored separately. Since the video frame is the original image data that has not been compressed by video encoding, it occupies a large storage space. At the same time, it is necessary to synchronize the timestamps of the video frame and the camera parameter information. The process is relatively complicated and the transmission efficiency is low.
- the traditional method also includes using additional signaling channels (such as websocket, message queue telemetry transport (Message Queuing Telemetry Transport, MQTT), etc.), which cannot guarantee the synchronization of the image sequence frame level. Since video encoding and decoding takes time, network transmission also consumes time.
- the additional signaling channel can always reach the receiving end before the video frame, and due to network fluctuations and unstable video encoding and decoding time, the signaling data delay fluctuation is also uncontrollable and unstable.
- the traditional method also includes defining a new protocol based on H264/H.265 additional packaging data packets (Packet), but for scenes that do not require camera parameter information, the players on the market cannot normally pull the stream to play the video, and the compatibility of this method is zero.
- Packet additional packaging data packets
- the present application provides a system method for transmitting video frames and camera parameter information, which is applied to a system consisting of a transmission device and a computer device, and the method includes:
- the transmission device obtains a plurality of video frames shot by the corresponding camera device and at least one camera parameter information when the plurality of video frames are shot; generates a coding sequence according to the plurality of video frames and the at least one camera parameter information, wherein the coding sequence includes a plurality of video frame coding units and at least one camera parameter coding unit, each camera parameter coding unit includes supplementary enhancement information for indicating the corresponding camera parameter information; and transmits the coding sequence to the computer device;
- the computer device receives the coding sequence of multiple video frames shot by the camera device and sent by the transmission device, decodes the coding sequence, obtains and presents the corresponding multiple video frames through the corresponding display device.
- the transmission device includes but is not limited to a streaming device that encodes and transmits video frames and camera parameter information.
- the transmission device may be provided with an internal camera device or connected to an external camera device, and may obtain multiple video frames shot by the camera device.
- Specific transmission devices include drone ground control equipment, augmented reality glasses, or other data processing equipment.
- the corresponding computer device includes but is not limited to a streaming device for decoding and presenting video frames. In some cases, the computer device may also superimpose virtual information in the video frame based on the camera parameter information, such as a mobile phone, a computer, a tablet computer, or other augmented reality glasses.
- the corresponding multiple video frames and at least one camera parameter information are encoded into a coding sequence at the transmission device end, and transmitted to the computer device through a communication line. After the computer device obtains the coding sequence, it decodes, obtains, and presents the corresponding video frame. Furthermore, the computer device may also decode, obtain the camera parameter information, and superimpose virtual information in the video frame based on the camera
- a method for transmitting video frames and camera parameter information is shown, which is applied to a transmission device, wherein the transmission device is connected to a camera device, wherein the method comprises steps S101, S102 and S103.
- step S101 a plurality of video frames captured by the camera device and the plurality of video frames are obtained. At least one camera parameter information when the frame is shot; in step S102, a coding sequence is generated according to the multiple video frames and the at least one camera parameter information, wherein the coding sequence includes multiple video frame coding units and at least one camera parameter coding unit, and each camera parameter coding unit contains supplementary enhancement information for indicating corresponding camera parameter information; in step S103, the coding sequence is transmitted to a computer device.
- step S101 multiple video frames captured by the camera device and at least one camera parameter information when the multiple video frames are captured are obtained.
- the camera device may be a built-in camera device of the transmission device, and the transmission device may issue a corresponding image acquisition instruction to the camera device to start the camera device to capture the corresponding multiple video frames.
- the corresponding camera device captures multiple video frames of the current field of view in real time based on the corresponding acquisition instruction.
- the transmission device may also obtain the camera parameter information when the camera device captures images, such as obtaining the internal and external parameters of the camera device, wherein the external parameters include the position and angle of the camera device.
- the camera device may also be an external camera device of the transmission device, such as an external camera or a camera device of other devices.
- the corresponding external camera device is used to capture images according to user instructions, and capture multiple video frames of the current field of view through the camera.
- the corresponding camera device also obtains the camera parameter information when the image is captured, such as reading the internal and external parameters of the camera device.
- the camera device sends the multiple video frames and the corresponding camera parameter information to the transmission device through a communication connection with the transmission device.
- the multiple video frames include multiple video frames to be transmitted in the video stream captured by the camera device, which may be all the captured video frames or video frames filtered according to preset rules, wherein the preset rules include but are not limited to preset network quality, preset time interval, preset number of frames, and the change of the picture from the previous video frame exceeds a threshold, etc., which are not limited here.
- the camera parameter information includes indication information about the internal parameters and external parameters of the corresponding video frames (for example, one or more video frames, etc.) in the multiple video frames captured by the camera device.
- the camera parameter information includes the internal parameter information and camera posture information of the camera device.
- the transmission device does not directly transmit the coordinate transformation matrix corresponding to the video frame shot by the camera device, but transmits the internal parameters and camera posture information used to calculate the coordinate transformation matrix.
- the internal parameters include but are not limited to the long focal length, short focal length, long axis optical center offset, short axis optical center offset, relative zoom size of the camera device, video image sequence width, height, etc. when the camera device is not zoomed.
- the camera posture information includes the camera position information and camera angle information of the camera device, and the camera position information is usually expressed by geographic location information, such as represented by geographic coordinates (B, L, H), where L represents longitude information, B represents latitude information, and H represents height (such as altitude, etc.).
- geographic coordinates (B, L, H) such as represented by geographic coordinates (B, L, H)
- L represents longitude information
- B represents latitude information
- H represents height (such as altitude, etc.).
- the longitude and latitude information can be obtained through sensors such as GPS, and the corresponding altitude information can be obtained through a digital elevation model (DEM) or other methods.
- DEM digital elevation model
- the method of obtaining geographic coordinates (B, L, H) is only an example and is not limited here.
- the camera angle information includes yaw/pitch/roll three-axis angle information, yaw is the yaw angle, pitch is the pitch angle, roll is the roll angle, etc., which is obtained by the corresponding gimbal or attitude sensor (such as a three-axis gyroscope, etc.).
- the number of the at least one camera parameter information may be one or more. Accordingly, when the number of the camera parameter information is one, the camera parameter information when the multiple video frames are shot is the same, or the camera parameter information is the camera parameter selected from the multiple candidate camera parameter information obtained when the multiple video frames are shot, etc.
- the multiple camera parameter information may correspond one-to-one to each of the multiple video frames, for example, the camera parameter information of the camera device is recorded once when each video frame is captured, etc.; in some cases, the multiple camera parameter information may also be some representative camera parameters of the multiple video frames, etc., and does not correspond one-to-one to the multiple video frames.
- the plurality of camera parameter information may be selected from a plurality of candidate camera parameter information according to a preset condition, and the number of the plurality of candidate camera parameter information is not limited, and may be greater than or equal to the number of frames of the plurality of video frames, etc.
- step S101 a plurality of video frames shot by the camera device are obtained; a plurality of candidate camera parameter information when the plurality of video frames are shot is obtained, and at least one camera parameter information satisfying the preset condition is determined from the plurality of candidate camera parameter information.
- the transmission device obtains a plurality of video frames shot by the camera device, and obtains a plurality of candidate camera parameter information when the plurality of video frames are shot, and the plurality of candidate camera parameter information may correspond to the plurality of video frames one by one, such as recording the candidate camera parameter information of the corresponding camera device once when each video frame is captured, or the plurality of candidate camera parameter information is a plurality of candidate camera parameter information collected based on a preset time interval, and the corresponding preset time interval may be greater than or equal to the acquisition interval of the video frame, or may be less than the acquisition interval of the video frame, etc.
- the transmission device selects at least one camera parameter information based on preset conditions.
- the preset conditions include but are not limited to: if the acquisition time of a certain candidate camera parameter information is the same as the shooting time of one of the video frames, then the certain candidate camera parameter information is determined as the camera parameter information; sampling is performed from the multiple candidate camera parameter information at a preset interval to determine the corresponding camera parameter information; if a certain candidate camera parameter information is different from the preceding candidate camera parameter information of the certain candidate camera parameter information, then the certain candidate camera parameter information is determined as the camera parameter information.
- the candidate camera parameter information whose acquisition time of a certain candidate camera parameter among the multiple candidate camera parameter information is the same as the shooting time of one of the multiple video frames, and determine it as the camera parameter information of the corresponding video frame.
- the number of candidate camera parameter information is not limited, in order to save transmission resources and improve transmission efficiency, it can be determined that the change in camera parameter information of video frames between multiple consecutive frames is small, and only intermittent camera parameter information is needed to describe the change trend of camera parameter information in the real-time video stream, etc.
- the transmission device determines the camera parameter information that meets the conditions from multiple candidate camera parameter information according to a preset interval (for example, a preset time interval, a preset number interval, or a preset number of video frames, etc.), such as taking the 1st, 6th, 11th... candidate camera parameter information as the corresponding camera parameter information, etc.
- a preset interval for example, a preset time interval, a preset number interval, or a preset number of video frames, etc.
- the transmission of the same candidate camera parameter information can be ignored.
- the transmission device can determine one (such as the first, etc.) of the candidate camera parameter information corresponding to the multiple consecutive time points or multiple consecutive video frames as the camera parameter information, so that when a certain candidate camera parameter information is different from the previous candidate camera parameter information of the certain candidate camera parameter information, the certain candidate camera parameter information is determined as the camera parameter information.
- the same candidate camera parameter information means that the parameter difference between the corresponding candidate camera parameter information and the previous candidate camera parameter information of the candidate camera parameter information (for example, the candidate camera parameter information corresponding to the first N or the first N video frames, etc.) satisfies the following conditions: the corresponding internal parameter change is less than or equal to the preset change threshold, the position difference of the corresponding camera position information is less than or equal to the position difference threshold, and the angle difference of the camera angle information is less than or equal to the angle difference threshold, etc.
- a coding sequence is generated according to the multiple video frames and the at least one camera parameter information, wherein the coding sequence includes multiple video frame coding units and at least one camera parameter coding unit, and each camera parameter coding unit includes supplementary enhancement information for indicating corresponding camera parameter information.
- the transmission device obtains multiple video frames and at least one camera parameter information, it generates corresponding multiple video frame coding units and at least one camera parameter coding unit, and the corresponding video frame coding units and camera parameter coding units are NAL coding unit (such as NAL Unit, etc.) is composed of a corresponding unit header (such as NAL Header, etc.) and a unit body (such as NALU payload, etc.).
- the corresponding unit header is used to indicate the content type of the unit body of the NAL coding unit.
- the unit header of the coding unit includes: forbidden_zero_bit (1 bit) + nal_ref_idc (2 bits) + nal_unit_type (5 bits), wherein forbidden_zero_bit is a forbidden bit, which is initially 0.
- forbidden_zero_bit is a forbidden bit, which is initially 0.
- the bit can be set to 1 so that the receiver can correct the error or discard the unit; wherein nal_ref_idc is the nal importance indication, which marks the importance of the NAL coding unit. The larger the value, the more important it is.
- nal_unit_type is used to indicate the content type of the unit body of the NAL coding unit.
- the corresponding unit body is Supplemental Enhancement Information (Supplemental Enhancement Information). Information, SEI), when the type value is 5, the corresponding unit body is a slice of an IDR image, when the type value is other values, the corresponding unit body is the type corresponding to the nal_unit_type value, etc.
- SEI Supplemental Enhancement Information
- the corresponding video frame coding unit is determined by one or more video frame codes in the corresponding multiple video frames
- the corresponding camera parameter coding unit is determined by one camera parameter information code in at least one camera parameter information.
- the transmission device After the transmission device determines multiple video frame coding units and at least one camera parameter coding unit, it generates a corresponding coding sequence according to the multiple video frame coding units and at least one camera parameter coding unit.
- the coding sequence may also include other NAL coding units, wherein the content type of the unit body in the other NAL coding units is different from the content type of the unit body in the video frame coding unit and the camera parameter coding unit.
- a corresponding plurality of video frame encoding units and at least one camera parameter encoding unit are generated according to the plurality of video frames and the at least one camera parameter information by using video encoding technology; a corresponding encoding sequence is generated according to the plurality of video frame encoding units and the at least one camera parameter encoding unit.
- the video encoding technology includes but is not limited to video encoding technology corresponding to standards such as H.264 and H.265.
- the corresponding camera parameter encoding unit and the video frame encoding unit are data packets of the same level and both belong to the code stream category.
- the value of nal_unit_type in its unit header is 6, and the content type of the unit body corresponding to the camera parameter encoding unit is SEI.
- the transmission device encapsulates the corresponding camera parameter information and fills it into SEI.
- the camera parameter is stored in the supplementary enhancement information in any serialization or deserialization manner, wherein the serialization manner includes a JSON string manner, etc.
- the camera parameter information is stored in the supplementary enhancement information in the form of a JSON string.
- the JSON data structure includes a collection of "key/value" pairs. In different languages, it is understood as an object, record, structure, dictionary, hash table, keyed list, or associative array. JSON data structure also includes an ordered list of values, which is understood as an array in most languages. The specific form is to enclose the string in double quotes, and arrays and objects can be nested in arrays, for example,
- generating a corresponding coding sequence according to the multiple video frame coding units and the at least one camera parameter coding unit includes: arranging the multiple video frame coding units and the at least one camera parameter coding unit into a coding sequence according to the acquisition order of the multiple video frames.
- the transmission device After the transmission device obtains the corresponding multiple video coding units and the at least one camera parameter coding unit, it transmits them according to the corresponding video frame acquisition order, thereby generating a corresponding coding sequence, wherein the arrangement order of each camera parameter coding unit is adjacent to the transmission position of the video frame coding unit corresponding to the camera parameter coding unit (for example, adjacent, etc.), and each coding unit is separated by a corresponding delimiter, such as Start code: 00 00 00 01/00 00 01, etc.
- the coding sequence is transmitted to the computer device.
- the transmission device obtains the corresponding coding sequence
- it transmits the coding sequence to the computer device based on the communication connection with the computer device, so that the computer device can present the video frame in real time.
- the computer device can also decode the coding sequence to obtain the corresponding camera parameter information, and superimpose virtual information in the video frame in real time, such as highlighting or superimposing other information (for example, text, image or video about a target in an image).
- the supplementary enhancement information includes corresponding byte length information and byte parameter information, wherein the byte parameter information is used to fill in the corresponding camera parameter information, and the byte length information is used to indicate the byte length of the byte parameter information.
- the corresponding camera parameter encoding unit includes a corresponding unit header and a unit body, and the unit header includes nal_unit_type, which is used to indicate the content type of the unit body in the NAL encoding unit. For example, when the type value is 6, the corresponding unit body is the supplementary enhancement information.
- the corresponding unit body of the supplementary enhancement information includes corresponding byte length information and byte parameter information, and the corresponding byte length information is used to indicate the byte length of the byte parameter information, such as SEI payload size, etc., and the corresponding byte parameter information is used to indicate the camera parameter information, such as SEI payload content, etc.
- the byte length information is used to count the byte length from the first byte to the end byte of the byte parameter information (wherein the end byte may or may not include the end mark), such as the byte length from the first byte to the end byte is the aforementioned byte length information, or the byte length information is used to count the byte length from the first byte to the end byte of the byte parameter information after anti-competition processing; in some cases, if the byte length information exceeds 255, a byte is added to represent the byte length information, and so on.
- the main body of the supplementary enhancement information corresponding unit also includes the main body encoding specification type, such as SEI payload type, etc., byte identification information, such as SEI payload uuid, etc., and RBSP tail padding bytes, such as rbsp trailing bits with a value of 80, etc.
- the supplementary enhancement information also includes corresponding byte identification information, and the byte length information is used to indicate the byte length of the byte identification information and the byte parameter information.
- the main body coding specification type of the main body of the supplementary enhancement information corresponding unit can also be indicated by 05.
- the main body of the supplementary enhancement information corresponding unit also includes corresponding byte identification information, such as SEI payload uuid, etc.
- the corresponding byte length information is the total byte length corresponding to the first byte of the byte identification information to the end byte of the byte parameter information, etc., or the byte length information is used to count the total byte length corresponding to the first byte to the end byte of the byte identification information and the byte parameter information after anti-competition processing.
- NALU payload SEI payload type + SEI payload size + SEI payload uuid + SEI payload content + rbsp trailing bits.
- the byte length of the byte identification information before the anti-competition operation is a fixed value, usually 16 bytes, and its content is randomly generated.
- the method further comprises step S104 (not shown), in which: The byte identification information and the byte parameter information are processed for anti-competition, and preset characters are inserted into each byte of the byte identification information and the byte parameter information to obtain the byte identification information and the byte parameter information after the anti-competition processing; the corresponding byte length information is determined by counting the byte identification information and the byte parameter information after the anti-competition processing. For example, the corresponding coding unit is divided by the separator 0x000001 or 0x000000. If the corresponding sequence appears inside a coding unit, the coding unit will also be divided, which will cause the content of the corresponding coding unit to be incomplete.
- the preset character (such as the system default preset character or the preset character input by the user, such as 03, etc.), the preset character is inserted in the middle of each byte of the byte identification information and the byte parameter information.
- the preset character such as the system default preset character or the preset character input by the user, such as 03, etc.
- the specific examples are as follows: 0x000000---------->0x00000300 0x000001-------------->0x00000301 0x000002----------->0x00000302 0x000003-------------->0x00000303
- the above-mentioned anti-competition processing is to add 03 after 0000 in each byte.
- the transmission device determines the byte identification information and byte parameter information after the anti-competition processing, it counts the total byte length corresponding to the first byte to the end byte of the byte identification information and byte parameter information after the anti-competition processing to determine the corresponding byte length information.
- the method further includes step S105 (not shown), in which the color space conversion is performed on the multiple video frames to determine multiple converted video frames that conform to the preset color space; wherein, in step S102, a coding sequence is generated according to the multiple converted video frames and the at least one camera parameter information, wherein the coding sequence includes multiple video frame coding units and at least one camera parameter coding unit, and each camera parameter coding unit contains supplementary enhancement information for indicating the corresponding camera parameter information.
- the color space of the multiple video frames acquired by the camera device is usually the RGB color space.
- Fig. 2 shows a method for transmitting video frames and camera parameter information according to another aspect of the present application, which is applied to a computer device, wherein the computer device includes a display device, wherein the method includes steps S201 and S202.
- step S201 a coding sequence of multiple video frames shot by a camera device and sent by a corresponding transmission device is received, wherein the coding sequence includes multiple video frame coding units and at least one camera parameter coding unit, and each camera parameter coding unit contains supplementary enhancement information for indicating corresponding camera parameter information;
- the coding sequence is decoded to obtain and present the corresponding multiple video frames through the display device.
- a coding sequence of multiple video frames shot by a camera device and sent by a corresponding transmission device is received, wherein the coding sequence includes multiple video frame coding units and at least one camera parameter.
- a computer device receives an encoding sequence determined by a transmission device based on multiple video frames shot by an imaging device and at least one imaging parameter information, wherein the generation process of the encoding sequence is as described above and will not be repeated here.
- step S202 the coding sequence is decoded, and the corresponding multiple video frames are obtained and presented through the display device.
- the computer device includes a corresponding display device for displaying the encoded multiple video frames, such as a display screen or a projector, and the display device can be a display device built into the computer device, or a display device external to the computer device.
- the computer device After the computer device obtains the coding sequence, it decodes the coding sequence based on the corresponding decoding technology, decodes the corresponding multiple video frame encoding units to obtain the corresponding multiple video frames, and the corresponding at least one camera parameter encoding unit determines whether decoding is required according to demand.
- step S202 based on the pre-setting, the at least one camera parameter encoding unit is ignored, and only the multiple video frame encoding units are decoded to obtain and present the corresponding multiple video frames through the display device.
- this solution can realize the real-time synchronous transmission of video frames and camera parameter information, and since SEI is a non-essential option in the decoding stage, we can determine whether to decode the current camera parameter coding unit according to the current video presentation requirements.
- the default setting of the corresponding application is to present only the video, for example, there is no need to superimpose virtual information on the video, or the function of the corresponding application includes a selection function for decoding the camera parameter information, then based on the user operation, the camera parameter information can be not selected to be decoded in the application, and only the video frame coding unit is decoded and multiple video frames are presented, which saves computing resources and improves the efficiency of video frame decoding.
- the computer device can directly skip the coding unit whose content type of the unit body in the NAL coding unit is SEI based on the pre-settings (for example, the default setting of the application or the user's selection setting of the camera parameter information, etc.), ignore its decoding process, decode other coding units and obtain the frame data corresponding to multiple video frames, and present them through the display device.
- the pre-settings for example, the default setting of the application or the user's selection setting of the camera parameter information, etc.
- step S202 the at least one camera parameter encoding unit is decoded to obtain corresponding camera parameter information; the multiple video frame encoding units are decoded to obtain and present corresponding multiple video frames through the display device; wherein the method further includes step S203 (not shown), in which coordinate transformation information from the corresponding world coordinate system to the pixel coordinate system of the camera device is determined according to the camera parameter information; and virtual information is superimposed and presented in the multiple video frames according to the coordinate transformation information.
- the transmission device encapsulates the camera parameter information into a coding unit with a unit body content type of SEI and a video frame into a coding sequence corresponding to the video stream and transmits it to the computer device through a communication connection.
- the computer device After the computer device receives the video stream, it parses the coding sequence of the real-time video stream into image data of multiple video frames and SEI coding units through a video decoding module, and obtains the camera internal parameters and camera posture information from the SEI coding unit. Then, the geographic tag (for example, the geographic location information and/or map location information input by the user, an object determined by target recognition and reading the corresponding geographic location information and/or map location information, or directly calling the geographic tag information to determine the corresponding geographic location information and/or map location information) is calculated at the screen coordinate position through the camera internal parameters and the camera posture information. Then, all the geographic tags on the screen are rendered.
- the geographic tag for example, the geographic location information and/or map location information input by the user, an object determined by target recognition and reading the corresponding geographic location information and/or map location information, or directly calling the geographic tag information to determine the corresponding geographic location information and/or map location information
- the computer device aligns the coordinates of the camera device in the physical world coordinate system in the virtual world coordinate system through the camera pose information in the SEI coding unit, the geotag transforms the object coordinates into virtual world coordinates through the model matrix, the view matrix transforms the virtual world coordinates into camera coordinates, and the camera device intrinsic parameters in the SEI coding unit are converted into a projection matrix to align the camera cropping coordinates (align the screen/video coordinates), etc.
- the supplementary enhancement information includes the corresponding byte length information and the byte identification information and byte parameter information, wherein the byte parameter information is used to fill in the corresponding camera parameter information, and the byte length information is used to indicate the byte length of the byte identification information and the byte parameter information after anti-competition processing; wherein, the decoding of the at least one camera parameter encoding unit to obtain the corresponding camera parameter information also includes: decoding the at least one camera parameter encoding unit to obtain the corresponding at least one supplementary enhancement information, reading the byte length information and the byte identification information and byte parameter information after anti-competition processing in the supplementary enhancement information; performing anti-competition removal processing on the byte identification information and byte parameter information after anti-competition processing to obtain the real byte identification information and real byte parameter information after anti-competition processing, and determining the real byte length information after anti-competition removal processing, wherein the real byte length information is used to indicate the byte length of the real byte identification
- the corresponding byte length information in the supplementary enhancement information is used to indicate the total byte length of the byte identification information and byte parameter information after the anti-competition processing.
- the byte identification information and byte parameter information after the anti-competition processing can be determined from the video stream.
- the computer device needs to first perform anti-competition processing on the byte identification information and byte parameter information after the anti-competition processing to obtain the real byte identification information and real byte parameter information before the anti-competition processing is performed, such as removing the corresponding preset characters at specific positions of the byte identification information (such as SEI payload uuid, etc.) and byte parameter information (such as SEI payload content, etc.) in the supplementary enhancement information according to the preset characters.
- anti-competition processing on the byte identification information and byte parameter information after the anti-competition processing to obtain the real byte identification information and real byte parameter information before the anti-competition processing is performed, such as removing the corresponding preset characters at specific positions of the byte identification information (such as SEI payload uuid, etc.) and byte parameter information (such as SEI payload content, etc.) in the supplementary enhancement information according to the preset characters.
- the real byte identification information and the real byte parameter information are determined, and then the total byte length of the real byte identification information and byte parameter information is counted, thereby determining the corresponding real byte length information, and then determining the real byte parameters according to the real byte identification information, such as according to the byte length of the real byte identification information, thereby obtaining the camera parameter information.
- the byte length of the real byte parameter information includes the length of the terminator.
- the byte parameter information is a string
- the string in the C language has an end mark, so there is an end mark 0x00
- the byte length corresponding to the real byte parameter information minus one corresponds to the byte length of the camera parameter information.
- 30 bytes of camera parameter information can be read from the real byte parameter information.
- the method further includes step S204 (not shown), in which a packaged file for the multiple video frames is determined and stored according to the coding sequence; in step S202, if a presentation operation for the packaged file is obtained, the coding sequence in the packaged file is decoded, and the corresponding multiple video frames are obtained and presented through the display device. For example, after receiving the corresponding coding sequence, the computer device can directly decode and present the real-time video stream, or generate a corresponding packaged file.
- the packaged file refers to a video file, such as a video file packaged into MP4, MOV, MPG, WMV, etc., and stored in a database for subsequent video playback calls, such as for plan exercises, review reviews, or as a data set to optimize coordinate transformation algorithms.
- a presentation operation for the packaged file the packaged file is called from the database, the corresponding coding sequence is decoded, and the corresponding multiple video frames are presented, wherein the presentation operation can be based on user operations or intelligent recognition, etc.
- the camera in the packaged file is The encoding order of the parameter encoding unit is the same as that of the corresponding video frame encoding unit.
- the camera parameter encoding unit when the corresponding video frame is presented, if the camera parameter encoding unit needs to be decoded, the camera parameter information obtained by decoding and the presented video frame can still be synchronized at the video frame level.
- it can restore the rendering of the virtual content in the scene, which can be used for scenarios such as plan exercises and review.
- it can restore the scene without the need to re-acquire the scene video and camera parameters each time the algorithm is executed/tested, thereby optimizing the coordinate transformation algorithm.
- a transmission device for transmitting video frames and camera parameter information is shown, the transmission device is connected to the camera device, wherein the transmission device includes a module-101, a module-202 and a module-303.
- the module-101 is used to obtain multiple video frames shot by the camera device and at least one camera parameter information when the multiple video frames are shot;
- the module-202 is used to generate a coding sequence according to the multiple video frames and the at least one camera parameter information, wherein the coding sequence includes multiple video frame coding units and at least one camera parameter coding unit, each camera parameter coding unit contains supplementary enhancement information for indicating corresponding camera parameter information;
- the module-303 is used to transmit the coding sequence to a computer device.
- the camera parameter information includes internal reference information and camera posture information of the camera device.
- a module 101 is used to obtain multiple video frames shot by the camera device; obtain multiple candidate camera parameter information when the multiple video frames are shot, and determine at least one camera parameter information that meets the preset conditions from the multiple candidate camera parameter information.
- the preset conditions include but are not limited to: if the acquisition time of a certain candidate camera parameter information is the same as the shooting time of one of the video frames, then the certain candidate camera parameter information is determined as the camera parameter information; sampling from the multiple candidate camera parameter information at a preset interval to determine the corresponding camera parameter information; if a certain candidate camera parameter information is different from the previous candidate camera parameter information of the certain candidate camera parameter information, then the certain candidate camera parameter information is determined as the camera parameter information.
- the module 102 is used to generate corresponding multiple video frame encoding units and at least one camera parameter encoding unit according to the multiple video frames and the at least one camera parameter information using video encoding technology; and generate corresponding encoding sequences according to the multiple video frame encoding units and the at least one camera parameter encoding unit.
- the high-definition video encoding technology includes but is not limited to video encoding technologies corresponding to standards such as H.264 and H.265.
- the camera parameter information is stored in the supplemental enhancement information in the form of a JSON string.
- generating a corresponding coding sequence based on the multiple video frame coding units and the at least one camera parameter coding unit includes: arranging the multiple video frame coding units and the at least one camera parameter coding unit into a coding sequence according to the acquisition order of the multiple video frames.
- the supplemental enhancement information includes corresponding byte length information and byte parameter information, wherein the byte parameter information is used to fill in the corresponding camera parameter information, and the byte length information is used to indicate the byte length of the byte parameter information.
- the supplemental enhancement information also includes corresponding byte identification information, and the byte length information is used to indicate the byte length of the byte identification information and the byte parameter information.
- the transmission device also includes a module (not shown) for performing anti-contention processing on the byte identification information and the byte parameter information, inserting a preset character into each byte of the byte identification information and the byte parameter information to obtain the byte identification information and the byte parameter information after anti-contention processing; and determining the corresponding byte length information by counting the byte identification information and the byte parameter information after anti-contention processing.
- a module for performing anti-contention processing on the byte identification information and the byte parameter information, inserting a preset character into each byte of the byte identification information and the byte parameter information to obtain the byte identification information and the byte parameter information after anti-contention processing; and determining the corresponding byte length information by counting the byte identification information and the byte parameter information after anti-contention processing.
- the transmission device also includes a module 15 (not shown) for performing color space conversion on the multiple video frames to determine multiple converted video frames that conform to a preset color space; wherein the module 12 102 is used to generate a coding sequence based on the multiple converted video frames and the at least one camera parameter information, wherein the coding sequence includes multiple video frame coding units and at least one camera parameter coding unit, and each camera parameter coding unit contains supplementary enhancement information for indicating corresponding camera parameter information.
- step S101, step S102, step S103, step S104 and step S105 are the same or similar to the aforementioned step S101, step S102, step S103, step S104 and step S105, and are therefore not repeated herein and are included herein by reference.
- FIG4 shows a computer device for transmitting video frames and camera parameter information according to another aspect of the present application
- the computer device includes a display device, wherein the computer device includes a 21 module 201 and a 22 module 202.
- the 21 module 201 is used to receive a coding sequence of multiple video frames sent by a corresponding transmission device and shot by a camera device, wherein the coding sequence includes multiple video frame coding units and at least one camera parameter coding unit, and each camera parameter coding unit contains supplementary enhancement information for indicating corresponding camera parameter information;
- the 22 module 202 is used to decode the coding sequence, obtain and present the corresponding multiple video frames through the display device.
- the module 202 is configured to ignore the at least one camera parameter encoding unit based on a preset setting, and only decode the multiple video frame encoding units to obtain and present the corresponding multiple video frames through the display device.
- the 22 module 202 is used to decode the at least one camera parameter encoding unit to obtain corresponding camera parameter information; decode the multiple video frame encoding units to obtain and present the corresponding multiple video frames through the display device; wherein the computer device also includes a 23 module (not shown) for determining the coordinate transformation information from the corresponding world coordinate system to the pixel coordinate system of the camera device according to the camera parameter information; and superimpose virtual information in the multiple video frames according to the coordinate transformation information.
- the supplementary enhancement information includes corresponding byte length information and byte identification information and byte parameter information after anti-competition processing, wherein the byte parameter information is used to fill in the corresponding camera parameter information, and the byte length information is used to indicate the byte length of the byte identification information and the byte parameter information after anti-competition processing; wherein, the decoding of the at least one camera parameter encoding unit to obtain the corresponding camera parameter information also includes: decoding the at least one camera parameter encoding unit to obtain the corresponding at least one supplementary enhancement information, reading the byte length information and the byte identification information and byte parameter information after anti-competition processing in the supplementary enhancement information; performing anti-competition processing on the byte identification information and byte parameter information after anti-competition processing to obtain the real byte identification information and real byte parameter information after anti-competition processing, and determining the real byte length information after anti-competition processing, wherein the real byte length information is used to indicate the byte length of the real
- the computer device also includes a 24 module (not shown), which is used to determine and store an encapsulation file regarding the multiple video frames based on the coding sequence; wherein the 22 module 202 is used to decode the coding sequence in the encapsulation file if a presentation operation regarding the encapsulation file is obtained, and obtain and present the corresponding multiple video frames through the display device.
- a 24 module (not shown), which is used to determine and store an encapsulation file regarding the multiple video frames based on the coding sequence; wherein the 22 module 202 is used to decode the coding sequence in the encapsulation file if a presentation operation regarding the encapsulation file is obtained, and obtain and present the corresponding multiple video frames through the display device.
- step S201 the specific implementations corresponding to the 21 module 201, 22 module 202, 23 module and 24 module are the same or similar to the embodiments of the aforementioned step S201, step S202, step S203 and step S204, and are therefore not repeated here and are included herein by reference.
- the present application also provides a computer-readable storage medium, which stores computer code.
- a computer-readable storage medium which stores computer code.
- the present application also provides a computer program product.
- the computer program product is executed by a computer device, the method described in any of the preceding items is executed.
- the present application also provides a computer device, the computer device comprising:
- processors one or more processors
- a memory for storing one or more computer programs
- the one or more processors When the one or more computer programs are executed by the one or more processors, the one or more processors are caused to implement the method as described in any of the preceding items.
- FIG5 illustrates an exemplary system that can be used to implement various embodiments described in this application
- the system 300 can be used as any of the above-mentioned devices in each of the described embodiments.
- the system 300 may include one or more computer-readable media (e.g., system memory or NVM/storage device 320) having instructions and one or more processors (e.g., (one or more) processors 305) coupled to the one or more computer-readable media and configured to execute instructions to implement modules to perform the actions described in the present application.
- processors e.g., (one or more) processors 305
- system control module 310 may include any suitable interface controller to provide any suitable interface to at least one of processor(s) 305 and/or any suitable device or component in communication with system control module 310 .
- the system control module 310 may include a memory controller module 330 to provide an interface to the system memory 315.
- the memory controller module 330 may be a hardware module, a software module, and/or a firmware module.
- the system memory 315 may be used, for example, to load and store data and/or instructions for the system 300.
- the system memory 315 may include any suitable volatile memory, such as a suitable DRAM.
- the system memory 315 may include double data rate type four synchronous dynamic random access memory (DDR4 SDRAM).
- system control module 310 may include one or more input/output (I/O) controllers to provide interfaces to NVM/storage device 320 and communication interface(s) 325 .
- I/O input/output
- NVM/storage device 320 may be used to store data and/or instructions.
- NVM/storage device 320 may include any suitable non-volatile memory (e.g., flash memory) and/or may include any suitable non-volatile storage device(s) (e.g., one or more hard disk drives (HDDs), one or more compact disk (CD) drives, and/or one or more digital versatile disk (DVD) drives).
- HDDs hard disk drives
- CD compact disk
- DVD digital versatile disk
- NVM/storage device 320 may include storage resources that are physically part of the device on which system 300 is installed, or that are accessible to the device without being part of the device. Storage device 320 may be accessible over a network via communication interface(s) 325 .
- Communication interface(s) 325 may provide an interface for system 300 to communicate over one or more networks and/or with any other suitable devices.
- System 300 may wirelessly communicate with one or more components of a wireless network in accordance with any of one or more wireless network standards and/or protocols.
- At least one of the processor(s) 305 may be packaged together with the logic of one or more controllers of the system control module 310 (e.g., the memory controller module 330). For one embodiment, at least one of the processor(s) 305 may be packaged together with the logic of one or more controllers of the system control module 310 to form a system-in-package (SiP). For one embodiment, at least one of the processor(s) 305 may be integrated on the same die with the logic of one or more controllers of the system control module 310. For one embodiment, at least one of the processor(s) 305 may be integrated on the same die with the logic of one or more controllers of the system control module 310 to form a system on chip (SoC).
- SoC system on chip
- the system 300 may be, but is not limited to, a server, a workstation, a desktop computing device, or a mobile computing device (e.g., a laptop computing device, a handheld computing device, a tablet computer, a netbook, etc.).
- the system 300 may have more or fewer components and/or a different architecture.
- the system 300 includes one or more cameras, a keyboard, a liquid crystal display (LCD) screen (including a touch screen display), a non-volatile memory port, multiple antennas, a graphics chip, an application specific integrated circuit (ASIC), and a speaker.
- LCD liquid crystal display
- ASIC application specific integrated circuit
- the present application can be implemented in software and/or a combination of software and hardware, for example, can be implemented using an application specific integrated circuit (ASIC), a general purpose computer or any other similar hardware device.
- ASIC application specific integrated circuit
- the software program of the present application can be executed by a processor to implement the steps or functions described above.
- the software program of the present application (including relevant data structures) can be stored in a computer-readable recording medium, for example, a RAM memory, a magnetic or optical drive or a floppy disk and similar devices.
- some steps or functions of the present application can be implemented using hardware, for example, as a circuit that cooperates with a processor to perform each step or function.
- a part of the present application may be applied as a computer program product, such as a computer program instruction, which, when executed by a computer, can call or provide the method and/or technical solution according to the present application through the operation of the computer.
- a computer program product such as a computer program instruction
- the existence of computer program instructions in computer-readable media includes but is not limited to source files, executable files, installation package files, etc., and accordingly, the way in which computer program instructions are executed by a computer includes but is not limited to: the computer directly executes the instruction, or the computer compiles the instruction and then executes the corresponding compiled program, or the computer reads and executes the instruction, or the computer reads and installs the instruction and then executes the corresponding installed program.
- the computer-readable medium can be any available computer-readable storage medium or communication medium accessible to the computer.
- Communication media include media by which communication signals containing, for example, computer readable instructions, data structures, program modules, or other data are transmitted from one system to another.
- Communication media may include guided transmission media such as cables and wires (e.g., fiber optic, coaxial, etc.) and wireless (unguided transmission) media that can propagate energy waves, such as acoustic, electromagnetic, RF, microwave, and infrared.
- Computer readable instructions, data structures, program modules, or other data may be embodied as a modulated data signal in, for example, a wireless medium such as a carrier wave or similar mechanism such as embodied as part of spread spectrum technology.
- modulated data signal refers to a signal whose one or more characteristics are changed or set in such a manner as to encode information in the signal. Modulation may be analog, digital, or a hybrid modulation technique.
- computer-readable storage media may include volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storing information such as computer-readable instructions, data structures, program modules or other data.
- computer-readable storage media include, but are not limited to, volatile memory, such as random access memory (RAM, DRAM, SRAM); and non-volatile memory, such as flash memory, various read-only memories (ROM, PROM, EPROM, EEPROM), magnetic and ferromagnetic/ferroelectric memories (MRAM, FeRAM); and magnetic and optical storage devices (hard disks, magnetic tapes, CDs, DVDs); or other media now known or later developed that can store computer-readable information/data for use with a computer system.
- volatile memory such as random access memory (RAM, DRAM, SRAM
- non-volatile memory such as flash memory, various read-only memories (ROM, PROM, EPROM, EEPROM), magnetic and ferromagnetic/ferroelectric memories (MRAM, FeRAM); and magnetic and optical storage devices (hard disk
- a device which includes a memory for storing computer program instructions and a processor for executing the program instructions, wherein, when the computer program instructions are executed by the processor, the device is triggered to run the methods and/or technical solutions based on the aforementioned multiple embodiments of the present application.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
本申请是以CN申请号为202211481736.6,申请日为2022.11.24的申请为基础,并主张其优先权,该CN申请的公开内容在此作为整体引入本申请中。This application is based on the application with CN application number 202211481736.6 and application date 2022.11.24, and claims its priority. The disclosed content of the CN application is hereby introduced into this application as a whole.
本申请涉及通信领域,尤其涉及一种传输视频帧及摄像参数信息的技术。The present application relates to the field of communications, and in particular to a technology for transmitting video frames and camera parameter information.
近年来,随着科学技术迅猛发展,增强现实(Augmented Reality,AR)技术渐渐走入人们的视野。特别基于实时视频流AR交互,迅速应用于各行业。随着元宇宙的推广、基于AR实时视频流的指挥系统,专家指导,可移动监控装置(无人机、眼镜、手机、固定摄像头、高点摄像头)也展现出来越来越多的应用前景。特别地,例如,无人机飞得高、看得远,类似于上帝视角的实时视频传输,AR眼镜第一视角实时传输,天网固定摄像头实时传输,组成天地一体实时指挥系统,由于网络抖动的存在,监控装置无法将视频帧和相机内外参实时传输到监控平台,导致无法实现视频帧级别渲染同步,影响指挥效率和准确率。In recent years, with the rapid development of science and technology, augmented reality (AR) technology has gradually come into people's vision. In particular, AR interaction based on real-time video streams has been rapidly applied to various industries. With the promotion of the metaverse, command systems based on AR real-time video streams, and expert guidance, mobile monitoring devices (drones, glasses, mobile phones, fixed cameras, high-point cameras) have also shown more and more application prospects. In particular, for example, drones fly high and see far, similar to the real-time video transmission of the God's perspective, AR glasses transmit the first-person perspective in real time, and Skynet fixed cameras transmit in real time, forming a real-time command system that integrates the sky and the earth. Due to the existence of network jitter, the monitoring device cannot transmit the video frames and the internal and external parameters of the camera to the monitoring platform in real time, resulting in the inability to achieve video frame-level rendering synchronization, affecting the command efficiency and accuracy.
发明内容Summary of the invention
本申请的一个目的是提供一种传输视频帧及摄像参数信息的方法与设备。One object of the present application is to provide a method and device for transmitting video frames and camera parameter information.
根据本申请的一个方面,提供了一种传输视频帧及摄像参数信息的方法,应用于传输设备,所述传输设备与摄像装置相连接,其中,该方法包括:According to one aspect of the present application, a method for transmitting video frames and camera parameter information is provided, which is applied to a transmission device, wherein the transmission device is connected to a camera apparatus, wherein the method comprises:
获取所述摄像装置拍摄的多个视频帧,及所述多个视频帧被拍摄时的至少一个摄像参数信息;Acquire a plurality of video frames captured by the camera device and at least one camera parameter information when the plurality of video frames are captured;
根据所述多个视频帧及所述至少一个摄像参数信息生成编码序列,其中,所述编码序列包括多个视频帧编码单元及至少一个摄像参数编码单元,每个摄像参数编码单元中包含用于指示对应摄像参数信息的补充增强信息;Generate a coding sequence according to the multiple video frames and the at least one camera parameter information, wherein the coding sequence includes multiple video frame coding units and at least one camera parameter coding unit, and each camera parameter coding unit includes supplementary enhancement information for indicating corresponding camera parameter information;
将所述编码序列传输至计算机设备。The coded sequence is transmitted to a computer device.
根据本申请的另一个方面的一种传输视频帧及摄像参数信息的方法,应用于计算机设备,所述计算机设备包括显示装置,其中,该方法包括:According to another aspect of the present application, a method for transmitting video frames and camera parameter information is applied to a computer device, wherein the computer device includes a display device, wherein the method includes:
接收对应传输设备发送的、摄像装置拍摄的多个视频帧的编码序列,其中,所述编码序列包括多个视频帧编码单元及至少一个摄像参数编码单元,每个摄像参数编码单元中包含用于指示对应摄像参数信息的补充增强信息;Receive a coding sequence of multiple video frames shot by a camera device and sent by a corresponding transmission device, wherein the coding sequence includes multiple video frame coding units and at least one camera parameter coding unit, and each camera parameter coding unit includes supplementary enhancement information for indicating corresponding camera parameter information;
对所述编码序列进行解码,获取并通过所述显示装置呈现对应的多个视频帧。The coded sequence is decoded, and a corresponding plurality of video frames are acquired and presented through the display device.
根据本申请的一个方面,提供了一种传输视频帧及摄像参数信息的系统方法,所述方法包括:According to one aspect of the present application, a system method for transmitting video frames and camera parameter information is provided, the method comprising:
传输设备获取对应摄像装置拍摄的多个视频帧,及所述多个视频帧被拍摄时的至少一个摄像参数信息;根据所述多个视频帧及所述至少一个摄像参数信息生成编码序列,其中,所述编码序列包括多个视频帧编码单元及至少一个摄像参数编码单 元,每个摄像参数编码单元中包含用于指示对应摄像参数信息的补充增强信息;并将所述编码序列传输至计算机设备;The transmission device obtains a plurality of video frames shot by a corresponding camera device and at least one camera parameter information when the plurality of video frames are shot; generates a coding sequence according to the plurality of video frames and the at least one camera parameter information, wherein the coding sequence includes a plurality of video frame coding units and at least one camera parameter coding unit. Each camera parameter encoding unit includes supplementary enhancement information for indicating corresponding camera parameter information; and transmitting the encoding sequence to a computer device;
计算机设备接收所述传输设备发送的、摄像装置拍摄的多个视频帧的所述编码序列,对所述编码序列进行解码,获取并通过对应显示装置呈现对应的多个视频帧。The computer device receives the coding sequence of multiple video frames shot by the camera device and sent by the transmission device, decodes the coding sequence, obtains and presents the corresponding multiple video frames through the corresponding display device.
根据本申请的另一个方面,提供了一种传输视频帧及摄像参数信息的设备,所述设备与摄像装置相连接,其中,该设备包括:According to another aspect of the present application, a device for transmitting video frames and camera parameter information is provided, wherein the device is connected to a camera device, wherein the device comprises:
一一模块,用于获取所述摄像装置拍摄的多个视频帧,及所述多个视频帧被拍摄时的至少一个摄像参数信息;A module, used to obtain a plurality of video frames shot by the camera device and at least one camera parameter information when the plurality of video frames are shot;
一二模块,用于根据所述多个视频帧及所述至少一个摄像参数信息生成编码序列,其中,所述编码序列包括多个视频帧编码单元及至少一个摄像参数编码单元,每个摄像参数编码单元中包含用于指示对应摄像参数信息的补充增强信息;A module 12 is used to generate a coding sequence according to the multiple video frames and the at least one camera parameter information, wherein the coding sequence includes multiple video frame coding units and at least one camera parameter coding unit, and each camera parameter coding unit includes supplementary enhancement information for indicating corresponding camera parameter information;
一三模块,用于将所述编码序列传输至计算机设备:A module for transmitting the coding sequence to a computer device:
根据本申请的一个方面,提供了一种传输视频帧及摄像参数信息的计算机设备,所述计算机设备包括显示装置,其中,该计算机设备包括:According to one aspect of the present application, a computer device for transmitting video frames and camera parameter information is provided, wherein the computer device includes a display device, wherein the computer device includes:
二一模块,用于接收对应传输设备发送的、摄像装置拍摄的多个视频帧的编码序列,其中,所述编码序列包括多个视频帧编码单元及至少一个摄像参数编码单元,每个摄像参数编码单元中包含用于指示对应摄像参数信息的补充增强信息;A module 21 is used to receive a coding sequence of multiple video frames shot by a camera device and sent by a corresponding transmission device, wherein the coding sequence includes multiple video frame coding units and at least one camera parameter coding unit, and each camera parameter coding unit contains supplementary enhancement information for indicating corresponding camera parameter information;
二二模块,用于对所述编码序列进行解码,获取并通过所述显示装置呈现对应的多个视频帧。Module 22 is used to decode the coding sequence, obtain and present the corresponding multiple video frames through the display device.
根据本申请的一个方面,提供了一种计算机设备,其中,该设备包括:According to one aspect of the present application, a computer device is provided, wherein the device includes:
处理器;以及Processor; and
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行如上任一所述方法的步骤。A memory arranged to store computer executable instructions, which when executed cause the processor to perform the steps of any of the methods described above.
根据本申请的一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序/指令,其特征在于,该计算机程序/指令在被执行时使得系统进行执行如上任一所述方法的步骤。According to one aspect of the present application, a computer-readable storage medium is provided, on which a computer program/instruction is stored, characterized in that when the computer program/instruction is executed, the system performs the steps of any of the methods described above.
根据本申请的一个方面,提供了一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现如上任一所述方法的步骤。According to one aspect of the present application, a computer program product is provided, including a computer program/instruction, characterized in that the computer program/instruction implements the steps of any of the above methods when executed by a processor.
与现有技术相比,本申请通过在传输视频帧的同时,将摄像参数信息写入对应补充增强信息,并与视频帧一起传输至计算机设备,用于显示视频帧的同时进行视频帧的实时渲染。本申请能够将摄像装置的摄像参数信息与采集到的视频帧实现图像序列帧级别的同步,能够实现移动视频场景下的超实境AR渲染标签,从而达到推流端和拉流端实时同步,有利于应用场景中的实时行动指挥。由于SEI非解码过程的必须选项,换言之,SEI对解码过程无直接影响,对于无需达到摄像装置的摄像参数信息实时同步的场景,则无需解码摄像参数信息直接正常播放视频。此外,本方案可以无视网络抖动,无论网络多么抖动,本方案都能保证图像数据和摄像参数信息达到图像序列帧级别的同步。Compared with the prior art, the present application writes the camera parameter information into the corresponding supplementary enhancement information while transmitting the video frame, and transmits it to the computer device together with the video frame, so as to display the video frame and perform real-time rendering of the video frame. The present application can synchronize the camera parameter information of the camera device with the collected video frame at the image sequence frame level, and can realize the hyper-realistic AR rendering label in the mobile video scene, so as to achieve real-time synchronization between the push stream end and the pull stream end, which is beneficial to the real-time action command in the application scene. Since SEI is not a necessary option in the decoding process, in other words, SEI has no direct impact on the decoding process. For scenes that do not need to achieve real-time synchronization of the camera parameter information of the camera device, there is no need to decode the camera parameter information and directly play the video normally. In addition, this solution can ignore network jitter. No matter how jittery the network is, this solution can ensure that the image data and the camera parameter information are synchronized at the image sequence frame level.
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显: Other features, objects and advantages of the present application will become more apparent by reading the detailed description of non-limiting embodiments made with reference to the following drawings:
图1示出根据本申请一个实施例的一种传输视频帧及摄像参数信息的方法流程图;FIG1 shows a flow chart of a method for transmitting video frames and camera parameter information according to an embodiment of the present application;
图2示出根据本申请另一个实施例的一种传输视频帧及摄像参数信息的方法流程图;FIG2 shows a flow chart of a method for transmitting video frames and camera parameter information according to another embodiment of the present application;
图3示出根据本申请一个实施例的一种传输设备的设备结构图;FIG3 shows a device structure diagram of a transmission device according to an embodiment of the present application;
图4示出根据本申请一个实施例的一种计算机设备的设备结构图;FIG4 shows a device structure diagram of a computer device according to an embodiment of the present application;
图5示出可被用于实施本申请中所述的各个实施例的示例性系统。FIG. 5 illustrates an exemplary system that may be used to implement various embodiments described herein.
附图中相同或相似的附图标记代表相同或相似的部件。The same or similar reference numerals in the drawings represent the same or similar components.
下面结合附图对本申请作进一步详细描述。The present application is described in further detail below in conjunction with the accompanying drawings.
在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(例如,中央处理器(Central Processing Unit,CPU))、输入/输出接口、网络接口和内存。In a typical configuration of the present application, the terminal, the device of the service network and the trusted party all include one or more processors (e.g., a central processing unit (CPU)), an input/output interface, a network interface and a memory.
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(Random Access Memory,RAM)和/或非易失性内存等形式,如只读存储器(Read Only Memory,ROM)或闪存(Flash Memory)。内存是计算机可读介质的示例。Memory may include non-permanent storage in a computer-readable medium, in the form of random access memory (RAM) and/or non-volatile memory, such as read-only memory (ROM) or flash memory. Memory is an example of a computer-readable medium.
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(Phase-Change Memory,PCM)、可编程随机存取存储器(Programmable Random Access Memory,PRAM)、静态随机存取存储器(Static Random-Access Memory,SRAM)、动态随机存取存储器(Dynamic Random Access Memory,DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、数字多功能光盘(Digital Versatile Disc,DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。Computer-readable media include permanent and non-permanent, removable and non-removable media that can store information by any method or technology. The information can be computer-readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, Phase-Change Memory (PCM), Programmable Random Access Memory (PRAM), Static Random-Access Memory (SRAM), Dynamic Random Access Memory (DRAM), other types of Random Access Memory (RAM), Read-Only Memory (ROM), Electrically-Erasable Programmable Read-Only Memory (EEPROM), flash memory or other memory technology, Compact Disc Read-Only Memory (CD-ROM), Digital Versatile Disc (DVD) or other optical storage, magnetic cassettes, magnetic disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information that can be accessed by a computing device.
本申请所指设备包括但不限于用户设备、网络设备、或用户设备与网络设备通过网络相集成所构成的设备。所述用户设备包括但不限于任何一种可与用户进行人机交互(例如通过触摸板进行人机交互)的移动电子产品,例如智能手机、平板电脑等,所述移动电子产品可以采用任意操作系统,如Android操作系统、iOS操作系统等。其中,所述网络设备包括一种能够按照事先设定或存储的指令,自动进行数值计算和信息处理的电子设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑器件(Programmable Logic Device,PLD)、现场可编程门阵列(Field Programmable Gate Array,FPGA)、数字信号处理器(Digital Signal Processor,DSP)、嵌入式设备等。所述网络设备包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云;在此,云由基于云计算(Cloud Computing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟超级计算机。所述网络包括但不限于互联网、广域网、城域网、局域网、VPN 网络、无线自组织网络(Ad Hoc网络)等。优选地,所述设备还可以是运行于所述用户设备、网络设备、或用户设备与网络设备、网络设备、触摸终端或网络设备与触摸终端通过网络相集成所构成的设备上的程序。The devices referred to in this application include but are not limited to user devices, network devices, or devices formed by integrating user devices and network devices through a network. The user devices include but are not limited to any mobile electronic products that can interact with users (for example, interact with users through a touchpad), such as smart phones, tablet computers, etc. The mobile electronic products can use any operating system, such as Android operating system, iOS operating system, etc. Among them, the network device includes an electronic device that can automatically perform numerical calculations and information processing according to pre-set or stored instructions, and its hardware includes but is not limited to microprocessors, application specific integrated circuits (Application Specific Integrated Circuit, ASIC), programmable logic devices (Programmable Logic Device, PLD), field programmable gate arrays (Field Programmable Gate Array, FPGA), digital signal processors (Digital Signal Processor, DSP), embedded devices, etc. The network devices include but are not limited to computers, network hosts, single network servers, multiple network server sets or multiple servers. The cloud is composed of a large number of computers or network servers based on cloud computing (Cloud Computing), wherein cloud computing is a type of distributed computing, a virtual supercomputer composed of a group of loosely coupled computer sets. The network includes but is not limited to the Internet, wide area networks, metropolitan area networks, local area networks, VPNs, etc. Network, wireless self-organizing network (Ad Hoc network), etc. Preferably, the device may also be a program running on the user device, network device, or a device formed by integrating the user device and network device, network device, touch terminal, or network device and touch terminal through a network.
当然,本领域技术人员应能理解上述设备仅为举例,其他现有的或今后可能出现的设备如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。Of course, those skilled in the art should understand that the above-mentioned devices are only examples, and other existing or future devices that are applicable to the present application should also be included in the scope of protection of the present application and are included here by reference.
在本申请的描述中,“多个”的含义是两个或者更多,除非另有明确具体的限定。In the description of the present application, “plurality” means two or more, unless otherwise clearly and specifically defined.
传统的视频帧及摄像参数信息的传输方法中,其算法数据集视频帧和摄像参数信息分开储存,由于视频帧是未经过视频编码压缩的原始图像数据,占用存储空间较大,同时需要对视频帧和摄像参数信息同步时间戳,流程较为复杂,且传输效率较低。另外,传统方法还包括通过额外的信令通道(例如websocket、消息队列遥测传输(Message Queuing Telemetry Transport、MQTT)等),无法保证达到图像序列帧级别的同步,由于视频编解码需要时间,网络传输也存在时间消耗,额外的信令通道总是能比视频帧先到达接收端,而且由于网络波动和视频编解码时间不稳定,信令数据延时波动也不可控不稳定。此外,传统方法还包括基于H264/H.265额外包装数据包(Packet)自己定义新的协议,但对于无需摄像参数信息的场景,市面上的播放器无法正常拉流播放视频,该方法兼容性为零。In the traditional method of transmitting video frames and camera parameter information, the algorithm data set video frames and camera parameter information are stored separately. Since the video frame is the original image data that has not been compressed by video encoding, it occupies a large storage space. At the same time, it is necessary to synchronize the timestamps of the video frame and the camera parameter information. The process is relatively complicated and the transmission efficiency is low. In addition, the traditional method also includes using additional signaling channels (such as websocket, message queue telemetry transport (Message Queuing Telemetry Transport, MQTT), etc.), which cannot guarantee the synchronization of the image sequence frame level. Since video encoding and decoding takes time, network transmission also consumes time. The additional signaling channel can always reach the receiving end before the video frame, and due to network fluctuations and unstable video encoding and decoding time, the signaling data delay fluctuation is also uncontrollable and unstable. In addition, the traditional method also includes defining a new protocol based on H264/H.265 additional packaging data packets (Packet), but for scenes that do not require camera parameter information, the players on the market cannot normally pull the stream to play the video, and the compatibility of this method is zero.
本申请提供了一种传输视频帧及摄像参数信息的系统方法,该方法应用于传输设备与计算机设备组成的系统,所述方法包括:The present application provides a system method for transmitting video frames and camera parameter information, which is applied to a system consisting of a transmission device and a computer device, and the method includes:
传输设备获取对应摄像装置拍摄的多个视频帧,及所述多个视频帧被拍摄时的至少一个摄像参数信息;根据所述多个视频帧及所述至少一个摄像参数信息生成编码序列,其中,所述编码序列包括多个视频帧编码单元及至少一个摄像参数编码单元,每个摄像参数编码单元中包含用于指示对应摄像参数信息的补充增强信息;并将所述编码序列传输至计算机设备;The transmission device obtains a plurality of video frames shot by the corresponding camera device and at least one camera parameter information when the plurality of video frames are shot; generates a coding sequence according to the plurality of video frames and the at least one camera parameter information, wherein the coding sequence includes a plurality of video frame coding units and at least one camera parameter coding unit, each camera parameter coding unit includes supplementary enhancement information for indicating the corresponding camera parameter information; and transmits the coding sequence to the computer device;
计算机设备接收所述传输设备发送的、摄像装置拍摄的多个视频帧的所述编码序列,对所述编码序列进行解码,获取并通过对应显示装置呈现对应的多个视频帧。The computer device receives the coding sequence of multiple video frames shot by the camera device and sent by the transmission device, decodes the coding sequence, obtains and presents the corresponding multiple video frames through the corresponding display device.
其中,所述传输设备包括但不限于对视频帧及摄像参数信息进行编码并传输的推流设备,该传输设备可以是设置有内接摄像装置或者与外部摄像装置建立了连接,可以获取到摄像装置拍摄的多个视频帧,具体的传输设备如无人机地面控制设备、增强现实眼镜或者其他数据处理设备等。对应计算机设备包括但不限于用于对视频帧进行解码并呈现的拉流设备,在一些情形下,该计算机设备还可以基于摄像参数信息在视频帧中叠加虚拟信息等,如手机、电脑、平板电脑或者其他增强现实眼镜等。对应多个视频帧与至少一个摄像参数信息在传输设备端编码成编码序列,并通过通信线路传输至计算机设备中,计算机设备获取到编码序列后,解码获取并呈现对应的视频帧,进一步地,计算机设备还可以解码获取摄像参数信息并基于该摄像参数信息在视频帧中叠加呈现虚拟信息等。The transmission device includes but is not limited to a streaming device that encodes and transmits video frames and camera parameter information. The transmission device may be provided with an internal camera device or connected to an external camera device, and may obtain multiple video frames shot by the camera device. Specific transmission devices include drone ground control equipment, augmented reality glasses, or other data processing equipment. The corresponding computer device includes but is not limited to a streaming device for decoding and presenting video frames. In some cases, the computer device may also superimpose virtual information in the video frame based on the camera parameter information, such as a mobile phone, a computer, a tablet computer, or other augmented reality glasses. The corresponding multiple video frames and at least one camera parameter information are encoded into a coding sequence at the transmission device end, and transmitted to the computer device through a communication line. After the computer device obtains the coding sequence, it decodes, obtains, and presents the corresponding video frame. Furthermore, the computer device may also decode, obtain the camera parameter information, and superimpose virtual information in the video frame based on the camera parameter information.
参考图1,示出了一种传输视频帧及摄像参数信息的方法,应用于传输设备,所述传输设备与摄像装置相连接,其中,该方法包括步骤S101、步骤S102以及步骤S103。在步骤S101中,获取所述摄像装置拍摄的多个视频帧,及所述多个视频 帧被拍摄时的至少一个摄像参数信息;在步骤S102中,根据所述多个视频帧及所述至少一个摄像参数信息生成编码序列,其中,所述编码序列包括多个视频帧编码单元及至少一个摄像参数编码单元,每个摄像参数编码单元中包含用于指示对应摄像参数信息的补充增强信息;在步骤S103中,将所述编码序列传输至计算机设备。Referring to FIG1, a method for transmitting video frames and camera parameter information is shown, which is applied to a transmission device, wherein the transmission device is connected to a camera device, wherein the method comprises steps S101, S102 and S103. In step S101, a plurality of video frames captured by the camera device and the plurality of video frames are obtained. At least one camera parameter information when the frame is shot; in step S102, a coding sequence is generated according to the multiple video frames and the at least one camera parameter information, wherein the coding sequence includes multiple video frame coding units and at least one camera parameter coding unit, and each camera parameter coding unit contains supplementary enhancement information for indicating corresponding camera parameter information; in step S103, the coding sequence is transmitted to a computer device.
具体地,在步骤S101中,获取所述摄像装置拍摄的多个视频帧,及所述多个视频帧被拍摄时的至少一个摄像参数信息。例如,所述摄像装置可以是所述传输设备内置摄像装置,所述传输设备可以向摄像装置下发对应图像采集指令,用于启动所述摄像装置采集对应的多个视频帧,对应摄像装置基于对应采集指令实时采集当前视野的多个视频帧,传输设备还可以获取该摄像装置采集图像时的摄像参数信息,如获取摄像装置的内参和外参,其中外参包括摄像装置的位置、角度等。所述摄像装置还可以是传输设备的外部摄像装置,如外接摄像头或者其他设备的摄像装置等,对应外部摄像装置用于根据用户指令采集图像,通过摄像头拍摄当前视野的多个视频帧,同时,对应摄像装置还会获取图像采集时的摄像参数信息,如读取摄像装置的内参和外参等;该摄像装置通过与传输设备的通信连接将多个视频帧及对应摄像参数信息发送至传输设备。其中,所述多个视频帧包括摄像装置拍摄的视频流中待传输的多个视频帧,可以是拍摄的全部视频帧,也可以是按照预设规则筛选后的视频帧,其中,预设规则包括但不限于预设网络质量、预设时间间隔、预设帧数、与前序视频帧画面变化超过阈值等,在此不做限定。所述摄像参数信息包括关于所述摄像装置拍摄多个视频帧中对应视频帧(例如,一个或多个视频帧等)的内参及外参的指示信息。Specifically, in step S101, multiple video frames captured by the camera device and at least one camera parameter information when the multiple video frames are captured are obtained. For example, the camera device may be a built-in camera device of the transmission device, and the transmission device may issue a corresponding image acquisition instruction to the camera device to start the camera device to capture the corresponding multiple video frames. The corresponding camera device captures multiple video frames of the current field of view in real time based on the corresponding acquisition instruction. The transmission device may also obtain the camera parameter information when the camera device captures images, such as obtaining the internal and external parameters of the camera device, wherein the external parameters include the position and angle of the camera device. The camera device may also be an external camera device of the transmission device, such as an external camera or a camera device of other devices. The corresponding external camera device is used to capture images according to user instructions, and capture multiple video frames of the current field of view through the camera. At the same time, the corresponding camera device also obtains the camera parameter information when the image is captured, such as reading the internal and external parameters of the camera device. The camera device sends the multiple video frames and the corresponding camera parameter information to the transmission device through a communication connection with the transmission device. The multiple video frames include multiple video frames to be transmitted in the video stream captured by the camera device, which may be all the captured video frames or video frames filtered according to preset rules, wherein the preset rules include but are not limited to preset network quality, preset time interval, preset number of frames, and the change of the picture from the previous video frame exceeds a threshold, etc., which are not limited here. The camera parameter information includes indication information about the internal parameters and external parameters of the corresponding video frames (for example, one or more video frames, etc.) in the multiple video frames captured by the camera device.
例如,在一些实施方式中,所述摄像参数信息包括摄像装置的内参信息及摄像位姿信息。例如,为了简化计算量,并减少数据传输过程中的数据量,传输设备并不会对摄像装置拍摄的视频帧对应的坐标变换矩阵等进行直接传输,而是传输用于计算该坐标变换矩阵的内参和摄像位姿信息。所述内参包括但不限于摄像装置无变焦时长焦距、短焦距、长轴光心偏移、短轴光心偏移、摄像装置相对变焦大小、视频图像序列宽、高等。所述摄像位姿信息包括摄像装置的摄像位置信息及摄像角度信息,所述摄像位置信息通常通过地理位置信息来表达,如由地理坐标(B,L,H)表示,其中,L表示经度信息,B表示纬度信息,H表示高度(如海拔等)等。其中,经纬度信息可以通过GPS等传感器获取,对应高度信息可以通过数字高程模型(Digital Elevation Model,DEM)或其他方式获取等,在此,地理坐标(B,L,H)的获取方式仅为举例,在此不做限定。所述摄像角度信息包括yaw/pitch/roll三轴角度信息,yaw为偏航角,pitch为俯仰角,roll为翻滚角等,由对应云台或姿态传感器(如三轴陀螺仪等)获取等。For example, in some embodiments, the camera parameter information includes the internal parameter information and camera posture information of the camera device. For example, in order to simplify the amount of calculation and reduce the amount of data in the data transmission process, the transmission device does not directly transmit the coordinate transformation matrix corresponding to the video frame shot by the camera device, but transmits the internal parameters and camera posture information used to calculate the coordinate transformation matrix. The internal parameters include but are not limited to the long focal length, short focal length, long axis optical center offset, short axis optical center offset, relative zoom size of the camera device, video image sequence width, height, etc. when the camera device is not zoomed. The camera posture information includes the camera position information and camera angle information of the camera device, and the camera position information is usually expressed by geographic location information, such as represented by geographic coordinates (B, L, H), where L represents longitude information, B represents latitude information, and H represents height (such as altitude, etc.). Among them, the longitude and latitude information can be obtained through sensors such as GPS, and the corresponding altitude information can be obtained through a digital elevation model (DEM) or other methods. Here, the method of obtaining geographic coordinates (B, L, H) is only an example and is not limited here. The camera angle information includes yaw/pitch/roll three-axis angle information, yaw is the yaw angle, pitch is the pitch angle, roll is the roll angle, etc., which is obtained by the corresponding gimbal or attitude sensor (such as a three-axis gyroscope, etc.).
在此,所述至少一个摄像参数信息的数量可以是一个或多个,相应地,所述摄像参数信息的数量为一个时,则该多个视频帧被拍摄时的摄像参数信息相同,或者,该摄像参数信息为该多个视频帧被拍摄时获取的多个候选摄像参数信息中筛选出的摄像参数等。所述至少一个摄像参数信息的数量为多个时,所述多个摄像参数信息可以与所述多个视频帧中每个视频帧一一对应,例如,在每个视频帧被采集时记录一次摄像装置的摄像参数信息等;在一些情形下,所述多个摄像参数信息也可以是该多个视频帧中某些代表视频帧的摄像参数等,并不与多个视频帧一一对应。在 此,所述多个摄像参数信息可以是根据预设条件从多个候选摄像参数信息中筛选出来的,该多个候选摄像参数信息的数量不限,可以大于或等于多个视频帧的帧数量等。在一些实施方式中,在步骤S101中,获取所述摄像装置拍摄的多个视频帧;获取所述多个视频帧被拍摄时的多个候选摄像参数信息,从所述多个候选摄像参数信息中确定满足预设条件的至少一个摄像参数信息。例如,传输设备获取摄像装置拍摄的多个视频帧,并获取多个视频帧被拍摄时的多个候选摄像参数信息,该多个候选摄像参数信息可以是与多个视频帧一一对应,如在每个视频帧被采集时记录一次对应摄像装置的候选摄像参数信息,或者,该多个候选摄像参数信息为基于预设时间间隔采集的多个候选摄像参数信息,对应预设时间间隔可以大于或等于视频帧的采集间隔,也可以是小于视频帧的采集间隔等。传输设备获取到多个候选摄像参数信息后,基于预设条件从中筛选出至少一个摄像参数信息,具体地,如在一些实施方式中,所述预设条件包括但不限于:某候选摄像参数信息的获取时间与所述视频帧中之一的拍摄时间相同,则将所述某候选摄像参数信息确定为摄像参数信息;按照预设间隔从所述多个候选摄像参数信息中抽样,从而确定对应摄像参数信息;某候选摄像参数信息与所述某候选摄像参数信息的前序候选摄像参数信息不同,则将所述某候选摄像参数信息确定为摄像参数信息。例如,根据每个视频帧的拍摄时间,确定采集的多个候选摄像参数信息中某候选摄像参数的采集时间与多个视频帧中之一的视频帧的拍摄时间相同的某候选摄像参数信息,将其确定为对应视频帧的摄像参数信息。还如,候选摄像参数信息的数量不做限制时,为了节省传输资源,提高传输效率,可以认定连续多帧之间的视频帧的摄像参数信息的变化较小,仅需要通过间断的摄像参数信息就可以描述实时视频流中摄像参数信息的变化趋势等,则传输设备从多个候选摄像参数信息中按照预设间隔(例如,预设时间间隔、预设数量间隔或者预设视频帧的帧数量间隔等)从多个候选摄像参数信息中确定符合条件的摄像参数信息,如取第1个、第6个、第11个…候选摄像参数信息作为对应的摄像参数信息等。又如,为了提高摄像参数信息的变化的灵敏度,同时为了节省传输资源,提高传输效率,可以忽略相同的候选摄像参数信息的传输,对于连续多个时间点或者连续多个视频帧对应的候选摄像参数信息相同时,则传输设备可以将该连续多个时间点或者连续多个视频帧对应的候选摄像参数信息中其中一个(如首个等)候选摄像参数信息确定为摄像参数信息,从而当某候选摄像参数信息与该某候选摄像参数信息的前序候选摄像参数信息不同时,则将该某候选摄像参数信息确定为摄像参数信息。其中,候选摄像参数信息相同是指对应某候选摄像参数信息与该候选摄像参数信息的前序候选摄像参数信息(例如,前N个或者前N个视频帧对应的候选摄像参数信息等)之间的参数差值均满足如下条件:对应内参变化小于或等于预设变化阈值,对应摄像位置信息的位置差值小于或等于位置差值阈值,且摄像角度信息的角度差值小于或等于角度差值阈值等。Here, the number of the at least one camera parameter information may be one or more. Accordingly, when the number of the camera parameter information is one, the camera parameter information when the multiple video frames are shot is the same, or the camera parameter information is the camera parameter selected from the multiple candidate camera parameter information obtained when the multiple video frames are shot, etc. When the number of the at least one camera parameter information is multiple, the multiple camera parameter information may correspond one-to-one to each of the multiple video frames, for example, the camera parameter information of the camera device is recorded once when each video frame is captured, etc.; in some cases, the multiple camera parameter information may also be some representative camera parameters of the multiple video frames, etc., and does not correspond one-to-one to the multiple video frames. Here, the plurality of camera parameter information may be selected from a plurality of candidate camera parameter information according to a preset condition, and the number of the plurality of candidate camera parameter information is not limited, and may be greater than or equal to the number of frames of the plurality of video frames, etc. In some embodiments, in step S101, a plurality of video frames shot by the camera device are obtained; a plurality of candidate camera parameter information when the plurality of video frames are shot is obtained, and at least one camera parameter information satisfying the preset condition is determined from the plurality of candidate camera parameter information. For example, the transmission device obtains a plurality of video frames shot by the camera device, and obtains a plurality of candidate camera parameter information when the plurality of video frames are shot, and the plurality of candidate camera parameter information may correspond to the plurality of video frames one by one, such as recording the candidate camera parameter information of the corresponding camera device once when each video frame is captured, or the plurality of candidate camera parameter information is a plurality of candidate camera parameter information collected based on a preset time interval, and the corresponding preset time interval may be greater than or equal to the acquisition interval of the video frame, or may be less than the acquisition interval of the video frame, etc. After the transmission device obtains multiple candidate camera parameter information, it selects at least one camera parameter information based on preset conditions. Specifically, in some embodiments, the preset conditions include but are not limited to: if the acquisition time of a certain candidate camera parameter information is the same as the shooting time of one of the video frames, then the certain candidate camera parameter information is determined as the camera parameter information; sampling is performed from the multiple candidate camera parameter information at a preset interval to determine the corresponding camera parameter information; if a certain candidate camera parameter information is different from the preceding candidate camera parameter information of the certain candidate camera parameter information, then the certain candidate camera parameter information is determined as the camera parameter information. For example, according to the shooting time of each video frame, determine the candidate camera parameter information whose acquisition time of a certain candidate camera parameter among the multiple candidate camera parameter information is the same as the shooting time of one of the multiple video frames, and determine it as the camera parameter information of the corresponding video frame. For example, when the number of candidate camera parameter information is not limited, in order to save transmission resources and improve transmission efficiency, it can be determined that the change in camera parameter information of video frames between multiple consecutive frames is small, and only intermittent camera parameter information is needed to describe the change trend of camera parameter information in the real-time video stream, etc. Then, the transmission device determines the camera parameter information that meets the conditions from multiple candidate camera parameter information according to a preset interval (for example, a preset time interval, a preset number interval, or a preset number of video frames, etc.), such as taking the 1st, 6th, 11th... candidate camera parameter information as the corresponding camera parameter information, etc. For another example, in order to improve the sensitivity of the change of the camera parameter information, and in order to save transmission resources and improve the transmission efficiency, the transmission of the same candidate camera parameter information can be ignored. When the candidate camera parameter information corresponding to multiple consecutive time points or multiple consecutive video frames is the same, the transmission device can determine one (such as the first, etc.) of the candidate camera parameter information corresponding to the multiple consecutive time points or multiple consecutive video frames as the camera parameter information, so that when a certain candidate camera parameter information is different from the previous candidate camera parameter information of the certain candidate camera parameter information, the certain candidate camera parameter information is determined as the camera parameter information. Among them, the same candidate camera parameter information means that the parameter difference between the corresponding candidate camera parameter information and the previous candidate camera parameter information of the candidate camera parameter information (for example, the candidate camera parameter information corresponding to the first N or the first N video frames, etc.) satisfies the following conditions: the corresponding internal parameter change is less than or equal to the preset change threshold, the position difference of the corresponding camera position information is less than or equal to the position difference threshold, and the angle difference of the camera angle information is less than or equal to the angle difference threshold, etc.
在步骤S102中,根据所述多个视频帧及所述至少一个摄像参数信息生成编码序列,其中,所述编码序列包括多个视频帧编码单元及至少一个摄像参数编码单元,每个摄像参数编码单元中包含用于指示对应摄像参数信息的补充增强信息。例如,传输设备获取到多个视频帧及至少一个摄像参数信息后,生成对应多个视频帧编码单元及至少一个摄像参数编码单元,对应视频帧编码单元与摄像参数编码单元均为 NAL编码单元(如NAL Unit等),由对应的单元头(如NAL Header等)以及单元主体(如NALU payload等)组成,对应单元头用于指示该NAL编码单元的单元主体的内容类型,具体地,编码单元的单元头的组成包括:forbidden_zero_bit(1bit)+nal_ref_idc(2bit)+nal_unit_type(5bit),其中,forbidden_zero_bit为禁止位,初始为0,当网络发现NAL编码单元有比特错误时可设置该比特为1,以便接收方纠错或丢掉该单元;其中,nal_ref_idc中为nal重要性指示,标志该NAL编码单元的重要性,值越大,越重要,解码器在解码处理不过来的时候,可以丢掉重要性为0的NALU;nal_unit_type用于指示NAL编码单元的单元主体的内容类型,如类型取值为6时,对应单元主体为补充增强信息(Supplemental Enhancement Information,SEI),类型取值为5时,对应单元主体为IDR图像的片,当类型取值为其它数值时,对应单元主体为该nal_unit_type数值对应的类型等。其中,对应视频帧编码单元由对应多个视频帧中一个或多个视频帧编码确定,对应摄像参数编码单元由至少一个摄像参数信息中一个摄像参数信息编码确定。传输设备确定多个视频帧编码单元及至少一个摄像参数编码单元后,根据多个视频帧编码单元及至少一个摄像参数编码单元生成对应编码序列。可选地,该编码序列除了包含该多个视频帧编码单元及至少一个摄像参数编码单元之外,还可以包括其他NAL编码单元,其中,其他NAL编码单元中单元主体的内容类型与视频帧编码单元及摄像参数编码单元中单元主体的内容类型不同。In step S102, a coding sequence is generated according to the multiple video frames and the at least one camera parameter information, wherein the coding sequence includes multiple video frame coding units and at least one camera parameter coding unit, and each camera parameter coding unit includes supplementary enhancement information for indicating corresponding camera parameter information. For example, after the transmission device obtains multiple video frames and at least one camera parameter information, it generates corresponding multiple video frame coding units and at least one camera parameter coding unit, and the corresponding video frame coding units and camera parameter coding units are NAL coding unit (such as NAL Unit, etc.) is composed of a corresponding unit header (such as NAL Header, etc.) and a unit body (such as NALU payload, etc.). The corresponding unit header is used to indicate the content type of the unit body of the NAL coding unit. Specifically, the unit header of the coding unit includes: forbidden_zero_bit (1 bit) + nal_ref_idc (2 bits) + nal_unit_type (5 bits), wherein forbidden_zero_bit is a forbidden bit, which is initially 0. When the network finds that the NAL coding unit has a bit error, the bit can be set to 1 so that the receiver can correct the error or discard the unit; wherein nal_ref_idc is the nal importance indication, which marks the importance of the NAL coding unit. The larger the value, the more important it is. When the decoder cannot process the decoding, it can discard the NALU with an importance of 0; nal_unit_type is used to indicate the content type of the unit body of the NAL coding unit. For example, when the type value is 6, the corresponding unit body is Supplemental Enhancement Information (Supplemental Enhancement Information). Information, SEI), when the type value is 5, the corresponding unit body is a slice of an IDR image, when the type value is other values, the corresponding unit body is the type corresponding to the nal_unit_type value, etc. Among them, the corresponding video frame coding unit is determined by one or more video frame codes in the corresponding multiple video frames, and the corresponding camera parameter coding unit is determined by one camera parameter information code in at least one camera parameter information. After the transmission device determines multiple video frame coding units and at least one camera parameter coding unit, it generates a corresponding coding sequence according to the multiple video frame coding units and at least one camera parameter coding unit. Optionally, in addition to the multiple video frame coding units and the at least one camera parameter coding unit, the coding sequence may also include other NAL coding units, wherein the content type of the unit body in the other NAL coding units is different from the content type of the unit body in the video frame coding unit and the camera parameter coding unit.
在一些实施方式中,在步骤S102中,利用视频编码技术,根据所述多个视频帧及所述至少一个摄像参数信息生成对应的多个视频帧编码单元及至少一个摄像参数编码单元;根据所述多个视频帧编码单元及所述至少一个摄像参数编码单元生成对应的编码序列。例如,所述视频编码技术包括但不限于H.264、H.265等标准对应的视频编码技术。对应摄像参数编码单元与视频帧编码单元为同一级别的数据包,均属于码流范畴。对于摄像参数编码单元,其单元头中nal_unit_type的取值为6,摄像参数编码单元对应的单元主体的内容类型为SEI,传输设备将对应摄像参数信息封装填入SEI内,例如,摄像参数以任意序列化或者反序列化方式存储于补充增强信息中,其中,序列化方式包括JSON字符串方式等,如在一些实施方式中,所述摄像参数信息以JSON字符串的形式存储于所述补充增强信息中。例如,JSON数据结构包括"键/值"对的集合(A collection of name/value pairs)。在不同的语言中被理解为对象(Object)、记录(Records)、结构(struct)、字典(dictionary)、哈希表(hash table)、有键列表(keyed list)、或者是关联数组(associative array)等。JSON数据结构还包括值得有序列表(An ordered list of values),在大部分语言中被理解为数据(array)。具体表现形式是,通过将字符串用双引号括起来,且数组中可以嵌套数组和对象,例如,
In some embodiments, in step S102, a corresponding plurality of video frame encoding units and at least one camera parameter encoding unit are generated according to the plurality of video frames and the at least one camera parameter information by using video encoding technology; a corresponding encoding sequence is generated according to the plurality of video frame encoding units and the at least one camera parameter encoding unit. For example, the video encoding technology includes but is not limited to video encoding technology corresponding to standards such as H.264 and H.265. The corresponding camera parameter encoding unit and the video frame encoding unit are data packets of the same level and both belong to the code stream category. For the camera parameter encoding unit, the value of nal_unit_type in its unit header is 6, and the content type of the unit body corresponding to the camera parameter encoding unit is SEI. The transmission device encapsulates the corresponding camera parameter information and fills it into SEI. For example, the camera parameter is stored in the supplementary enhancement information in any serialization or deserialization manner, wherein the serialization manner includes a JSON string manner, etc. For example, in some embodiments, the camera parameter information is stored in the supplementary enhancement information in the form of a JSON string. For example, the JSON data structure includes a collection of "key/value" pairs. In different languages, it is understood as an object, record, structure, dictionary, hash table, keyed list, or associative array. JSON data structure also includes an ordered list of values, which is understood as an array in most languages. The specific form is to enclose the string in double quotes, and arrays and objects can be nested in arrays, for example,
在一些实施方式中,所述根据所述多个视频帧编码单元及所述至少一个摄像参数编码单元生成对应的编码序列,包括:根据所述多个视频帧的采集顺序,将所述多个视频帧编码单元及所述至少一个摄像参数编码单元排列组成编码序列。例如,传输设备获取到对应多个视频编码单元及至少一个摄像参数编码单元之后,根据对应视频帧采集顺序进行传输,从而生成对应的编码序列,其中,每个摄像参数编码单元的排列顺序与该摄像参数编码单元对应的视频帧编码单元的传输位置邻近(例如,相邻等),且每个编码单元之间通过对应分隔符进行分隔,对应分隔符如Start code:00 00 00 01/00 00 01等。In some embodiments, generating a corresponding coding sequence according to the multiple video frame coding units and the at least one camera parameter coding unit includes: arranging the multiple video frame coding units and the at least one camera parameter coding unit into a coding sequence according to the acquisition order of the multiple video frames. For example, after the transmission device obtains the corresponding multiple video coding units and the at least one camera parameter coding unit, it transmits them according to the corresponding video frame acquisition order, thereby generating a corresponding coding sequence, wherein the arrangement order of each camera parameter coding unit is adjacent to the transmission position of the video frame coding unit corresponding to the camera parameter coding unit (for example, adjacent, etc.), and each coding unit is separated by a corresponding delimiter, such as Start code: 00 00 00 01/00 00 01, etc.
在步骤S103中,将所述编码序列传输至计算机设备。例如,传输设备获取到对应编码序列后,基于与计算机设备的通信连接,将该编码序列传输至计算机设备,供计算机设备进行实时呈现视频帧。在一些情形下,计算机设备还可以解码编码序列获取对应摄像参数信息,并在视频帧中实时叠加呈现虚拟信息等,如高亮渲染或者叠加其他信息(例如,关于某图像中目标的文字、图像或者视频等)等。In step S103, the coding sequence is transmitted to the computer device. For example, after the transmission device obtains the corresponding coding sequence, it transmits the coding sequence to the computer device based on the communication connection with the computer device, so that the computer device can present the video frame in real time. In some cases, the computer device can also decode the coding sequence to obtain the corresponding camera parameter information, and superimpose virtual information in the video frame in real time, such as highlighting or superimposing other information (for example, text, image or video about a target in an image).
在一些实施方式中,所述补充增强信息包括对应字节长度信息及字节参数信息,其中,所述字节参数信息用于填写对应的摄像参数信息,所述字节长度信息用于指示所述字节参数信息的字节长度。例如,对应摄像参数编码单元包括对应单元头及单元主体,单元头包括nal_unit_type,用于指示NAL编码单元中单元主体的内容类型,如类型取值为6时,对应单元主体为补充增强信息。补充增强信息对应单元主体包括对应字节长度信息及字节参数信息,对应字节长度信息用于指示字节参数信息的字节长度,如SEI payload size等,对应字节参数信息用于指示摄像参数信息,如SEI payload content等。所述字节长度信息用于统计该字节参数信息首个字节至结束字节(其中,结束字节可以包括或不包含结束符)的字节长度,如从首个字节至结束字节的字节长度即为前述字节长度信息,或者,所述字节长度信息用于统计该字节参数信息进行防竞争处理后首个字节至结束字节的字节长度;在一些情形下,如果字节长度信息超过255,则增加一个字节表示字节长度信息,以此类推。在一些情形下,补充增强信息对应单元主体还包括主体编码规范类型,如SEI payload type等,字节标识信息,如SEI payload uuid等,以及RBSP尾部补齐字节,如rbsp trailing bits取值为80等,在一些实施方式中,所述补充增强信息还包括对应的字节标识信息,所述字节长度信息用于指示所述字节标识信息与所述字节参数信息的字节长度。例如,所述补充增强信息对应单元主体的主体编码规范类型还可以通过05来指示,如SEI payload type取值为05,则该补充增强信息对应单元主体中还包括对应字节标识信息,如SEI payload uuid等,对应字节长度信息为从该字节标识信息的首个字节统计至字节参数信息的结束字节对应的总字节长度等,或者,所述字节长度信息用于统计该字节标识信息和该字节参数信息进行防竞争处理后首个字节至结束字节对应的总字节长度。在此,对应单元主体中具体内容举例如下:NALU payload=SEI payload type+SEI payload size+SEI payload uuid+SEI payload content+rbsp trailing bits。其中,所述字节标识信息在防竞争操作前的字节长度为固定值,通常为16个字节,其内容随机生成等。In some embodiments, the supplementary enhancement information includes corresponding byte length information and byte parameter information, wherein the byte parameter information is used to fill in the corresponding camera parameter information, and the byte length information is used to indicate the byte length of the byte parameter information. For example, the corresponding camera parameter encoding unit includes a corresponding unit header and a unit body, and the unit header includes nal_unit_type, which is used to indicate the content type of the unit body in the NAL encoding unit. For example, when the type value is 6, the corresponding unit body is the supplementary enhancement information. The corresponding unit body of the supplementary enhancement information includes corresponding byte length information and byte parameter information, and the corresponding byte length information is used to indicate the byte length of the byte parameter information, such as SEI payload size, etc., and the corresponding byte parameter information is used to indicate the camera parameter information, such as SEI payload content, etc. The byte length information is used to count the byte length from the first byte to the end byte of the byte parameter information (wherein the end byte may or may not include the end mark), such as the byte length from the first byte to the end byte is the aforementioned byte length information, or the byte length information is used to count the byte length from the first byte to the end byte of the byte parameter information after anti-competition processing; in some cases, if the byte length information exceeds 255, a byte is added to represent the byte length information, and so on. In some cases, the main body of the supplementary enhancement information corresponding unit also includes the main body encoding specification type, such as SEI payload type, etc., byte identification information, such as SEI payload uuid, etc., and RBSP tail padding bytes, such as rbsp trailing bits with a value of 80, etc. In some embodiments, the supplementary enhancement information also includes corresponding byte identification information, and the byte length information is used to indicate the byte length of the byte identification information and the byte parameter information. For example, the main body coding specification type of the main body of the supplementary enhancement information corresponding unit can also be indicated by 05. If the SEI payload type takes a value of 05, the main body of the supplementary enhancement information corresponding unit also includes corresponding byte identification information, such as SEI payload uuid, etc. The corresponding byte length information is the total byte length corresponding to the first byte of the byte identification information to the end byte of the byte parameter information, etc., or the byte length information is used to count the total byte length corresponding to the first byte to the end byte of the byte identification information and the byte parameter information after anti-competition processing. Here, the specific content in the corresponding unit body is exemplified as follows: NALU payload = SEI payload type + SEI payload size + SEI payload uuid + SEI payload content + rbsp trailing bits. Among them, the byte length of the byte identification information before the anti-competition operation is a fixed value, usually 16 bytes, and its content is randomly generated.
在一些实施方式中,所述方法还包括步骤S104(未示出),在步骤S104中,
对所述字节标识信息及所述字节参数信息进行防竞争处理,在所述字节标识信息及所述字节参数信息的每个字节中插入预设字符,以获取防竞争处理后的字节标识信息及字节参数信息;通过统计防竞争处理后的字节标识信息及字节参数信息,以确定对应字节长度信息。例如,对应编码单元被分隔符0x000001或0x000000分割,若某编码单元内部出现相应序列,则该编码单元也会被分割,将导致对应编码单元的内容不完整,因此,需要对编码单元内的内容进行防竞争处理,如单元主体内的字节标识信息及字节参数信息进行防竞争处理。具体地,根据预设字符(如系统默认预设字符或者用户输入的预设字符,如03等),在字节标识信息、字节参数信息的每个字节中间插入该预设字符,具体示例如下:
0x000000------------->0x00000300
0x000001-------------->0x00000301
0x000002-------------->0x00000302
0x000003-------------->0x00000303In some embodiments, the method further comprises step S104 (not shown), in which: The byte identification information and the byte parameter information are processed for anti-competition, and preset characters are inserted into each byte of the byte identification information and the byte parameter information to obtain the byte identification information and the byte parameter information after the anti-competition processing; the corresponding byte length information is determined by counting the byte identification information and the byte parameter information after the anti-competition processing. For example, the corresponding coding unit is divided by the separator 0x000001 or 0x000000. If the corresponding sequence appears inside a coding unit, the coding unit will also be divided, which will cause the content of the corresponding coding unit to be incomplete. Therefore, it is necessary to perform anti-competition processing on the content in the coding unit, such as performing anti-competition processing on the byte identification information and the byte parameter information in the unit body. Specifically, according to the preset character (such as the system default preset character or the preset character input by the user, such as 03, etc.), the preset character is inserted in the middle of each byte of the byte identification information and the byte parameter information. The specific examples are as follows:
0x000000------------->0x00000300
0x000001-------------->0x00000301
0x000002-------------->0x00000302
0x000003-------------->0x00000303
上述防竞争处理为在每个字节中0000后面加上03。传输设备确定防竞争处理后的字节标识信息、字节参数信息后,则统计防竞争处理后的字节标识信息及字节参数信息的首个字节至结束字节对应的总字节长度,以确定对应字节长度信息。The above-mentioned anti-competition processing is to add 03 after 0000 in each byte. After the transmission device determines the byte identification information and byte parameter information after the anti-competition processing, it counts the total byte length corresponding to the first byte to the end byte of the byte identification information and byte parameter information after the anti-competition processing to determine the corresponding byte length information.
当然,本领域技术人员应能理解上述防竞争处理仅为举例,其他现有的或今后可能出现的防竞争处理如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。Of course, those skilled in the art should understand that the above-mentioned anti-contention processing is only an example, and other existing or future anti-contention processing, if applicable to the present application, should also be included in the scope of protection of the present application and included here by reference.
在一些实施方式中,所述方法还包括步骤S105(未示出),在步骤S105中,对所述多个视频帧进行颜色空间转换,确定符合预设颜色空间的多个转换视频帧;其中,在步骤S102中,根据所述多个转换视频帧及所述至少一个摄像参数信息生成编码序列,其中,所述编码序列包括多个视频帧编码单元及至少一个摄像参数编码单元,每个摄像参数编码单元中包含用于指示对应摄像参数信息的补充增强信息。例如,通常摄像装置获取的多个视频帧的颜色空间为RGB颜色空间,为了更好传输或者当流媒体不支持RGB图像,则需要对该多个视频帧进行颜色空间转化,确定符合预设颜色空间(例如,YUV、CMY、HSV、HSI颜色空间等),确定对颜色空间转换后的多个转换视频帧,并基于该多个转换视频帧进行后续编码及传输等。当然,本领域技术人员应能理解上述颜色空间仅为举例,其他现有的或今后可能出现的颜色空间如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。In some embodiments, the method further includes step S105 (not shown), in which the color space conversion is performed on the multiple video frames to determine multiple converted video frames that conform to the preset color space; wherein, in step S102, a coding sequence is generated according to the multiple converted video frames and the at least one camera parameter information, wherein the coding sequence includes multiple video frame coding units and at least one camera parameter coding unit, and each camera parameter coding unit contains supplementary enhancement information for indicating the corresponding camera parameter information. For example, the color space of the multiple video frames acquired by the camera device is usually the RGB color space. For better transmission or when the streaming media does not support RGB images, it is necessary to perform color space conversion on the multiple video frames to determine whether they conform to the preset color space (for example, YUV, CMY, HSV, HSI color space, etc.), determine multiple converted video frames after the color space conversion, and perform subsequent encoding and transmission based on the multiple converted video frames. Of course, those skilled in the art should understand that the above color space is only an example, and other existing or future color spaces that may appear should also be included in the scope of protection of the present application if they are applicable to the present application, and are included here by reference.
图2示出根据本申请另一个方面的一种传输视频帧及摄像参数信息的方法,应用于计算机设备,所述计算机设备包括显示装置,其中,该方法包括步骤S201、步骤S202。在步骤S201中,接收对应传输设备发送的、摄像装置拍摄的多个视频帧的编码序列,其中,所述编码序列包括多个视频帧编码单元及至少一个摄像参数编码单元,每个摄像参数编码单元中包含用于指示对应摄像参数信息的补充增强信息;在步骤S202中,对所述编码序列进行解码,获取并通过所述显示装置呈现对应的多个视频帧。Fig. 2 shows a method for transmitting video frames and camera parameter information according to another aspect of the present application, which is applied to a computer device, wherein the computer device includes a display device, wherein the method includes steps S201 and S202. In step S201, a coding sequence of multiple video frames shot by a camera device and sent by a corresponding transmission device is received, wherein the coding sequence includes multiple video frame coding units and at least one camera parameter coding unit, and each camera parameter coding unit contains supplementary enhancement information for indicating corresponding camera parameter information; in step S202, the coding sequence is decoded to obtain and present the corresponding multiple video frames through the display device.
具体地,在步骤S201中,接收对应传输设备发送的、摄像装置拍摄的多个视频帧的编码序列,其中,所述编码序列包括多个视频帧编码单元及至少一个摄像参 数编码单元,每个摄像参数编码单元中包含用于指示对应摄像参数信息的补充增强信息。例如,计算机设备接收传输设备基于摄像装置拍摄的多个视频帧及至少一个摄像参数信息确定的编码序列,其中,编码序列的生成过程如前所述,在此不再赘述。Specifically, in step S201, a coding sequence of multiple video frames shot by a camera device and sent by a corresponding transmission device is received, wherein the coding sequence includes multiple video frame coding units and at least one camera parameter. A number of encoding units, each of which contains supplementary enhancement information for indicating corresponding imaging parameter information. For example, a computer device receives an encoding sequence determined by a transmission device based on multiple video frames shot by an imaging device and at least one imaging parameter information, wherein the generation process of the encoding sequence is as described above and will not be repeated here.
在步骤S202中,对所述编码序列进行解码,获取并通过所述显示装置呈现对应的多个视频帧。例如,计算机设备包括对应显示装置,用于对编码后的多个视频帧进行显示,如显示屏或者投影仪等,显示装置可以是计算机设备内置的显示装置,也可以是计算机设备外接的显示装置。计算机设备获取到编码序列后,基于相应的解码技术对编码序列进行解码,将对应多个视频帧编码单元进行解码获取对应多个视频帧,对应的至少一个摄像参数编码单元则根据需求确定是否需要解码。如在一些实施方式中,在步骤S202中,基于预先设置,忽略所述至少一个摄像参数编码单元,仅对所述多个视频帧编码单元进行解码,以获取并通过所述显示装置呈现对应的多个视频帧。例如,本方案能够实现视频帧与摄像参数信息的实时同步传输,且由于SEI为解码阶段的非必要选项,则我们可以根据当前视频呈现需求确定是否对当前摄像参数编码单元进行解码,如对应应用的默认设置为仅对视频进行呈现,例如无需在视频上叠加虚拟信息,或者对应应用的功能中包含关于摄像参数信息解码的选择功能,则基于用户操作可以在应用中不选择对摄像参数信息解码,仅对视频帧编码单元进行解码并呈现多个视频帧,节省计算资源的同时,还能提高视频帧解码效率。计算机设备可以基于预先设置(例如,应用默认设置或者用户关于摄像参数信息的选择设置等),对于NAL编码单元中单元主体的内容类型为SEI的编码单元直接跳过,忽略其解码过程,对于其他编码单元进行解码并获取对应多个视频帧的帧数据,并通过显示装置进行呈现。In step S202, the coding sequence is decoded, and the corresponding multiple video frames are obtained and presented through the display device. For example, the computer device includes a corresponding display device for displaying the encoded multiple video frames, such as a display screen or a projector, and the display device can be a display device built into the computer device, or a display device external to the computer device. After the computer device obtains the coding sequence, it decodes the coding sequence based on the corresponding decoding technology, decodes the corresponding multiple video frame encoding units to obtain the corresponding multiple video frames, and the corresponding at least one camera parameter encoding unit determines whether decoding is required according to demand. For example, in some embodiments, in step S202, based on the pre-setting, the at least one camera parameter encoding unit is ignored, and only the multiple video frame encoding units are decoded to obtain and present the corresponding multiple video frames through the display device. For example, this solution can realize the real-time synchronous transmission of video frames and camera parameter information, and since SEI is a non-essential option in the decoding stage, we can determine whether to decode the current camera parameter coding unit according to the current video presentation requirements. For example, the default setting of the corresponding application is to present only the video, for example, there is no need to superimpose virtual information on the video, or the function of the corresponding application includes a selection function for decoding the camera parameter information, then based on the user operation, the camera parameter information can be not selected to be decoded in the application, and only the video frame coding unit is decoded and multiple video frames are presented, which saves computing resources and improves the efficiency of video frame decoding. The computer device can directly skip the coding unit whose content type of the unit body in the NAL coding unit is SEI based on the pre-settings (for example, the default setting of the application or the user's selection setting of the camera parameter information, etc.), ignore its decoding process, decode other coding units and obtain the frame data corresponding to multiple video frames, and present them through the display device.
在一些实施方式中,在步骤S202中,对所述至少一个摄像参数编码单元解码,获取对应摄像参数信息;对所述多个视频帧编码单元进行解码,获取并通过所述显示装置呈现对应的多个视频帧;其中,所述方法还包括步骤S203(未示出),在步骤S203中,根据所述摄像参数信息确定对应世界坐标系至所述摄像装置的像素坐标系的坐标变换信息;根据所述坐标变换信息在所述多个视频帧中进行虚拟信息的叠加呈现。例如,传输设备通过通信连接把摄像参数信息封装成单元主体的内容类型为SEI的编码单元和视频帧编码成视频流对应编码序列传输到计算机设备,计算机设备接收到视频流后,通过视频解码模块,对实时的视频流的编码序列解析成多个视频帧的图像数据和SEI编码单元,并从SEI编码单元获取到摄像内参及摄像位姿信息,然后通过摄像内参及摄像位姿信息计算地理标签(例如,用户输入的地理位置信息和/或者地图位置信息,目标识别确定的某对象并读取对应地理位置信息和/或地图位置信息信息,或者直接调用地理标签信息确定对应的地理位置信息和/或地图位置信息)在屏幕坐标位置,进而渲染屏幕内所有的地理标签。在一些实施例中,计算机设备通过SEI编码单元中的摄像位姿信息在虚拟世界坐标系对齐物理世界坐标系中摄像装置的坐标,地理标签通过模型矩阵将物体坐标变换成虚拟世界坐标,视图矩阵将虚拟世界坐标变换为摄像坐标,通过SEI编码单元中的摄像装置内参转换成投影矩阵对齐相机裁剪坐标(对齐屏幕/视频坐标)等。In some embodiments, in step S202, the at least one camera parameter encoding unit is decoded to obtain corresponding camera parameter information; the multiple video frame encoding units are decoded to obtain and present corresponding multiple video frames through the display device; wherein the method further includes step S203 (not shown), in which coordinate transformation information from the corresponding world coordinate system to the pixel coordinate system of the camera device is determined according to the camera parameter information; and virtual information is superimposed and presented in the multiple video frames according to the coordinate transformation information. For example, the transmission device encapsulates the camera parameter information into a coding unit with a unit body content type of SEI and a video frame into a coding sequence corresponding to the video stream and transmits it to the computer device through a communication connection. After the computer device receives the video stream, it parses the coding sequence of the real-time video stream into image data of multiple video frames and SEI coding units through a video decoding module, and obtains the camera internal parameters and camera posture information from the SEI coding unit. Then, the geographic tag (for example, the geographic location information and/or map location information input by the user, an object determined by target recognition and reading the corresponding geographic location information and/or map location information, or directly calling the geographic tag information to determine the corresponding geographic location information and/or map location information) is calculated at the screen coordinate position through the camera internal parameters and the camera posture information. Then, all the geographic tags on the screen are rendered. In some embodiments, the computer device aligns the coordinates of the camera device in the physical world coordinate system in the virtual world coordinate system through the camera pose information in the SEI coding unit, the geotag transforms the object coordinates into virtual world coordinates through the model matrix, the view matrix transforms the virtual world coordinates into camera coordinates, and the camera device intrinsic parameters in the SEI coding unit are converted into a projection matrix to align the camera cropping coordinates (align the screen/video coordinates), etc.
在一些实施方式中,所述补充增强信息包括对应字节长度信息及防竞争处理后 的字节标识信息、字节参数信息,其中,所述字节参数信息用于填写对应的摄像参数信息,所述字节长度信息用于指示防竞争处理后的所述字节标识信息及所述字节参数信息的字节长度;其中,所述对所述至少一个摄像参数编码单元解码,获取对应摄像参数信息,还包括:将所述至少一个摄像参数编码单元解码获取对应至少一个补充增强信息,读取所述补充增强信息中的字节长度信息及防竞争处理后的字节标识信息、字节参数信息;对防竞争处理后的字节标识信息、字节参数信息进行去防竞争处理,获取去防竞争处理后的真实字节标识信息、真实字节参数信息,并确定去防竞争处理后的真实字节长度信息,其中,所述真实字节长度信息用于指示所述真实字节标识信息、所述真实字节参数信息的字节长度;根据真实字节长度信息、所述真实字节标识信息从所述真实字节参数信息中读取对应的摄像参数信息,从而确定对应的至少一个摄像参数信息。例如,基于前述防竞争处理,补充增强信息中对应字节长度信息用于指示防竞争处理后的字节标识信息及字节参数信息的总字节长度,根据该字节长度信息可以从视频流中确定防竞争处理后的字节标识信息及字节参数信息,则在解码时,计算机设备需要先对该防竞争处理后的字节标识信息及字节参数信息进行去防竞争处理,获取未进行防竞争处理之前的真实字节标识信息及真实字节参数信息等,如根据预设字符,对补充增强信息中字节标识信息(如SEI payload uuid等)及字节参数信息(如SEI payload content等)在特定位置去除对应预设字符等。计算机设备对字节标识信息及字节参数信息进行去防竞争处理后,确定真实字节标识信息及真实字节参数信息,再统计真实字节标识信息及字节参数信息的总字节长度,从而确定对应真实字节长度信息,然后根据真实字节标识信息,如根据真实字节标识信息的字节长度,确定真实字节参数,从而获取摄像参数信息。例如,假设对应真实字节长度信息为47个字节;计算机设备根据真实字节长度信息,减去真实字节标识信息的已知的字节长度16个字节,确定对应真实字节参数信息的字节长度,即47-16=31个字节,从而可以从去防竞争处理后的真实字节标识信息及真实字节参数信息中获取真实字节参数信息,即摄像参数信息。在一些实施例中,该真实字节参数信息的字节长度包括结束符的长度,例如,由于字节参数信息是字符串,C语言中字符串有结束标志,所以有结束符0x00,则真实字节参数信息对应的字节长度减一后的字节长度对应的是摄像参数信息的字节长度,接上例可以从真实字节参数信息中读取包含30个字节的摄像参数信息等。In some implementations, the supplementary enhancement information includes the corresponding byte length information and the byte identification information and byte parameter information, wherein the byte parameter information is used to fill in the corresponding camera parameter information, and the byte length information is used to indicate the byte length of the byte identification information and the byte parameter information after anti-competition processing; wherein, the decoding of the at least one camera parameter encoding unit to obtain the corresponding camera parameter information also includes: decoding the at least one camera parameter encoding unit to obtain the corresponding at least one supplementary enhancement information, reading the byte length information and the byte identification information and byte parameter information after anti-competition processing in the supplementary enhancement information; performing anti-competition removal processing on the byte identification information and byte parameter information after anti-competition processing to obtain the real byte identification information and real byte parameter information after anti-competition processing, and determining the real byte length information after anti-competition removal processing, wherein the real byte length information is used to indicate the byte length of the real byte identification information and the real byte parameter information; reading the corresponding camera parameter information from the real byte parameter information according to the real byte length information and the real byte identification information, thereby determining the corresponding at least one camera parameter information. For example, based on the aforementioned anti-competition processing, the corresponding byte length information in the supplementary enhancement information is used to indicate the total byte length of the byte identification information and byte parameter information after the anti-competition processing. According to the byte length information, the byte identification information and byte parameter information after the anti-competition processing can be determined from the video stream. Then, during decoding, the computer device needs to first perform anti-competition processing on the byte identification information and byte parameter information after the anti-competition processing to obtain the real byte identification information and real byte parameter information before the anti-competition processing is performed, such as removing the corresponding preset characters at specific positions of the byte identification information (such as SEI payload uuid, etc.) and byte parameter information (such as SEI payload content, etc.) in the supplementary enhancement information according to the preset characters. After the computer device performs anti-competition processing on the byte identification information and byte parameter information, the real byte identification information and the real byte parameter information are determined, and then the total byte length of the real byte identification information and byte parameter information is counted, thereby determining the corresponding real byte length information, and then determining the real byte parameters according to the real byte identification information, such as according to the byte length of the real byte identification information, thereby obtaining the camera parameter information. For example, assuming that the corresponding real byte length information is 47 bytes; the computer device determines the byte length of the corresponding real byte parameter information based on the real byte length information, minus the known byte length of 16 bytes of the real byte identification information, that is, 47-16=31 bytes, so that the real byte parameter information, that is, the camera parameter information, can be obtained from the real byte identification information and the real byte parameter information after the anti-competition processing is removed. In some embodiments, the byte length of the real byte parameter information includes the length of the terminator. For example, since the byte parameter information is a string, the string in the C language has an end mark, so there is an end mark 0x00, then the byte length corresponding to the real byte parameter information minus one corresponds to the byte length of the camera parameter information. Continuing with the above example, 30 bytes of camera parameter information can be read from the real byte parameter information.
在一些实施方式中,所述方法还包括步骤S204(未示出),在步骤S204中,根据所述编码序列确定并存储关于所述多个视频帧的封装文件;在步骤S202中,若获取到关于所述封装文件的呈现操作,对所述封装文件中的编码序列进行解码,获取并通过所述显示装置呈现对应的多个视频帧。例如,计算机设备接收到对应的编码序列后,可以直接解码并进行实时视频流呈现,也可以生成对应封装文件,在一些实施例中,该封装文件是指视频文件,如封装成MP4、MOV、MPG、WMV视频文件等,并存储于数据库中,供后续视频播放的调用,如用于预案演习、复盘回顾、或者作为数据集优化坐标变换算法等。计算机设备在后续若获取到关于该封装文件的呈现操作,则从数据库中调用该封装文件,对对应编码序列进行解码,呈现对应多个视频帧,其中,呈现操作可以是基于用户操作或者智能识别等调用呈现等。在一些情形下,计算机设备在后续调用呈现封装文件时,该封装文件中的摄像 参数编码单元与对应视频帧编码单元的编码顺序相同,相应地,对应视频帧呈现时,若需要对摄像参数编码单元进行解码,则解码获取的摄像参数信息与呈现的视频帧依然能实现视频帧级别的同步,一方面,能够还原场景中虚拟内容的渲染,可用于预案演习、复盘回顾等场景,另一方面,能够还原场景,无需每次执行/测试算法都需要重新获取场景视频及摄像参数,从而优化坐标变换算法。In some embodiments, the method further includes step S204 (not shown), in which a packaged file for the multiple video frames is determined and stored according to the coding sequence; in step S202, if a presentation operation for the packaged file is obtained, the coding sequence in the packaged file is decoded, and the corresponding multiple video frames are obtained and presented through the display device. For example, after receiving the corresponding coding sequence, the computer device can directly decode and present the real-time video stream, or generate a corresponding packaged file. In some embodiments, the packaged file refers to a video file, such as a video file packaged into MP4, MOV, MPG, WMV, etc., and stored in a database for subsequent video playback calls, such as for plan exercises, review reviews, or as a data set to optimize coordinate transformation algorithms. If the computer device subsequently obtains a presentation operation for the packaged file, the packaged file is called from the database, the corresponding coding sequence is decoded, and the corresponding multiple video frames are presented, wherein the presentation operation can be based on user operations or intelligent recognition, etc. In some cases, when the computer device subsequently calls to present the packaged file, the camera in the packaged file is The encoding order of the parameter encoding unit is the same as that of the corresponding video frame encoding unit. Accordingly, when the corresponding video frame is presented, if the camera parameter encoding unit needs to be decoded, the camera parameter information obtained by decoding and the presented video frame can still be synchronized at the video frame level. On the one hand, it can restore the rendering of the virtual content in the scene, which can be used for scenarios such as plan exercises and review. On the other hand, it can restore the scene without the need to re-acquire the scene video and camera parameters each time the algorithm is executed/tested, thereby optimizing the coordinate transformation algorithm.
上文主要对本申请的一个方面的一种传输视频帧及摄像参数信息的方法的各实施例进行了介绍,此外,我们还提供了能够实施上述各实施例的具体设备,下面我们将结合图3、图4进行具体介绍。The above mainly introduces the various embodiments of a method for transmitting video frames and camera parameter information in one aspect of the present application. In addition, we also provide specific devices that can implement the above embodiments. Below we will give a specific introduction in conjunction with Figures 3 and 4.
参考图3,示出了一种传输视频帧及摄像参数信息的传输设备,所述传输设备与摄像装置相连接,其中,该传输设备包括一一模块101、一二模块102以及一三模块103。一一模块101,用于获取所述摄像装置拍摄的多个视频帧,及所述多个视频帧被拍摄时的至少一个摄像参数信息;一二模块102,用于根据所述多个视频帧及所述至少一个摄像参数信息生成编码序列,其中,所述编码序列包括多个视频帧编码单元及至少一个摄像参数编码单元,每个摄像参数编码单元中包含用于指示对应摄像参数信息的补充增强信息;一三模块103,用于将所述编码序列传输至计算机设备。Referring to FIG3 , a transmission device for transmitting video frames and camera parameter information is shown, the transmission device is connected to the camera device, wherein the transmission device includes a module-101, a module-202 and a module-303. The module-101 is used to obtain multiple video frames shot by the camera device and at least one camera parameter information when the multiple video frames are shot; the module-202 is used to generate a coding sequence according to the multiple video frames and the at least one camera parameter information, wherein the coding sequence includes multiple video frame coding units and at least one camera parameter coding unit, each camera parameter coding unit contains supplementary enhancement information for indicating corresponding camera parameter information; the module-303 is used to transmit the coding sequence to a computer device.
在一些实施方式中,所述摄像参数信息包括摄像装置的内参信息及摄像位姿信息。In some implementations, the camera parameter information includes internal reference information and camera posture information of the camera device.
在一些实施方式中,一一模块101,用于获取所述摄像装置拍摄的多个视频帧;获取所述多个视频帧被拍摄时的多个候选摄像参数信息,从所述多个候选摄像参数信息中确定满足预设条件的至少一个摄像参数信息。在一些实施方式中,所述预设条件包括但不限于:某候选摄像参数信息的获取时间与所述视频帧中之一的拍摄时间相同,则将所述某候选摄像参数信息确定为摄像参数信息;按照预设间隔从所述多个候选摄像参数信息中抽样,从而确定对应摄像参数信息;某候选摄像参数信息与所述某候选摄像参数信息的前序候选摄像参数信息不同,则将所述某候选摄像参数信息确定为摄像参数信息。In some embodiments, a module 101 is used to obtain multiple video frames shot by the camera device; obtain multiple candidate camera parameter information when the multiple video frames are shot, and determine at least one camera parameter information that meets the preset conditions from the multiple candidate camera parameter information. In some embodiments, the preset conditions include but are not limited to: if the acquisition time of a certain candidate camera parameter information is the same as the shooting time of one of the video frames, then the certain candidate camera parameter information is determined as the camera parameter information; sampling from the multiple candidate camera parameter information at a preset interval to determine the corresponding camera parameter information; if a certain candidate camera parameter information is different from the previous candidate camera parameter information of the certain candidate camera parameter information, then the certain candidate camera parameter information is determined as the camera parameter information.
在一些实施方式中,一二模块102,用于利用视频编码技术,根据所述多个视频帧及所述至少一个摄像参数信息生成对应的多个视频帧编码单元及至少一个摄像参数编码单元;根据所述多个视频帧编码单元及所述至少一个摄像参数编码单元生成对应的编码序列。例如,所述高视频编码技术包括但不限于H.264、H.265等标准对应的视频编码技术。在一些实施方式中,所述摄像参数信息以JSON字符串的形式存储于所述补充增强信息中。In some embodiments, the module 102 is used to generate corresponding multiple video frame encoding units and at least one camera parameter encoding unit according to the multiple video frames and the at least one camera parameter information using video encoding technology; and generate corresponding encoding sequences according to the multiple video frame encoding units and the at least one camera parameter encoding unit. For example, the high-definition video encoding technology includes but is not limited to video encoding technologies corresponding to standards such as H.264 and H.265. In some embodiments, the camera parameter information is stored in the supplemental enhancement information in the form of a JSON string.
在一些实施方式中,所述根据所述多个视频帧编码单元及所述至少一个摄像参数编码单元生成对应的编码序列,包括:根据所述多个视频帧的采集顺序,将所述多个视频帧编码单元及所述至少一个摄像参数编码单元排列组成编码序列。In some embodiments, generating a corresponding coding sequence based on the multiple video frame coding units and the at least one camera parameter coding unit includes: arranging the multiple video frame coding units and the at least one camera parameter coding unit into a coding sequence according to the acquisition order of the multiple video frames.
在一些实施方式中,所述补充增强信息包括对应字节长度信息及字节参数信息,其中,所述字节参数信息用于填写对应的摄像参数信息,所述字节长度信息用于指示所述字节参数信息的字节长度。在一些实施方式中,所述补充增强信息还包括对应的字节标识信息,所述字节长度信息用于指示所述字节标识信息与所述字节参数信息的字节长度。 In some embodiments, the supplemental enhancement information includes corresponding byte length information and byte parameter information, wherein the byte parameter information is used to fill in the corresponding camera parameter information, and the byte length information is used to indicate the byte length of the byte parameter information. In some embodiments, the supplemental enhancement information also includes corresponding byte identification information, and the byte length information is used to indicate the byte length of the byte identification information and the byte parameter information.
在一些实施方式中,所述传输设备还包括一四模块(未示出),用于对所述字节标识信息及所述字节参数信息进行防竞争处理,在所述字节标识信息及所述字节参数信息的每个字节中插入预设字符,以获取防竞争处理后的字节标识信息及字节参数信息;通过统计防竞争处理后的字节标识信息及字节参数信息,以确定对应字节长度信息。In some embodiments, the transmission device also includes a module (not shown) for performing anti-contention processing on the byte identification information and the byte parameter information, inserting a preset character into each byte of the byte identification information and the byte parameter information to obtain the byte identification information and the byte parameter information after anti-contention processing; and determining the corresponding byte length information by counting the byte identification information and the byte parameter information after anti-contention processing.
在一些实施方式中,所述传输设备还包括一五模块(未示出),用于对所述多个视频帧进行颜色空间转换,确定符合预设颜色空间的多个转换视频帧;其中,一二模块102,用于根据所述多个转换视频帧及所述至少一个摄像参数信息生成编码序列,其中,所述编码序列包括多个视频帧编码单元及至少一个摄像参数编码单元,每个摄像参数编码单元中包含用于指示对应摄像参数信息的补充增强信息。In some embodiments, the transmission device also includes a module 15 (not shown) for performing color space conversion on the multiple video frames to determine multiple converted video frames that conform to a preset color space; wherein the module 12 102 is used to generate a coding sequence based on the multiple converted video frames and the at least one camera parameter information, wherein the coding sequence includes multiple video frame coding units and at least one camera parameter coding unit, and each camera parameter coding unit contains supplementary enhancement information for indicating corresponding camera parameter information.
在此,所述一一模块101、一二模块102、一三模块103、一四模块以及一五模块对应的具体实施方式与前述步骤S101、步骤S102、步骤S103、步骤S104以及步骤S105的实施例相同或相似,因而不再赘述,以引用的方式包含于此。Here, the specific implementations corresponding to the module 11 101, the module 12 102, the module 13 103, the module 14 and the module 15 are the same or similar to the aforementioned step S101, step S102, step S103, step S104 and step S105, and are therefore not repeated herein and are included herein by reference.
图4示出根据本申请另一个方面的一种传输视频帧及摄像参数信息的计算机设备,所述计算机设备包括显示装置,其中,该计算机设备包括二一模块201、二二模块202。二一模块201,用于接收对应传输设备发送的、摄像装置拍摄的多个视频帧的编码序列,其中,所述编码序列包括多个视频帧编码单元及至少一个摄像参数编码单元,每个摄像参数编码单元中包含用于指示对应摄像参数信息的补充增强信息;二二模块202,用于对所述编码序列进行解码,获取并通过所述显示装置呈现对应的多个视频帧。FIG4 shows a computer device for transmitting video frames and camera parameter information according to another aspect of the present application, the computer device includes a display device, wherein the computer device includes a 21 module 201 and a 22 module 202. The 21 module 201 is used to receive a coding sequence of multiple video frames sent by a corresponding transmission device and shot by a camera device, wherein the coding sequence includes multiple video frame coding units and at least one camera parameter coding unit, and each camera parameter coding unit contains supplementary enhancement information for indicating corresponding camera parameter information; the 22 module 202 is used to decode the coding sequence, obtain and present the corresponding multiple video frames through the display device.
在一些实施方式中,二二模块202,用于基于预先设置,忽略所述至少一个摄像参数编码单元,仅对所述多个视频帧编码单元进行解码,以获取并通过所述显示装置呈现对应的多个视频帧。In some embodiments, the module 202 is configured to ignore the at least one camera parameter encoding unit based on a preset setting, and only decode the multiple video frame encoding units to obtain and present the corresponding multiple video frames through the display device.
在一些实施方式中,二二模块202,用于对所述至少一个摄像参数编码单元解码,获取对应摄像参数信息;对所述多个视频帧编码单元进行解码,获取并通过所述显示装置呈现对应的多个视频帧;其中,所述计算机设备还包括二三模块(未示出),用于根据所述摄像参数信息确定对应世界坐标系至所述摄像装置的像素坐标系的坐标变换信息;根据所述坐标变换信息在所述多个视频帧中进行虚拟信息的叠加呈现。在一些实施方式中,所述补充增强信息包括对应字节长度信息及防竞争处理后的字节标识信息、字节参数信息,其中,所述字节参数信息用于填写对应的摄像参数信息,所述字节长度信息用于指示防竞争处理后的所述字节标识信息及所述字节参数信息的字节长度;其中,所述对所述至少一个摄像参数编码单元解码,获取对应摄像参数信息,还包括:将所述至少一个摄像参数编码单元解码获取对应至少一个补充增强信息,读取所述补充增强信息中的字节长度信息及防竞争处理后的字节标识信息、字节参数信息;对防竞争处理后的字节标识信息、字节参数信息进行去防竞争处理,获取去防竞争处理后的真实字节标识信息、真实字节参数信息,并确定去防竞争处理后的真实字节长度信息,其中,所述真实字节长度信息用于指示所述真实字节标识信息、所述真实字节参数信息的字节长度;根据真实字节长度信息、所述真实字节标识信息从所述真实字节参数信息中读取对应的摄像参数信息,从而确定对应的至少一个摄像参数信息。 In some embodiments, the 22 module 202 is used to decode the at least one camera parameter encoding unit to obtain corresponding camera parameter information; decode the multiple video frame encoding units to obtain and present the corresponding multiple video frames through the display device; wherein the computer device also includes a 23 module (not shown) for determining the coordinate transformation information from the corresponding world coordinate system to the pixel coordinate system of the camera device according to the camera parameter information; and superimpose virtual information in the multiple video frames according to the coordinate transformation information. In some embodiments, the supplementary enhancement information includes corresponding byte length information and byte identification information and byte parameter information after anti-competition processing, wherein the byte parameter information is used to fill in the corresponding camera parameter information, and the byte length information is used to indicate the byte length of the byte identification information and the byte parameter information after anti-competition processing; wherein, the decoding of the at least one camera parameter encoding unit to obtain the corresponding camera parameter information also includes: decoding the at least one camera parameter encoding unit to obtain the corresponding at least one supplementary enhancement information, reading the byte length information and the byte identification information and byte parameter information after anti-competition processing in the supplementary enhancement information; performing anti-competition processing on the byte identification information and byte parameter information after anti-competition processing to obtain the real byte identification information and real byte parameter information after anti-competition processing, and determining the real byte length information after anti-competition processing, wherein the real byte length information is used to indicate the byte length of the real byte identification information and the real byte parameter information; reading the corresponding camera parameter information from the real byte parameter information according to the real byte length information and the real byte identification information, thereby determining the corresponding at least one camera parameter information.
在一些实施方式中,所述计算机设备还包括二四模块(未示出),用于根据所述编码序列确定并存储关于所述多个视频帧的封装文件;其中,二二模块202,用于若获取到关于所述封装文件的呈现操作,对所述封装文件中的编码序列进行解码,获取并通过所述显示装置呈现对应的多个视频帧。In some embodiments, the computer device also includes a 24 module (not shown), which is used to determine and store an encapsulation file regarding the multiple video frames based on the coding sequence; wherein the 22 module 202 is used to decode the coding sequence in the encapsulation file if a presentation operation regarding the encapsulation file is obtained, and obtain and present the corresponding multiple video frames through the display device.
在此,所述二一模块201、二二模块202、二三模块以及二四模块对应的具体实施方式与前述步骤S201、步骤S202、步骤S203以及步骤S204的实施例相同或相似,因而不再赘述,以引用的方式包含于此。Here, the specific implementations corresponding to the 21 module 201, 22 module 202, 23 module and 24 module are the same or similar to the embodiments of the aforementioned step S201, step S202, step S203 and step S204, and are therefore not repeated here and are included herein by reference.
除上述各实施例介绍的方法和设备外,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机代码,当所述计算机代码被执行时,如前任一项所述的方法被执行。In addition to the methods and devices described in the above embodiments, the present application also provides a computer-readable storage medium, which stores computer code. When the computer code is executed, the method described in any of the preceding items is executed.
本申请还提供了一种计算机程序产品,当所述计算机程序产品被计算机设备执行时,如前任一项所述的方法被执行。The present application also provides a computer program product. When the computer program product is executed by a computer device, the method described in any of the preceding items is executed.
本申请还提供了一种计算机设备,所述计算机设备包括:The present application also provides a computer device, the computer device comprising:
一个或多个处理器;one or more processors;
存储器,用于存储一个或多个计算机程序;a memory for storing one or more computer programs;
当所述一个或多个计算机程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如前任一项所述的方法。When the one or more computer programs are executed by the one or more processors, the one or more processors are caused to implement the method as described in any of the preceding items.
图5示出了可被用于实施本申请中所述的各个实施例的示例性系统;FIG5 illustrates an exemplary system that can be used to implement various embodiments described in this application;
如图5所示在一些实施例中,系统300能够作为各所述实施例中的任意一个上述设备。在一些实施例中,系统300可包括具有指令的一个或多个计算机可读介质(例如,系统存储器或NVM/存储设备320)以及与该一个或多个计算机可读介质耦合并被配置为执行指令以实现模块从而执行本申请中所述的动作的一个或多个处理器(例如,(一个或多个)处理器305)。As shown in FIG5 , in some embodiments, the system 300 can be used as any of the above-mentioned devices in each of the described embodiments. In some embodiments, the system 300 may include one or more computer-readable media (e.g., system memory or NVM/storage device 320) having instructions and one or more processors (e.g., (one or more) processors 305) coupled to the one or more computer-readable media and configured to execute instructions to implement modules to perform the actions described in the present application.
对于一个实施例,系统控制模块310可包括任意适当的接口控制器,以向(一个或多个)处理器305中的至少一个和/或与系统控制模块310通信的任意适当的设备或组件提供任意适当的接口。For one embodiment, system control module 310 may include any suitable interface controller to provide any suitable interface to at least one of processor(s) 305 and/or any suitable device or component in communication with system control module 310 .
系统控制模块310可包括存储器控制器模块330,以向系统存储器315提供接口。存储器控制器模块330可以是硬件模块、软件模块和/或固件模块。The system control module 310 may include a memory controller module 330 to provide an interface to the system memory 315. The memory controller module 330 may be a hardware module, a software module, and/or a firmware module.
系统存储器315可被用于例如为系统300加载和存储数据和/或指令。对于一个实施例,系统存储器315可包括任意适当的易失性存储器,例如,适当的DRAM。在一些实施例中,系统存储器315可包括双倍数据速率类型四同步动态随机存取存储器(DDR4SDRAM)。The system memory 315 may be used, for example, to load and store data and/or instructions for the system 300. For one embodiment, the system memory 315 may include any suitable volatile memory, such as a suitable DRAM. In some embodiments, the system memory 315 may include double data rate type four synchronous dynamic random access memory (DDR4 SDRAM).
对于一个实施例,系统控制模块310可包括一个或多个输入/输出(I/O)控制器,以向NVM/存储设备320及(一个或多个)通信接口325提供接口。For one embodiment, system control module 310 may include one or more input/output (I/O) controllers to provide interfaces to NVM/storage device 320 and communication interface(s) 325 .
例如,NVM/存储设备320可被用于存储数据和/或指令。NVM/存储设备320可包括任意适当的非易失性存储器(例如,闪存)和/或可包括任意适当的(一个或多个)非易失性存储设备(例如,一个或多个硬盘驱动器(HDD)、一个或多个光盘(CD)驱动器和/或一个或多个数字通用光盘(DVD)驱动器)。For example, NVM/storage device 320 may be used to store data and/or instructions. NVM/storage device 320 may include any suitable non-volatile memory (e.g., flash memory) and/or may include any suitable non-volatile storage device(s) (e.g., one or more hard disk drives (HDDs), one or more compact disk (CD) drives, and/or one or more digital versatile disk (DVD) drives).
NVM/存储设备320可包括在物理上作为系统300被安装在其上的设备的一部分的存储资源,或者其可被该设备访问而不必作为该设备的一部分。例如,NVM/ 存储设备320可通过网络经由(一个或多个)通信接口325进行访问。NVM/storage device 320 may include storage resources that are physically part of the device on which system 300 is installed, or that are accessible to the device without being part of the device. Storage device 320 may be accessible over a network via communication interface(s) 325 .
(一个或多个)通信接口325可为系统300提供接口以通过一个或多个网络和/或与任意其他适当的设备通信。系统300可根据一个或多个无线网络标准和/或协议中的任意标准和/或协议来与无线网络的一个或多个组件进行无线通信。Communication interface(s) 325 may provide an interface for system 300 to communicate over one or more networks and/or with any other suitable devices. System 300 may wirelessly communicate with one or more components of a wireless network in accordance with any of one or more wireless network standards and/or protocols.
对于一个实施例,(一个或多个)处理器305中的至少一个可与系统控制模块310的一个或多个控制器(例如,存储器控制器模块330)的逻辑封装在一起。对于一个实施例,(一个或多个)处理器305中的至少一个可与系统控制模块310的一个或多个控制器的逻辑封装在一起以形成系统级封装(SiP)。对于一个实施例,(一个或多个)处理器305中的至少一个可与系统控制模块310的一个或多个控制器的逻辑集成在同一模具上。对于一个实施例,(一个或多个)处理器305中的至少一个可与系统控制模块310的一个或多个控制器的逻辑集成在同一模具上以形成片上系统(SoC)。For one embodiment, at least one of the processor(s) 305 may be packaged together with the logic of one or more controllers of the system control module 310 (e.g., the memory controller module 330). For one embodiment, at least one of the processor(s) 305 may be packaged together with the logic of one or more controllers of the system control module 310 to form a system-in-package (SiP). For one embodiment, at least one of the processor(s) 305 may be integrated on the same die with the logic of one or more controllers of the system control module 310. For one embodiment, at least one of the processor(s) 305 may be integrated on the same die with the logic of one or more controllers of the system control module 310 to form a system on chip (SoC).
在各个实施例中,系统300可以但不限于是:服务器、工作站、台式计算设备或移动计算设备(例如,膝上型计算设备、手持计算设备、平板电脑、上网本等)。在各个实施例中,系统300可具有更多或更少的组件和/或不同的架构。例如,在一些实施例中,系统300包括一个或多个摄像机、键盘、液晶显示器(LCD)屏幕(包括触屏显示器)、非易失性存储器端口、多个天线、图形芯片、专用集成电路(ASIC)和扬声器。In various embodiments, the system 300 may be, but is not limited to, a server, a workstation, a desktop computing device, or a mobile computing device (e.g., a laptop computing device, a handheld computing device, a tablet computer, a netbook, etc.). In various embodiments, the system 300 may have more or fewer components and/or a different architecture. For example, in some embodiments, the system 300 includes one or more cameras, a keyboard, a liquid crystal display (LCD) screen (including a touch screen display), a non-volatile memory port, multiple antennas, a graphics chip, an application specific integrated circuit (ASIC), and a speaker.
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。It should be noted that the present application can be implemented in software and/or a combination of software and hardware, for example, can be implemented using an application specific integrated circuit (ASIC), a general purpose computer or any other similar hardware device. In one embodiment, the software program of the present application can be executed by a processor to implement the steps or functions described above. Similarly, the software program of the present application (including relevant data structures) can be stored in a computer-readable recording medium, for example, a RAM memory, a magnetic or optical drive or a floppy disk and similar devices. In addition, some steps or functions of the present application can be implemented using hardware, for example, as a circuit that cooperates with a processor to perform each step or function.
另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。本领域技术人员应能理解,计算机程序指令在计算机可读介质中的存在形式包括但不限于源文件、可执行文件、安装包文件等,相应地,计算机程序指令被计算机执行的方式包括但不限于:该计算机直接执行该指令,或者该计算机编译该指令后再执行对应的编译后程序,或者该计算机读取并执行该指令,或者该计算机读取并安装该指令后再执行对应的安装后程序。在此,计算机可读介质可以是可供计算机访问的任意可用的计算机可读存储介质或通信介质。In addition, a part of the present application may be applied as a computer program product, such as a computer program instruction, which, when executed by a computer, can call or provide the method and/or technical solution according to the present application through the operation of the computer. Those skilled in the art should understand that the existence of computer program instructions in computer-readable media includes but is not limited to source files, executable files, installation package files, etc., and accordingly, the way in which computer program instructions are executed by a computer includes but is not limited to: the computer directly executes the instruction, or the computer compiles the instruction and then executes the corresponding compiled program, or the computer reads and executes the instruction, or the computer reads and installs the instruction and then executes the corresponding installed program. Here, the computer-readable medium can be any available computer-readable storage medium or communication medium accessible to the computer.
通信介质包括藉此包含例如计算机可读指令、数据结构、程序模块或其他数据的通信信号被从一个系统传送到另一系统的介质。通信介质可包括有导的传输介质(诸如电缆和线(例如,光纤、同轴等))和能传播能量波的无线(未有导的传输)介质,诸如声音、电磁、RF、微波和红外。计算机可读指令、数据结构、程序模块或其他数据可被体现为例如无线介质(诸如载波或诸如被体现为扩展频谱技术的一部分的类似机制)中的已调制数据信号。术语“已调制数据信号”指的是其一个或多个特征以在信号中编码信息的方式被更改或设定的信号。调制可以是模拟的、数字的或混合调制技术。 Communication media include media by which communication signals containing, for example, computer readable instructions, data structures, program modules, or other data are transmitted from one system to another. Communication media may include guided transmission media such as cables and wires (e.g., fiber optic, coaxial, etc.) and wireless (unguided transmission) media that can propagate energy waves, such as acoustic, electromagnetic, RF, microwave, and infrared. Computer readable instructions, data structures, program modules, or other data may be embodied as a modulated data signal in, for example, a wireless medium such as a carrier wave or similar mechanism such as embodied as part of spread spectrum technology. The term "modulated data signal" refers to a signal whose one or more characteristics are changed or set in such a manner as to encode information in the signal. Modulation may be analog, digital, or a hybrid modulation technique.
作为示例而非限制,计算机可读存储介质可包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据的信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动的介质。例如,计算机可读存储介质包括,但不限于,易失性存储器,诸如随机存储器(RAM,DRAM,SRAM);以及非易失性存储器,诸如闪存、各种只读存储器(ROM,PROM,EPROM,EEPROM)、磁性和铁磁/铁电存储器(MRAM,FeRAM);以及磁性和光学存储设备(硬盘、磁带、CD、DVD);或其它现在已知的介质或今后开发的能够存储供计算机系统使用的计算机可读信息/数据。By way of example and not limitation, computer-readable storage media may include volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storing information such as computer-readable instructions, data structures, program modules or other data. For example, computer-readable storage media include, but are not limited to, volatile memory, such as random access memory (RAM, DRAM, SRAM); and non-volatile memory, such as flash memory, various read-only memories (ROM, PROM, EPROM, EEPROM), magnetic and ferromagnetic/ferroelectric memories (MRAM, FeRAM); and magnetic and optical storage devices (hard disks, magnetic tapes, CDs, DVDs); or other media now known or later developed that can store computer-readable information/data for use with a computer system.
在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。Here, according to an embodiment of the present application, a device is included, which includes a memory for storing computer program instructions and a processor for executing the program instructions, wherein, when the computer program instructions are executed by the processor, the device is triggered to run the methods and/or technical solutions based on the aforementioned multiple embodiments of the present application.
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。 It is obvious to those skilled in the art that the present application is not limited to the details of the above exemplary embodiments, and that the present application can be implemented in other specific forms without departing from the spirit or basic features of the present application. Therefore, from any point of view, the embodiments should be regarded as exemplary and non-restrictive, and the scope of the present application is defined by the appended claims rather than the above description, and it is intended that all changes falling within the meaning and scope of the equivalent elements of the claims are included in the present application. Any figure mark in the claims should not be regarded as limiting the claims involved. In addition, it is obvious that the word "comprising" does not exclude other units or steps, and the singular does not exclude the plural. Multiple units or devices stated in the device claim can also be implemented by one unit or device through software or hardware. The words first, second, etc. are used to indicate names, and do not indicate any particular order.
Claims (21)
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202211481736.6A CN115866254A (en) | 2022-11-24 | 2022-11-24 | Method and equipment for transmitting video frame and camera shooting parameter information |
| CN202211481736.6 | 2022-11-24 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2024109317A1 true WO2024109317A1 (en) | 2024-05-30 |
Family
ID=85665814
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2023/121056 Ceased WO2024109317A1 (en) | 2022-11-24 | 2023-09-25 | Method and device for transmitting video frames and camera parameter information |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN115866254A (en) |
| WO (1) | WO2024109317A1 (en) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN115866254A (en) * | 2022-11-24 | 2023-03-28 | 亮风台(上海)信息科技有限公司 | Method and equipment for transmitting video frame and camera shooting parameter information |
| CN116828135A (en) * | 2023-07-28 | 2023-09-29 | 亮风台(上海)信息科技有限公司 | Method and device for transmitting augmented reality video stream |
Citations (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN103561230A (en) * | 2013-09-27 | 2014-02-05 | 高新兴科技集团股份有限公司 | Camera information processing device and method |
| CN104363430A (en) * | 2014-12-04 | 2015-02-18 | 高新兴科技集团股份有限公司 | Augmented reality camera monitoring method and system thereof |
| CN107924575A (en) * | 2015-08-20 | 2018-04-17 | 微软技术许可有限责任公司 | The asynchronous 3D annotations of video sequence |
| WO2020122361A1 (en) * | 2018-12-12 | 2020-06-18 | 엘지전자 주식회사 | Method for displaying 360-degree video including camera lens information, and device therefor |
| CN112422984A (en) * | 2020-10-26 | 2021-02-26 | 眸芯科技(上海)有限公司 | Code stream preprocessing device, system and method of multi-core decoding system |
| CN113345028A (en) * | 2021-06-01 | 2021-09-03 | 亮风台(上海)信息科技有限公司 | Method and equipment for determining target coordinate transformation information |
| CN114326764A (en) * | 2021-11-29 | 2022-04-12 | 上海岩易科技有限公司 | Rtmp transmission-based smart forestry unmanned aerial vehicle fixed-point live broadcast method and unmanned aerial vehicle system |
| CN115866254A (en) * | 2022-11-24 | 2023-03-28 | 亮风台(上海)信息科技有限公司 | Method and equipment for transmitting video frame and camera shooting parameter information |
Family Cites Families (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100357266B1 (en) * | 2000-12-06 | 2002-10-19 | 엘지전자 주식회사 | A method for video coding and transmitting using data partitioning method |
| CA2672144A1 (en) * | 2006-04-14 | 2008-11-20 | Patrick Levy Rosenthal | Virtual video camera device with three-dimensional tracking and virtual object insertion |
| US9503777B2 (en) * | 2007-06-05 | 2016-11-22 | Broadcom Corporation | Method and system for unified start code emulation prevention bits processing for AVS |
| US20130100248A1 (en) * | 2011-05-11 | 2013-04-25 | Shinya Kadono | Video transmitting apparatus and video transmitting method |
| US9241167B2 (en) * | 2012-02-17 | 2016-01-19 | Microsoft Technology Licensing, Llc | Metadata assisted video decoding |
| CN109982067B (en) * | 2017-12-28 | 2021-02-02 | 浙江宇视科技有限公司 | Video processing method and device |
| CN111640181A (en) * | 2020-05-14 | 2020-09-08 | 佳都新太科技股份有限公司 | Interactive video projection method, device, equipment and storage medium |
| CN112533014B (en) * | 2020-11-26 | 2023-06-09 | Oppo广东移动通信有限公司 | Method, device and equipment for processing and displaying target item information in live video broadcast |
| CN113206971B (en) * | 2021-04-13 | 2023-10-24 | 聚好看科技股份有限公司 | Image processing method and display device |
| CN115225913A (en) * | 2021-04-20 | 2022-10-21 | 中兴通讯股份有限公司 | A code stream processing method, device, terminal device and storage medium |
| CN115190237B (en) * | 2022-06-20 | 2023-12-15 | 亮风台(上海)信息科技有限公司 | Method and device for determining rotation angle information of bearing device |
-
2022
- 2022-11-24 CN CN202211481736.6A patent/CN115866254A/en active Pending
-
2023
- 2023-09-25 WO PCT/CN2023/121056 patent/WO2024109317A1/en not_active Ceased
Patent Citations (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN103561230A (en) * | 2013-09-27 | 2014-02-05 | 高新兴科技集团股份有限公司 | Camera information processing device and method |
| CN104363430A (en) * | 2014-12-04 | 2015-02-18 | 高新兴科技集团股份有限公司 | Augmented reality camera monitoring method and system thereof |
| CN107924575A (en) * | 2015-08-20 | 2018-04-17 | 微软技术许可有限责任公司 | The asynchronous 3D annotations of video sequence |
| WO2020122361A1 (en) * | 2018-12-12 | 2020-06-18 | 엘지전자 주식회사 | Method for displaying 360-degree video including camera lens information, and device therefor |
| CN112422984A (en) * | 2020-10-26 | 2021-02-26 | 眸芯科技(上海)有限公司 | Code stream preprocessing device, system and method of multi-core decoding system |
| CN113345028A (en) * | 2021-06-01 | 2021-09-03 | 亮风台(上海)信息科技有限公司 | Method and equipment for determining target coordinate transformation information |
| CN114326764A (en) * | 2021-11-29 | 2022-04-12 | 上海岩易科技有限公司 | Rtmp transmission-based smart forestry unmanned aerial vehicle fixed-point live broadcast method and unmanned aerial vehicle system |
| CN115866254A (en) * | 2022-11-24 | 2023-03-28 | 亮风台(上海)信息科技有限公司 | Method and equipment for transmitting video frame and camera shooting parameter information |
Also Published As
| Publication number | Publication date |
|---|---|
| CN115866254A (en) | 2023-03-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP6214235B2 (en) | File generation method, file generation apparatus, and program | |
| CN109840879B (en) | Image rendering method and device, computer storage medium and terminal | |
| US9894393B2 (en) | Video encoding for reduced streaming latency | |
| CN101867796B (en) | Method and device for monitoring video | |
| WO2024109317A1 (en) | Method and device for transmitting video frames and camera parameter information | |
| CN111866457B (en) | Monitoring image processing method, electronic device, storage medium and system | |
| WO2019128668A1 (en) | Method and apparatus for processing video bitstream, network device, and readable storage medium | |
| CN103731631A (en) | Method, device and system for transmitting video image | |
| US20190228804A1 (en) | Device, method, storage medium, and terminal for controlling video stream data playing | |
| US12052454B2 (en) | Data processing method, apparatus, and device for point cloud media, and storage medium | |
| WO2022037423A1 (en) | Data processing method, apparatus and device for point cloud media, and medium | |
| US20150189365A1 (en) | Method and apparatus for generating a recording index | |
| JP2015536589A (en) | Method and apparatus for encapsulating random access information for media transmission and storage | |
| WO2021217467A1 (en) | Method and apparatus for testing intelligent camera | |
| WO2020135527A1 (en) | Multimedia data processing | |
| CN108810575B (en) | A method and device for sending target video | |
| CN113261283B (en) | Video processing method, device and computer readable storage medium | |
| WO2025222852A1 (en) | Hls information generation method | |
| CN116684539A (en) | Method and device for presenting augmented reality information in video stream | |
| US12148106B2 (en) | Data processing method and apparatus for immersive media, and computer-readable storage medium | |
| CN119906861A (en) | Video transmission method, video display method and device | |
| CN120604518A (en) | Method for decoding a video stream | |
| CN104219538B (en) | A kind of audio frequency and video gather upload and data processing method and system in real time | |
| WO2023169003A1 (en) | Point cloud media decoding method and apparatus and point cloud media coding method and apparatus | |
| CN110636368B (en) | Media playing method, system, device and storage medium |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 23893409 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 23893409 Country of ref document: EP Kind code of ref document: A1 |