Packet generation device, packet generation method, and packet generation program
By synchronizing the generation timing of audio packets across multiple packet generation devices in broadcasting station systems, the solution addresses the issue of temporal discontinuities in audio samples, improving the reliability and efficiency of audio packet transmission.
Patent Information
- Application Number
- JP2023156652
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-09-22
- Publication Date
- 2025-04-03
- Estimated Expiration
- 2043-09-22
AI Technical Summary
In broadcasting station systems using IP networks, the timing of generating audio RTP packets across multiple transmitting nodes is not standardized, leading to potential temporal discontinuities in audio samples when packets are switched at receiving nodes.
A packet generation device that synchronizes the generation timing of audio packets across multiple devices using a common clock synchronized with a common time source, ensuring that each audio packet is generated at the same timing and interval required for output.
This solution aligns the generation timing of voice packets across multiple packet generation devices, reducing the likelihood of temporal discontinuities in audio samples and simplifying the restoration process, thereby enhancing the reliability and efficiency of audio packet transmission.
Smart Images

Figure 2025047888000001_ABST
Abstract
Description
[Technical field]
[0001] The present disclosure relates to a packet generation device, a packet generation method, and a packet generation program. [Background technology]
[0002] As a result of the remarkable improvement in the performance of IP (Internet Protocol) technology in recent years, broadcasting companies are finding it advantageous to utilize the more versatile IP technology and are working to update their in-station networks to IP networks. By adopting an IP-based network architecture, it becomes possible to build a high-speed, large-capacity network at low cost using general-purpose network devices such as general-purpose routers and switches.
[0003] Standardization of protocols for transmitting broadcasting materials using IP technology is also currently underway. For example, ARIB (Association of Radio Industries and Businesses) has already standardized ARIB STD-B73 (see Non-Patent Document 1). ARIB STD-B73 specifies the data structure for transmitting video, audio, and auxiliary data in a single stream.
[0004] When audio is transmitted in a single stream, the transmitted audio RTP (Real-time Transport Protocol) packet contains multiple audio samples. Chapter 2 of ARIB STD-B73 version 1.0 specifies that the number of channels of audio essence that can be packed in one audio RTP packet is 4, 8, 12, or 16 channels. In addition, the upper limit of the RTP packet size determines the number of channels that can be transmitted in one audio RTP packet according to the audio packet time.
[0005] The essence refers to information corresponding to each of the video, audio, and auxiliary data. For example, the audio essence refers to audio information (also called audio data) corresponding to the audio. Also, the video essence refers to video information (also called video data) corresponding to the video.
[0006] The audio packet time is the time required to output one audio RTP packet. The audio packet time corresponds to the time from the start time of the first audio sample to the end time of the last audio sample included in the audio essence transmitted in one audio RTP packet. The audio essence is packed into the audio RTP packet at the audio packet time interval.
[0007] For example, when the audio packet time is 1 ms, the number of channels that can be transmitted in one audio RTP packet is up to 8. When the audio packet time is 1 ms, the number of audio samples included in one audio RTP packet is 48. When the audio packet time is 125 μs, the number of channels that can be transmitted in one audio RTP packet is up to 16. When the audio packet time is 125 μs, the number of audio samples included in one audio RTP packet is 6. [Prior art documents] [Non-patent literature]
[0008] [Non-Patent Document 1] ARIB STD-B73, "IP interface for program production using a single independent stream format for video, audio, and data," version 1.0 Summary of the Invention [Problem to be solved by the invention]
[0009] ARIB STD-B73 specifies that for an audio capture device, the RTP timestamp of an audio RTP packet must reflect the sampling value of the first sample of the audio signal in the audio RTP packet. However, ARIB STD-B73 does not specify the timing of generation of audio RTP packets at each transmitting node when a broadcasting station system includes multiple transmitting nodes.
[0010] As a result, there is a possibility that each of the multiple transmitting nodes packs the voice essence into an audio RTP packet at its own timing and transmits it. If the transmission timing of the audio RTP packet differs between the multiple transmitting nodes, if the receiving node switches the received audio packet stream as packets, a time discontinuity may occur in the restored audio samples. In order to prevent discontinuity in the restored audio samples, it is necessary to take measures such as restoring the audio packets to audio samples at the receiving node before switching.
[0011] In consideration of the above-mentioned problems, an object of the present disclosure is to provide a packet generation device, a packet generation method, and a packet generation program that enable the generation timing of voice packets generated by the packet generation devices to be aligned among multiple packet generation devices. [Means for solving the problem]
[0012] In one aspect of the present disclosure, a packet generating device includes a receiving unit that receives an audio essence, which is audio information corresponding to audio, a generating unit that generates an audio packet containing the audio essence in its payload, and an output unit that outputs the audio packet, wherein the timing at which the generating unit generates each of the audio packets is the same among the multiple packet generating devices, based on a common clock synchronized with a common time source among the multiple packet generating devices, and in each of the packet generating devices, the generation interval for each of the audio packets is the time required to output one of the audio packets.
[0013] In another aspect of the present disclosure, a packet generation method is a packet generation method of a packet generating device, which receives an audio essence, which is audio information corresponding to audio, generates an audio packet including the audio essence in its payload, and outputs the audio packet, wherein the timing of generating each of the audio packets is the same among the multiple packet generating devices based on a common clock synchronized with a common time source among the multiple packet generating devices, and the generation interval of each of the audio packets in each of the packet generating devices is the time required to output one of the audio packets.
[0014] In another aspect of the present disclosure, the packet generation program is a packet generation program for a packet generating device, and causes a computer to realize a receiving function for receiving an audio essence, which is audio information corresponding to audio, a generating function for generating an audio packet including the audio essence in its payload, and an output function for outputting the audio packet, wherein the timing at which the generating function generates each of the audio packets is the same among the multiple packet generating devices based on a common clock synchronized with a common time source among the multiple packet generating devices, and in each of the packet generating devices, the generation interval for each of the audio packets is the time required to output one of the audio packets. Effect of the Invention
[0015] According to the present disclosure, it is possible to synchronize the generation timing of voice packets generated by a packet generator among a plurality of packet generators. [Brief description of the drawings]
[0016] [Figure 1] FIG. 2 is a diagram illustrating a configuration example of a packet generation device according to the present disclosure. [Diagram 2] FIG. 13 is a diagram illustrating an example of an operation flow of a packet generating device according to the present disclosure. [Diagram 3] FIG. 13 is a diagram illustrating an example of an operation flow of a packet generating device according to the present disclosure. [Figure 4] 1 is a diagram showing an example of a logical configuration of an IP domain of a broadcast station system according to the present disclosure. [Diagram 5] FIG. 2 is a diagram illustrating a configuration example of a transmission node in a broadcasting station system according to the present disclosure. [Figure 6] FIG. 2 is a diagram illustrating a configuration example of a transmission stream processing unit of the present disclosure. [Figure 7] FIG. 13 is a diagram illustrating an example of the timing of NextAlignmentPoint. [Figure 8] FIG. 13 is a diagram showing an example of timing of generation times according to the present disclosure. [Figure 9] FIG. 2 is a diagram illustrating a configuration example of a transmission stream processing unit of the present disclosure. [Figure 10] FIG. 2 is a diagram illustrating a configuration example of a packet generation device according to the present disclosure. [Figure 11] FIG. 13 is a diagram illustrating an example of an operation flow of a packet generating device according to the present disclosure. [Figure 12] FIG. 2 is a diagram illustrating an example of a hardware configuration according to each embodiment of the present disclosure. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0017] [First embodiment] A first embodiment of the present disclosure will be described.
[0018] A specific example of the packet generating device 10 in the first embodiment is a packet generating device 20 in a second embodiment, which will be described later.
[0019] First, a description will be given of an example of the configuration of the packet generating device 10. Fig. 1 shows an example of the configuration of the packet generating device 10. The packet generating device 10 includes a receiving unit 11, a generating unit 12, and an output unit 13.
[0020] The receiving unit 11 receives the voice essence. The voice essence is voice information corresponding to the voice.
[0021] The generation unit 12 generates voice packets that include voice essence in their payloads. The timing at which the generation unit 12 generates each voice packet is based on a common clock. The common clock is synchronized with a time source that is common among the multiple packet generation devices. The timing at which the generation unit 12 generates each voice packet is the same among the multiple packet generation devices. In each of the packet generation devices, the interval at which each voice packet is generated is the time required to output one voice packet.
[0022] The output unit 13 outputs the voice packets.
[0023] Next, a description will be given of an example of an operation flow of the packet generating device 10. An example of an operation flow of the packet generating device 10 is shown in FIG.
[0024] The receiving unit 11 receives the audio essence (step S101 in FIG. 2).
[0025] The generator 12 generates a voice packet including a voice essence in the payload (step S102 in FIG. 3).
[0026] The output unit 13 outputs the voice packets (step S103).
[0027] As described above, in the first embodiment of the present disclosure, the packet generating device 10 includes a receiving unit 11, a generating unit 12, and an output unit 13. The receiving unit 11 receives a voice essence. The voice essence is voice information corresponding to a voice. The generating unit 12 generates a voice packet including the voice essence in a payload. The generating unit 12 generates each of the voice packets based on a common clock. The common clock is synchronized with a time source common to the plurality of packet generating devices. The generating unit 12 generates each of the voice packets at the same timing among the plurality of packet generating devices. In each of the packet generating devices, the interval between the generation of each of the voice packets is the time required to output one voice packet. The output unit 13 outputs the voice packets.
[0028] In this way, the packet generating device 10 generates each of the voice packets at the same timing among the multiple packet generating devices. Also, the generation interval of each voice packet is the time required to output one voice packet. This allows the multiple packet generating devices to generate and output each of the voice packets at the same timing, at intervals equal to the time required to output one voice packet. This makes it possible to align the generation timing of the voice packets generated by the packet generating devices among the multiple packet generating devices.
[0029] [Second embodiment] Next, a packet generating device 20 according to a second embodiment of the present disclosure will be described. Note that a specific example of the packet generating device 10 according to the first embodiment is the packet generating device 20 according to the second embodiment.
[0030] <Example of a broadcasting system configuration> First, an overview of the broadcast station system 40 will be described with reference to Fig. 4. Fig. 4 shows an example of a logical configuration of an IP domain of the broadcast station system 40. The packet generation device 20 of the present disclosure can be applied to the broadcast station system 40.
[0031] 4, in broadcast station system 40, control node 400, transmitting nodes 100-i (i is an integer from 1 to N), and receiving nodes 200-j (j is an integer from 1 to M) are connected via communication line 80. Each of transmitting nodes 100-1 to 100-N may be simply referred to as transmitting node 100. Each of receiving nodes 200-1 to 200-M may be simply referred to as receiving node 200.
[0032] The control node 400 controls the broadcast station system 40 .
[0033] The sending node 100-1 includes a sender 60. A "sender" is a functional entity capable of sending a stream. Although not shown in FIG. 4, sending nodes other than the sending node 100-1 also include a sender. Each sending node may include two or more senders. A sender may correspond to a device that is a sender of each stream accommodated by the sending node.
[0034] The receiving node 200-1 includes a receiver 65. A "receiver" is a functional entity capable of receiving a stream. Although not shown in FIG. 4, receiving nodes other than the receiving node 200-1 also include a receiver. Each receiving node may include two or more senders. A receiver may correspond to a device that receives each stream accommodated by the receiving node.
[0035] 4, the broadcast station system 40 may include one or more transmitting nodes. The broadcast station system 40 may include one or more receiving nodes. The transmitting node 100 may include a receiver in addition to a sender. The receiving node 200 may include a sender in addition to a receiver.
[0036] <Example of sending node configuration> Next, a configuration example of the transmission node 100 in the broadcast station system 40 shown in FIG. 4 will be described with reference to FIG.
[0037] 5 includes the functions of both the sender 60 and the receiver 65. However, in the sending node 100, the function of the receiver 65 may be omitted.
[0038] The transmitting node 100 includes a device internal clock 110, a media clock 112, an RTP clock 114, a PTP (Precision Time Protocol) processing unit 116, a communication unit 120, a transmission stream processing unit 130, a reception stream processing unit 140, a data processing unit 180, and a control unit 190. Note that the transmitting node 100 does not necessarily have to include the reception stream processing unit 140.
[0039] (1) Device internal clock The device internal clock (also referred to as the equipment internal clock) 110 is a unique internal clock held by the sending node 100. In this embodiment, the device internal clock 110 is directly or indirectly synchronized to the PTP time source. For example, the device internal clock 110 is indirectly synchronized to the PTP time source via the PTP grandmaster.
[0040] The time source of PTP is a high-precision time source, for example, a Global Navigation Satellite System (GNSS) satellite such as a Global Positioning System (GPS) satellite. The PTP grandmaster has a common reference clock that is synchronized with the time source of PTP. The PTP grandmaster distributes synchronization messages to nodes in the broadcasting station system 40 according to the PTP mechanism. Therefore, the nodes in the broadcasting station system 40 have device internal clocks that are synchronized with the common reference clock.
[0041] There can be one PTP grandmaster or two or more PTP grandmasters. When there are two or more PTP grandmasters, the sending node 100 can select the best PTP grandmaster by using the PTP BMCA (Best Master Clock Algorithm) or the like.
[0042] The time source of the PTP corresponds to the "common time source" in the first embodiment. The device internal clock or the common reference clock corresponds to the "common clock" in the first embodiment.
[0043] (2) Media Clock The media clock 112 is a clock used for processing (e.g., sampling and reconstruction) of digital media signals. In this embodiment, the media clock 112 uses the SMPTE epoch defined in SMPTE (Society of Motion Picture and Television Engineers) ST 2059-1 as the initial value zero of the media clock 112, and is frequency-locked to the device internal clock 110 to progress at a precise rate. Note that the SMPTE epoch is 0:00:00 AM, January 1, 1970 (International Atomic Time).
[0044] In this embodiment, the sending node 100 supports ARIB STD-B73. ARIB STD-B73 is a transmission protocol for transmitting different types of essence data in a single stream. In ARIB STD-B73, the timing of each of the video essence, audio essence, and auxiliary data essence is associated with a video frame. In this case, the media clock 112 that is the basis of the RTP timestamp may be the same regardless of the type of essence data. The same applies to the RTP clock 114 described later.
[0045] In SMPTE ST 2110-20, the media clock frequency for video essence is specified as 90 kHz. On the other hand, many existing broadcasting devices have a clock of 27.0 MHz. In SMPTE ST 2022-8, the media clock frequency of 27.0 MHz is specified. When the media clock frequency is 90 kHz, the frequency is not an integer multiple of 60 / 1.001 Hz, which is often used as the frequency of a video frame. On the other hand, when the media clock frequency is set to 27.0 MHz, the frequency is an integer multiple of 60 / 1.001 Hz. In consideration of this point, in this embodiment, 27.0 MHz, which is advantageous in terms of handling in that the video frame period is kept exactly constant and the clock value increases monotonically, is used as the clock frequency of the media clock 112.
[0046] (3) RTP Clock The RTP clock 114 is a clock that is the basis of the timestamp added to the RTP header of the RTP packet. In this embodiment, the RTP clock 114 does not have an offset with respect to the media clock 112, in accordance with the provisions of SMPTE ST 2110-10. That is, the RTP clock 114 has the same value as the associated media clock 112. Therefore, in this embodiment, the clock frequency of the RTP clock 114 is equal to 27.0 MHz, similar to the clock frequency of the media clock 112.
[0047] (4) PTP Processing Unit In this embodiment, the sending node 100 supports, for example, the PTP profile of SMPTE ST 2059-2. The PTP processing unit 116 maintains synchronization between the device internal clock 110 and the PTP time source by exchanging synchronization messages with the PTP grandmaster via the communication unit 120. This allows the sending node 100 to operate in high-precision synchronization with other nodes that also have clocks synchronized with the PTP time source.
[0048] (5) Communications Department The communication unit 120 is an interface that mediates communication between the transmitting node 100 and other nodes. The communication unit 120 may include a connection terminal and a connection circuit for wired communication. The communication unit 120 may also include an antenna, an RF (Radio Frequency) circuit, and a baseband circuit for wireless communication. In this embodiment, the communication unit 120 includes a transmitting unit 122 and a receiving unit 124.
[0049] A series of RTP packets for a broadcast signal stream generated by a transmission stream processing unit 130 (described later) is input to the transmitting unit 122. Each RTP packet includes any one of essence data of video, audio, and auxiliary data in the RTP payload. An RTP timestamp is added to the RTP header of each RTP packet. The RTP timestamp is added according to the RTP clock 114.
[0050] Transmitting unit 122 adds a network header to each input RTP packet, and transmits each RTP packet to other nodes participating in broadcasting station system 40. When the broadcast signal stream is an ARIB STD-B73 stream, the port number described in the network header is common to packets carrying video data, packets carrying audio data, and packets carrying auxiliary data.
[0051] The receiving unit 124 may receive a broadcast signal stream consisting of a series of RTP packets from another node. Each RTP packet includes essence data corresponding to any one of video, audio, and auxiliary data in the RTP payload. If the stream is an ARIB STD-B73 stream, the series of RTP packets are received as a single stream via a common port number.
[0052] The receiving unit 124 may receive a broadcast signal stream other than the ARIB STD-B73 stream from another node. For example, the receiving unit 124 may receive an essence-mixed stream similar to the ARIB STD-B73 stream (e.g., an SMPTE ST 2022-6 stream). The receiving unit 124 may also receive an essence-separated stream such as an SMPTE ST 2110 stream.
[0053] The receiving unit 124 removes the network header from each packet of the received broadcast signal stream, and outputs an RTP packet consisting of an RTP header and an RTP payload to the received stream processing unit 140 .
[0054] (6) Transmission stream processing unit The transmission stream processing unit 130 processes the sequence of video data, audio data, and auxiliary data input from the data processing unit 180 to generate a series of RTP packets for the broadcast signal stream. For example, the transmission stream processing unit 130 segments the input data sequence into one or more essence payloads and adds an essence header to each payload. The payload type in the essence header is set to a value indicating the type of the corresponding essence. Also, the value of the frame count is incremented by one at the start of each new video frame.
[0055] The transmission stream processing unit 130 further adds a transport header (common header and RTP header) to each RTP packet. The value of the sequence number in the common header is incremented by 1 for each transmission, separately for the video essence, audio essence, and auxiliary data essence. The payload type in the RTP header is set to a fixed value. Also, the value of the sequence number is incremented by 1 for each transmission, regardless of the payload type.
[0056] The transmission stream processing unit 130 further stores an RTP timestamp in the RTP header in accordance with the RTP clock 114. The transmission stream processing unit 130 outputs the series of RTP packets thus generated to the transmission unit 122.
[0057] (7) Received stream processing unit The received stream processing unit 140 processes a series of RTP packets of the broadcast signal stream to restore video data, audio data, or auxiliary data. The received stream processing unit 140 receives a series of RTP packets of the broadcast signal stream from another node via the receiving unit 124. Then, the received stream processing unit 140 outputs the restored video data, audio data, or auxiliary data to the data processing unit 180. Furthermore, the received stream processing unit 140 performs time alignment of essence data between the RTP packet and other RTP packets based on the RTP timestamp of the received RTP packet or the frame count information of the received RTP packet. The received stream processing unit 140 acquires the RTP timestamp from the RTP header of the received RTP packet. Furthermore, the received stream processing unit 140 acquires frame count information from a header (for example, an essence header or a common header) in the RTP payload of the received RTP packet.
[0058] (8) Data processing unit The data processing unit 180 generates video data, audio data, or auxiliary data, and outputs a sequence of the generated data to the transmission stream processing unit 130. The data processing unit 180 may, for example, compress video data input from a data source (not shown) to generate compressed video data.
[0059] The data processing unit 180 may also process the video data, audio data, or auxiliary data restored by the received stream processing unit 140. The data processing unit 180 may synchronously play back multiple essences (e.g., two or more of a video essence, an audio essence, and an auxiliary data essence, or multiple video essences, etc.) based on the input essence data. The essence data may be restored by the received stream processing unit 140, for example, and time-aligned with each other.
[0060] Furthermore, the data processing unit 180 may record the video data, audio data, or auxiliary data restored by the received stream processing unit 140 on a recording medium (not shown) in a predetermined file format. Furthermore, when the video data input from the received stream processing unit 140 is compressed video data, the data processing unit 180 may decompress the compressed video data to restore the original video data.
[0061] The control unit 190 controls the overall operation of the sending node 100 described above.
[0062] <Configuration example of transmission stream processing unit> 6 shows an example of the configuration of the transmission stream processing unit 130. The transmission stream processing unit 130 includes an essence separation processing unit 182, an essence payload packing unit 150, and a transport processing unit 126.
[0063] (1) Essence separation processing section The essence separation processing unit 182 includes a D-MUX (demultiplexer) 184. The D-MUX 184 separates an SDI (Serial Digital Interface) signal of the input essence data into a video essence, an audio essence, and an auxiliary data essence, and outputs the separated signals to the essence payload packing unit 150. Note that the signal format of the SDI signal may be any derivative of SDI, such as SD-SDI, HD-SDI, 3G-SDI, 6G-SDI, or 12G-SDI.
[0064] (2) Essence Payload Packing Section The essence payload packing unit 150 includes a video essence processing unit 154, a video alignment unit 160, an essence header generating unit (EH generating unit) 152a, and a transport header generating unit (TH generating unit) 144a with respect to the video essence. Also, the essence payload packing unit 150 includes an audio essence processing unit 156, an audio alignment unit 162, an audio packet time alignment unit 166, an essence header generating unit (EH generating unit) 152b, and a transport header generating unit (TH generating unit) 144b with respect to the audio essence. Also, the essence payload packing unit 150 includes an auxiliary data essence processing unit 158, an auxiliary data alignment unit 164, an essence header generating unit (EH generating unit) 152c, and a transport header generating unit (TH generating unit) 144c with respect to the auxiliary data essence.
[0065] Video alignment unit 160 notifies video essence processing unit 154 of the time to pack the video essence into the RTP payload. Note that packing refers to storing essence data in an RTP payload to generate an RTP payload (or an RTP packet) including the essence data.
[0066] The video essence processor 154 packs the video essences sequentially input from the D-MUX 184 into the payload of a video RTP packet. For example, when transmitting an ARIB STD-B73 stream, the video essence processor 154 packs the video essence according to the video payload packing format defined by ARIB STD-B73 to generate an RTP payload of the video data.
[0067] Essence header generation unit 152a adds an essence header to the beginning of the video datagram input from video essence processing unit 154. Then, essence header generation unit 152a outputs the video datagram with the essence header added to transport header generation unit 144a.
[0068] The transport header generating unit 144a adds an RTP header and a common header (i.e., a transport header) to the beginning of the video datagram input from the essence header generating unit 152a. Then, the transport header generating unit 144a outputs the RTP packet to which the transport header has been added to the transport processing unit 126.
[0069] The auxiliary data alignment unit 164 informs the auxiliary data essence processing unit 158 of the time at which the auxiliary data essence is to be packed into the RTP payload.
[0070] Auxiliary data essence processor 158 packs the auxiliary data essences sequentially input from D-MUX 184 into the payload of an auxiliary data RTP packet. For example, when transmitting an ARIB STD-B73 stream, auxiliary data essence processor 158 packs the auxiliary data essence according to the packing format of the auxiliary data payload defined by ARIB STD-B73 to generate an auxiliary data RTP payload.
[0071] Essence header generation unit 152c adds an essence header to the beginning of the auxiliary data datagram input from auxiliary data essence processing unit 158. Then, essence header generation unit 152c outputs the auxiliary datagram to which the essence header has been added, to transport header generation unit 144c.
[0072] The transport header generating unit 144c adds an RTP header and a common header (i.e., a transport header) to the beginning of the auxiliary data datagram input from the essence header generating unit 152c. Then, the transport header generating unit 144c outputs the RTP packet to which the transport header has been added to the transport processing unit 126.
[0073] The audio essence processor 156 packs the audio essences sequentially input from the D-MUX 184 into the payload of an audio RTP packet. For example, when transmitting an ARIB STD-B73 stream, the audio essence processor 156 packs the audio essence according to the audio payload packing format defined by ARIB STD-B73 to generate an RTP payload of audio data.
[0074] The audio essence processor 156 performs packing in an audio packet time period. The audio packet time is the time required to output one audio RTP packet. The audio essence processor 156 packs audio samples received during the audio packet time into one audio RTP packet. The audio RTP packet is then output in an audio packet time period.
[0075] However, ARIB STD-B73 does not prescribe the timing of generating audio RTP packets in each transmitting node when a broadcasting station system includes multiple transmitting nodes.
[0076] In this embodiment, the audio packet time alignment unit 166, which will be described later, specifies the packing timing (generation time) to the audio essence processing unit 156. The timing specified here is common to two or more transmitting nodes 100. This allows the transmitting node 100 to align the audio packing timing among two or more transmitting nodes.
[0077] The audio alignment unit 162 informs the audio packet time alignment unit 166 of the time when the audio essence processing unit 156 receives each audio sample. The audio essence includes audio samples. The time when each audio sample is received is called the audio sample time.
[0078] The audio alignment unit 162 calculates the audio sample time of each audio sample as the elapsed time from the SMPTE epoch. For example, the audio alignment unit 162 sets the audio sample time of each audio sample to an integer multiple of the audio sampling period based on the epoch time. The epoch time is the elapsed time from the SMPTE epoch.
[0079] The audio alignment unit 162 can obtain the epoch time from the device internal clock. The device internal clock may be the epoch time, or may be a time with a fixed difference from the epoch time. If there is a fixed difference between the device internal clock and the epoch time, the audio alignment unit 162 can grasp the epoch time based on the device internal clock and the difference.
[0080] In SMPTE ST 2110-30, the audio sampling frequency is specified as 48 kHz. As a result, audio samples are input to the audio essence processing unit 156 at 1 / 48 ms intervals. In this case, the audio sample time is 1 / 48 ms interval.
[0081] The information on the audio sampling frequency is input from the control node 400 to each of the sending nodes 100 .
[0082] The audio packet time alignment unit 166 notifies the audio essence processing unit 156 of the time when the audio essence is packed into the RTP payload. The time when the audio essence is packed into the RTP payload is called the generation time. The generation time corresponds to the time when each audio RTP packet is generated.
[0083] The voice packet time alignment unit 166 calculates the generation time according to a rule common to the multiple transmitting nodes 100-1 to 100-N. The generation time is calculated based on a common clock synchronized with a common time source among the multiple transmitting nodes 100-1 to 100-N. The generation time is the same among the multiple transmitting nodes 100-1 to 100-N. In this embodiment, the interval between the generation times in each of the transmitting nodes 100-1 to 100-N is the voice packet time.
[0084] In this embodiment, the "common time source" is the PTP time source. In this embodiment, the "common clock" is the device internal clock or the common reference clock. More specifically, in this embodiment, the "common clock" is the epoch time. In addition, information on the audio packet time is input from the control node 400 to each of the transmitting nodes 100.
[0085] The audio packet time alignment unit 166 calculates the generation time as, for example, the elapsed time from the SMPTE epoch. Here, the audio packet time alignment unit 166 sets the generation time to, for example, an integer multiple of the audio packet time based on the epoch time.
[0086] For example, if the audio sampling frequency is 48 kHz and the audio packet time is 1 ms, which is the standard for SMPTE ST 2110-30, the generation time will be at 1 ms intervals. If the audio packet time is 0.125 μs, the generation time will be at 0.125 μs intervals.
[0087] Regarding the time when the audio essence is packed into an audio RTP packet, the following formula (1) and formula (2) are defined in SMPTE ST 2059-1.
[0088]
number
[0089]
number
[0090] In equation (1), SR represents the audio sampling frequency (Hz), and Tsamp represents the period of the audio sample.
[0091] In addition, in formula (2), t is the elapsed time from the SMPTE epoch (epoch time), and NextAlignmentPoint is the transmission time of the next RTP packet at time t.
[0092] According to equations (1) and (2), NextAlignmentPoint is as shown in Fig. 7. Fig. 7 is a diagram showing an example of the timing of NextAlignmentPoint. The example in Fig. 7 is an example in which the audio packet time is six times the audio sampling period. In the example in Fig. 7, the packing time is not specified, so there is a possibility that the packing time at each transmitting node will be different.
[0093] If the packing times of audio RTP packets are different among multiple sending nodes, switching the audio packet stream received at the receiving node as packets may cause time discontinuity in the restored audio samples. In order to prevent discontinuity in the restored audio samples, it is necessary to take measures such as restoring the audio packets to audio samples at the receiving node before switching.
[0094] For example, in Fig. 7, suppose that the receiving node receives audio RTP packet 1A1 and switches the received stream from audio essence #1 to audio essence #2 before receiving audio RTP packet 1A2. If this switching occurs after audio RTP packet 2A1 is transmitted, the receiving node cannot receive audio RTP packet 2A1 and cannot receive the seventh and eighth audio samples.
[0095] In this embodiment, the voice packet time alignment unit 166 calculates the generation time using the following equation (3).
[0096]
number
[0097] In formula (3), NextPacketTimeAlignmentPoint is the sending time of the next audio RTP packet at time t, which is the generation time in this embodiment. packet_time is the audio packet time. In this way, the generation time is an integer multiple of the audio packet time.
[0098] The audio packet time is an integer multiple of the audio sampling period. Therefore, the interval between the generation times is also an integer multiple of the audio sampling period. Therefore, the generation times in this embodiment do not violate the audio alignment rules defined in SMPTE ST 2059-1.
[0099] Fig. 8 shows an example of the timing of the generation time in this embodiment. As shown in Fig. 8, in this embodiment, the generation time is the voice packet time period. In addition, the generation time is the same between multiple transmitting nodes. In this way, by aligning the generation time between multiple transmitting nodes, it is possible to reduce the possibility of temporal discontinuity occurring in the voice samples when the voice RTP packet stream received by the receiving node is switched.
[0100] In this embodiment, the transmitting node 100 can align the generation time of the audio RTP packets between transmitting nodes included in the broadcasting station system 40. Therefore, the transmitting node 100 can align the generation time of packets between transmitting nodes located in physically distant locations, for example. For example, assume that the transmitting nodes are in Osaka and Kyoto, and the receiving node is in Tokyo. In this state, when switching from Osaka transmission / Tokyo reception to Kyoto transmission / Tokyo reception, it is possible to reduce the possibility of time discontinuity occurring in the audio samples when switching is performed while the audio RTP packets are still in use.
[0101] In addition, by being able to switch while the audio RTP packets are still in use, restoration processing to audio data is no longer necessary, which reduces the processing load required for restoration processing at the receiving node and reduces processing delays.In addition, by being able to switch while the audio RTP packets are still in use, it is possible to use a commercially available (i.e., ready-made) network switch, also known as COTS (commercial off-the-shelf), which has the advantage in terms of cost.
[0102] The essence header generating unit 152b adds an essence header to the beginning of the voice datagram input from the voice essence processing unit 156. Then, the essence header generating unit 152b outputs the voice datagram to which the essence header has been added, to the transport header generating unit 144b.
[0103] The transport header generating unit 144b adds an RTP header and a common header (i.e., a transport header) to the beginning of the audio datagram input from the essence header generating unit 152b. Then, the transport header generating unit 144b outputs the RTP packet to which the transport header has been added to the transport processing unit 126.
[0104] (3) Transport Processing Unit The transport processing unit 126 includes a MUX (multiplexer) 128. The MUX 128 multiplexes and outputs each input RTP packet. The transport processing unit 126 may further include a connection terminal and a connection circuit for wired communication, or an antenna, an RF (Radio Frequency) circuit, and a baseband circuit for wireless communication.
[0105] <Modification of Transmission Stream Processing Unit> Fig. 9 shows a configuration example of the transmission stream processing unit 230. The transmission stream processing unit 230 is a modified example of the transmission stream processing unit 130 shown in Fig. 6. In the transmission stream processing unit 130 shown in Fig. 6, the audio essence separated by the essence separation processing unit 182 is input to the audio essence processing unit 156. The transmission stream processing unit 230 shown in Fig. 9 includes an essence separation processing unit 282 and a D-MUX 284 instead of the essence separation processing unit 182 and the D-MUX 184. The audio essence input to the audio essence processing unit 156 may be input from the data processing unit 180 without passing through the essence separation processing unit 282.
[0106] <Example of configuration of packet generation device> Next, a configuration example of the packet generating device 20 is shown in Fig. 10. The packet generating device 20 can be applied to a broadcasting station system 40. The packet generating device 20 includes an audio-related function among the functions of the transmission stream processing unit 130. The packet generating device 20 may further include a function other than the audio-related function among the functions of the transmission stream processing unit 130. Furthermore, the packet generating device 20 may further include a function of the transmitting node 100 that is not included in the transmission stream processing unit 130.
[0107] The packet generating device 20 includes a receiving unit 21, a generating unit 22, and an output unit 23. The packet generating device 20 corresponds to the audio essence processing unit 156, the audio packet time alignment unit 166, the audio alignment unit 162, the essence header generating unit 152b, and the transport header generating unit 144b in the transmission stream processing unit 130.
[0108] The receiving unit 21 receives the audio essence. The function of the receiving unit 21 is included in the audio essence processing unit 156 of the transmission stream processing unit 130. The receiving unit 21 may receive the audio essence from the essence separation processing unit 182 or may receive the audio essence from the data processing unit 180.
[0109] The generating unit 22 generates an audio packet including an audio essence in a payload. The audio packet may be an RTP packet. The RTP packet has a data structure of an essence single stream format. The generating unit 22 includes the functions of the audio essence processing unit 156 excluding the functions of the receiving unit 21. The generating unit 22 also includes the functions of the audio packet time alignment unit 166, the audio alignment unit 162, and the essence header generating unit 152b. The generating unit 22 also includes the functions of the transport header generating unit 144b excluding the functions of the output unit 23.
[0110] As described above, the timing (generation time) at which the generator 22 generates each voice packet is the same among the multiple packet generators, based on a common clock synchronized with a common time source among the multiple packet generators. Also, in each packet generator, the interval between the generation (generation time) of each voice packet is the time required to output one voice packet (voice packet time).
[0111] The output unit 23 outputs the audio packets. The function of the output unit 23 is included in the function of the transport header generation unit 144b among the functions of the transmission stream processing unit 130. The output unit 23 outputs the audio packets to the transport processing unit 126.
[0112] <Operation flow of the packet generator> Next, a description will be given of an example of an operation flow of the packet generating device 20. An example of an operation flow of the packet generating device 20 is shown in FIG.
[0113] The generating unit 22 (audio packet time alignment unit 166) calculates the next generation time (step S201). Specifically, the generating unit 22 can calculate the next generation time by the above-mentioned formula (3).
[0114] When the generation time arrives (YES in step S202), the generation unit 22 generates a voice packet (step S203). Specifically, the generation unit 22 (voice essence processing unit 156) packs the voice essence into the payload of the voice packet. In addition, the generation unit 22 (essence header generation unit 152b) adds an essence header to the beginning of the voice packet. In addition, the generation unit 22 (transport header generation unit 144b) adds an RTP header and a common header (i.e., a transport header) to the beginning of the voice packet.
[0115] Then, output unit 23 (transport header generating unit 144b) outputs the voice packet to transport processing unit 126 (step S204).
[0116] As described above, in the second embodiment of the present disclosure, the packet generating device 20 includes a receiving unit 21, a generating unit 22, and an output unit 23. The receiving unit 21 receives a voice essence. The voice essence is voice information corresponding to a voice. The generating unit 22 generates a voice packet including the voice essence in a payload. The timing at which the generating unit 22 generates each of the voice packets is based on a common clock. The common clock is synchronized with a time source common to the plurality of packet generating devices. Furthermore, the timing at which the generating unit 22 generates each of the voice packets is the same among the plurality of packet generating devices. Furthermore, in each of the packet generating devices, the interval between the generation of each of the voice packets is the time required to output one voice packet. The output unit 23 outputs the voice packets.
[0117] In this way, the packet generating device 20 generates each of the voice packets at the same timing among the multiple packet generating devices. Also, the generation interval of each voice packet is the time required to output one voice packet. This allows the multiple packet generating devices to generate and output each of the voice packets at the same timing and at intervals equal to the time required to output one voice packet. This makes it possible to align the generation timing of the voice packets generated by the packet generating devices among the multiple packet generating devices.
[0118] Furthermore, when the receiving node switches the voice packet stream it receives, the possibility of a temporal discontinuity occurring in the voice data received by the receiving node can be reduced.
[0119] [Hardware configuration example] An example of the configuration of hardware resources for implementing the packet generating device (10, 20) in each of the above-mentioned embodiments of the present disclosure using one information processing device (computer) will be described. Note that the packet generating device may be physically or functionally implemented using at least two information processing devices. The packet generating device may also be implemented as a dedicated device. Also, only some of the functions of the packet generating device may be implemented using an information processing device.
[0120] 12 is a diagram illustrating an example of a hardware configuration of an information processing device capable of implementing the packet generating device according to each embodiment of the present disclosure. The information processing device 90 includes a communication interface 91, an input / output interface 92, a computing device 93, a storage device 94, a non-volatile storage device 95, and a drive device 96.
[0121] For example, the receiving unit 11 and the output unit 13 in FIG. 1 can be realized by a communication interface 91 and a calculation device 93 , and the generating unit 12 can be realized by the calculation device 93 .
[0122] The communication interface 91 is a communication means for the packet generating device of each embodiment to communicate with an external device by wire or / and wirelessly. When the packet generating device is realized using at least two information processing devices, the devices may be connected via the communication interface 91 so as to be able to communicate with each other.
[0123] The input / output interface 92 is a man-machine interface including a keyboard as an example of an input device and a display as an output device.
[0124] The arithmetic device 93 is realized by an arithmetic processing device such as a general-purpose CPU (Central Processing Unit) or a microprocessor, and a plurality of electric circuits. The arithmetic device 93 can, for example, read various programs stored in a non-volatile storage device 95 into the storage device 94 and execute processing according to the read programs.
[0125] The storage device 94 is a memory device such as a RAM (Random Access Memory) that can be referenced by the arithmetic device 93, and stores programs, various data, etc. The storage device 94 may be a volatile memory device.
[0126] The non-volatile storage device 95 is, for example, a non-volatile storage device such as a ROM (Read Only Memory) or a flash memory, and is capable of storing various programs, data, and the like.
[0127] The drive device 96 is, for example, a device that processes reading and writing of data from and to a recording medium 97, which will be described later.
[0128] The recording medium 97 is any recording medium capable of recording data, such as an optical disk, a magneto-optical disk, or a semiconductor flash memory.
[0129] Each embodiment of the present disclosure may be realized, for example, by configuring a packet generating device using an information processing device 90 illustrated in FIG. 12 and supplying a program capable of realizing the functions described in each of the above embodiments to this packet generating device.
[0130] In this case, the embodiment can be realized by having the arithmetic device 93 execute a program supplied to the packet generating device. Also, it is possible to configure some, but not all, of the functions of the packet generating device in the information processing device 90.
[0131] Furthermore, the packet generating device may be configured so that the above program is recorded on a recording medium 97 and appropriately stored in the non-volatile storage device 95 at the shipping stage or operation stage of the packet generating device. In this case, the method of supplying the above program may be a method of installing the program in the packet generating device using an appropriate tool at the manufacturing stage before shipping or at the operation stage. The method of supplying the above program may also be a general method such as downloading the program from an external source via a communication line such as the Internet.
[0132] A part or all of the above-described embodiments can be described as, but is not limited to, the following supplementary notes.
[0133] (Appendix 1) A receiving unit that receives a voice essence that is voice information corresponding to a voice; a generator for generating a voice packet including the voice essence in a payload; an output unit for outputting the voice packet; Equipped with the timing at which the generation unit generates each of the voice packets is the same among the plurality of packet generation devices, based on a common clock synchronized with a common time source among the plurality of packet generation devices; In each of the packet generating devices, the generation interval of each of the voice packets is a time required to output one of the voice packets. Packet generator.
[0134] (Appendix 2) The audio essence includes audio samples, which are data generated by sampling the audio, an audio packet time indicating a time required to output one audio packet is an integer multiple of the sampling period; 2. A packet generating device as described in claim 1.
[0135] (Appendix 3) A generation time indicating the timing of generation of each of the audio packets is based on an epoch time, which is the elapsed time from the SMPTE (Society of Motion Picture and Television Engineers) epoch. 3. A packet generating device according to claim 1 or 2.
[0136] (Appendix 4) the generation time is an integer multiple of a voice packet time indicating a time required to output one of the voice packets at the epoch time; 4. A packet generating device as claimed in claim 3.
[0137] (Appendix 5) The voice packets are RTP (Real-time Transport Protocol) packets. 5. A packet generating device according to claim 1,
[0138] (Appendix 6) The RTP packet has an essential single stream format data structure; 6. A packet generating device as claimed in claim 5.
[0139] (Appendix 7) The time source is a time source of PTP (Precision Time Protocol), 7. A packet generating device according to any one of claims 1 to 6.
[0140] (Appendix 8) The packet generation device is included in a broadcasting station system. 8. A packet generating device according to any one of claims 1 to 7.
[0141] (Appendix 9) A packet generation method for a packet generation device, comprising: receiving a voice essence, which is voice information corresponding to the voice; generating a voice packet including the voice essence in a payload; Outputting the voice packet; the timing of generating each of the voice packets is the same among the plurality of packet generating devices, based on a common clock synchronized with a common time source among the plurality of packet generating devices; In each of the packet generating devices, the generation interval of each of the voice packets is a time required to output one of the voice packets. Packet generation method.
[0142] (Appendix 10) The audio essence includes audio samples, which are data generated by sampling the audio, an audio packet time indicating a time required to output one audio packet is an integer multiple of the sampling period; 10. A packet generation method as claimed in claim 9.
[0143] (Appendix 11) A generation time indicating the timing of generation of each of the audio packets is a time based on an epoch time, which is the elapsed time from the SMPTE epoch. 11. A packet generation method according to claim 9 or 10.
[0144] (Appendix 12) the generation time is an integer multiple of a voice packet time indicating a time required to output one of the voice packets at the epoch time; 12. A packet generation method as claimed in claim 11.
[0145] (Appendix 13) The voice packets are RTP packets. 13. A packet generation method according to any one of Supplementary Note 9 to Supplementary Note 12.
[0146] (Appendix 14) The RTP packet has an essential single stream format data structure; 14. A packet generation method as recited in claim 13.
[0147] (Appendix 15) The time source is a PTP time source. 15. A packet generation method according to any one of Supplementary Note 9 to Supplementary Note 14.
[0148] (Appendix 16) The packet generation device is included in a broadcasting station system. 16. A packet generation method according to any one of Supplementary Note 9 to Supplementary Note 15.
[0149] (Appendix 17) A packet generation program for a packet generation device, On the computer, A receiving function for receiving a voice essence which is voice information corresponding to the voice; a generating function for generating a voice packet including the voice essence in a payload; an output function for outputting the voice packet; Realize this, the timing at which the generation function generates each of the voice packets is the same among the plurality of packet generation devices, based on a common clock that is synchronized with a common time source among the plurality of packet generation devices; In each of the packet generating devices, the generation interval of each of the voice packets is a time required to output one of the voice packets. Packet generator.
[0150] (Appendix 18) The audio essence includes audio samples, which are data generated by sampling the audio, an audio packet time indicating a time required to output one audio packet is an integer multiple of the sampling period; 18. The packet generation program according to claim 17.
[0151] (Appendix 19) A generation time indicating the timing of generation of each of the audio packets is a time based on an epoch time, which is the elapsed time from the SMPTE epoch. 19. A packet generation program according to claim 17 or 18.
[0152] (Appendix 20) the generation time is an integer multiple of a voice packet time indicating a time required to output one of the voice packets at the epoch time; 20. The packet generation program of claim 19.
[0153] (Appendix 21) The voice packets are RTP packets. 21. A packet generation program according to any one of claims 17 to 20.
[0154] (Appendix 22) The RTP packet has an essential single stream format data structure; 22. The packet generation program of claim 21.
[0155] (Appendix 23) The time source is a PTP time source. 23. A packet generation program according to any one of appendices 17 to 22.
[0156] (Appendix 24) The packet generation device is included in a broadcasting station system. 24. A packet generation program according to any one of claims 17 to 23.
[0157] Although the present disclosure has been described above with reference to the embodiments, the present disclosure is not limited to the above-mentioned embodiments. Various modifications that can be understood by a person skilled in the art can be made to the configuration and details of the present disclosure within the scope of the present disclosure. Furthermore, each embodiment can be appropriately combined with other embodiments. [Explanation of symbols]
[0158] 10, 20 Packet Generator 11, 21 Receiver 12, 22 Generation part 13, 23 Output section 40 Broadcasting System 60 Sendah 65 Receiver 80 Communication Lines 90 Information processing equipment 91 Communication Interface 92 Input / Output Interface 93 Arithmetic unit 94 Storage device 95 Non-volatile storage devices 96 Drive device 97 Recording media 100 sending nodes 200 receiving nodes 400 Control Node 110 Device internal clock 112 Media Clock 114 RTP Clock 116 PTP processing unit 120 Communications Department 122 Transmitter 124 Receiving section 126 Transport Processing Unit 128 MUX 130, 230 Transmission stream processing unit 140 Receiving stream processing unit 144a, 144b, 144c Transport header generation unit 150 Essence Payload Packing Part 152a, 152b, 152c Essence header generator 154 Video essence processing section 156 Audio essence processing unit 158 Auxiliary Data Essence Processing Unit 160 Image Alignment Section 162 Audio Alignment Department 164 Auxiliary Data Alignment Unit 166 Voice Packet Time Alignment Unit 180 Data Processing Unit 182, 282 Essence separation processing section 184, 284 D-MUX 190 Control section
Claims
1. A receiving unit that receives a voice essence that is voice information corresponding to a voice; a generator for generating a voice packet including the voice essence in a payload; an output unit for outputting the voice packet; Equipped with the timing at which the generation unit generates each of the voice packets is the same among the plurality of packet generation devices, based on a common clock synchronized with a common time source among the plurality of packet generation devices; In each of the packet generating devices, the generation interval of each of the voice packets is a time required to output one of the voice packets. Packet generator.
2. The audio essence includes audio samples, which are data generated by sampling the audio, an audio packet time indicating a time required to output one audio packet is an integer multiple of the sampling period; 2. The packet generating device according to claim 1.
3. A generation time indicating the timing of generation of each of the audio packets is based on an epoch time, which is the elapsed time from an SMPTE (Society of Motion Picture and Television Engineers) epoch.
2. The packet generating device according to claim 1.
4. the generation time is an integer multiple of a voice packet time indicating a time required to output one of the voice packets at the epoch time; 4. The packet generating device according to claim 3.
5. The voice packets are RTP (Real-time Transport Protocol) packets.
2. The packet generating device according to claim 1.
6. The RTP packet has an essential single stream format data structure.
6. The packet generating device according to claim 5.
7. The time source is a Precision Time Protocol (PTP) time source.
2. The packet generating device according to claim 1.
8. The packet generation device is included in a broadcasting station system.
2. The packet generating device according to claim 1.
9. A packet generation method for a packet generation device, comprising: receiving a voice essence, which is voice information corresponding to the voice; generating a voice packet including the voice essence in a payload; Outputting the voice packet; the timing of generating each of the voice packets is the same among the plurality of packet generating devices, based on a common clock synchronized with a common time source among the plurality of packet generating devices; In each of the packet generating devices, the generation interval of each of the voice packets is a time required to output one of the voice packets. Packet generation method.
10. A packet generation program for a packet generation device, On the computer, A receiving function for receiving a voice essence which is voice information corresponding to the voice; a generating function for generating a voice packet including the voice essence in a payload; an output function for outputting the voice packet; Realize this, the timing at which the generation function generates each of the voice packets is the same among the plurality of packet generation devices, based on a common clock that is synchronized with a common time source among the plurality of packet generation devices; In each of the packet generating devices, the generation interval of each of the voice packets is a time required to output one of the voice packets. Packet generator.
Citation Information
Patent Citations
Broadcast signal processing system and broadcast signal processing method
JP2020162078A
IP program changeover device and IP program changeover program
JP2024001432A
Video switching system
WO2019053853A1