WO2022040875A1 - Data transmission and processing methods, mobile platform, terminal device and chip - Google Patents

Data transmission and processing methods, mobile platform, terminal device and chip Download PDF

Info

Publication number
WO2022040875A1
WO2022040875A1 PCT/CN2020/110864 CN2020110864W WO2022040875A1 WO 2022040875 A1 WO2022040875 A1 WO 2022040875A1 CN 2020110864 W CN2020110864 W CN 2020110864W WO 2022040875 A1 WO2022040875 A1 WO 2022040875A1
Authority
WO
WIPO (PCT)
Prior art keywords
metadata
data
code stream
video data
unit corresponding
Prior art date
Application number
PCT/CN2020/110864
Other languages
French (fr)
Chinese (zh)
Inventor
耿超
梁耀
王景正
Original Assignee
深圳市大疆创新科技有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 深圳市大疆创新科技有限公司 filed Critical 深圳市大疆创新科技有限公司
Priority to CN202080042117.XA priority Critical patent/CN113950825A/en
Priority to PCT/CN2020/110864 priority patent/WO2022040875A1/en
Publication of WO2022040875A1 publication Critical patent/WO2022040875A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/06Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home

Definitions

  • the present application relates to the field of communication technologies, and in particular, to a data transmission method, a data processing method, a movable platform, a terminal device, and a chip.
  • the present application provides a data transmission and processing method, a movable platform, a terminal device and a chip, which can improve the transmission efficiency of metadata.
  • an embodiment of the present application provides a data transmission method, the method is applied to a movable platform, and the movable platform can communicate with a terminal device, and the method includes:
  • the code stream includes data units, at least one of the data units includes metadata, and the metadata is used to indicate motion state information of the movable platform;
  • an embodiment of the present application further provides a data processing method, the method is applied to a terminal device, the terminal device and a movable platform, and the method includes:
  • a data unit is parsed from the code stream based on a video data encoding protocol; at least one data unit in the data unit includes metadata, and the metadata is used to indicate motion state information of the movable platform;
  • Motion state information of the movable platform is determined based on the metadata.
  • the embodiments of the present application also provide a movable platform, including:
  • a processor configured to generate a code stream based on a video data encoding protocol, the code stream includes data units, at least one of the data units contains metadata, and the metadata is used to indicate the movement of the movable platform status information;
  • the communication interface is used for sending the code stream to the terminal device.
  • an embodiment of the present application further provides a terminal device, including:
  • the communication interface is used to receive the code stream sent by the mobile platform
  • a processor configured to parse a data unit from the code stream based on a video data encoding protocol; at least one data unit in the data unit includes metadata, and the metadata is used to indicate the motion state of the movable platform information; determining motion state information of the movable platform based on the metadata.
  • an embodiment of the present application further provides a chip, where the chip includes a memory and a processor, and the processor executes a computer program stored in the memory to implement the above-mentioned data transmission method.
  • an embodiment of the present application further provides a chip, where the chip includes a memory and a processor, and the processor executes a computer program stored in the memory to implement the above data processing method.
  • the embodiments of the present application provide instructions that, when executed on a computer, cause the computer to execute the data transmission method as described above.
  • an embodiment of the present application provides a computer-readable storage medium, including instructions, which, when executed on a computer, cause the computer to execute the data processing method as described above.
  • the mobile platform In the data transmission method provided by the embodiment of the present application, the mobile platform generates a code stream based on a video data encoding protocol, the code stream includes data units, and at least one data unit in the data units includes metadata, and the metadata is used for Indicate the motion state information of the movable platform, and send the code stream to the terminal device.
  • the technical solutions provided by the embodiments of the present application improve data transmission efficiency by placing data in a video transmission protocol-based code stream for transmission.
  • FIG. 1 is a flowchart of a data transmission method provided by an embodiment of the present application.
  • FIG. 3 is a schematic diagram of a network abstraction layer unit provided by an embodiment of the present application.
  • FIG. 4 is a schematic diagram of a code stream provided by an embodiment of the present application.
  • FIG. 5 is a schematic diagram of a data transmission process provided by an embodiment of the present application.
  • FIG. 6 is a schematic diagram of another data transmission process provided by an embodiment of the present application.
  • FIG. 7 is a flowchart of a UAV data return process provided by an embodiment of the present application.
  • FIG. 8 is a flowchart of a data processing method provided by an embodiment of the present application.
  • FIG. 10 is a block diagram of a movable platform provided by an embodiment of the present application.
  • FIG. 11 is a block diagram of a terminal device provided by an embodiment of the present application.
  • an embodiment of the present application provides a data transmission method based on a video data encoding protocol.
  • FIG. 1 shows a flowchart of a data transmission method provided by an embodiment of the present application.
  • the method can be applied to a movable platform, wherein the movable platform can communicate with a terminal device, and the method includes:
  • the embodiments of the present application may be applied to a movable platform, and the movable platform may be an aircraft, such as a multi-rotor UAV and a fixed-wing UAV. It can also be a mobile platform such as an unmanned vehicle, ship, submarine, etc. It can also be a handheld camera device.
  • the movable platform may be an aircraft, such as a multi-rotor UAV and a fixed-wing UAV. It can also be a mobile platform such as an unmanned vehicle, ship, submarine, etc. It can also be a handheld camera device.
  • Metadata may include data indicating the motion state of the movable platform. For example, the attitude, speed, and position of the drone; the attitude and parameters of the gimbal of the camera mounted on the drone. Metadata can also include information for various smart functions.
  • the metadata may include return point information of the automatic return-to-home function of the drone, cruise route information of the automatic cruise function of the drone, and the like.
  • Metadata can be data of the mobile platform itself, or data generated by other devices connected to the mobile platform.
  • Terminal devices may include terminals or servers.
  • the terminal device can communicate with multiple mobile platforms, receive code streams sent by multiple mobile platforms, and perform various business processing according to the code streams.
  • the terminal device may be a video service client, a command and dispatch client, a command and dispatch platform, an image management platform, and the like.
  • the video data encoding protocol refers to a protocol for specifying encoding and compressing video data, for example, H264, H265, and possibly derived video data encoding protocols that support the use of custom fields.
  • the video data encoding protocol specifies that in the protocol layer, data needs to be encapsulated into data units of a specified format.
  • the embodiment of the present application transmits metadata by using a video data encoding protocol, and does not require an additional development protocol, which can lower development thresholds and lower development costs.
  • Data transmission is implemented at the transport layer.
  • the transmission mode of the transport layer can be based on code stream transmission, and the data unit can be encoded into the code stream and sent to the terminal device.
  • the metadata is transmitted in-band along with the code stream, if the code stream is encrypted, the metadata is also encrypted, which can improve security, and does not need to develop an additional encryption scheme.
  • the mobile platform In the data transmission method provided by the embodiment of the present application, the mobile platform generates a code stream based on a video data encoding protocol, the code stream includes data units, and at least one data unit in the data units includes metadata, and the metadata is used for Indicate the motion state information of the movable platform, and send the code stream to the terminal device.
  • the technical solutions provided by the embodiments of the present application improve data transmission efficiency by placing data in a video transmission protocol-based code stream for transmission.
  • FIG. 2 shows a flowchart of another data transmission method provided by an embodiment of the present application.
  • the method can be applied to a movable platform, where the movable platform communicates with a terminal device, and the method includes:
  • the video data may be video data collected by the movable platform itself, or may be video data collected by a device connected to the movable platform.
  • the removable platform can encapsulate video data into data units based on a video data encoding protocol.
  • the video data may be divided by frame numbers, and the movable platform may encapsulate the video data into individual data units frame by frame.
  • the movable platform may acquire metadata of a preset device, and store the metadata in a preset cache queue.
  • metadata is extracted from the preset buffer queue, and the metadata is encapsulated into a separate data unit, so that the time error between the metadata and the video data can be reduced.
  • the preset device may be a device possessed by the movable platform itself, or may be a device connected to the movable platform. Different preset devices can send metadata to the mobile platform at different frequencies, and by setting a cache queue, the mobile platform can collect data at different frequencies.
  • the time stamp that the data unit corresponding to the metadata may have, and the time stamp may enable the terminal device receiving the metadata to globally synchronize the metadata.
  • the video data encoding protocol supports the use of the Supplemental Enhancement Information (SEI) field to add information to the code stream.
  • SEI Supplemental Enhancement Information
  • the data unit may be a network abstraction layer unit, and the type of the network abstraction layer unit corresponding to the metadata is the supplementary enhancement information SEI type.
  • the data unit may be a network abstraction layer unit of the H264 protocol.
  • the step of encapsulating the metadata into a data unit based on a video data encoding protocol may include encapsulating the metadata into a network abstraction layer unit of the SEI type.
  • a mobile platform may encapsulate metadata into a separate SEI-type Network Abstraction Layer unit.
  • the Network Abstract Layer is referred to as NAL.
  • NAL Network Abstract Layer
  • VCL Video Coding Layer
  • NAL Network Abstraction Layer
  • VCL is responsible for representing the content of valid video data
  • NAL is responsible for formatting the data and providing header information to ensure that the data is suitable for transmission on various channels and storage media.
  • the network abstraction layer unit is the basic syntax structure of NAL, which contains a byte of header information (NAL header) and a series of raw data byte streams (RBSP) from VCL.
  • FIG. 3 shows a schematic diagram of a network abstraction layer unit. Metadata is encapsulated into a separate SEI type network abstraction layer unit, which can be attached to the end of the H264 common frame, for example, it can be attached to the PPS (image). Parameter set, the end of the network abstraction layer unit of type Picture Parameter Set or the end of the network abstraction layer unit of type IDR (Instantaneous Decoding Refresh).
  • FIG. 4 shows a schematic diagram of a code stream.
  • Each network abstraction layer unit may include a 4bytes start code startcode: 0x00000001.
  • the first byte after the start code is the header information.
  • the header information can store the NAL unit type.
  • NAL unit type In the H.264/AVC standard, there are 17 available NAL unit types, of which the value of 0x06 represents the SEI type.
  • the next byte after the header information is the payload type SEI payload type. When the value is 0x05, it means that the SEI payload analysis follows the user_data_unregistered() processing method, which literally means unregistered user data.
  • the payload type is followed by the payload length SEI payload size, the length of the payload length is 1 or Nbytes, the protocol does not specify the length of the payload length, it can be defined by the user, and theoretically it can support infinite length.
  • the payload length is the Universal Unique Identifier UUID (Universally Unique Identifier).
  • UUID Universal Unique Identifier
  • 128bits (16 bytes) are allowed to specify the UUID.
  • UUID can represent the role ID written to the SEI payload, or other business purposes.
  • the remaining payloadSize-16 bytes is the specific content passed by the business layer.
  • the Universal Unique Identifier is metadata, the length of which is Nbytes.
  • the metadata is the end code endcode, which is 0x80.
  • the value of the SEI payload type can be set to 5, so that the network abstraction layer unit corresponding to the metadata is globally unique, does not conflict with the network abstraction layer unit of other SEI types, and improves compatibility.
  • the data unit corresponding to the metadata includes: encoded data obtained by serializing the metadata, or encoded data obtained by serializing a target file in a predefined format ; the target file includes the metadata.
  • the step of encapsulating the metadata into the network abstraction layer unit of the SEI type may include: serializing the metadata to obtain encoded data; encapsulating the encoded data into The network abstraction layer unit of the SEI type.
  • Serialization is the process of converting an object or data structure into a sequence of bytes.
  • the metadata can be converted into binary encoded data, and this process can compress the metadata.
  • deserialization refers to the process of converting the byte sequence generated after serialization into an object or data structure.
  • the data can be serialized by the sender and deserialized by the receiver to restore the data.
  • the step of encapsulating the metadata into the network abstraction layer unit of the SEI type may include:
  • a target file in a predefined format is generated; the target file is serialized to obtain encoded data; the encoded data is encapsulated into the SEI type network abstraction layer unit.
  • the target file in the predefined format can be a protobuf file
  • Protobuf is an efficient and lightweight structured data storage method, which can be used for communication protocols, data storage, and the like.
  • a protobuf file in a predefined format can be generated based on the metadata; the protobuf file is serialized by using a protobuf tool to obtain encoded data.
  • the protobuf file may include two, a base class file and a product class file.
  • the basic class file is used to define and give some common messages (message) to achieve maximum reuse.
  • the product file is a complete file, and each message in it is globally unique, independent of each other and not coupled to ensure that the messages are not redundant.
  • each basic class file there can be a coordinated world UTC timestamp and a video frame number field, and the video frame number field is used to achieve global time synchronization of video frames and metadata.
  • the messages in the protobuf file can be defined according to actual business scenarios.
  • the messages may include: device identification messages, drone module messages, global messages, flight control messages, and the like.
  • the content in the message can be configured according to the metadata.
  • the video data and the metadata can be transmitted synchronously, and no additional data synchronization processing is required for the metadata and the video data.
  • the data unit corresponding to the metadata is adjacent to the data unit corresponding to the video data.
  • the data unit corresponding to each frame of video data and the data unit corresponding to the metadata obtained in the process of obtaining the frame of video data may be encoded into a code stream and sent to the terminal device, Each frame of video data can be naturally synchronized with the metadata, so that the terminal device receiving the code stream can perform other operations based on the synchronized video data and metadata.
  • flight teaching reproduction after the drone completes the flight, the parameters of the drone can be obtained according to the returned code stream, and the parameters of the drone can be displayed to guide the newcomer to learn this action.
  • Simulator flight simulation The parameters of the drone in various environments can be stored, and playback or go-around can be performed in the simulator.
  • Automatic flight go-around After the drone completes the flight, it obtains video data and metadata according to the returned code stream, and performs accurate automatic flight and go-around based on the video data and metadata.
  • the movable platform can encapsulate video data into data units based on video data encoding protocols, encapsulate metadata into data units based on video data encoding protocols, and encapsulate data units corresponding to video data and metadata corresponding to The data unit is encoded into the code stream and sent to the terminal device.
  • the embodiments of the present application can enable the synchronous transmission of video data and metadata, improve data transmission efficiency, and do not need to perform additional data synchronization processing on metadata and video data.
  • This embodiment of the present application can support data return for code streams generated by different devices, and data return for multiple code streams.
  • the transmission process of audio and video data is generally: data acquisition equipment ⁇ YUV encoding ⁇ H264/H265 encoding ⁇ streaming media transmission based on H264/H265 encoding ⁇ user.
  • FIG. 5 shows a schematic diagram of a data transmission process.
  • the movable platform can be connected with an external video output device, and the external video output device can collect its own original data and generate metadata based on the original data, encode the metadata into binary data, and then convert the metadata in binary form to the collected data.
  • the video data is encoded into the code stream and sent to the mobile platform.
  • the movable platform can decode the code stream of the video output device to obtain YUV data.
  • the mobile platform can collect its own original data and generate metadata based on the original data, encode the metadata into binary data, and encode its own binary metadata and decoded YUV data into code stream output.
  • FIG. 6 shows a schematic diagram of another data transmission process.
  • the movable platform can receive the YUV data output by the video output device.
  • the mobile platform can collect its own original data and generate metadata based on the original data, encode the metadata into binary data, and encode its own binary metadata and YUV data output by the video output device into a stream output.
  • FIG. 7 shows a flowchart of a UAV data return process in an embodiment of the present application.
  • the client can communicate with the server, and the server can respond to the client's request to perform a video-on-demand process.
  • the video-on-demand process can be the process of playing the video shot by the drone.
  • the drone can send the captured video data and real-time drone position to the remote controller; 3.
  • the remote controller can obtain its own remote controller position, and can use the real-time drone position and remote controller position as metadata, Video data and metadata are streamed to the server. 5.
  • the client can obtain video data and metadata from the server, and perform preset processing based on the video data and metadata.
  • FIG. 8 shows a flowchart of a data processing method according to an embodiment of the present application, applied to a terminal device, wherein the terminal device and a movable platform, the method includes:
  • the terminal device may be a terminal or a server.
  • the terminal device may be a video service client, a command and dispatch client, a command and dispatch platform, and an image management platform.
  • the terminal device can communicate with multiple mobile platforms, can receive code streams sent by multiple mobile platforms at the transport layer, and perform various service processing according to the code streams.
  • the mobile platform can encapsulate the metadata into the data unit based on the video data coding protocol, and the terminal device can parse the data unit obtained from the code stream, wherein at least one data unit contains the metadata.
  • a terminal device may receive a code stream sent by a mobile platform, and parse a data unit from the code stream based on a video data encoding protocol; at least one data unit in the data unit contains metadata, so The metadata is used to indicate motion state information of the movable platform; and the motion state information of the movable platform is determined based on the metadata.
  • the technical solutions provided by the embodiments of the present application improve data transmission efficiency by placing data in a video transmission protocol-based code stream for transmission.
  • FIG. 9 shows a flowchart of another data processing method provided by an embodiment of the present application, applied to a terminal device, wherein the terminal device and a movable platform, the method includes:
  • the movable platform can encode the data unit corresponding to the video data and the data unit corresponding to the metadata together into a code stream and send it to the terminal device, so that the video data and the metadata can be transmitted synchronously.
  • the terminal device parses and obtains the data unit corresponding to the video data and the data unit corresponding to the metadata from the code stream, it does not need to perform additional data synchronization processing on the metadata and the video data.
  • the data unit corresponding to the metadata may have a time stamp, and the terminal device may globally synchronize the metadata according to the time stamp.
  • the data unit may be a network abstraction layer unit
  • the type of the network abstraction layer unit includes the supplementary enhancement information SEI type
  • the data unit based on the video data coding protocol is parsed from the code stream
  • the step may include: parsing the network abstraction layer unit of the SEI type from the code stream to obtain the network abstraction layer unit corresponding to the metadata.
  • the mobile platform can serialize the metadata to obtain encoded data; and encapsulate the encoded data into a network abstraction layer unit of the SEI type.
  • the step of extracting metadata from the data unit corresponding to the metadata may include: extracting target encoded data from the SEI type network abstraction layer unit; extracting target encoded data; Perform deserialization to get metadata.
  • the mobile platform may generate an object file in a predefined format based on the metadata; serialize the object file to obtain encoded data; and encapsulate the encoded data into an SEI-type network abstraction layer unit.
  • the step of extracting metadata from the data unit corresponding to the metadata may include: extracting target encoded data from the SEI type network abstraction layer unit; extracting target encoded data; Deserialization is performed to obtain a target file in a predefined format; metadata is obtained by parsing the target file in the predefined format.
  • the target file in the predefined format may be a protobuf file
  • the mobile platform may use a protobuf tool to serialize the protobuf file to obtain encoded data.
  • the terminal device can use the protobuf tool to deserialize the target encoded data to obtain a protobuf file in a predefined format.
  • the movable platform may extract metadata from data units corresponding to metadata, extract video data from data units corresponding to video data, and perform preset processing based on metadata and video data.
  • the preset processing may be to perform other operations based on the synchronized video data and metadata, for example, flight teaching reproduction, simulator flight simulation, automatic flight go-around. Since the video data and metadata are transmitted together in the code stream, the time error between the two is very small, and the terminal device can directly use the video data and metadata to perform preset processing without the need for time synchronization processing.
  • the terminal device may receive the code stream sent by the mobile platform, parse the code stream to obtain the data unit storing metadata and the data unit storing video data, and extract the data unit corresponding to the metadata from the data unit. Metadata, extracts video data from data units corresponding to video data, thereby completing data return.
  • FIG. 10 shows a block diagram of a movable platform provided by an embodiment of the present application, and the movable platform may include:
  • the processor 1001 is configured to generate a code stream based on a video data encoding protocol, the code stream includes data units, and at least one data unit in the data units includes metadata, and the metadata is used to indicate the mobile platform. motion status information;
  • the communication interface 1002 is used for sending the code stream to the terminal device.
  • the data unit is a network abstraction layer unit
  • the type of the network abstraction layer unit corresponding to the metadata is a supplemental enhancement information SEI type.
  • the data unit corresponding to the metadata includes: encoded data obtained by serializing the metadata, or encoded data obtained by serializing a target file in a predefined format; the The object file includes the metadata.
  • the target file in the predefined format is a protobuf file in the predefined format.
  • At least one of the data units includes video data.
  • the data unit corresponding to the metadata is adjacent to the data unit corresponding to the video data.
  • the processor is configured to encapsulate the video data into a data unit based on a video data encoding protocol; extract metadata from a preset buffer queue, and encapsulate the metadata into a data unit based on the video data encoding protocol; The data unit corresponding to the video data and the data unit corresponding to the metadata are encoded into the code stream.
  • the data unit corresponding to the metadata has a time stamp.
  • FIG. 11 is a block diagram of a terminal device provided by an embodiment of the present application.
  • the terminal device may include:
  • the communication interface 1101 is used to receive the code stream sent by the movable platform
  • the processor 1102 is configured to parse out data units from the code stream based on a video data encoding protocol; at least one data unit in the data units includes metadata, and the metadata is used to indicate the movement of the movable platform state information; determining motion state information of the movable platform based on the metadata.
  • the data unit is a network abstraction layer unit
  • the type of the network abstraction layer unit corresponding to the metadata is a supplemental enhancement information SEI type.
  • the data unit corresponding to the metadata includes: encoded data obtained by serializing the metadata, or encoded data obtained by serializing a target file in a predefined format; the The object file includes the metadata.
  • At least one of the data units includes video data.
  • the data unit corresponding to the metadata is adjacent to the data unit corresponding to the video data.
  • the processor is further configured to perform preset processing based on the metadata and the video data.
  • an embodiment of the present application also provides a chip, the chip includes a memory and a processor, and the processor executes a computer program stored in the memory to implement each step in the above data transmission method, and can achieve The same technical effect, in order to avoid repetition, will not be repeated here.
  • an embodiment of the present application also provides a chip, the chip includes a memory and a processor, and the processor executes a computer program stored in the memory to implement the various steps in the above data processing method, and can achieve The same technical effect, in order to avoid repetition, will not be repeated here.
  • embodiments of the present application further provide a computer-readable storage medium, including instructions, which, when executed on a computer, cause the computer to execute the above-mentioned data transmission method. In order to avoid repetition, details are not repeated here.
  • an embodiment of the present application further provides a computer-readable storage medium, which includes instructions, which, when executed on a computer, cause the computer to execute the above-mentioned data processing method. In order to avoid repetition, details are not repeated here.
  • any reference signs placed between parentheses shall not be construed as limiting the claim.
  • the word “comprising” does not exclude the presence of elements or steps not listed in a claim.
  • the word “a” or “an” preceding an element does not exclude the presence of a plurality of such elements.
  • the application can be implemented by means of hardware comprising several different elements and by means of a suitably programmed computer. In a unit claim enumerating several means, several of these means may be embodied by one and the same item of hardware.
  • the use of the words first, second, and third, etc. do not denote any order. These words can be interpreted as names.

Abstract

Data transmission and processing methods, a mobile platform, a terminal device and a chip. Said method comprises: generating a code stream on the basis of a video data coding protocol, the code stream comprising data units, at least one of the data units comprising metadata, and the metadata being used for indicating motion state information of a mobile platform; and sending the code stream to a terminal device. According to the technical solutions provided in the embodiments of the present application, data is transmitted by being placed in a video transmission protocol-based code stream, increasing the data transmission efficiency.

Description

数据传输、处理方法、可移动平台、终端设备及芯片Data transmission, processing method, movable platform, terminal device and chip 技术领域technical field
本申请涉及通信技术领域,特别是涉及一种数据传输方法、一种数据处理方法、一种可移动平台、一种终端设备以及一种芯片。The present application relates to the field of communication technologies, and in particular, to a data transmission method, a data processing method, a movable platform, a terminal device, and a chip.
背景技术Background technique
随着视频拍摄设备(如无人机、云台等)的发展,视频拍摄设备需要进行数据回传,以实现基于视频数据的业务。目前视频类数据的回传,业内已经有各种各样的解决方案。但是非音视频数据(如无人机的姿态,速度,位置,无人机搭载相机的云台姿态,参数,其他设备的类似参数等)的回传,业内相关方案较少,且没有统一标准。With the development of video shooting equipment (such as drones, PTZs, etc.), video shooting equipment needs to perform data backhaul to realize video data-based services. At present, there are various solutions in the industry for the return of video data. However, for the return of non-audio and video data (such as the attitude, speed, position of the drone, the attitude of the gimbal of the drone equipped with the camera, parameters, similar parameters of other equipment, etc.), there are few related solutions in the industry, and there is no unified standard. .
发明内容SUMMARY OF THE INVENTION
本申请提供一种数据传输、处理方法、可移动平台、终端设备及芯片,可以提高元数据的传输效率。The present application provides a data transmission and processing method, a movable platform, a terminal device and a chip, which can improve the transmission efficiency of metadata.
第一方面,本申请实施例提供了一种数据传输方法,该方法应用于可移动平台,所述可移动平台能够与终端设备通信,所述方法包括:In a first aspect, an embodiment of the present application provides a data transmission method, the method is applied to a movable platform, and the movable platform can communicate with a terminal device, and the method includes:
基于视频数据编码协议生成码流,所述码流包括数据单元,所述数据单元中的至少一个数据单元包含元数据,所述元数据用于指示所述可移动平台的运动状态信息;Generate a code stream based on a video data encoding protocol, the code stream includes data units, at least one of the data units includes metadata, and the metadata is used to indicate motion state information of the movable platform;
向所述终端设备发送所述码流。Send the code stream to the terminal device.
第二方面,本申请实施例还提供了一种数据处理方法,该方法应用于终端设备,所述终端设备与可移动平台,所述方法包括:In a second aspect, an embodiment of the present application further provides a data processing method, the method is applied to a terminal device, the terminal device and a movable platform, and the method includes:
接收所述可移动平台发送的码流;receiving the code stream sent by the movable platform;
基于视频数据编码协议从所述码流中解析出数据单元;所述数据单元中的至少一个数据单元包含元数据,所述元数据用于指示所述可移动平台的运动状态信息;A data unit is parsed from the code stream based on a video data encoding protocol; at least one data unit in the data unit includes metadata, and the metadata is used to indicate motion state information of the movable platform;
基于所述元数据确定所述可移动平台的运动状态信息。Motion state information of the movable platform is determined based on the metadata.
第三方面,本申请实施例还提供了一种可移动平台,包括:In a third aspect, the embodiments of the present application also provide a movable platform, including:
处理器,用于基于视频数据编码协议生成码流,所述码流包括数据单元,所述数据单元中的至少一个数据单元包含元数据,所述元数据用于指示所述可移动平台的运动状态信息;a processor, configured to generate a code stream based on a video data encoding protocol, the code stream includes data units, at least one of the data units contains metadata, and the metadata is used to indicate the movement of the movable platform status information;
通信接口,用于向终端设备发送所述码流。The communication interface is used for sending the code stream to the terminal device.
第四方面,本申请实施例还提供了一种终端设备,包括:In a fourth aspect, an embodiment of the present application further provides a terminal device, including:
通信接口,用于接收可移动平台发送的码流;The communication interface is used to receive the code stream sent by the mobile platform;
处理器,用于基于视频数据编码协议从所述码流中解析出数据单元;所述数据单元中的至少一个数据单元包含元数据,所述元数据用于指示所述可移动平台的运动状态信息;基于所述元数据确定所述可移动平台的运动状态信息。a processor, configured to parse a data unit from the code stream based on a video data encoding protocol; at least one data unit in the data unit includes metadata, and the metadata is used to indicate the motion state of the movable platform information; determining motion state information of the movable platform based on the metadata.
第五方面,本申请实施例还提供了一种芯片,所述芯片包括存储器和处理器,所述处理器执行所 述存储器中存储的计算机程序,以实现上述的数据传输方法。In a fifth aspect, an embodiment of the present application further provides a chip, where the chip includes a memory and a processor, and the processor executes a computer program stored in the memory to implement the above-mentioned data transmission method.
第六方面,本申请实施例还提供了一种芯片,所述芯片包括存储器和处理器,所述处理器执行所述存储器中存储的计算机程序,以实现上述的数据处理方法。In a sixth aspect, an embodiment of the present application further provides a chip, where the chip includes a memory and a processor, and the processor executes a computer program stored in the memory to implement the above data processing method.
第七方面,本申请实施例提供了包括指令,当其在计算机上运行时,使得所述计算机执行如上所述的数据传输方法。In a seventh aspect, the embodiments of the present application provide instructions that, when executed on a computer, cause the computer to execute the data transmission method as described above.
第八方面,本申请实施例提供了一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得所述计算机执行如上所述的数据处理方法。In an eighth aspect, an embodiment of the present application provides a computer-readable storage medium, including instructions, which, when executed on a computer, cause the computer to execute the data processing method as described above.
本申请实施例提供的数据传输方法,可移动平台基于视频数据编码协议生成码流,所述码流包括数据单元,所述数据单元中的至少一个数据单元包含元数据,所述元数据用于指示所述可移动平台的运动状态信息,并将所述码流发送给终端设备。本申请实施例提供的技术方案,通过将数据放在基于视频传输协议的码流中进行传输,提高了数据的传输效率。In the data transmission method provided by the embodiment of the present application, the mobile platform generates a code stream based on a video data encoding protocol, the code stream includes data units, and at least one data unit in the data units includes metadata, and the metadata is used for Indicate the motion state information of the movable platform, and send the code stream to the terminal device. The technical solutions provided by the embodiments of the present application improve data transmission efficiency by placing data in a video transmission protocol-based code stream for transmission.
附图说明Description of drawings
图1是本申请实施例提供的一种数据传输方法的流程图;1 is a flowchart of a data transmission method provided by an embodiment of the present application;
图2是本申请实施例提供的另一种数据传输方法的流程图;2 is a flowchart of another data transmission method provided by an embodiment of the present application;
图3是本申请实施例提供的一种网络抽象层单元的示意图;3 is a schematic diagram of a network abstraction layer unit provided by an embodiment of the present application;
图4是本申请实施例提供的一种码流的示意图;4 is a schematic diagram of a code stream provided by an embodiment of the present application;
图5是本申请实施例提供的一种数据传输过程的示意图;5 is a schematic diagram of a data transmission process provided by an embodiment of the present application;
图6是本申请实施例提供的另一种数据传输过程的示意图;6 is a schematic diagram of another data transmission process provided by an embodiment of the present application;
图7是本申请实施例提供的一种无人机数据回传过程的流程图;FIG. 7 is a flowchart of a UAV data return process provided by an embodiment of the present application;
图8是本申请实施例提供的一种数据处理方法的流程图;8 is a flowchart of a data processing method provided by an embodiment of the present application;
图9是本申请实施例提供的另一种数据处理方法的流程图;9 is a flowchart of another data processing method provided by an embodiment of the present application;
图10是本申请实施例提供的一种可移动平台的框图;10 is a block diagram of a movable platform provided by an embodiment of the present application;
图11是本申请实施例提供的一种终端设备的框图。FIG. 11 is a block diagram of a terminal device provided by an embodiment of the present application.
具体实施例specific embodiment
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。The technical solutions in the embodiments of the present application will be described below with reference to the accompanying drawings in the embodiments of the present application.
对于具有元数据回传需求的设备,本申请实施例提供一种基于视频数据编码协议的数据传输方法。For a device with metadata return requirement, an embodiment of the present application provides a data transmission method based on a video data encoding protocol.
参照图1,图1示出了本申请实施例提供的一种数据传输方法的流程图,该方法可以应用于可移动平台,其中可移动平台能够与终端设备通信,所述方法包括:Referring to FIG. 1, FIG. 1 shows a flowchart of a data transmission method provided by an embodiment of the present application. The method can be applied to a movable platform, wherein the movable platform can communicate with a terminal device, and the method includes:
101,基于视频数据编码协议生成码流,所述码流包括数据单元,所述数据单元中的至少一个数据单元包含元数据,所述元数据用于指示所述可移动平台的运动状态信息。101. Generate a code stream based on a video data encoding protocol, where the code stream includes data units, and at least one of the data units includes metadata, where the metadata is used to indicate motion state information of the movable platform.
本申请实施例可以应用于可移动平台,可移动平台可以是飞行器,比如多旋翼无人机、固定翼无人机。也可以是无人车、船、潜艇等可移动平台。还可以是手持摄像设备。The embodiments of the present application may be applied to a movable platform, and the movable platform may be an aircraft, such as a multi-rotor UAV and a fixed-wing UAV. It can also be a mobile platform such as an unmanned vehicle, ship, submarine, etc. It can also be a handheld camera device.
在可移动平台中,元数据(metadata)可以包括用于指示可移动平台运动状态的数据。例如,无人机的姿态,速度,位置;无人机搭载相机的云台姿态,参数等等。元数据还可以包括多种智能功能的信息。例如,元数据可以包括无人机的自动返航功能的返航点信息、无人机的自动巡航功能的巡航路线信息等。In a movable platform, metadata may include data indicating the motion state of the movable platform. For example, the attitude, speed, and position of the drone; the attitude and parameters of the gimbal of the camera mounted on the drone. Metadata can also include information for various smart functions. For example, the metadata may include return point information of the automatic return-to-home function of the drone, cruise route information of the automatic cruise function of the drone, and the like.
元数据可以是可移动平台自身的数据,也可以是与可移动平台连接的其他设备产生的数据。Metadata can be data of the mobile platform itself, or data generated by other devices connected to the mobile platform.
终端设备可以包括终端或服务器。终端设备可以与多个可移动平台通信,接收多个可移动平台发送的码流,根据码流进行各种业务处理。例如,终端设备可以是视频业务客户端、指挥调度客户端、指挥调度平台、图像管理平台等。Terminal devices may include terminals or servers. The terminal device can communicate with multiple mobile platforms, receive code streams sent by multiple mobile platforms, and perform various business processing according to the code streams. For example, the terminal device may be a video service client, a command and dispatch client, a command and dispatch platform, an image management platform, and the like.
视频数据编码协议是指用于规定编码压缩视频数据的协议,例如,H264、H265以及可能衍生出现的支持使用自定义字段的视频数据编码协议。视频数据编码协议规定了在协议层中,数据需要被封装为规定格式的数据单元。本申请实施例通过使用视频数据编码协议来传输元数据,不需要额外开发协议,可以降低开发门槛以及降低开发成本。The video data encoding protocol refers to a protocol for specifying encoding and compressing video data, for example, H264, H265, and possibly derived video data encoding protocols that support the use of custom fields. The video data encoding protocol specifies that in the protocol layer, data needs to be encapsulated into data units of a specified format. The embodiment of the present application transmits metadata by using a video data encoding protocol, and does not require an additional development protocol, which can lower development thresholds and lower development costs.
102,向所述终端设备发送所述码流。102. Send the code stream to the terminal device.
数据传输在传输层实现,传输层的传输方式可以是按码流传输,数据单元可以被编码至码流中向终端设备发送。Data transmission is implemented at the transport layer. The transmission mode of the transport layer can be based on code stream transmission, and the data unit can be encoded into the code stream and sent to the terminal device.
本申请实施例中由于元数据是随着码流进行带内传输,如果码流经过加密处理,元数据也被加密,可以提高安全性,不需要额外开发加密方案。In the embodiment of the present application, since the metadata is transmitted in-band along with the code stream, if the code stream is encrypted, the metadata is also encrypted, which can improve security, and does not need to develop an additional encryption scheme.
本申请实施例提供的数据传输方法,可移动平台基于视频数据编码协议生成码流,所述码流包括数据单元,所述数据单元中的至少一个数据单元包含元数据,所述元数据用于指示所述可移动平台的运动状态信息,并将所述码流发送给终端设备。本申请实施例提供的技术方案,通过将数据放在基于视频传输协议的码流中进行传输,提高了数据的传输效率。In the data transmission method provided by the embodiment of the present application, the mobile platform generates a code stream based on a video data encoding protocol, the code stream includes data units, and at least one data unit in the data units includes metadata, and the metadata is used for Indicate the motion state information of the movable platform, and send the code stream to the terminal device. The technical solutions provided by the embodiments of the present application improve data transmission efficiency by placing data in a video transmission protocol-based code stream for transmission.
参照图2,图2示出了本申请实施例提供的另一种数据传输方法的流程图,该方法可以应用于可移动平台,其中可移动平台与终端设备通信,所述方法包括:Referring to FIG. 2, FIG. 2 shows a flowchart of another data transmission method provided by an embodiment of the present application. The method can be applied to a movable platform, where the movable platform communicates with a terminal device, and the method includes:
201,获取视频数据,并将所述视频数据封装至基于视频数据编码协议的数据单元。201. Acquire video data, and encapsulate the video data into a data unit based on a video data encoding protocol.
视频数据可以是可移动平台自身采集的视频数据,也可以是与可移动平台连接的设备采集的视频数据。可移动平台可以将视频数据封装至基于视频数据编码协议的数据单元。The video data may be video data collected by the movable platform itself, or may be video data collected by a device connected to the movable platform. The removable platform can encapsulate video data into data units based on a video data encoding protocol.
在一种示例中,视频数据可以按帧数划分,可移动平台可以逐帧将视频数据封装至单独的数据单元。In one example, the video data may be divided by frame numbers, and the movable platform may encapsulate the video data into individual data units frame by frame.
202,从预设缓存队列中提取元数据,并将所述元数据封装至基于视频数据编码协议的数据单元。202. Extract metadata from a preset buffer queue, and encapsulate the metadata into a data unit based on a video data encoding protocol.
在本申请实施例中,可移动平台可以获取预设设备的元数据,并将元数据存储至预设缓存队列中。在将频数据封装至数据单元的过程中,从预设缓存队列中提取元数据,并将元数据封装至单独的数据单元,从而可以使得元数据和视频数据的时间误差减小。In this embodiment of the present application, the movable platform may acquire metadata of a preset device, and store the metadata in a preset cache queue. In the process of encapsulating the frequency data into the data unit, metadata is extracted from the preset buffer queue, and the metadata is encapsulated into a separate data unit, so that the time error between the metadata and the video data can be reduced.
预设设备可以是可移动平台自身具有的设备,也可以是与可移动平台连接的设备。不同预设设备 可以以不同频率向可移动平台发送元数据,通过设置缓存队列可以使得可移动平台可以收集不同频率的数据。The preset device may be a device possessed by the movable platform itself, or may be a device connected to the movable platform. Different preset devices can send metadata to the mobile platform at different frequencies, and by setting a cache queue, the mobile platform can collect data at different frequencies.
元数据对应的数据单元可以具有的时间戳,通过时间戳可以使得接收到元数据的终端设备对元数据进行全局同步。The time stamp that the data unit corresponding to the metadata may have, and the time stamp may enable the terminal device receiving the metadata to globally synchronize the metadata.
在本申请实施例中,视频数据编码协议支持使用补充增强信息SEI(Supplemental enhancement information)字段向码流中加入信息。数据单元可以为网络抽象层单元,元数据对应的网络抽象层单元的类型为补充增强信息SEI类型。例如,数据单元可以为H264协议的网络抽象层单元。In this embodiment of the present application, the video data encoding protocol supports the use of the Supplemental Enhancement Information (SEI) field to add information to the code stream. The data unit may be a network abstraction layer unit, and the type of the network abstraction layer unit corresponding to the metadata is the supplementary enhancement information SEI type. For example, the data unit may be a network abstraction layer unit of the H264 protocol.
所述将所述元数据封装至基于视频数据编码协议的数据单元的步骤可以包括:将所述元数据封装至所述SEI类型的网络抽象层单元。例如,可移动平台可以将元数据封装至单独的SEI类型的网络抽象层单元。The step of encapsulating the metadata into a data unit based on a video data encoding protocol may include encapsulating the metadata into a network abstraction layer unit of the SEI type. For example, a mobile platform may encapsulate metadata into a separate SEI-type Network Abstraction Layer unit.
网络抽象层(Network Abstract Layer)简称为NAL。在H.264/AVC视频编码标准中,整个系统框架被分为了两个层面:视频编码层面(Video Coding Layer,VCL)和网络抽象层面(Network Abstraction Layer,NAL)。VCL负责表示有效视频数据的内容,NAL负责格式化数据并提供头信息,以保证数据适合各种信道和存储介质上的传输。网络抽象层单元(NAL unit)是NAL的基本语法结构,它包含一个字节的头信息(NAL header)和一系列来自VCL的原始数据字节流(RBSP)。The Network Abstract Layer is referred to as NAL. In the H.264/AVC video coding standard, the entire system framework is divided into two layers: the video coding layer (Video Coding Layer, VCL) and the network abstraction layer (Network Abstraction Layer, NAL). VCL is responsible for representing the content of valid video data, and NAL is responsible for formatting the data and providing header information to ensure that the data is suitable for transmission on various channels and storage media. The network abstraction layer unit (NAL unit) is the basic syntax structure of NAL, which contains a byte of header information (NAL header) and a series of raw data byte streams (RBSP) from VCL.
参照图3,图3示出了一种网络抽象层单元的示意图,元数据被封装至一个单独的SEI类型的网络抽象层单元,可以附加在H264常用帧的末尾,例如可以附加在PPS(图像参数集,Picture Parameter Set)类型的网络抽象层单元或IDR(即时解码器刷新,Instantaneous Decoding Refresh)类型的网络抽象层单元的末尾。Referring to FIG. 3, FIG. 3 shows a schematic diagram of a network abstraction layer unit. Metadata is encapsulated into a separate SEI type network abstraction layer unit, which can be attached to the end of the H264 common frame, for example, it can be attached to the PPS (image). Parameter set, the end of the network abstraction layer unit of type Picture Parameter Set or the end of the network abstraction layer unit of type IDR (Instantaneous Decoding Refresh).
参照图4,图4示出了一种码流的示意图。每一个网络抽象层单元可以包括4bytes的起始码startcode:0x00000001。起始码之后的第一个字节是头信息,头信息可以存储NAL unit type,在H.264/AVC标准中,可用的NAL unit type一共有17种,其中值为0x06时表征SEI类型。头信息之后的下一个字节是载荷类型SEI payload type,当值为0x05时,表示SEI payload分析遵循user_data_unregistered()处理方法,字面含义为未注册的用户数据。载荷类型之后是载荷长度SEI payload size,载荷长度的长度是1或Nbytes,协议没有规定载荷长度的长度,可以由用户定义,理论上可以支持无限长。载荷长度之后是通用唯一识别码UUID(Universally Unique Identifier),在设置SEI payload为5时,允许使用128bits(16个字节)来指定UUID。此处UUID可以表征写入SEI payload的角色ID,或者表征其他业务用途。剩下的payloadSize-16字节,即是业务层传递的具体内容。通用唯一识别码之后是元数据metadata,元数据的长度是Nbytes。元数据之后是结束码endcode,结束码为0x80。在本申请实施例中,可以设置SEI payload类型值为5,从而使得元数据对应的网络抽象层单元全局唯一,不与其他SEI类型的网络抽象层单元冲突,提高兼容性。Referring to FIG. 4, FIG. 4 shows a schematic diagram of a code stream. Each network abstraction layer unit may include a 4bytes start code startcode: 0x00000001. The first byte after the start code is the header information. The header information can store the NAL unit type. In the H.264/AVC standard, there are 17 available NAL unit types, of which the value of 0x06 represents the SEI type. The next byte after the header information is the payload type SEI payload type. When the value is 0x05, it means that the SEI payload analysis follows the user_data_unregistered() processing method, which literally means unregistered user data. The payload type is followed by the payload length SEI payload size, the length of the payload length is 1 or Nbytes, the protocol does not specify the length of the payload length, it can be defined by the user, and theoretically it can support infinite length. After the payload length is the Universal Unique Identifier UUID (Universally Unique Identifier). When setting the SEI payload to 5, 128bits (16 bytes) are allowed to specify the UUID. Here UUID can represent the role ID written to the SEI payload, or other business purposes. The remaining payloadSize-16 bytes is the specific content passed by the business layer. After the Universal Unique Identifier is metadata, the length of which is Nbytes. After the metadata is the end code endcode, which is 0x80. In the embodiment of the present application, the value of the SEI payload type can be set to 5, so that the network abstraction layer unit corresponding to the metadata is globally unique, does not conflict with the network abstraction layer unit of other SEI types, and improves compatibility.
在本申请实施例中,所述元数据对应的数据单元包括:对所述元数据进行序列化处理后得到的编码数据,或,对预定义格式的目标文件进行序列化处理后得到的编码数据;所述目标文件包括所述元 数据。In the embodiment of the present application, the data unit corresponding to the metadata includes: encoded data obtained by serializing the metadata, or encoded data obtained by serializing a target file in a predefined format ; the target file includes the metadata.
在一种示例中,所述将所述元数据封装至所述SEI类型的网络抽象层单元的步骤可以包括:对所述元数据进行序列化处理,得到编码数据;将所述编码数据封装至所述SEI类型的网络抽象层单元。In an example, the step of encapsulating the metadata into the network abstraction layer unit of the SEI type may include: serializing the metadata to obtain encoded data; encapsulating the encoded data into The network abstraction layer unit of the SEI type.
序列化是指将对象或数据结构转为字节序列的过程。通过将元数据进行序列化处理,可以将元数据转化为二进制的编码数据,此过程可以将元数据压缩。与序列化相对的是反序列化,反序列化是指将序列化后生成的字节序列转为对象或数据结构的过程。在通信过程中,可以由发送端将数据进行序列化处理,由接收端进行反序列化处理,从而还原得到数据。Serialization is the process of converting an object or data structure into a sequence of bytes. By serializing the metadata, the metadata can be converted into binary encoded data, and this process can compress the metadata. The opposite of serialization is deserialization, which refers to the process of converting the byte sequence generated after serialization into an object or data structure. During the communication process, the data can be serialized by the sender and deserialized by the receiver to restore the data.
在另一种示例中,所述将所述元数据封装至所述SEI类型的网络抽象层单元的步骤可以包括:In another example, the step of encapsulating the metadata into the network abstraction layer unit of the SEI type may include:
基于所述元数据,生成预定义格式的目标文件;对所述目标文件进行序列化处理,得到编码数据;将所述编码数据封装至所述SEI类型的网络抽象层单元。Based on the metadata, a target file in a predefined format is generated; the target file is serialized to obtain encoded data; the encoded data is encapsulated into the SEI type network abstraction layer unit.
其中,预定义格式的目标文件可以是protobuf文件,Protobuf是一种高效轻便的结构化数据存储方式,可用于通信协议、数据存储等。可以基于元数据生成预定义格式的protobuf文件;采用protobuf工具对所述protobuf文件进行序列化处理,得到编码数据。Among them, the target file in the predefined format can be a protobuf file, and Protobuf is an efficient and lightweight structured data storage method, which can be used for communication protocols, data storage, and the like. A protobuf file in a predefined format can be generated based on the metadata; the protobuf file is serialized by using a protobuf tool to obtain encoded data.
在一种实现方式中,protobuf文件可以包括两个,一个基础类文件,一个产品类文件。基础类文件用于定义给出一些通用的消息(message),做到最大的复用。产品类文件是一个全集文件,里面每个消息做到全局唯一,互相独立不耦合,从而保证消息不冗余。每个基础类文件中,都可以有协调世界UTC时间戳以及视频帧号字段,通过视频帧号字段来做到视频帧和元数据的全局时间同步。In an implementation manner, the protobuf file may include two, a base class file and a product class file. The basic class file is used to define and give some common messages (message) to achieve maximum reuse. The product file is a complete file, and each message in it is globally unique, independent of each other and not coupled to ensure that the messages are not redundant. In each basic class file, there can be a coordinated world UTC timestamp and a video frame number field, and the video frame number field is used to achieve global time synchronization of video frames and metadata.
protobuf文件中的消息可以根据实际业务场景来定义。例如,对于无人机,消息可以包括:设备标识消息、无人机模块消息、全局消息、飞行控制消息等。消息中的内容可以根据元数据来配置。The messages in the protobuf file can be defined according to actual business scenarios. For example, for drones, the messages may include: device identification messages, drone module messages, global messages, flight control messages, and the like. The content in the message can be configured according to the metadata.
203,将所述视频数据对应的数据单元和所述元数据对应的数据单元编码至码流中向所述终端设备发送。203. Encode the data unit corresponding to the video data and the data unit corresponding to the metadata into a code stream and send to the terminal device.
通过将视频数据对应的数据单元、元数据对应的数据单元一同编码到码流中向终端设备发送,可以使得视频数据和元数据同步传输,不需要对元数据和视频数据做额外的数据同步处理。在码流中,元数据对应的数据单元与视频数据对应的数据单元相邻。在一种示例中,可以将每一帧视频数据对应的数据单元,以及与在获取该帧视频数据的过程中获得的元数据所对应的数据单元,一同编码到码流中向终端设备发送,可以使得每一帧视频数据与元数据天然同步,使得接收到码流的终端设备可以基于同步的视频数据和元数据执行其他操作。例如,飞行示教再现:在无人机完成飞行后,根据回传的码流就可以获得无人机飞行时的参数,可以将无人机飞行时的参数显示出来指导新人学习这个动作。比如经典的拍照镜头。模拟器模拟飞行:能将无人机在各种环境下的参数存储,可以在模拟器里进行回放或者复飞。自动飞行复飞:在无人机完成飞行后,根据回传的码流获得视频数据和元数据,基于视频数据和元数据进行精确的自动飞行复飞。By encoding the data unit corresponding to the video data and the data unit corresponding to the metadata into the code stream and sending it to the terminal device, the video data and the metadata can be transmitted synchronously, and no additional data synchronization processing is required for the metadata and the video data. . In the code stream, the data unit corresponding to the metadata is adjacent to the data unit corresponding to the video data. In an example, the data unit corresponding to each frame of video data and the data unit corresponding to the metadata obtained in the process of obtaining the frame of video data may be encoded into a code stream and sent to the terminal device, Each frame of video data can be naturally synchronized with the metadata, so that the terminal device receiving the code stream can perform other operations based on the synchronized video data and metadata. For example, flight teaching reproduction: after the drone completes the flight, the parameters of the drone can be obtained according to the returned code stream, and the parameters of the drone can be displayed to guide the newcomer to learn this action. Like a classic camera lens. Simulator flight simulation: The parameters of the drone in various environments can be stored, and playback or go-around can be performed in the simulator. Automatic flight go-around: After the drone completes the flight, it obtains video data and metadata according to the returned code stream, and performs accurate automatic flight and go-around based on the video data and metadata.
在本申请实施例中,可移动平台可以将视频数据封装至基于视频数据编码协议的数据单元,将元数据封装至基于视频数据编码协议的数据单元,将视频数据对应的数据单元、元数据对应的数据单元 编码到码流中向终端设备发送。本申请实施例可以使得视频数据和元数据同步传输,提升数据传输效率,并且不需要对元数据和视频数据做额外的数据同步处理。In this embodiment of the present application, the movable platform can encapsulate video data into data units based on video data encoding protocols, encapsulate metadata into data units based on video data encoding protocols, and encapsulate data units corresponding to video data and metadata corresponding to The data unit is encoded into the code stream and sent to the terminal device. The embodiments of the present application can enable the synchronous transmission of video data and metadata, improve data transmission efficiency, and do not need to perform additional data synchronization processing on metadata and video data.
本申请实施例可以支持对不同设备产生的码流进行数据回传,以及对多路码流进行数据回传。目前音视频数据的传输过程一般为:数据采集设备→YUV编码→H264/H265编码→基于H264/H265编码的流媒体传输→用户。This embodiment of the present application can support data return for code streams generated by different devices, and data return for multiple code streams. At present, the transmission process of audio and video data is generally: data acquisition equipment → YUV encoding → H264/H265 encoding → streaming media transmission based on H264/H265 encoding → user.
参照图5,图5示出了一种数据传输过程的示意图。其中,可移动平台可以与外部的视频输出设备连接,外部的视频输出设备可以收集自身的原始数据并基于原始数据生成元数据,将元数据编码为二进制数据,然后将二进制形式的元数据和采集的视频数据编码到码流中发送给可移动平台。可移动平台可以对视频输出设备的码流进行解码得到YUV数据。可移动平台可以收集自身的原始数据并基于原始数据生成元数据,将元数据编码为二进制数据,将自身的二进制形式的元数据和解码得到YUV数据编码为码流输出。Referring to FIG. 5, FIG. 5 shows a schematic diagram of a data transmission process. Among them, the movable platform can be connected with an external video output device, and the external video output device can collect its own original data and generate metadata based on the original data, encode the metadata into binary data, and then convert the metadata in binary form to the collected data. The video data is encoded into the code stream and sent to the mobile platform. The movable platform can decode the code stream of the video output device to obtain YUV data. The mobile platform can collect its own original data and generate metadata based on the original data, encode the metadata into binary data, and encode its own binary metadata and decoded YUV data into code stream output.
参照图6,图6示出了另一种数据传输过程的示意图。可移动平台可以接收视频输出设备输出的YUV数据。可移动平台可以收集自身的原始数据并基于原始数据生成元数据,将元数据编码为二进制数据,将自身的二进制形式的元数据和视频输出设备输出的YUV数据编码为码流输出。Referring to FIG. 6, FIG. 6 shows a schematic diagram of another data transmission process. The movable platform can receive the YUV data output by the video output device. The mobile platform can collect its own original data and generate metadata based on the original data, encode the metadata into binary data, and encode its own binary metadata and YUV data output by the video output device into a stream output.
参照图7,图7示出了本申请实施例中一种无人机数据回传过程的流程图。1、客户端可以与服务器通信,服务器可以响应客户端请求进行视频点播流程,视频点播流程可以为播放无人机拍摄视频的流程。2、无人机可以将拍摄的视频数据和实时无人机位置发送给遥控器;3、遥控器可以获取自身的遥控器位置,可以将实时无人机位置和遥控器位置作为元数据,将视频数据和元数据通过码流发送给服务器。5、客户端可以从服务器获得视频数据和元数据,基于视频数据和元数据执行预设处理。Referring to FIG. 7 , FIG. 7 shows a flowchart of a UAV data return process in an embodiment of the present application. 1. The client can communicate with the server, and the server can respond to the client's request to perform a video-on-demand process. The video-on-demand process can be the process of playing the video shot by the drone. 2. The drone can send the captured video data and real-time drone position to the remote controller; 3. The remote controller can obtain its own remote controller position, and can use the real-time drone position and remote controller position as metadata, Video data and metadata are streamed to the server. 5. The client can obtain video data and metadata from the server, and perform preset processing based on the video data and metadata.
参照图8,图8示出了本申请实施例的一种数据处理方法的流程图,应用于终端设备,其中所述终端设备与可移动平台,所述方法包括:Referring to FIG. 8, FIG. 8 shows a flowchart of a data processing method according to an embodiment of the present application, applied to a terminal device, wherein the terminal device and a movable platform, the method includes:
801,接收所述可移动平台发送的码流。801. Receive a code stream sent by the movable platform.
在本申请实施例中,终端设备可以是终端或服务器,例如,终端设备可以是视频业务客户端、指挥调度客户端、指挥调度平台、图像管理平台。In this embodiment of the present application, the terminal device may be a terminal or a server. For example, the terminal device may be a video service client, a command and dispatch client, a command and dispatch platform, and an image management platform.
终端设备可以与多个可移动平台通信,可以在传输层接收多个可移动平台发送的码流,根据码流进行各种业务处理。The terminal device can communicate with multiple mobile platforms, can receive code streams sent by multiple mobile platforms at the transport layer, and perform various service processing according to the code streams.
802,基于视频数据编码协议从所述码流中解析出数据单元;所述数据单元中的至少一个数据单元包含元数据,所述元数据用于指示所述可移动平台的运动状态信息。802. Parse data units from the code stream based on a video data encoding protocol; at least one data unit in the data units includes metadata, where the metadata is used to indicate motion state information of the movable platform.
可移动平台可以将元数据封装至基于视频数据编码协议的数据单元中,终端设备可以从码流中解析得到的数据单元,其中至少一个数据单元包含元数据。The mobile platform can encapsulate the metadata into the data unit based on the video data coding protocol, and the terminal device can parse the data unit obtained from the code stream, wherein at least one data unit contains the metadata.
803,基于所述元数据确定所述可移动平台的运动状态信息。803. Determine motion state information of the movable platform based on the metadata.
在本申请实施例中,终端设备可以接收可移动平台发送的码流,基于视频数据编码协议从所述码流中解析出数据单元;所述数据单元中的至少一个数据单元包含元数据,所述元数据用于指示所述可 移动平台的运动状态信息;基于所述元数据确定所述可移动平台的运动状态信息。本申请实施例提供的技术方案,通过将数据放在基于视频传输协议的码流中进行传输,提高了数据的传输效率。In this embodiment of the present application, a terminal device may receive a code stream sent by a mobile platform, and parse a data unit from the code stream based on a video data encoding protocol; at least one data unit in the data unit contains metadata, so The metadata is used to indicate motion state information of the movable platform; and the motion state information of the movable platform is determined based on the metadata. The technical solutions provided by the embodiments of the present application improve data transmission efficiency by placing data in a video transmission protocol-based code stream for transmission.
参照图9,图9示出了本申请实施例提供的另一种数据处理方法的流程图,应用于终端设备,其中所述终端设备与可移动平台,所述方法包括:Referring to FIG. 9, FIG. 9 shows a flowchart of another data processing method provided by an embodiment of the present application, applied to a terminal device, wherein the terminal device and a movable platform, the method includes:
901,接收所述可移动平台发送的码流。901. Receive a code stream sent by the movable platform.
902,基于视频数据编码协议从所述码流中解析出数据单元;所述数据单元包括对应于元数据的数据单元和对应于视频数据的数据单元。902. Parse a data unit from the code stream based on a video data encoding protocol; the data unit includes a data unit corresponding to metadata and a data unit corresponding to video data.
在本申请实施例中,可移动平台可以将视频数据对应的数据单元、元数据对应的数据单元一同编码到码流中向终端设备发送,可以使得视频数据和元数据同步传输。终端设备在从码流中解析得到视频数据对应的数据单元、元数据对应的数据单元后,不需要对元数据和视频数据做额外的数据同步处理。元数据对应的数据单元中可以具有时间戳,终端设备可以根据时间戳将元数据全局同步。In the embodiment of the present application, the movable platform can encode the data unit corresponding to the video data and the data unit corresponding to the metadata together into a code stream and send it to the terminal device, so that the video data and the metadata can be transmitted synchronously. After the terminal device parses and obtains the data unit corresponding to the video data and the data unit corresponding to the metadata from the code stream, it does not need to perform additional data synchronization processing on the metadata and the video data. The data unit corresponding to the metadata may have a time stamp, and the terminal device may globally synchronize the metadata according to the time stamp.
在本申请实施例中,所述数据单元可以为网络抽象层单元,所述网络抽象层单元的类型包括补充增强信息SEI类型,所述从所述码流中解析基于视频数据编码协议的数据单元的步骤可以包括:从所述码流中解析出所述SEI类型的网络抽象层单元,得到元数据对应的网络抽象层单元。In this embodiment of the present application, the data unit may be a network abstraction layer unit, the type of the network abstraction layer unit includes the supplementary enhancement information SEI type, and the data unit based on the video data coding protocol is parsed from the code stream The step may include: parsing the network abstraction layer unit of the SEI type from the code stream to obtain the network abstraction layer unit corresponding to the metadata.
在一种示例中,可移动平台可以对元数据进行序列化处理,得到编码数据;将编码数据封装至SEI类型的网络抽象层单元。在这种情况下,所述从所述对应于元数据的数据单元中提取元数据的步骤可以包括:从所述SEI类型的网络抽象层单元中,提取目标编码数据;对所述目标编码数据进行反序列化处理,得到元数据。In one example, the mobile platform can serialize the metadata to obtain encoded data; and encapsulate the encoded data into a network abstraction layer unit of the SEI type. In this case, the step of extracting metadata from the data unit corresponding to the metadata may include: extracting target encoded data from the SEI type network abstraction layer unit; extracting target encoded data; Perform deserialization to get metadata.
在另一种示例中,可移动平台可以基于元数据生成预定义格式的目标文件;对目标文件进行序列化处理得到编码数据;将所述编码数据封装至SEI类型的网络抽象层单元。在这种情况下,所述从所述对应于元数据的数据单元中提取元数据的步骤可以包括:从所述SEI类型的网络抽象层单元中,提取目标编码数据;对所述目标编码数据进行反序列化处理,得到预定义格式的目标文件;从所述预定义格式的目标文件解析得到元数据。In another example, the mobile platform may generate an object file in a predefined format based on the metadata; serialize the object file to obtain encoded data; and encapsulate the encoded data into an SEI-type network abstraction layer unit. In this case, the step of extracting metadata from the data unit corresponding to the metadata may include: extracting target encoded data from the SEI type network abstraction layer unit; extracting target encoded data; Deserialization is performed to obtain a target file in a predefined format; metadata is obtained by parsing the target file in the predefined format.
在一种实现方式中,预定义格式的目标文件可以为protobuf文件,可移动平台可以采用protobuf工具对protobuf文件进行序列化处理,得到编码数据。终端设备可以采用protobuf工具对目标编码数据进行反序列化处理,得到预定义格式的protobuf文件。In an implementation manner, the target file in the predefined format may be a protobuf file, and the mobile platform may use a protobuf tool to serialize the protobuf file to obtain encoded data. The terminal device can use the protobuf tool to deserialize the target encoded data to obtain a protobuf file in a predefined format.
903,基于所述元数据和所述视频数据进行预设处理。903. Perform preset processing based on the metadata and the video data.
可移动平台可以从对应于元数据的数据单元中提取元数据,从对应于视频数据的数据单元中提取视频数据,基于元数据和视频数据进行预设处理。The movable platform may extract metadata from data units corresponding to metadata, extract video data from data units corresponding to video data, and perform preset processing based on metadata and video data.
预设处理可以是基于同步的视频数据和元数据执行其他操作,例如,飞行示教再现,模拟器模拟飞行,自动飞行复飞。由于视频数据和元数据一同在码流中传输,两者的时间误差很小,终端设备可以直接使用视频数据和元数据执行预设处理,而不需要的时间同步处理。The preset processing may be to perform other operations based on the synchronized video data and metadata, for example, flight teaching reproduction, simulator flight simulation, automatic flight go-around. Since the video data and metadata are transmitted together in the code stream, the time error between the two is very small, and the terminal device can directly use the video data and metadata to perform preset processing without the need for time synchronization processing.
在本申请实施例中,终端设备可以接收可移动平台发送的码流,从码流中解析得到存储有元数据 的数据单元和存储有视频数据的数据单元,从对应元数据的数据单元中提取元数据,从对应视频数据的数据单元中提取视频数据,从而完成数据回传。In this embodiment of the present application, the terminal device may receive the code stream sent by the mobile platform, parse the code stream to obtain the data unit storing metadata and the data unit storing video data, and extract the data unit corresponding to the metadata from the data unit. Metadata, extracts video data from data units corresponding to video data, thereby completing data return.
图10示出了本申请实施例提供的一种可移动平台的框图,所述可移动平台可以包括:FIG. 10 shows a block diagram of a movable platform provided by an embodiment of the present application, and the movable platform may include:
处理器1001,用于基于视频数据编码协议生成码流,所述码流包括数据单元,所述数据单元中的至少一个数据单元包含元数据,所述元数据用于指示所述可移动平台的运动状态信息;The processor 1001 is configured to generate a code stream based on a video data encoding protocol, the code stream includes data units, and at least one data unit in the data units includes metadata, and the metadata is used to indicate the mobile platform. motion status information;
通信接口1002,用于向终端设备发送所述码流。The communication interface 1002 is used for sending the code stream to the terminal device.
可选的,所述数据单元为网络抽象层单元,所述元数据对应的网络抽象层单元的类型为补充增强信息SEI类型。Optionally, the data unit is a network abstraction layer unit, and the type of the network abstraction layer unit corresponding to the metadata is a supplemental enhancement information SEI type.
可选的,所述元数据对应的数据单元包括:对所述元数据进行序列化处理后得到的编码数据,或,对预定义格式的目标文件进行序列化处理后得到的编码数据;所述目标文件包括所述元数据。Optionally, the data unit corresponding to the metadata includes: encoded data obtained by serializing the metadata, or encoded data obtained by serializing a target file in a predefined format; the The object file includes the metadata.
可选的,所述预定义格式的目标文件为预定义格式的protobuf文件。Optionally, the target file in the predefined format is a protobuf file in the predefined format.
可选的,所述数据单元中的至少一个数据单元包括视频数据。Optionally, at least one of the data units includes video data.
可选的,在所述码流中,所述元数据对应的数据单元与所述视频数据对应的数据单元相邻。Optionally, in the code stream, the data unit corresponding to the metadata is adjacent to the data unit corresponding to the video data.
可选的,所述处理器用于将视频数据封装至基于视频数据编码协议的数据单元;从预设缓存队列中提取元数据,并将所述元数据封装至基于视频数据编码协议的数据单元;将所述视频数据对应的数据单元和所述元数据对应的数据单元编码至码流中。Optionally, the processor is configured to encapsulate the video data into a data unit based on a video data encoding protocol; extract metadata from a preset buffer queue, and encapsulate the metadata into a data unit based on the video data encoding protocol; The data unit corresponding to the video data and the data unit corresponding to the metadata are encoded into the code stream.
可选的,所述元数据对应的数据单元具有时间戳。Optionally, the data unit corresponding to the metadata has a time stamp.
图11是本申请实施例提供的一种终端设备的框图,所述终端设备可以包括:FIG. 11 is a block diagram of a terminal device provided by an embodiment of the present application. The terminal device may include:
通信接口1101,用于接收可移动平台发送的码流;The communication interface 1101 is used to receive the code stream sent by the movable platform;
处理器1102,用于基于视频数据编码协议从所述码流中解析出数据单元;所述数据单元中的至少一个数据单元包含元数据,所述元数据用于指示所述可移动平台的运动状态信息;基于所述元数据确定所述可移动平台的运动状态信息。The processor 1102 is configured to parse out data units from the code stream based on a video data encoding protocol; at least one data unit in the data units includes metadata, and the metadata is used to indicate the movement of the movable platform state information; determining motion state information of the movable platform based on the metadata.
可选的,所述数据单元为网络抽象层单元,所述元数据对应的网络抽象层单元的类型为补充增强信息SEI类型。Optionally, the data unit is a network abstraction layer unit, and the type of the network abstraction layer unit corresponding to the metadata is a supplemental enhancement information SEI type.
可选的,所述元数据对应的数据单元包括:对所述元数据进行序列化处理后得到的编码数据,或,对预定义格式的目标文件进行序列化处理后得到的编码数据;所述目标文件包括所述元数据。Optionally, the data unit corresponding to the metadata includes: encoded data obtained by serializing the metadata, or encoded data obtained by serializing a target file in a predefined format; the The object file includes the metadata.
可选的,所述数据单元中的至少一个数据单元包括视频数据。Optionally, at least one of the data units includes video data.
可选的,所述元数据对应的数据单元与所述视频数据对应的数据单元相邻。Optionally, the data unit corresponding to the metadata is adjacent to the data unit corresponding to the video data.
可选的,所述处理器还用于基于所述元数据和所述视频数据进行预设处理。Optionally, the processor is further configured to perform preset processing based on the metadata and the video data.
进一步地,本申请实施例还提供一种芯片,所述芯片包括存储器和处理器,所述处理器执行所述存储器中存储的计算机程序,以实现上述数据传输方法中的各个步骤,且能达到相同的技术效果,为避免重复,这里不再赘述。Further, an embodiment of the present application also provides a chip, the chip includes a memory and a processor, and the processor executes a computer program stored in the memory to implement each step in the above data transmission method, and can achieve The same technical effect, in order to avoid repetition, will not be repeated here.
进一步地,本申请实施例还提供一种芯片,所述芯片包括存储器和处理器,所述处理器执行所 述存储器中存储的计算机程序,以实现上述数据处理方法中的各个步骤,且能达到相同的技术效果,为避免重复,这里不再赘述。Further, an embodiment of the present application also provides a chip, the chip includes a memory and a processor, and the processor executes a computer program stored in the memory to implement the various steps in the above data processing method, and can achieve The same technical effect, in order to avoid repetition, will not be repeated here.
进一步地,本申请实施例还提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得所述计算机执行上述的数据传输方法。为避免重复,这里不再赘述。Further, the embodiments of the present application further provide a computer-readable storage medium, including instructions, which, when executed on a computer, cause the computer to execute the above-mentioned data transmission method. In order to avoid repetition, details are not repeated here.
进一步地,本申请实施例还提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得所述计算机执行上述的数据处理方法。为避免重复,这里不再赘述。Further, an embodiment of the present application further provides a computer-readable storage medium, which includes instructions, which, when executed on a computer, cause the computer to execute the above-mentioned data processing method. In order to avoid repetition, details are not repeated here.
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。本文中所称的“一个实施例”、“实施例”或者“一个或者多个实施例”意味着,结合实施例描述的特定特征、结构或者特性包括在本申请的至少一个实施例中。此外,请注意,这里“在一个实施例中”的词语例子不一定全指同一个实施例。在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本申请的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本申请可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。The various embodiments in this specification are described in a progressive manner, and each embodiment focuses on the differences from other embodiments, and the same and similar parts between the various embodiments may be referred to each other. Reference herein to "one embodiment," "an embodiment," or "one or more embodiments" means that a particular feature, structure, or characteristic described in connection with an embodiment is included in at least one embodiment of the present application. Also, please note that instances of the phrase "in one embodiment" herein are not necessarily all referring to the same embodiment. In the description provided herein, numerous specific details are set forth. It will be understood, however, that the embodiments of the present application may be practiced without these specific details. In some instances, well-known methods, structures and techniques have not been shown in detail in order not to obscure an understanding of this description. In the claims, any reference signs placed between parentheses shall not be construed as limiting the claim. The word "comprising" does not exclude the presence of elements or steps not listed in a claim. The word "a" or "an" preceding an element does not exclude the presence of a plurality of such elements. The application can be implemented by means of hardware comprising several different elements and by means of a suitably programmed computer. In a unit claim enumerating several means, several of these means may be embodied by one and the same item of hardware. The use of the words first, second, and third, etc. do not denote any order. These words can be interpreted as names. Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present application, but not to limit them; although the present application has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that: it can still be Modifications are made to the technical solutions described in the foregoing embodiments, or some technical features thereof are equivalently replaced; and these modifications or replacements do not make the essence of the corresponding technical solutions depart from the scope of the technical solutions of the embodiments of the present application.

Claims (30)

  1. 一种数据传输方法,应用于可移动平台,所述可移动平台能够与终端设备通信,其特征在于,所述方法包括:A data transmission method, applied to a movable platform capable of communicating with a terminal device, characterized in that the method comprises:
    基于视频数据编码协议生成码流,所述码流包括数据单元,所述数据单元中的至少一个数据单元包含元数据,所述元数据用于指示所述可移动平台的运动状态信息;Generate a code stream based on a video data encoding protocol, the code stream includes data units, at least one of the data units includes metadata, and the metadata is used to indicate motion state information of the movable platform;
    向所述终端设备发送所述码流。Send the code stream to the terminal device.
  2. 根据权利要求1所述的方法,其特征在于,所述数据单元为网络抽象层单元,所述元数据对应的网络抽象层单元的类型为补充增强信息SEI类型。The method according to claim 1, wherein the data unit is a network abstraction layer unit, and the type of the network abstraction layer unit corresponding to the metadata is a supplemental enhancement information SEI type.
  3. 根据权利要求2所述的方法,其特征在于,所述元数据对应的数据单元包括:对所述元数据进行序列化处理后得到的编码数据;或,对预定义格式的目标文件进行序列化处理后得到的编码数据,所述目标文件包括所述元数据。The method according to claim 2, wherein the data unit corresponding to the metadata comprises: encoded data obtained by serializing the metadata; or serializing a target file in a predefined format The encoded data obtained after processing, the target file includes the metadata.
  4. 根据权利要求3所述的方法,其特征在于,所述预定义格式的目标文件为预定义格式的protobuf文件。The method according to claim 3, wherein the target file in the predefined format is a protobuf file in the predefined format.
  5. 根据权利要求1所述的方法,其特征在于,所述数据单元中的至少一个数据单元包括视频数据。The method of claim 1, wherein at least one of the data units includes video data.
  6. 根据权利要求5所述的方法,其特征在于,在所述码流中,所述元数据对应的数据单元与所述视频数据对应的数据单元相邻。The method according to claim 5, wherein, in the code stream, a data unit corresponding to the metadata is adjacent to a data unit corresponding to the video data.
  7. 根据权利要求5所述的方法,其特征在于,所述基于视频数据编码协议生成码流,包括:The method according to claim 5, wherein the generating a code stream based on a video data encoding protocol comprises:
    将视频数据封装至基于视频数据编码协议的数据单元;Encapsulate the video data into data units based on the video data coding protocol;
    从预设缓存队列中提取元数据,并将所述元数据封装至基于视频数据编码协议的数据单元;Extract metadata from a preset buffer queue, and encapsulate the metadata into a data unit based on a video data encoding protocol;
    将所述视频数据对应的数据单元和所述元数据对应的数据单元编码至码流中。The data unit corresponding to the video data and the data unit corresponding to the metadata are encoded into the code stream.
  8. 根据权利要求1所述的方法,其特征在于,所述元数据对应的数据单元具有时间戳。The method according to claim 1, wherein the data unit corresponding to the metadata has a time stamp.
  9. 一种数据处理方法,应用于终端设备,所述终端设备能够与可移动平台通信,其特征在于,所述方法包括:A data processing method, applied to a terminal device capable of communicating with a movable platform, characterized in that the method comprises:
    接收所述可移动平台发送的码流;receiving the code stream sent by the movable platform;
    基于视频数据编码协议从所述码流中解析出数据单元;所述数据单元中的至少一个数据单元包含元数据,所述元数据用于指示所述可移动平台的运动状态信息;A data unit is parsed from the code stream based on a video data encoding protocol; at least one data unit in the data unit includes metadata, and the metadata is used to indicate motion state information of the movable platform;
    基于所述元数据确定所述可移动平台的运动状态信息。Motion state information of the movable platform is determined based on the metadata.
  10. 根据权利要求9所述的方法,其特征在于,所述数据单元为网络抽象层单元,所述元数据对应的网络抽象层单元的类型为补充增强信息SEI类型。The method according to claim 9, wherein the data unit is a network abstraction layer unit, and the type of the network abstraction layer unit corresponding to the metadata is a supplemental enhancement information SEI type.
  11. 根据权利要求10所述的方法,其特征在于,所述元数据对应的数据单元包括:对所述元数 据进行序列化处理后得到的编码数据,或,对预定义格式的目标文件进行序列化处理后得到的编码数据;所述目标文件包括所述元数据。The method according to claim 10, wherein the data unit corresponding to the metadata comprises: encoded data obtained by serializing the metadata, or serializing a target file in a predefined format The encoded data obtained after processing; the target file includes the metadata.
  12. 根据权利要求9所述的方法,其特征在于,所述数据单元中的至少一个数据单元包括视频数据。10. The method of claim 9, wherein at least one of the data units includes video data.
  13. 根据权利要求12所述的方法,其特征在于,所述元数据对应的数据单元与所述视频数据对应的数据单元相邻。The method according to claim 12, wherein the data unit corresponding to the metadata is adjacent to the data unit corresponding to the video data.
  14. 一种可移动平台,其特征在于,包括:A movable platform, characterized in that, comprising:
    处理器,用于基于视频数据编码协议生成码流,所述码流包括数据单元,所述数据单元中的至少一个数据单元包含元数据,所述元数据用于指示所述可移动平台的运动状态信息;a processor, configured to generate a code stream based on a video data encoding protocol, the code stream includes data units, at least one of the data units contains metadata, and the metadata is used to indicate the movement of the movable platform status information;
    通信接口,用于向终端设备发送所述码流。The communication interface is used for sending the code stream to the terminal device.
  15. 根据权利要求14所述的可移动平台,其特征在于,所述数据单元为网络抽象层单元,所述元数据对应的网络抽象层单元的类型为补充增强信息SEI类型。The mobile platform according to claim 14, wherein the data unit is a network abstraction layer unit, and the type of the network abstraction layer unit corresponding to the metadata is a supplemental enhancement information SEI type.
  16. 根据权利要求15所述的可移动平台,其特征在于,所述元数据对应的数据单元包括:对所述元数据进行序列化处理后得到的编码数据,或,对预定义格式的目标文件进行序列化处理后得到的编码数据;所述目标文件包括所述元数据。The mobile platform according to claim 15, wherein the data unit corresponding to the metadata comprises: encoded data obtained by serializing the metadata, or a target file in a predefined format. The encoded data obtained after serialization; the target file includes the metadata.
  17. 根据权利要求16所述的可移动平台,其特征在于,所述预定义格式的目标文件为预定义格式的protobuf文件。The mobile platform according to claim 16, wherein the target file in the predefined format is a protobuf file in the predefined format.
  18. 根据权利要求14所述的可移动平台,其特征在于,所述数据单元中的至少一个数据单元包括视频数据。15. The movable platform of claim 14, wherein at least one of the data units includes video data.
  19. 根据权利要求18所述的可移动平台,其特征在于,在所述码流中,所述元数据对应的数据单元与所述视频数据对应的数据单元相邻。The movable platform according to claim 18, wherein, in the code stream, a data unit corresponding to the metadata is adjacent to a data unit corresponding to the video data.
  20. 根据权利要求18所述的可移动平台,其特征在于,所述处理器用于将视频数据封装至基于视频数据编码协议的数据单元;从预设缓存队列中提取元数据,并将所述元数据封装至基于视频数据编码协议的数据单元;将所述视频数据对应的数据单元和所述元数据对应的数据单元编码至码流中。The mobile platform according to claim 18, wherein the processor is configured to encapsulate the video data into a data unit based on a video data coding protocol; extract metadata from a preset buffer queue, and store the metadata Encapsulate into a data unit based on a video data encoding protocol; encode the data unit corresponding to the video data and the data unit corresponding to the metadata into a code stream.
  21. 根据权利要求14所述的可移动平台,其特征在于,所述元数据对应的数据单元具有时间戳。The mobile platform according to claim 14, wherein the data unit corresponding to the metadata has a time stamp.
  22. 一种终端设备,其特征在于,包括:A terminal device, characterized in that it includes:
    通信接口,用于接收可移动平台发送的码流;The communication interface is used to receive the code stream sent by the mobile platform;
    处理器,用于基于视频数据编码协议从所述码流中解析出数据单元;所述数据单元中的至少一个数据单元包含元数据,所述元数据用于指示所述可移动平台的运动状态信息;基于所述元数据确定所述可移动平台的运动状态信息。a processor, configured to parse out data units from the code stream based on a video data encoding protocol; at least one data unit in the data units contains metadata, and the metadata is used to indicate the motion state of the movable platform information; determining motion state information of the movable platform based on the metadata.
  23. 根据权利要求22所述的终端设备,其特征在于,所述数据单元为网络抽象层单元,所述元 数据对应的网络抽象层单元的类型为补充增强信息SEI类型。The terminal device according to claim 22, wherein the data unit is a network abstraction layer unit, and the type of the network abstraction layer unit corresponding to the metadata is a supplementary enhancement information SEI type.
  24. 根据权利要求23所述的终端设备,其特征在于,所述元数据对应的数据单元包括:对所述元数据进行序列化处理后得到的编码数据,或,对预定义格式的目标文件进行序列化处理后得到的编码数据;所述目标文件包括所述元数据。The terminal device according to claim 23, wherein the data unit corresponding to the metadata comprises: encoded data obtained by serializing the metadata, or serializing a target file in a predefined format The encoded data obtained after processing; the target file includes the metadata.
  25. 根据权利要求22所述的终端设备,其特征在于,所述数据单元中的至少一个数据单元包括视频数据。23. The terminal device of claim 22, wherein at least one of the data units includes video data.
  26. 根据权利要求25所述的终端设备,其特征在于,所述元数据对应的数据单元与所述视频数据对应的数据单元相邻。The terminal device according to claim 25, wherein the data unit corresponding to the metadata is adjacent to the data unit corresponding to the video data.
  27. 一种芯片,其特征在于,所述芯片包括存储器和处理器,所述处理器执行所述存储器中存储的计算机程序,以实现如权利要求1-8任一项所述的数据传输方法。A chip, characterized in that the chip includes a memory and a processor, and the processor executes a computer program stored in the memory to implement the data transmission method according to any one of claims 1-8.
  28. 一种芯片,其特征在于,所述芯片包括存储器和处理器,所述处理器执行所述存储器中存储的计算机程序,以实现如权利要求9-13任一项所述的数据处理方法。A chip, characterized in that the chip includes a memory and a processor, and the processor executes a computer program stored in the memory to implement the data processing method according to any one of claims 9-13.
  29. 一种计算机可读存储介质,其特征在于,包括指令,当其在计算机上运行时,使得所述计算机执行如权利要求1-8任一项所述的数据传输方法。A computer-readable storage medium, characterized by comprising instructions, which, when executed on a computer, cause the computer to execute the data transmission method according to any one of claims 1-8.
  30. 一种计算机可读存储介质,其特征在于,包括指令,当其在计算机上运行时,使得所述计算机执行如权利要求9-13任一项所述的数据处理方法。A computer-readable storage medium, characterized by comprising instructions, which, when executed on a computer, cause the computer to execute the data processing method according to any one of claims 9-13.
PCT/CN2020/110864 2020-08-24 2020-08-24 Data transmission and processing methods, mobile platform, terminal device and chip WO2022040875A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202080042117.XA CN113950825A (en) 2020-08-24 2020-08-24 Data transmission method, data processing method, movable platform, terminal equipment and chip
PCT/CN2020/110864 WO2022040875A1 (en) 2020-08-24 2020-08-24 Data transmission and processing methods, mobile platform, terminal device and chip

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2020/110864 WO2022040875A1 (en) 2020-08-24 2020-08-24 Data transmission and processing methods, mobile platform, terminal device and chip

Publications (1)

Publication Number Publication Date
WO2022040875A1 true WO2022040875A1 (en) 2022-03-03

Family

ID=79326011

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/110864 WO2022040875A1 (en) 2020-08-24 2020-08-24 Data transmission and processing methods, mobile platform, terminal device and chip

Country Status (2)

Country Link
CN (1) CN113950825A (en)
WO (1) WO2022040875A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115731632A (en) * 2021-08-30 2023-03-03 成都纵横自动化技术股份有限公司 Data transmission and analysis method and data transmission system

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107438025A (en) * 2017-07-31 2017-12-05 北京京东尚科信息技术有限公司 Communication gate, UAV Communication device, unmanned aerial vehicle monitoring system and method
CN108200447A (en) * 2018-01-15 2018-06-22 北京金山云网络技术有限公司 Live data transmission method, device, electronic equipment, server and storage medium
CN108924600A (en) * 2018-06-28 2018-11-30 乐蜜有限公司 Sending and receiving methods, device and the electronic equipment of live data
US10249047B2 (en) * 2016-09-13 2019-04-02 Intelligent Fusion Technology, Inc. System and method for detecting and tracking multiple moving targets based on wide-area motion imagery
CN110401850A (en) * 2019-07-30 2019-11-01 网宿科技股份有限公司 A kind of method and apparatus of the customized SEI of transparent transmission
CN110830555A (en) * 2019-10-15 2020-02-21 图灵人工智能研究院(南京)有限公司 Data processing method, control device and storage medium for unmanned equipment

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020133371A1 (en) * 2018-12-29 2020-07-02 深圳市大疆创新科技有限公司 Competition video subtitle processing method and broadcast guiding system
US11416478B2 (en) * 2019-01-08 2022-08-16 Live Earth, LLC Data structure and format for efficient storage or transmission of objects
CN111416756B (en) * 2020-03-13 2021-12-14 深圳市腾讯信息技术有限公司 Protocol testing method, device, computer equipment and storage medium

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10249047B2 (en) * 2016-09-13 2019-04-02 Intelligent Fusion Technology, Inc. System and method for detecting and tracking multiple moving targets based on wide-area motion imagery
CN107438025A (en) * 2017-07-31 2017-12-05 北京京东尚科信息技术有限公司 Communication gate, UAV Communication device, unmanned aerial vehicle monitoring system and method
CN108200447A (en) * 2018-01-15 2018-06-22 北京金山云网络技术有限公司 Live data transmission method, device, electronic equipment, server and storage medium
CN108924600A (en) * 2018-06-28 2018-11-30 乐蜜有限公司 Sending and receiving methods, device and the electronic equipment of live data
CN110401850A (en) * 2019-07-30 2019-11-01 网宿科技股份有限公司 A kind of method and apparatus of the customized SEI of transparent transmission
CN110830555A (en) * 2019-10-15 2020-02-21 图灵人工智能研究院(南京)有限公司 Data processing method, control device and storage medium for unmanned equipment

Also Published As

Publication number Publication date
CN113950825A (en) 2022-01-18

Similar Documents

Publication Publication Date Title
CN110431850B (en) Signaling important video information in network video streaming using MIME type parameters
US9351028B2 (en) Wireless 3D streaming server
CN100562121C (en) Make the synchronous method of rest image and moving picture stream
CN106878804A (en) Transmitted as a stream through the network of coded video data
US10887645B2 (en) Processing media data using file tracks for web content
JPH11177946A (en) Coder, coding method, decoder, decoding method and served medium
US20220369000A1 (en) Split rendering of extended reality data over 5g networks
CN1534503A (en) Method of realizing real time image sound talks in network game, system and storage medium thereof
WO2022040875A1 (en) Data transmission and processing methods, mobile platform, terminal device and chip
CN111083311A (en) Synchronization system and method for airborne multi-channel video and POS data of unmanned aerial vehicle
JP4194240B2 (en) Method and system for client-server interaction in conversational communication
US11363330B2 (en) Method, apparatus and computer-readable recording medium for transmitting or receiving VPCC data
WO2023207119A1 (en) Immersive media processing method and apparatus, device, and storage medium
WO2017099092A1 (en) Transmission device, transmission method, reception device, and reception method
US20230025664A1 (en) Data processing method and apparatus for immersive media, and computer-readable storage medium
CN108124183B (en) Method for synchronously acquiring video and audio to perform one-to-many video and audio streaming
CN112995134B (en) Three-dimensional video streaming media transmission method and visualization method
CN113784094A (en) Video data processing method, gateway, terminal device and storage medium
CN104796765A (en) Method and device for extracting SPS (standard positioning services) and PPS (precise positioning services) from H264 frames
KR20240007142A (en) Segmented rendering of extended reality data over 5G networks
KR20200022798A (en) System and method for 3d model compression and decompression
CN112565799B (en) Video data processing method and device
CN114009030A (en) Techniques for signaling and identifying access unit boundaries
WO2024041239A1 (en) Data processing method and apparatus for immersive media, device, storage medium, and program product
CN115396647B (en) Data processing method, device and equipment for immersion medium 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: 20950550

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: 20950550

Country of ref document: EP

Kind code of ref document: A1