Packet generation device, packet generation method, and packet generation program
The packet generation device synchronizes audio packet generation timing across multiple nodes using a common clock, addressing time discontinuity issues and enhancing network efficiency and cost-effectiveness.
Patent Information
- Application Number
- JP2023156652
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2023-09-22
- Publication Date
- 2025-08-05
- Estimated Expiration
- 2043-09-22
AI Technical Summary
ARIB STD-B73 does not specify the timing of audio RTP packet generation at each transmitting node in a broadcasting station system with multiple nodes, leading to potential time discontinuity in restored audio samples due to differing transmission timings.
A packet generation device that synchronizes the generation timing of audio packets among multiple devices using a common clock synchronized with a common time source, ensuring consistent intervals for packet generation.
This synchronization reduces the likelihood of temporal discontinuity in audio samples during switching, reduces processing load, and allows for seamless packet transmission using off-the-shelf network switches, thereby enhancing system efficiency and reducing costs.
Smart Images

Figure 0007719137000004 
Figure 0007719137000005 
Figure 0007719137000006
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 improvements in the performance of Internet Protocol (IP) technology in recent years, broadcasters have found it advantageous to utilize more versatile IP technology and are working to update their internal networks to IP networks. By adopting an IP-based network architecture, it becomes possible to build high-speed, high-capacity networks at low cost using general-purpose network devices such as general-purpose routers and switches.
[0003] Standardization of protocols for transmitting broadcast materials using IP technology is also currently underway. For example, ARIB (Association of Radio Industries and Businesses) has 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 into one audio RTP packet is 4, 8, 12, or 16. 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, audio essence refers to audio information (also called audio data) corresponding to the audio. Also, 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 audio packet time intervals.
[0007] For example, if the audio packet time is 1 ms, one audio RTP packet can transmit up to 8 channels. Also, if the audio packet time is 1 ms, one audio RTP packet contains 48 audio samples. Also, if the audio packet time is 125 μs, one audio RTP packet can transmit up to 16 channels. Also, if the audio packet time is 125 μs, one audio RTP packet contains 6 audio samples. [Prior art documents] [Non-patent literature]
[0008] [Non-Patent Document 1] ARIB STD-B73, "IP Interface for Program Production Using a Single Independent Stream of 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 audio RTP packet generation 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 will pack the voice essence into an audio RTP packet at its own timing and transmit it. If the transmission timing of the audio RTP packets differs among the multiple transmitting nodes, switching the received audio packet stream as packets at the receiving node may cause a time discontinuity in the restored audio samples. To prevent discontinuity in the restored audio samples, it is necessary to take measures such as switching the audio packets after restoring them to audio samples at the receiving node.
[0011] In view of the above-mentioned problems, the 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 device 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 audio essence, which is audio information corresponding to audio, a generating unit that generates audio packets containing the audio essence in their payload, and an output unit that outputs the audio packets, 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 that is synchronized with a common time source among the multiple packet generating devices, and the interval between the generation of each of the audio packets in each of the packet generating devices 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 audio essence, which is audio information corresponding to audio, generates audio packets containing the audio essence in a payload, and outputs the audio packets, the timing of generating each of the audio packets being 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 interval between the generation 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 generation device, and causes a computer to realize a receiving function for receiving audio essence, which is audio information corresponding to audio, a generating function for generating audio packets containing the audio essence in the payload, and an output function for outputting the audio packets, wherein the timing at which the generating function generates each of the audio packets is the same among the multiple packet generation devices based on a common clock synchronized with a common time source among the multiple packet generation devices, and the generation interval for each of the audio packets in each of the packet generation devices is the time required to output one of the audio packets. [Effects of the Invention]
[0015] According to the present disclosure, it is possible to synchronize the generation timing of voice packets generated by a plurality of packet generators. [Brief explanation of the drawings]
[0016] [Figure 1] FIG. 1 illustrates an example of the configuration of a packet generation device according to the present disclosure. [Figure 2] FIG. 10 is a diagram illustrating an example of an operation flow of a packet generation device according to the present disclosure. [Figure 3] FIG. 10 is a diagram illustrating an example of an operation flow of a packet generation device according to the present disclosure. [Figure 4] FIG. 2 is a diagram illustrating an example of a logical configuration of an IP domain of a broadcast station system according to the present disclosure. [Figure 5] FIG. 2 is a diagram illustrating an example configuration 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. 10 is a diagram illustrating an example of the timing of NextAlignmentPoint. [Figure 8] FIG. 10 is a diagram illustrating 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. 1 illustrates an example of the configuration of a packet generation device according to the present disclosure. [Figure 11] FIG. 10 is a diagram illustrating an example of an operation flow of a packet generation device according to the present disclosure. [Figure 12] FIG. 1 is a diagram illustrating an example of a hardware configuration according to each embodiment of the present disclosure. DETAILED DESCRIPTION OF THE INVENTION
[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 the 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, which is voice information corresponding to the voice.
[0021] The generation unit 12 generates voice packets that contain 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 multiple packet generation devices. The timing at which the generation unit 12 generates each voice packet is the same among multiple packet generation devices. In each packet generation device, the interval between the generation of each voice packet 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 the operation flow of the packet generating device 10. An example of the operation flow of the packet generating device 10 is shown in Fig. 2 and Fig. 3.
[0024] The receiving unit 11 receives the audio essence (step S101 in FIG. 2).
[0025] The generator 12 generates a voice packet containing a voice essence in its 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 an audio essence. The audio essence is audio information corresponding to audio. The generating unit 12 generates an audio packet whose payload includes the audio essence. The timing at which the generating unit 12 generates each audio packet is based on a common clock. The common clock is synchronized with a time source common to multiple packet generating devices. Furthermore, the timing at which the generating unit 12 generates each audio packet is the same among multiple packet generating devices. Furthermore, in each packet generating device, the interval between the generation of each audio packet is the time required to output one audio packet. The output unit 13 outputs the audio packet.
[0028] In this way, the packet generator 10 generates each of the voice packets at the same timing among the multiple packet generators. The interval between the generation of each voice packet is the time required to output one voice packet. This allows the multiple packet generators 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 multiple packet generators.
[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 broadcasting station system configuration> First, an overview of the broadcast station system 40 will be described using 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 the source of each stream accommodated by the sending node.
[0034] Receiving node 200-1 includes receiver 65. A "receiver" is a functional entity capable of receiving a stream. Although not shown in FIG. 4, receiving nodes other than receiving node 200-1 also include receivers. Each receiving node may also 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 also include one or more receiving nodes. The transmitting node 100 may also include a receiver in addition to a sender. The receiving node 200 may also include a sender in addition to a receiver.
[0036] <Example of sending node configuration> Next, a configuration example of the sending node 100 in the broadcasting 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, the function of the receiver 65 may be omitted from the sending node 100.
[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 equipment internal clock) 110 is a unique internal clock maintained by the sending node 100. In this embodiment, the device internal clock 110 is synchronized directly or indirectly with a PTP time source. For example, the device internal clock 110 is indirectly synchronized with the PTP time source via a PTP grandmaster.
[0040] The time source of PTP is a high-precision time source, such as 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 PTP time source. The PTP grandmaster distributes synchronization messages to nodes within the broadcast station system 40 according to the PTP mechanism. Therefore, the nodes within the broadcast 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 using the PTP BMCA (Best Master Clock Algorithm) or the like.
[0042] The PTP time source 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) 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 its initial value zero, and is frequency-locked to the device internal clock 110 to progress at an accurate rate. 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, 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, which 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, which will be described later.
[0045] SMPTE ST 2110-20 specifies a media clock frequency of 90 kHz for video essence. Meanwhile, many existing broadcasting devices have a 27.0 MHz clock. SMPTE ST 2022-8 specifies a media clock frequency of 27.0 MHz. A media clock frequency of 90 kHz is not an integer multiple of 60 / 1.001 Hz, which is often used as a video frame frequency. Meanwhile, a media clock frequency of 27.0 MHz is an integer multiple of 60 / 1.001 Hz. Taking this into consideration, this embodiment uses 27.0 MHz as the clock frequency of the media clock 112, which is advantageous in terms of keeping the video frame period precisely constant and monotonically increasing the clock value.
[0046] (3) RTP Clock The RTP clock 114 is the clock that serves as the basis for the timestamps added to the RTP headers of RTP packets. 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. In other words, 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, the same as 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] The transmitter 122 receives a series of RTP packets for a broadcast signal stream generated by a transmission stream processor 130 (described later). Each RTP packet contains essential data of any one of video, audio, and auxiliary data in its 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] The transmitter 122 adds a network header to each input RTP packet and transmits each RTP packet to other nodes participating in the broadcast station system 40. If 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 receiver 124 may receive a broadcast signal stream consisting of a series of RTP packets from another node. Each RTP packet contains 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 is received as a single stream via a common port number.
[0052] The receiving unit 124 may receive a broadcast signal stream other than an ARIB STD-B73 stream from another node. For example, the receiving unit 124 may receive an essence-mixed stream similar to an 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 the RTP packets, each 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 video data, audio data, and auxiliary data sequences 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. The frame count value is incremented by one at the start of each new video frame.
[0055] The transmission stream processing unit 130 also adds a transport header (common header and RTP header) to each RTP packet. The sequence number value 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. Furthermore, the sequence number value 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 generated in this manner 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. The received stream processing unit 140 then outputs the restored video data, audio data, or auxiliary data to the data processing unit 180. The received stream processing unit 140 also synchronizes the time of essence data between the received 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 also acquires the RTP timestamp from the RTP header of the received RTP packet. The received stream processing unit 140 also acquires frame count information from a header (e.g., 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 the generated data sequence 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 video data, audio data, or auxiliary data restored by the received stream processing unit 140. The data processing unit 180 may synchronously play multiple essences (e.g., two or more of a video essence, an audio essence, and an auxiliary data essence, or multiple video essences) based on the input essence data. The essence data may be restored by the received stream processing unit 140 and time-aligned with each other, for example.
[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, if 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 the input SDI (Serial Digital Interface) signal of essence data into a video essence, an audio essence, and ancillary data essence, and outputs them 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, for video essence, a video essence processing unit 154, a video alignment unit 160, an essence header generation unit (EH generation unit) 152a, and a transport header generation unit (TH generation unit) 144a. For audio essence, the essence payload packing unit 150 includes, for audio essence, an audio alignment unit 162, an audio packet time alignment unit 166, an essence header generation unit (EH generation unit) 152b, and a transport header generation unit (TH generation unit) 144b. For auxiliary data essence, the essence payload packing unit 150 includes, for auxiliary data essence, an auxiliary data alignment unit 164, an essence header generation unit (EH generation unit) 152c, and a transport header generation unit (TH generation unit) 144c.
[0065] The video alignment unit 160 notifies the 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 the RTP payload to generate an RTP payload (or RTP packet) including the essence data.
[0066] The video essence processing unit 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 processing unit 154 packs the video essences in accordance with 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] Transport header generation unit 144a adds an RTP header and a common header (i.e., a transport header) to the beginning of the video datagram input from essence header generation unit 152a. Then, transport header generation unit 144a outputs the RTP packet with the added transport header to transport processing unit 126.
[0069] The auxiliary data alignment unit 164 notifies the auxiliary data essence processing unit 158 of the time when 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 essences in accordance with 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 data datagram with the added essence header to transport header generation unit 144c.
[0072] The transport header generation 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 generation unit 152c. Then, the transport header generation unit 144c outputs the RTP packet with the added transport header to the transport processing unit 126.
[0073] The audio essence processing unit 156 packs 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 processing unit 156 packs the audio essence in accordance with 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 audio packet time periods. 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 audio packet time periods.
[0075] However, ARIB STD-B73 does not specify the timing of generating audio RTP packets at 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 timing of packing (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 timing of audio packing among two or more transmitting nodes.
[0077] The audio alignment unit 162 notifies the audio packet time alignment unit 166 of the time at which the audio essence processing unit 156 receives each audio sample. The audio essence includes audio samples. The time at which 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 uses the epoch time as a base and sets the audio sample time of each audio sample to a time that is an integer multiple of the audio sampling period. 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's internal clock. The device's 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's internal clock and the epoch time, the audio alignment unit 162 can determine the epoch time based on the device's internal clock and the difference.
[0080] SMPTE ST 2110-30 specifies that the audio sampling frequency is 48 kHz. This means that 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 intervals.
[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 at which the audio essence is packed into the RTP payload. The time at which the audio essence is packed into the RTP payload is called the generation time. The generation time corresponds to the time at which each audio RTP packet is generated.
[0083] The voice packet time alignment unit 166 calculates the generation time in accordance with a rule common to the plurality of 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 plurality of transmitting nodes 100-1 to 100-N. The generation time is the same among the plurality of 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 sending 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 1 ms in cycles. If the audio packet time is 0.125 μs, the generation time will be 0.125 μs in cycles.
[0087] Regarding the time at which the audio essence is packed into an audio RTP packet, SMPTE ST 2059-1 defines the following equations (1) and (2).
[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 equation (2), t is the time elapsed since 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 Figure 7. Figure 7 is a diagram showing an example of the timing of NextAlignmentPoint. The example in Figure 7 is an example where the audio packet time is six times the audio sampling period. In the example in Figure 7, the packing time is not specified, so the packing time at each sending node may differ.
[0093] If the packing times of audio RTP packets differ among multiple sending nodes, switching the received audio packet stream as packets at the receiving node may cause temporal discontinuity in the restored audio samples. To prevent discontinuity in the restored audio samples, the receiving node must take measures such as restoring the audio packets to audio samples before switching.
[0094] 7, suppose that the receiving node receives audio RTP packet 1A1 and then 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 has been transmitted, the receiving node will not receive audio RTP packet 2A1, and will not be able to 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 equation (3), NextPacketTimeAlignmentPoint is the transmission 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 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 audio packet time period. Furthermore, the generation time is the same among multiple transmitting nodes. By aligning the generation time among multiple transmitting nodes in this way, it is possible to reduce the possibility of temporal discontinuity in audio samples occurring when the audio RTP packet stream received by the receiving node is switched.
[0100] In this embodiment, the transmitting node 100 can synchronize the generation times of audio RTP packets between transmitting nodes included in the broadcasting station system 40. Therefore, the transmitting node 100 can synchronize the generation times of packets between transmitting nodes that are physically distant from each other. For example, suppose 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, the possibility of temporal discontinuity in audio samples occurring when switching is performed while the audio RTP packets are still in use can be reduced.
[0101] In addition, since switching can be performed using audio RTP packets as they are, restoration processing to audio data is not required, which reduces the processing load required for restoration processing at the receiving node and reduces processing delays.In addition, since switching can be performed using commercially available (off-the-shelf) network switches, also known as COTS (commercial off-the-shelf) products, there are also cost benefits.
[0102] The essence header generating unit 152b adds an essence header to the beginning of the audio datagram input from the audio essence processing unit 156. Then, the essence header generating unit 152b outputs the audio datagram with the essence header added to the transport header generating unit 144b.
[0103] The transport header generation 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 generation unit 152b. Then, the transport header generation unit 144b outputs the RTP packet with the added transport header to the transport processing unit 126.
[0104] (3) Transport Processing Unit The transport processing unit 126 includes a multiplexer (MUX) 128. The MUX 128 multiplexes and outputs the input RTP packets. The transport processing unit 126 may further include a connection terminal and a connection circuit for wired communication, or an antenna, a radio frequency (RF) circuit, and a baseband circuit for wireless communication.
[0105] <Modification of Transmission Stream Processing Unit> Fig. 9 shows an example configuration 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] <Configuration example of packet generation device> Next, Fig. 10 shows an example configuration of the packet generating device 20. The packet generating device 20 can be applied to a broadcasting station system 40. The packet generating device 20 includes audio-related functions among the functions of the transmission stream processing unit 130. The packet generating device 20 may further include functions of the transmission stream processing unit 130 other than the audio-related functions. Furthermore, the packet generating device 20 may further include functions of the transmitting node 100 that are 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 from the data processing unit 180.
[0109] The generation unit 22 generates audio packets that include audio essences in their payloads. The audio packets may be RTP packets. The RTP packets have a data structure in the form of a single essence stream. The generation unit 22 includes the functions of the audio essence processing unit 156, excluding the functions of the receiving unit 21. The generation unit 22 also includes the functions of the audio packet time alignment unit 166, the audio alignment unit 162, and the essence header generation unit 152b. The generation unit 22 also includes the functions of the transport header generation unit 144b, excluding the functions of the output unit 23.
[0110] As described above, the timing (generation time) at which the generation unit 22 generates each voice packet is the same among the plurality of packet generators, based on a common clock synchronized with a common time source among the plurality of packet generators. Also, in each packet generator, the interval between the generation of each voice packet (generation time) 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 the operation flow of the packet generating device 20. An example of the operation flow of the packet generating device 20 is shown in FIG.
[0113] The generating unit 22 (voice 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 equation (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. The generation unit 22 (essence header generation unit 152b) also adds an essence header to the beginning of the voice packet. The generation unit 22 (transport header generation unit 144b) also 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 audio 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 an audio essence. The audio essence is audio information corresponding to audio. The generating unit 22 generates an audio packet whose payload includes the audio essence. The timing at which the generating unit 22 generates each audio packet is based on a common clock. The common clock is synchronized with a time source common to multiple packet generating devices. Furthermore, the timing at which the generating unit 22 generates each audio packet is the same among multiple packet generating devices. Furthermore, in each packet generating device, the interval between the generation of each audio packet is the time required to output one audio packet. The output unit 23 outputs the audio packet.
[0117] In this way, the packet generator 20 generates each voice packet at the same timing among the multiple packet generators. The interval between the generation of each voice packet is the time required to output one voice packet. This allows the multiple packet generators to generate and output each voice packet 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 voice packets generated by the multiple packet generators.
[0118] Furthermore, when the receiving node switches the audio packet stream it receives, the possibility of temporal discontinuity occurring in the audio 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 generation device (10, 20) in each of the above-described embodiments of the present disclosure using one information processing device (computer) will be described. Note that the packet generation device may be physically or functionally implemented using at least two information processing devices. The packet generation device may also be implemented as a dedicated device. Also, only some of the functions of the packet generation device may be implemented using an information processing device.
[0120] 12 is a diagram illustrating an example of the hardware configuration of an information processing device that can realize the packet generation 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 calculation device 93, a storage device 94, a nonvolatile 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 computing device 93 , and the generating unit 12 can be realized by the computing 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 via wired and / or wireless communication. 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 a general-purpose central processing unit (CPU), a microprocessor, or other arithmetic processing device, and a plurality of electric circuits. The arithmetic device 93 can, for example, read various programs stored in a nonvolatile storage device 95 into the storage device 94 and execute processing in accordance with the read programs.
[0125] The storage device 94 is a memory device such as a RAM (Random Access Memory) that can be accessed by the arithmetic device 93, and stores programs, various data, etc. The storage device 94 may be a volatile memory device.
[0126] The nonvolatile storage device 95 is a nonvolatile 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 the 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 unit 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 unit 90.
[0131] Furthermore, the packet generator may be configured so that the program is recorded on a recording medium 97 and stored in the nonvolatile storage device 95 as appropriate when the packet generator is shipped or when it is in operation. In this case, the program may be supplied by installing it in the packet generator using an appropriate tool during the manufacturing stage before shipping or during operation. The program may also be supplied by a general procedure such as downloading it from an external source via a communication line such as the Internet.
[0132] Some or all of the above-described embodiments can be described as, but are not limited to, the following supplementary notes.
[0133] (Appendix 1) a receiving unit that receives a voice essence that is voice information corresponding to the voice; a generator for generating a voice packet including the voice essence in a payload; an output unit that outputs the voice packets; 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 generation devices, the generation interval of each of the voice packets is the 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 the time required to output one audio packet is an integer multiple of the sampling period; 2. A packet generating device according to claim 1.
[0135] (Appendix 3) The generation time indicating the timing of generating 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 the time required to output one voice packet at the epoch time; 4. A packet generating device according to claim 3.
[0137] (Appendix 5) The voice packets are RTP (Real-time Transport Protocol) packets. 5. A packet generation device according to any one of claims 1 to 4.
[0138] (Appendix 6) The RTP packet has an essential single stream format data structure; 6. A packet generating device according to claim 5.
[0139] (Appendix 7) The time source is a PTP (Precision Time Protocol) time source. 7. A packet generation 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 audio essence, which is audio information corresponding to the audio; generating a voice packet containing the voice essence in its payload; outputting the voice packet; the timing of generating each of the voice packets is the same among the plurality of packet generators, based on a common clock synchronized with a common time source among the plurality of packet generators; In each of the packet generation devices, the generation interval of each of the voice packets is the 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 the time required to output one audio packet is an integer multiple of the sampling period; 10. The packet generation method of claim 9.
[0143] (Appendix 11) The generation time indicating the timing of generating 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 the time required to output one voice packet at the epoch time; 12. The packet generation method of 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. The packet generation method of 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 audio essence, which is audio information corresponding to the audio; a generating function for generating a voice packet including the voice essence in a payload; an output function for outputting the voice packets; 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 synchronized with a common time source among the plurality of packet generation devices; In each of the packet generation devices, the generation interval of each of the voice packets is the 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 the time required to output one audio packet is an integer multiple of the sampling period; 18. The packet generation program of claim 17.
[0151] (Appendix 19) The generation time indicating the timing of generating each of the audio packets is a time based on an epoch time, which is the elapsed time from the SMPTE epoch. 19. The 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 the time required to output one voice packet at the epoch time; 19. The packet generation program of claim 18.
[0153] (Appendix 21) The voice packets are RTP packets. 21. A packet generation program according to any one of Supplementary Note 17 to Supplementary Note 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 appendices 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-described embodiments. Various modifications that can be understood by those 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 combined with other embodiments as appropriate. [Explanation of symbols]
[0158] 10, 20 Packet generator 11, 21 Receiver 12, 22 Generation part 13, 23 Output section 40 Broadcasting Station System 60 Senda 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 node 400 Control Node 110 Device internal clock 112 Media Clock 114 RTP Clock 116 PTP processing unit 120 Communications Department 122 Transmitter 124 Receiver 126 Transport Processing Unit 128 MUX 130, 230 Transmission stream processing unit 140 Received stream processing unit 144a, 144b, 144c Transport header generation unit 150 Essence Payload Packing Part 152a, 152b, 152c Essence header generation unit 154 Video Essence Processing Unit 156 Audio Essence Processing Unit 158 Auxiliary Data Essence Processing Unit 160 Image Alignment Unit 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 Unit
Claims
1. a receiving unit that receives a voice essence that is voice information corresponding to the voice; a generator for generating a voice packet including the voice essence in a payload; an output unit that outputs the voice packets; 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 generation devices, the generation interval of each of the voice packets is the 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 the 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. The generation time indicating the timing of generating 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.
2. The packet generating device according to claim 1.
4. the generation time is an integer multiple of a voice packet time indicating the time required to output one voice packet 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 audio essence, which is audio information corresponding to the audio; generating a voice packet containing the voice essence in its payload; outputting the voice packet; the timing of generating each of the voice packets is the same among the plurality of packet generators, based on a common clock synchronized with a common time source among the plurality of packet generators; In each of the packet generation devices, the generation interval of each of the voice packets is the 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 audio essence, which is audio information corresponding to the audio; a generating function for generating a voice packet including the voice essence in a payload; an output function for outputting the voice packets; 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 synchronized with a common time source among the plurality of packet generation devices; In each of the packet generation devices, the generation interval of each of the voice packets is the 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