Real-time data transmission method, real-time data reception method, and computer-readable recording medium
The method allows real-time data transmission across diverse devices by using web-based protocols with text-based information messages, addressing inefficiencies in existing protocols and enabling seamless data format handling across different hardware specifications.
Patent Information
- Application Number
- JP2023563839
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2022-08-23
- Filing Date
- 2023-02-09
- Publication Date
- 2025-07-01
- Estimated Expiration
- 2043-02-09
AI Technical Summary
Existing real-time data transmission protocols are inefficient for transmitting various forms of data due to increased processing load and operational complexity from protocol and format conversions, limiting their application to low-spec IoT devices.
A real-time data transmission method using a web-based protocol that transmits data in logical units with accompanying text-based information messages, allowing devices to distinguish and process different data formats without conversion, and supports extensible APIs for new protocols.
Enables real-time transmission and reception of various data formats without codec or format conversion, minimizing information loss and processing delays, and supporting a wide range of devices from low-spec IoT to high-spec systems.
Smart Images

Figure 0007701084000001 
Figure 0007701084000002 
Figure 0007701084000003
Abstract
Description
Technical Field
[0001] The present invention relates to a method and apparatus for transmitting and receiving data, and more particularly, to a method and apparatus for transmitting and receiving various forms of data in real time.
Background Art
[0002] There are various protocols used for real-time transmission of multimedia data such as video and audio. For example, there are various protocols such as RTSP (Real-Time Streaming Protocol) mainly used in CCTV (Closed Circuit Television), WebRTC (Web Real-Time Communication) used in video conferences, SRT (Secure Reliable Transport) or RIST (Reliable Internet Stream Transport) for ultra-low-latency broadcasting. Since conventional various protocols are optimized to suit the transmission of specific data formats or applications, it is not easy to transmit various forms of data with a single protocol.
[0003] If various types of protocols are used in combination, there are disadvantages such as an increase in the processing load due to protocol conversion, format conversion, codec conversion, etc. during interoperation, resulting in an increase in the required performance of the system or an increase in operational complexity. For example, WebRTC, which has recently attracted attention as a real-time protocol, has limitations in using new codecs because the supported codecs are of high specifications or because of the characteristics of web standards in free and standardized codecs, and WebRTC cannot optimize the transmitted data in a lightweight form, so it is difficult to apply to low-spec IoT devices with low performance.
Summary of the Invention
Problems to be Solved by the Invention
[0004] The technical problem that the embodiments of the present invention seek to solve is to provide a real-time data transmission / reception method and an apparatus thereof that can transmit various forms of data in real time regardless of the hardware specifications and their numbers.
Means for Solving the Problem
[0005] An example of the real-time data transmission method according to the embodiments of the present invention for achieving the above technical problem is a real-time data transmission method performed by a transmission device, including: transmitting a first information message including data form information of a first data message to a text base; and continuously transmitting a plurality of first data messages, wherein the first data message and the first information message are composed of at least one or more packets and are messages of a logical transmission / reception data unit that can be distinguished in an application.
[0006] An example of the real-time data reception method according to the embodiments of the present invention for achieving the above technical problem is a real-time data reception method performed by a reception device, including: when receiving a first information message transmitted on a text base, grasping data form information through the first information message; and processing a data message received after receiving the first information message based on the data form information.
Effects of the Invention
[0007] According to the embodiments of the present invention, various forms of data can be transmitted in real time. As another embodiment, even if a new codec or a new transmission technique is introduced, it can be received and transmitted as it is without codec conversion or format conversion. Therefore, problems such as information loss and processing delay due to codec conversion or format conversion can be minimized, and data formats used in various protocols can be received. As still another embodiment, a new protocol can be defined and used in various forms in the form of an API (application programming interface), and it also has excellent extensibility related to receiving the new protocol.
Brief Description of Drawings
[0008]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Best Mode for Carrying Out the Invention
[0009] Hereinafter, with reference to the accompanying drawings, a real-time data transmission / reception method and its apparatus according to an embodiment of the present invention will be described in detail.
[0010] FIG. 1 is a drawing illustrating an example of a data transmission / reception apparatus according to an embodiment of the present invention.
[0011] Referring to FIG. 1, the transmission apparatus 100 is a main body for transmitting streaming data, and the reception apparatus 110 is a main body for receiving streaming data. Both the transmission apparatus 100 and the reception apparatus 110 are terminals capable of Internet communication and are also of various types such as general computers, servers, and smartphones. For example, the transmission apparatus 100 is also an apparatus for transmitting multimedia data for broadcasting, advertising, etc.
[0012] In this embodiment, for convenience of explanation, one reception apparatus 110 is illustrated, but a plurality of reception apparatuses 110 may be connected to the transmission apparatus 100. That is, the transmission apparatus 100 can transmit streaming data to a plurality of reception apparatuses 110 in various ways such as broadcasting or multicasting.
[0013] The transmission apparatus 100 and the reception apparatus 110 can transmit and receive streaming data using a web-based transmission protocol. For example, the transmission / reception apparatuses (the transmission apparatus 100 and the reception apparatus 110) can transmit and receive streaming data using WebTransport, WebSocket, etc.
[0014] Streaming data is data transmitted in real time by the transmitting device 100. The streaming data can be of various types, such as image data, video data, audio data, and text data, and is not limited to a specific type. If the receiving device 100 receives the streaming data, it can play it back in real time.
[0015] Streaming data can also be data in various codecs and various compression formats. For example, the first video data can be compressed by the first codec, and the second video data can be compressed by the second codec. Image data, audio data, text data, etc., even if of the same type, can have different codecs and compression methods used.
[0016] Conventionally, when transmitting data, the optimal protocol suitable for the type of data was used. For example, when the transmitting device transmits CCTV, RTSP is used, and when transmitting a video conference video, WebRTC or the like is used. Therefore, conventionally, there is a disadvantage that different transmission protocols must be used depending on the type of streaming data transmitted by the transmitting device.
[0017] Accordingly, this embodiment presents a method capable of transmitting various types of streaming data after connecting the transmitting device 100 and the receiving device 110 with a web-based transmission protocol. This will be specifically described below with reference to FIG. 2 and below.
[0018] FIG. 2 is a drawing illustrating an example of a streaming data transmission method according to an embodiment of the present invention.
[0019] Referring to FIG. 2, the transmitting device transmits the flow of the information message 210 and the data message 220 to the receiving device. The information message 210 and the data message 220 are messages of logical transmission and reception data units that can be distinguished by the application, and are composed of at least one or more packets. The packet is a transmission and reception data unit of a lower transmission layer such as TCP (transmission control protocol) or UDP (user datagram protocol). The packet is also in the form of various codecs, various compression protocols (e.g., JPEP, etc.), or various transmission protocols (e.g., WebRTC, RTSP, etc.).
[0020] As an embodiment, in order to distinguish the information message 210 and the data message 220, the data message 220 can use the binary message format, and the information message 210 can use the text message format. As another embodiment, additional headers or types for distinguishing the two messages (the information message 210 and the data message 220) can be defined and used in the packets of the lower transmission layer. In the following, it is assumed that the data message 220 is transmitted in the binary message format, the information message 210 is transmitted in the text message format, and the receiving device 110 distinguishes both messages for explanation.
[0021] The streaming data transmitted by the transmitting device 100 is transmitted in units of a plurality of data messages 220. The information message 210 includes the data form information of the data message 220. For example, when the data message 220 is video data compressed by the VP8 codec, the information message 210 includes the information that the data form of the data message 220 is "video data" and the codec is "VP8". The transmitting device 100 only needs to transmit the packets of the streaming data in units of data messages without changing the format of the packets constituting the streaming data.
[0022] The transmitting device 100 and the receiving device 110 do not pre - negotiate with each other about what kind of streaming data to transmit. Instead, the transmitting device 100 unilaterally transmits various kinds of streaming data. To enable the receiving device 110 to easily interpret the information message 210, the information message 210 is transmitted on a text basis. As an example of a method for transmitting the information message 210 on a text basis, the MIME (Multipurpose Internet Mail Extensions) format can be used. In addition, various methods for transmitting the information message 210 on a text basis can be applied to this embodiment. However, hereinafter, for the sake of convenience of explanation, it is assumed that the information message 210 is defined and transmitted using the MIME format for explanation.
[0023] As one embodiment, when transmitting streaming data, the transmitting device 100 can repeatedly transmit the information message 210 at regular intervals so that a new receiving device can receive and play back the streaming data from the middle of the transmission. This will be further described with reference to FIG. 6.
[0024] As another embodiment, the transmitting device 100 can transmit various kinds of streaming data in real - time while maintaining the connection as it is without the need to set up a new connection with the receiving device 110. For this purpose, the transmitting device 100 can transmit the information message 210 every time the type of the streaming data to be transmitted is changed. This will be further described with reference to FIG. 5.
[0025] FIG. 3 and FIG. 4 are drawings illustrating an example of the display format of the information message according to an embodiment of the present invention.
[0026] Referring to FIG. 3, the information message 210 can define the data form information of the data message 220 transmitted using the MIME format. For example, the information message 210 may also include information such as the type and format of streaming data, and a codec. For example, if the streaming data is image data compressed by JPEG, the information message 210 may include "image" indicating the image data, the size of the image, and information indicating that the compression codec is JPEG. Since the information message 210 is defined in text format, it can be used by expanding options or newly adding and defining a data form (i.e., a new medium).
[0027] Referring to FIG. 4, the information message 210 includes information for distinguishing what form of data the packets constituting the streaming data are in, regardless of the protocol. For example, in FIG. 4, if the streaming data is in the form of video data, the information message can use the "packet=" option to define the packet format of the streaming data. In this packet format, there are various forms such as RTP (Real-Time Transport Protocol), TS (transport stream), GDP (Gstreamer Data Protocol), and raw. If the packet of the streaming data is the data output as a codec result, the information message includes "packet=codec", and if the packet of the streaming data is data in the RTP format, it also includes "packet=rtp". Like "packet=codec", for efficiency, without adding a separate header, the packet itself generated by a compression codec or the like can be immediately transmitted. That is, when the streaming data is data created by various codecs and various protocols such as RTP and RTCP, the packet itself can be directly transmitted via the transmission method of FIG. 2 without the need to modify the packet itself. The receiving device 110 can know whether the streaming data is in a packet format such as RTP or RTCP via the information message 210, and thereby process and play back the received data message according to the protocol.
[0028] In this embodiment, considering web compatibility and readability, only using the rules of the text-based MIME format, the information message 210 does not necessarily have to conform to MIME. For example, the transmitting device 100 can provide an API that allows users to define and use various streaming data and packet formats, although it is in the form of standard HTTP MIME information.
[0029] This embodiment can transmit various forms of streaming data by using the information message 210, and can internally receive data formats of various protocols. Therefore, when linking different protocols, it can be used conveniently without losing efficiency and without the burden of conversion. Also, it can transmit data in the simplest data format from the most complex WebRTC-formatted data, and can support a very wide range of streaming applications. That is, by applying the data transmission and reception method of this embodiment, even low-spec IoT devices can implement multimedia streaming, and high-spec devices can also implement high-quality low-latency streaming with more optimized transmission techniques.
[0030] FIG. 5 is a drawing illustrating an example of a method for transmitting various types of streaming data according to an embodiment of the present invention.
[0031] Referring to FIG. 5, the transmitting device 100 can sequentially transmit image data 510, video data 512, audio data 514, etc. in real time while being communicatively connected to the receiving device 110. Before transmitting the streaming data, the transmitting device 100 first transmits information messages (first information message 500, second information message 502, third information message 504) in order to inform the receiving device 110 of the data form of the streaming data to be transmitted.
[0032] For example, before transmitting the image data 510, the transmitting device 100 transmits a first information message 500 indicating whether the data form of the streaming data is an image. Also, before transmitting the video data 512, the transmitting device 100 transmits a second information message 502 indicating whether the data form of the streaming data is video, and before transmitting the audio data 514, the transmitting device 100 transmits a third information message 504 indicating whether the data form of the streaming data is audio. Therefore, the receiving device 110 can grasp what kind of data the streaming data received via the first information message 500, the second information message 502, and the third information message 504 is. Since the information messages (the first information message 500, the second information message 502, the third information message 504) are transmitted on a text basis, the receiving device 110 can read the information messages as they are and confirm their contents.
[0033] As another example, the transmitting device 100 can transmit a first data message, transmit a second data message for a while, and then continue to transmit the first data message again. For this purpose, the transmitting device 100 can transmit a first information message related to the first data message, a second information message related to the second data message, and further a first information message related to the first data message before transmitting each data message.
[0034] FIG. 6 is a drawing illustrating an example of a method of periodically transmitting an information message according to an embodiment of the present invention.
[0035] Referring to FIG. 6, while transmitting data messages 610, 612, 614 of one type of streaming data, the transmitting device 100 can periodically transmit a first information message 600. The repetition transmission period of the first information message 600 can be variously set depending on an application or the like.
[0036] A new second receiving device (not shown) can connect to the transmitting device 100 during the transmission of streaming data and receive the streaming data from the middle part. However, the second receiving device (not shown) cannot know what kind of streaming data the data message received from the middle part is and cannot play it. The second receiving device (not shown) waits until it receives the first information message 600 to grasp the type of streaming data. For example, if the second receiving device (not shown) receives the first information message 600 transmitted second, it can grasp the data form of the streaming data and process and play the next received data message 614 according to the grasped data form. The second receiving device (not shown) discards all the data messages received before the reception of the first information message 600.
[0037] FIG. 7 is a flowchart illustrating an example of a method by which a transmitting device according to an embodiment of the present invention transmits data in real time.
[0038] Referring to FIG. 7, the transmitting device 100 transmits a first information message including data form information of a first data message to a text base (S700). After transmitting the first information message, the transmitting device 100 can continuously transmit a plurality of first data messages (S710). Here, the first data message and the first information message are messages of a logical transmission / reception data unit that are composed of at least one or more packets and can be distinguished in an application. The first information message is defined in the MIME format, and an example thereof is illustrated in FIGS. 3 and 4.
[0039] As another embodiment, the transmitting device 100 can repeatedly transmit the first information message at a fixed period for a receiving device that receives streaming data in the middle. An example related thereto is illustrated in FIG. 6.
[0040] When attempting to transmit a second data message that is different from the data format of the first data message, the transmitting device 100 transmits a second information message indicating the data format of the second data message (S720). After transmitting the second information message, the transmitting device 100 transmits the second data message (S730). As another embodiment, the transmitting device 100 can repeatedly transmit the second information message at regular intervals.
[0041] The transmitting device 100 and the receiving device 110 can transmit and receive different types of streaming data in real time while maintaining the web connection as it is. For example, the transmitting device 100 can sequentially transmit the aforementioned first information message, at least one or more first data messages, the second information message, and at least one or more second data messages via one connection.
[0042] FIG. 8 is a flowchart illustrating an example of a method by which a receiving device according to an embodiment of the present invention receives data in real time.
[0043] Referring to FIG. 8, if the receiving device 110 receives the first information message transmitted on the text basis (S800), it grasps the data format of the streaming data via the first information message (S810). Based on the data format information, the receiving device 110 processes and reproduces the data message received after receiving the first information message (S820). For example, if the streaming data includes packets generated by a specific codec or RTP, the receiving device 110 can decode and interpret the packets of the streaming data by a specific codec or RTP, etc., based on the first information message. The receiving device 110 can transmit the streaming data (e.g., video, audio, etc.) to respective playback devices (video playback application, audio playback application, etc.) that match the data format and reproduce it.
[0044] As another embodiment, the receiving device 110 may not initially receive the streaming data transmitted by the transmitting device 100, connect to the transmitting device 100 in the middle, and receive the streaming data from the middle. At this time, the receiving device 110 can discard the first data message received before receiving the first information message, and process and play the first data message received after receiving the first information message.
[0045] FIG. 9 is a drawing illustrating an example of a state transition diagram for streaming data processing according to an embodiment of the present invention.
[0046] Referring to FIG. 9, in the initial state (900), the receiving device 110 waits to receive an information message. If an information message of the text base is received, the receiving device 110 transitions to the information message decoding state (910). If there is an error in information message decoding, the receiving device 110 returns to the initial state 900 and waits until a new information message is received.
[0047] If the information message decoding is completed normally, the receiving device 110 transitions to the data message receiving and processing state (920). If an information message is received during the reception and processing of the data message, the receiving device 110 further transitions to the information message decoding state (910). If an error occurs in decoding, the receiving device 110 waits in the initial state 900 until a new information message is received. Further, in the data message receiving and processing state (920), if a transmission error or transmission interruption occurs, the receiving device 110 returns to the initial state 900 and waits to receive an information message.
[0048] The present invention can also be embodied as computer-readable code on a computer-readable recording medium. The computer-readable recording medium includes all types of recording devices in which data that can be read by a computer system is stored. Examples of the computer-readable recording medium include ROM, RAM, CD-ROM, SSD, optical data storage devices, and the like. Further, the computer-readable recording medium can be distributed to a computer system connected to a network and the computer-readable code can be stored and executed in a distributed manner.
[0049] As described above, the present invention has been described mainly with respect to its preferred embodiments. Those having ordinary knowledge in the technical field to which the present invention pertains will be able to understand that the present invention can be embodied in a modified form within a range not deviating from the essential characteristics of the present invention. Therefore, the disclosed embodiments should be considered from an illustrative point of view rather than a limiting point of view. The scope of the present invention is shown not in the foregoing description but in the claims, and all differences within the scope equivalent thereto should be construed as being included in the present invention.
Claims
1. A real-time data transmission method performed by a transmission device, comprising: transmitting a first information message including data form information of a first data message on a text basis; continuously transmitting a plurality of first data messages; wherein the first data message and the first information message are messages composed of at least one or more packets and are distinguishable in an application; the step of transmitting the first information message includes repeatedly transmitting the first information message at a fixed period. A real-time data transmission method characterized by this.
2. The real-time data transmission method according to claim 1, wherein the first information message defines the data form information in MIME (Multipurpose Internet Mail Extensions) format.
3. transmitting a second information message including new data form information; after transmitting the second information message, transmitting a second data message in a new data form; The real-time data transmission method according to claim 1, further characterized by including the above.
4. While maintaining the connection state with at least one or more receiving devices using a web-based transmission protocol as it is, transmitting the first information message, the first data message, the second information message, and the second data message. The real-time data transmission method according to claim 3, characterized by this.
5. A real-time data reception method performed by a receiving device, comprising: when receiving a first information message transmitted on a text basis, grasping data form information via the first information message; processing a data message received after receiving the first information message based on the data form information; wherein the first information message is repeatedly received at a fixed period. A real-time data reception method characterized by this.
6. The real-time data reception method according to claim 5, further comprising, when receiving a second information message different from the first information message, processing a second data message received after the second information message using the data form information included in the second information message.
7. The real-time data reception method according to claim 5, wherein the first information message defines the data form information in MIME (Multipurpose Internet Mail Extensions) format.
8. A computer-readable recording medium recording a computer program for performing the real-time data transmission method according to claim 1.
Citation Information
Patent Citations
Communication device, communication data generation method, and communication data processing method
JP2015136058A
Apparatus and method for live streaming between mobile communication terminals
US20110320571A1
Transmission device, transmission method, reception device, and reception method
WO2016039285A1