JP7704938B2 - Transmission method, reception method, transmission device, and reception device - Google Patents
Transmission method, reception method, transmission device, and reception device Download PDFInfo
- Publication number
- JP7704938B2 JP7704938B2 JP2024114905A JP2024114905A JP7704938B2 JP 7704938 B2 JP7704938 B2 JP 7704938B2 JP 2024114905 A JP2024114905 A JP 2024114905A JP 2024114905 A JP2024114905 A JP 2024114905A JP 7704938 B2 JP7704938 B2 JP 7704938B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- information
- unit
- time
- receiving device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Description
本発明は、送信方法、受信方法、送信装置及び受信装置に関する。 The present invention relates to a transmission method, a reception method, a transmission device, and a reception device.
放送及び通信サービスの高度化に伴い、8K(7680×4320ピクセル:以下では8K4Kとも呼ぶ)及び4K(3840×2160ピクセル:以下では4K2Kとも呼ぶ)などの超高精細な動画像コンテンツの導入が検討されている。受信装置は、受信した超高精細な動画像の符号化データを実時間で復号して表示する必要があるが、特に8Kなどの解像度の動画像は復号時の処理負荷が大きく、このような動画像を1つの復号器で、実時間で復号することは困難である。従って、複数の復号器を用いて復号処理を並列化することで、1つの復号器あたりの処理負荷を低減し、実時間処理を達成する方法が検討されている。 As broadcasting and communication services become more advanced, the introduction of ultra-high definition video content such as 8K (7680 x 4320 pixels, hereinafter also referred to as 8K4K) and 4K (3840 x 2160 pixels, hereinafter also referred to as 4K2K) is being considered. A receiving device needs to decode the encoded data of the received ultra-high definition video in real time and display it, but video with a resolution such as 8K in particular imposes a large processing load when decoding, making it difficult to decode such video in real time with a single decoder. Therefore, a method is being considered that reduces the processing load per decoder and achieves real-time processing by parallelizing the decoding process using multiple decoders.
また、符号化データはMPEG-2 TS(Transport Stream)又はMMT(MPEG Media Transport)などの多重化方式に基づいて多重化されたうえで送信される。例えば、非特許文献1には、MMTに従って、符号化されたメディアデータをパケット毎に送信する技術が開示されている。
The encoded data is multiplexed based on a multiplexing method such as MPEG-2 TS (Transport Stream) or MMT (MPEG Media Transport) before being transmitted. For example,
ところで、放送や通信サービスの高度化に伴い、8Kや4K(3840x2160ピクセル)などの超高精細な動画コンテンツの導入が検討されている。MMT/TLV方式では、送信側の基準クロックをRFC 5905に規定される64ビットのロングフォーマットNTPに同期させ、基準クロックを基に、PTS(Presentation Time Stamp)や、DTS(Decode Time Stamp)などのタイムスタンプを同期メディアに付与する。さらに、送信側の基準クロック情報を受信側に送信し、受信装置では基準クロック情報を基に受信装置におけるシステムクロックを生成する。 As broadcasting and communication services become more advanced, the introduction of ultra-high definition video content such as 8K and 4K (3840 x 2160 pixels) is being considered. In the MMT/TLV method, the reference clock on the sending side is synchronized with the 64-bit long format NTP defined in RFC 5905, and time stamps such as PTS (Presentation Time Stamp) and DTS (Decode Time Stamp) are added to the synchronous media based on the reference clock. Furthermore, the reference clock information on the sending side is sent to the receiving side, and the receiving device generates a system clock in the receiving device based on the reference clock information.
しかしながら、このようなMMTの伝送方式では、NTPなどの基準時刻情報にうるう秒調整が行なわれる場合、受信装置が受信した第1のデータユニットであるMPUに格納される複数の第2のデータユニットである複数のアクセスユニットを、当該複数のアクセスユニットに対応づけられたDTS又はPTSに従っても復号又は提示を意図された時刻に行うことができないという課題がある。 However, in such an MMT transmission method, when leap second adjustments are made to reference time information such as NTP, there is an issue that the multiple access units, which are the multiple second data units stored in the MPU, which is the first data unit received by the receiving device, cannot be decoded or presented at the intended time even in accordance with the DTS or PTS associated with the multiple access units.
本発明は、送信側及び受信装置の基準クロックの基準となる基準時刻情報に対してうるう秒調整が行なわれる場合であっても、所定のデータユニットを意図された時刻に受信装置が再生できる送信方法などを提供する。 The present invention provides a transmission method that allows a receiving device to reproduce a specified data unit at the intended time, even if leap second adjustments are made to the reference time information that serves as the basis for the reference clocks of the transmitting and receiving devices.
上記目的を達成するために、本発明の一態様に係る送信方法は、符号化ストリームを構成するデータを所定のデータユニットに格納して送信する送信方法であって、外部から受信した時刻情報に基づいて、前記所定のデータユニットの提示時刻を示す提示時刻情報を生成し、前記所定のデータユニットと、生成した前記提示時刻情報と、当該提示時刻情報がうるう秒調整前の前記時刻情報に基づいて生成されたか否かを示す識別情報とを送信し、前記識別情報は、(i)制御情報である制御メッセージに格納され、(ii)前記提示時刻情報が、うるう秒調整が行われる直前の時刻よりも予め定められた期間前の時刻から当該直前の時刻までにおける前記時刻情報に基づいて生成されたかを示し、前記提示時刻情報は、前記時刻情報から予め定められた時間を加算することで生成された時刻情報であり、前記制御情報は、UTC(Universal Time Coordinated)時刻とNPT(Normal Play Time)時刻との関係を示すUTC-NPT参照記述子を含む。 In order to achieve the above object, a transmission method according to one aspect of the present invention is a transmission method for storing data constituting an encoded stream in a specified data unit and transmitting the data, which generates presentation time information indicating the presentation time of the specified data unit based on time information received from an external source, and transmits the specified data unit, the generated presentation time information, and identification information indicating whether the presentation time information was generated based on the time information before a leap second adjustment, the identification information (i) being stored in a control message that is control information, and (ii) indicating whether the presentation time information was generated based on the time information from a time a predetermined period before the time immediately before the leap second adjustment to the time immediately before the leap second adjustment, the presentation time information being time information generated by adding a predetermined time from the time information, and the control information including a UTC-NPT reference descriptor indicating the relationship between UTC (Universal Time Coordinated) time and NPT (Normal Play Time) time.
また、本発明の一態様に係る受信方法は、符号化ストリームを構成するデータが格納された所定のデータユニットを受信する受信方法であって、前記所定のデータユニットと、前記所定のデータユニットの提示時刻を示す提示時刻情報と、当該提示時刻情報がうるう秒調整前の時刻情報に基づいて生成されたか否かを示す識別情報とを、受信し、受信した前記提示時刻情報及び前記識別情報に基づいて、受信した前記所定のデータユニットを再生し、前記識別情報は、(i)制御情報である制御メッセージに格納され、(ii)前記提示時刻情報が、うるう秒調整が行われる直前の時刻よりも予め定められた期間前の時刻から当該直前の時刻までにおける前記時刻情報に基づいて生成されたかを示し、前記提示時刻情報は、前記時刻情報から予め定められた時間を加算することで生成された時刻情報であり、前記制御情報は、UTC(Universal Time Coordinated)時刻とNPT(Normal Play Time)時刻との関係を示すUTC-NPT参照記述子を含む。 A receiving method according to one aspect of the present invention is a receiving method for receiving a predetermined data unit in which data constituting an encoded stream is stored, the method receiving the predetermined data unit, presentation time information indicating the presentation time of the predetermined data unit, and identification information indicating whether the presentation time information was generated based on time information before a leap second adjustment, and playing the received predetermined data unit based on the received presentation time information and the identification information, the identification information (i) being stored in a control message that is control information, and (ii) indicating whether the presentation time information was generated based on the time information from a time a predetermined period before the time immediately before the leap second adjustment to the time immediately before the leap second adjustment, the presentation time information being time information generated by adding a predetermined time to the time information, and the control information including a UTC-NPT reference descriptor indicating the relationship between UTC (Universal Time Coordinated) time and NPT (Normal Play Time) time.
上記目的を達成するために、本発明の一態様に係る送信方法は、符号化ストリームを構成するデータを所定のデータユニットに格納して送信する送信方法であって、外部から受信した時刻情報に基づいて、前記所定のデータユニットの提示時刻を示す提示時刻情報を生成し、前記所定のデータユニットと、生成した前記提示時刻情報と、当該提示時刻情報がうるう秒調整前の前記時刻情報に基づいて生成されたか否かを示す識別情報とを送信し、前記識別情報は、(i)制御情報である制御メッセージに格納され、(ii)前記提示時刻情報が、うるう秒調整が行われる直前の時刻よりも予め定められた期間前の時刻から当該直前の時刻までにおける前記時刻情報に基づいて生成されたかを示し、前記提示時刻情報は、前記時刻情報から予め定められた時間を加算することで生成された時刻情報であり、前記時刻情報は、NTP(Network Time Protocol)である。 In order to achieve the above object, a transmission method according to one aspect of the present invention is a transmission method for storing data constituting an encoded stream in a predetermined data unit and transmitting the data, which generates presentation time information indicating the presentation time of the predetermined data unit based on time information received from an external source, and transmits the predetermined data unit, the generated presentation time information, and identification information indicating whether the presentation time information was generated based on the time information before a leap second adjustment, the identification information (i) being stored in a control message that is control information, and (ii) indicating whether the presentation time information was generated based on the time information from a time a predetermined period before the time immediately before the leap second adjustment to the time immediately before the leap second adjustment, the presentation time information being time information generated by adding a predetermined time from the time information, and the time information being NTP (Network Time Protocol).
また、本発明の一態様に係る受信方法は、符号化ストリームを構成するデータが格納された所定のデータユニットを受信する受信方法であって、前記所定のデータユニットと、前記所定のデータユニットの提示時刻を示す提示時刻情報と、当該提示時刻情報がうるう秒調整前の時刻情報に基づいて生成されたか否かを示す識別情報とを、受信し、受信した前記提示時刻情報及び前記識別情報に基づいて、受信した前記所定のデータユニットを再生し、前記識別情報は、(i)制御情報である制御メッセージに格納され、(ii)前記提示時刻情報が、うるう秒調整が行われる直前の時刻よりも予め定められた期間前の時刻から当該直前の時刻までにおける前記時刻情報に基づいて生成されたかを示し、前記提示時刻情報は、前記時刻情報から予め定められた時間を加算することで生成された時刻情報であり、前記時刻情報は、NTP(Network Time Protocol)である。 A receiving method according to one aspect of the present invention is a receiving method for receiving a predetermined data unit in which data constituting an encoded stream is stored, the method receiving the predetermined data unit, presentation time information indicating the presentation time of the predetermined data unit, and identification information indicating whether the presentation time information was generated based on time information before a leap second adjustment, and reproducing the received predetermined data unit based on the received presentation time information and the identification information, the identification information (i) being stored in a control message that is control information, and (ii) indicating whether the presentation time information was generated based on the time information from a time a predetermined period before the time immediately before the leap second adjustment to the time immediately before the leap second adjustment, the presentation time information being time information generated by adding a predetermined time from the time information, and the time information being NTP (Network Time Protocol).
上記目的を達成するために、本発明の一態様に係る送信方法は、符号化ストリームを構成するデータを所定のデータユニットに格納して送信する送信方法であって、外部から受信した時刻情報に基づいて、前記所定のデータユニットの提示時刻を示す提示時刻情報を生成し、前記所定のデータユニットと、生成した前記提示時刻情報と、当該提示時刻情報がうるう秒調整前の前記時刻情報に基づいて生成されたか否かを示す識別情報とを送信し、前記識別情報は、(i)制御情報である制御メッセージに格納され、(ii)前記提示時刻情報が、うるう秒調整が行われる直前の時刻よりも予め定められた期間前の時刻から当該直前の時刻までにおける前記時刻情報に基づいて生成されたかを示し、前記提示時刻情報は、前記時刻情報から予め定められた時間を加算することで生成された時刻情報である。 In order to achieve the above object, a transmission method according to one aspect of the present invention is a transmission method for storing data constituting an encoded stream in a specified data unit and transmitting the data, which generates presentation time information indicating the presentation time of the specified data unit based on time information received from an external source, and transmits the specified data unit, the generated presentation time information, and identification information indicating whether the presentation time information was generated based on the time information before a leap second adjustment, the identification information (i) being stored in a control message that is control information, and (ii) indicating whether the presentation time information was generated based on the time information from a time that is a predetermined period before the time immediately before the leap second adjustment to the time immediately before the leap second adjustment, the presentation time information being time information generated by adding a predetermined time to the time information.
また、本発明の一態様に係る受信方法は、符号化ストリームを構成するデータが格納された所定のデータユニットを受信する受信方法であって、前記所定のデータユニットと、前記所定のデータユニットの提示時刻を示す提示時刻情報と、当該提示時刻情報がうるう秒調整前の時刻情報に基づいて生成されたか否かを示す識別情報とを、受信し、受信した前記提示時刻情報及び前記識別情報に基づいて、受信した前記所定のデータユニットを再生し、前記識別情報は、(i)制御情報である制御メッセージに格納され、(ii)前記提示時刻情報が、うるう秒調整が行われる直前の時刻よりも予め定められた期間前の時刻から当該直前の時刻までにおける前記時刻情報に基づいて生成されたかを示し、前記提示時刻情報は、前記時刻情報から予め定められた時間を加算することで生成された時刻情報である。 A receiving method according to one aspect of the present invention is a receiving method for receiving a predetermined data unit in which data constituting an encoded stream is stored, the method receiving the predetermined data unit, presentation time information indicating the presentation time of the predetermined data unit, and identification information indicating whether the presentation time information was generated based on time information before a leap second adjustment, and reproducing the received predetermined data unit based on the received presentation time information and the identification information, the identification information (i) being stored in a control message that is control information, and (ii) indicating whether the presentation time information was generated based on the time information from a time that is a predetermined period before the time immediately before the leap second adjustment to the time immediately before the leap second adjustment, the presentation time information being time information generated by adding a predetermined time to the time information.
上記目的を達成するために、本発明の一態様に係る送信方法は、符号化ストリームを構成するデータを所定のデータユニットに格納して送信する送信方法であって、外部から受信した基準時刻情報に基づいて、前記所定のデータユニットの提示時刻を示す提示時刻情報を生成し、前記所定のデータユニットと、生成した前記提示時刻情報と、当該提示時刻情報がうるう秒調整前の前記基準時刻情報に基づいて生成されたか否かを示す識別情報とを送信し、前記識別情報は、制御情報である制御メッセージに格納される。 In order to achieve the above object, a transmission method according to one aspect of the present invention is a transmission method for storing data constituting an encoded stream in a specified data unit and transmitting the data, which generates presentation time information indicating the presentation time of the specified data unit based on reference time information received from an external source, and transmits the specified data unit, the generated presentation time information, and identification information indicating whether the presentation time information was generated based on the reference time information before leap second adjustment, and the identification information is stored in a control message, which is control information.
また、本発明の一態様に係る受信方法は、符号化ストリームを構成するデータが格納された所定のデータユニットを受信する受信方法であって、前記所定のデータユニットと、前記所定のデータユニットの提示時刻を示す提示時刻情報と、当該提示時刻情報がうるう秒調整前の時刻情報に基づいて生成されたか否かを示す識別情報とを、受信し、受信した前記提示時刻情報及び前記識別情報に基づいて、受信した前記所定のデータユニットを再生し、前記識別情報は、制御情報である制御メッセージに格納される。 A receiving method according to one aspect of the present invention is a receiving method for receiving a predetermined data unit in which data constituting an encoded stream is stored, the method receiving the predetermined data unit, presentation time information indicating the presentation time of the predetermined data unit, and identification information indicating whether the presentation time information was generated based on time information before leap second adjustment, and reproducing the received predetermined data unit based on the received presentation time information and the identification information, and the identification information is stored in a control message, which is control information.
また、本発明の一態様に係る送信装置は、符号化ストリームを構成するデータを所定のデータユニットに格納して送信する送信装置であって、外部から受信した時刻情報に基づいて、当該所定のデータユニットの提示時刻を示す提示時刻情報を生成する生成部と、前記所定のデータユニットと、前記生成部により生成された前記提示時刻情報と、当該提示時刻情報がうるう秒調整前の前記時刻情報に基づいて生成されたか否かを示す識別情報とを送信する送信部と、を備え、前記識別情報は、制御情報である制御メッセージに格納される。 A transmitting device according to one aspect of the present invention is a transmitting device that stores data constituting an encoded stream in a specified data unit and transmits the data, and includes a generating unit that generates presentation time information indicating the presentation time of the specified data unit based on time information received from an external source, and a transmitting unit that transmits the specified data unit, the presentation time information generated by the generating unit, and identification information indicating whether the presentation time information was generated based on the time information before leap second adjustment, and the identification information is stored in a control message that is control information.
また、本発明の一態様に係る送信方法は、符号化ストリームを構成するデータが格納された所定のデータユニットを受信する受信装置であって、前記所定のデータユニットと、前記所定のデータユニットの提示時刻を示す提示時刻情報と、当該提示時刻情報がうるう秒調整前の時刻情報に基づいて生成されたか否かを示す識別情報とを、受信する受信部と、前記受信部により受信された前記提示時刻情報及び前記識別情報に基づいて、前記受信部により受信された前記所定のデータユニットを再生する再生部と、を備え、前記識別情報は、制御情報である制御メッセージに格納される。 A transmission method according to one aspect of the present invention is a receiving device that receives a predetermined data unit in which data constituting an encoded stream is stored, the receiving device including a receiving unit that receives the predetermined data unit, presentation time information indicating the presentation time of the predetermined data unit, and identification information indicating whether the presentation time information was generated based on time information before leap second adjustment, and a reproduction unit that reproduces the predetermined data unit received by the receiving unit based on the presentation time information and the identification information received by the receiving unit, the identification information being stored in a control message that is control information.
上記目的を達成するために、本発明の一態様に係る受信方法は、符号化ストリームを構成するデータが格納された第1のデータユニットを受信する受信装置による受信方法であって、前記第1のデータユニットは、複数の第2のデータユニットを格納し、前記受信方法では、(i)前記第1のデータユニットと、(ii)前記第1のデータユニットの提示時刻を示す第1時刻情報と、(iii)補正が必要な提示時刻で提示される、または、補正が必要な復号時刻で復号される第2のデータユニットであって、前記複数の第2のデータユニットのうちの提示順で先頭の第2のデータユニット以外の他の第2のデータユニットが前記第1のデータユニットに含まれる可能性があることを示す識別情報と、(iv)前記第1時刻情報とで前記複数の第2のデータユニットそれぞれの提示時刻または復号時刻を算出するための相対的な時刻情報である第2時刻情報と、を受信し、前記他の第2のデータユニットが含まれる可能性があることを、受信した前記識別情報が示している前記第1のデータユニットに対して、前記他の第2のデータユニットが含まれるか否かを判断する。 In order to achieve the above object, a receiving method according to one aspect of the present invention is a receiving method by a receiving device that receives a first data unit in which data constituting an encoded stream is stored, the first data unit stores a plurality of second data units, and the receiving method includes receiving (i) the first data unit, (ii) first time information indicating a presentation time of the first data unit, (iii) identification information indicating that a second data unit is presented at a presentation time that requires correction or is decoded at a decode time that requires correction, and that a second data unit other than the first second data unit in the presentation order among the plurality of second data units may be included in the first data unit, and (iv) second time information that is relative time information for calculating the presentation time or decode time of each of the plurality of second data units using the first time information, and determining whether the other second data unit is included in the first data unit indicated by the received identification information that the other second data unit may be included.
また、本発明の一態様に係る受信装置は、符号化ストリームを構成するデータが格納された第1のデータユニットを受信する受信装置であって、前記第1のデータユニットは、複数の第2のデータユニットを格納し、前記受信装置は、(i)前記第1のデータユニットと、(ii)前記第1のデータユニットの提示時刻を示す第1時刻情報と、(iii)補正が必要な提示時刻で提示される、または、補正が必要な復号時刻で復号される第2のデータユニットであって、前記複数の第2のデータユニットのうちの提示順で先頭の第2のデータユニット以外の他の第2のデータユニットが前記第1のデータユニットに含まれる可能性があることを示す識別情報と、(iv)前記第1時刻情報とで前記複数の第2のデータユニットそれぞれの提示時刻または復号時刻を算出するための相対的な時刻情報である第2時刻情報と、を受信する受信部と、前記他の第2のデータユニットが含まれる可能性があることを、前記受信部により受信された前記識別情報が示している前記第1のデータユニットに対して、前記他の第2のデータユニットが含まれるか否かを判断する判断部と、を備える。 In addition, a receiving device according to one aspect of the present invention is a receiving device that receives a first data unit in which data constituting an encoded stream is stored, and the first data unit stores a plurality of second data units. The receiving device includes a receiving unit that receives (i) the first data unit, (ii) first time information indicating a presentation time of the first data unit, (iii) identification information indicating that a second data unit is presented at a presentation time that requires correction or is decoded at a decoding time that requires correction, and that a second data unit other than the first second data unit in the presentation order among the plurality of second data units may be included in the first data unit, and (iv) second time information that is relative time information for calculating the presentation time or decoding time of each of the plurality of second data units using the first time information, and a determination unit that determines whether the other second data unit is included in the first data unit in which the identification information received by the receiving unit indicates that the other second data unit may be included.
上記目的を達成するために、本発明の一態様に係る送信方法は、符号化ストリームを構成するデータが格納された第1のデータユニットを送信する送信方法であって、前記第1のデータユニットは、複数の第2のデータユニットを格納し、前記送信方法では、外部から受信した基準時刻情報に基づいて、前記第1のデータユニットの提示時刻を示す第1時刻情報を生成し、(i)前記第1のデータユニットと、(ii)生成した前記第1時刻情報と、(iii)補正が必要な提示時刻で提示される、または、補正が必要な復号時刻で復号される第2のデータユニットであって、前記複数の第2のデータユニットのうちの提示順で先頭の第2のデータユニット以外の他の第2のデータユニットが前記第1のデータユニットに含まれる可能性があることを示す識別情報とを送信する。 In order to achieve the above object, a transmission method according to one aspect of the present invention is a transmission method for transmitting a first data unit in which data constituting an encoded stream is stored, the first data unit storing a plurality of second data units, and the transmission method generates first time information indicating a presentation time of the first data unit based on reference time information received from an external source, and transmits (i) the first data unit, (ii) the generated first time information, and (iii) identification information indicating that a second data unit is presented at a presentation time that requires correction or is decoded at a decoding time that requires correction, and that a second data unit other than the first second data unit in the presentation order among the plurality of second data units may be included in the first data unit.
なお、これらの全般的または具体的な態様は、システム、装置、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、装置、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。 These general or specific aspects may be realized as a system, device, integrated circuit, computer program, or computer-readable recording medium such as a CD-ROM, or as any combination of a system, device, integrated circuit, computer program, and recording medium.
本発明は、送信側及び受信装置の基準クロックの基準となる基準時刻情報に対してうるう秒調整が行なわれる場合であっても、第1のデータユニットに格納されている複数の第2のデータユニットを意図された時刻に再生できる。 The present invention can reproduce multiple second data units stored in a first data unit at the intended time, even when leap second adjustments are made to the reference time information that serves as the basis for the reference clocks of the transmitting and receiving devices.
本発明の一態様に係る送信方法は、符号化ストリームを構成するデータが格納された第1のデータユニットを送信する送信方法であって、前記第1のデータユニットは、複数の第2のデータユニットを格納し、前記送信方法では、外部から受信した基準時刻情報に基づいて、前記第1のデータユニットの提示時刻を示す第1時刻情報を生成し、(i)前記第1のデータユニットと、(ii)生成した前記第1時刻情報と、(iii)補正が必要な提示時刻で提示される、または、補正が必要な復号時刻で復号される第2のデータユニットであって、前記複数の第2のデータユニットのうちの提示順で先頭の第2のデータユニット以外の他の第2のデータユニットが前記第1のデータユニットに含まれる可能性があることを示す識別情報とを送信する。 A transmission method according to one aspect of the present invention is a transmission method for transmitting a first data unit in which data constituting an encoded stream is stored, the first data unit storing a plurality of second data units, and the transmission method generates first time information indicating a presentation time of the first data unit based on reference time information received from an external source, and transmits (i) the first data unit, (ii) the generated first time information, and (iii) identification information indicating that a second data unit is presented at a presentation time that requires correction or is decoded at a decoding time that requires correction, and that a second data unit other than the first second data unit in the presentation order among the plurality of second data units may be included in the first data unit.
このような送信方法は、送信側及び受信装置の基準クロックの基準となる基準時刻情報に対してうるう秒調整が行なわれる場合であっても、意図された時刻に第1のデータユニットで構成される符号化ストリームを受信装置が再生できる。 This type of transmission method allows the receiving device to reproduce the encoded stream consisting of the first data unit at the intended time, even if leap second adjustments are made to the reference time information that serves as the basis for the reference clocks of the transmitting and receiving devices.
また、前記送信では、さらに、前記第1時刻情報とで前記複数の第2のデータユニットそれぞれの提示時刻または復号時刻を算出するための相対的な時刻情報である第2時刻情報を送信してもよい。 The transmission may further include transmitting second time information, which is relative time information for calculating the presentation time or decode time of each of the plurality of second data units using the first time information.
また、前記第1時刻情報は、うるう秒調整時に補正の対象となる時刻情報であってもよい。 The first time information may also be time information that is subject to correction during leap second adjustment.
また、さらに、前記第1時刻情報が補正条件を満たす場合に、前記第1時刻情報を補正し、前記送信では、前記第1時刻情報が、前記生成においてうるう秒調整前の前記基準時刻情報に基づいて生成され、かつ、前記補正において補正されていない情報であるか否かを示す情報を、前記識別情報として送信し、前記識別情報は、前記第1時刻情報が、前記生成においてうるう秒調整前の前記基準時刻情報に基づいて生成され、かつ、前記補正において補正されていない情報であることを示す場合、前記他の第2のデータユニットが前記第1のデータユニットに含まれる可能性があることを示してもよい。 Furthermore, when the first time information satisfies a correction condition, the first time information is corrected, and in the transmission, information indicating whether the first time information was generated based on the reference time information before leap second adjustment in the generation and was not corrected in the correction is transmitted as the identification information, and when the identification information indicates that the first time information was generated based on the reference time information before leap second adjustment in the generation and was not corrected in the correction, it may indicate that the other second data unit is likely to be included in the first data unit.
また、前記補正条件は、前記第1時刻情報が、うるう秒調整前の前記基準時刻情報に基づいて生成されており、かつ、所定の時刻以降であることであってもよい。 The correction condition may also be that the first time information is generated based on the reference time information before leap second adjustment and is after a predetermined time.
また、前記識別情報は、前記第1時刻情報がうるう秒調整前の前記基準時刻情報に基づいて生成されたか否かを示す第1識別情報と、前記第1時刻情報を補正したことを示す第2識別情報とを含んでもよい。 The identification information may also include first identification information indicating whether the first time information was generated based on the reference time information before leap second adjustment, and second identification information indicating that the first time information has been corrected.
また、前記第1識別情報は、前記第1時刻情報が、うるう秒調整が行われる直前の時刻よりも予め定められた期間前の時刻から当該直前の時刻までにおける前記基準時刻情報に基づいて生成されたか否かを示す情報であってもよい。 The first identification information may also be information indicating whether the first time information was generated based on the reference time information from a time a predetermined period before the time immediately before the leap second adjustment is performed to the time immediately before the leap second adjustment is performed.
また、前記第1時刻情報は、前記複数の第2のデータユニットのうちの提示順で先頭の第2のデータユニットの提示時刻を示す絶対的な時刻情報であってもよい。 The first time information may be absolute time information indicating the presentation time of the first second data unit in the presentation order among the plurality of second data units.
また、前記送信では、前記第1のデータユニットに対応する前記第1時刻情報が格納された制御情報と、複数の前記第1のデータユニットと、が格納された所定のパケットを送信してもよい。 In addition, the transmission may include transmitting a predetermined packet that contains control information in which the first time information corresponding to the first data unit is stored, and a plurality of the first data units.
また、前記送信では、複数の前記第1のデータユニットとしてのMPU(Media Presentation Unit)が格納された、前記所定のパケットとしてのMMTP(MPEG Media Transport Protocol)パケットを送信し、前記MMTPパケットは、制御情報として、前記第1時刻情報を含むMPUタイムスタンプ記述子と、前記第2時刻情報を含むMPU拡張タイムスタンプ記述子と、を含み、前記MPUは、前記複数の第2のデータユニットとしての複数のアクセスユニットを格納していてもよい。 In addition, the transmission may include transmitting an MMTP (MPEG Media Transport Protocol) packet as the specified packet, in which a plurality of MPUs (Media Presentation Units) as the first data units are stored, the MMTP packet including, as control information, an MPU timestamp descriptor including the first time information and an MPU extended timestamp descriptor including the second time information, and the MPU may store a plurality of access units as the plurality of second data units.
また、前記基準時刻情報は、NTP(Network Time Protocol)であってもよい。 The reference time information may also be NTP (Network Time Protocol).
また、本発明の一態様に係る受信方法は、符号化ストリームを構成するデータが格納された第1のデータユニットを受信する受信装置による受信方法であって、前記第1のデータユニットは、複数の第2のデータユニットを格納し、前記受信方法では、(i)前記第1のデータユニットと、(ii)前記第1のデータユニットの提示時刻を示す第1時刻情報と、(iii)補正が必要な提示時刻で提示される、または、補正が必要な復号時刻で復号される第2のデータユニットであって、前記複数の第2のデータユニットのうちの提示順で先頭の第2のデータユニット以外の他の第2のデータユニットが前記第1のデータユニットに含まれる可能性があることを示す識別情報と、を受信し、前記他の第2のデータユニットが含まれる可能性があることを、受信した前記識別情報が示している前記第1のデータユニットに対して、前記他の第2のデータユニットが含まれるか否かを判断する。 In addition, a receiving method according to one aspect of the present invention is a receiving method by a receiving device that receives a first data unit in which data constituting an encoded stream is stored, the first data unit stores a plurality of second data units, and the receiving method includes receiving (i) the first data unit, (ii) first time information indicating a presentation time of the first data unit, and (iii) identification information indicating that a second data unit is presented at a presentation time that requires correction or is decoded at a decoding time that requires correction, and that the first data unit may include other second data units other than the first second data unit in the presentation order among the plurality of second data units, and determining whether the other second data units are included in the first data unit indicated by the received identification information, which indicates that the other second data units may be included.
このような受信方法は、送信側及び受信装置の基準クロックの基準となる基準時刻情報に対してうるう秒調整が行なわれる場合であっても、意図された時刻に第1のデータユニットで構成される符号化ストリームを再生できる。 This receiving method can reproduce the encoded stream consisting of the first data unit at the intended time, even if leap second adjustments are made to the reference time information that serves as the basis for the reference clocks of the transmitting and receiving devices.
なお、これらの包括的または具体的な態様は、装置、システム、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD-ROMなどの記録媒体記録媒体で実現されてもよく、装置、システム、集積回路、コンピュータプログラムまたは記録媒体の任意な組み合わせで実現されてもよい。 These comprehensive or specific aspects may be realized in a device, a system, an integrated circuit, a computer program, or a computer-readable recording medium such as a CD-ROM, or in any combination of a device, a system, an integrated circuit, a computer program, or a recording medium.
以下、実施の形態について、図面を参照しながら具体的に説明する。 The following describes the embodiment in detail with reference to the drawings.
なお、以下で説明する実施の形態は、いずれも包括的または具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。 The embodiments described below are all comprehensive or specific examples. The numerical values, shapes, materials, components, component placement and connection forms, steps, and order of steps shown in the following embodiments are merely examples and are not intended to limit the present invention. Furthermore, among the components in the following embodiments, components that are not described in an independent claim that indicates a superordinate concept are described as optional components.
(本発明の基礎となった知見)
近年、TV、スマートフォン、又はタブレット端末などのディスプレイの高解像度化が進んでいる。特に日本国内の放送においては2020年に8K4K(解像度が8K×4K)のサービスが予定されている。8K4Kなどの超高解像度の動画像においては、単一の復号器では実時間での復号が困難であるため、複数の復号器を用いて並列に復号処理を行う手法が検討されている。
(Findings on which the present invention is based)
In recent years, the resolution of displays such as TVs, smartphones, and tablet terminals has been increasing. In particular, 8K4K (resolution 8K×4K) services are planned for broadcasting in Japan in 2020. Since it is difficult to decode ultra-high resolution moving images such as 8K4K in real time using a single decoder, a method of performing decoding processing in parallel using multiple decoders is being considered.
符号化データはMPEG-2 TSやMMTなどの多重化方式に基づいて多重化して送信されるため、受信装置は、復号に先立って、多重化データから動画の符号化データを分離する必要がある。以下、多重化データから符号化データを分離する処理を逆多重化と呼ぶ。 Since the encoded data is multiplexed and transmitted based on a multiplexing method such as MPEG-2 TS or MMT, the receiving device must separate the encoded video data from the multiplexed data prior to decoding. Hereinafter, the process of separating the encoded data from the multiplexed data is referred to as demultiplexing.
復号処理を並列化する際には、各復号器のそれぞれに対して、復号対象となる符号化データを振り分ける必要がある。符号化データを振り分ける際には、符号化データそのものを解析する必要があり、特に8Kなどのコンテンツにおいてはビットレートが非常に高いことから、解析に係る処理負荷が大きい。したがって、逆多重化の部分がボトルネックとなり実時間での再生が行えないという課題があった。 When parallelizing the decoding process, it is necessary to allocate the encoded data to be decoded to each decoder. When allocating the encoded data, the encoded data itself needs to be analyzed, and since the bit rate is particularly high for 8K content, the processing load associated with the analysis is large. As a result, the demultiplexing part becomes a bottleneck, making it impossible to play back in real time.
ところで、MPEGとITUにより規格化されたH.264及びH.265などの動画像符号化方式においては、送信装置は、ピクチャをスライス又はスライスセグメントと呼ばれる複数の領域に分割し、分割したそれぞれの領域を独立に復号できるように符号化することができる。従って、例えば、H.265の場合には、放送を受信する受信装置は、受信データからスライスセグメント毎のデータを分離し、各スライスセグメントのデータを別々の復号器に出力することで、復号処理の並列化を実現できる。 In video coding formats such as H.264 and H.265, which are standardized by MPEG and ITU, a transmitting device can divide a picture into multiple areas called slices or slice segments, and encode each divided area so that it can be decoded independently. Therefore, for example, in the case of H.265, a receiving device that receives a broadcast can separate data for each slice segment from the received data and output the data for each slice segment to a separate decoder, thereby achieving parallel decoding.
図1は、HEVCにおいて、1つのピクチャを4つのスライスセグメントに分割する例を示す図である。例えば、受信装置は4つの復号器を備え、各復号器が4つのスライスセグメントのうちいずれかを復号する。 Figure 1 shows an example of dividing one picture into four slice segments in HEVC. For example, a receiving device has four decoders, and each decoder decodes one of the four slice segments.
従来の放送においては、送信装置は、1枚のピクチャ(MPEGシステム規格におけるアクセスユニット)を1つのPESパケットに格納し、PESパケットをTSパケット列に多重化する。このため、受信装置は、PESパケットのペイロードを分離したうえで、ペイロードに格納されたアクセスユニットのデータを解析することで、各スライスセグメントを分離し、分離された各スライスセグメントのデータを復号器に出力する必要があった。 In conventional broadcasting, a transmitting device stores one picture (an access unit in the MPEG system standard) in one PES packet and multiplexes the PES packet into a sequence of TS packets. For this reason, a receiving device had to separate the payload of the PES packet, analyze the data of the access unit stored in the payload, separate each slice segment, and output the data of each separated slice segment to a decoder.
しかしながら、アクセスユニットのデータを解析してスライスセグメントを分離する際の処理量が大きいため、この処理を実時間で行うことが困難であるという課題があることを本発明者は見出した。 However, the inventors have discovered that there is a problem in that analyzing access unit data and separating slice segments requires a large amount of processing, making it difficult to perform this processing in real time.
図2は、スライスセグメントに分割されたピクチャのデータが、PESパケットのペイロードに格納される例を示す図である。 Figure 2 shows an example of how picture data divided into slice segments is stored in the payload of a PES packet.
図2に示すように、例えば、複数のスライスセグメント(スライスセグメント1~4)のデータが1つのPESパケットのペイロードに格納される。また、PESパケットはTSパケット列に多重化される。
As shown in FIG. 2, for example, data from multiple slice segments (slice
(実施の形態1)
以下では、動画像の符号化方式としてH.265を用いる場合を例に説明するが、H.264など他の符号化方式を用いる場合にも本実施の形態を適用できる。
(Embodiment 1)
In the following, an example will be described in which H.265 is used as the video encoding method, but this embodiment can also be applied to cases in which other encoding methods such as H.264 are used.
図3は、本実施の形態におけるアクセスユニット(ピクチャ)を分割単位に分割した例を示す図である。アクセスユニットは、H.265によって導入されたタイルと呼ばれる機能により、水平及び垂直方向にそれぞれ2等分され、合計4つのタイルに分割される。また、スライスセグメントとタイルは1対1に対応付けられる。 Figure 3 shows an example of dividing an access unit (picture) into division units in this embodiment. The access unit is divided into two equal parts horizontally and vertically, into a total of four tiles, by a function called tiles introduced by H.265. Also, there is a one-to-one correspondence between slice segments and tiles.
このように水平及び垂直方向に2等分する理由について説明する。まず、復号時には、一般的に水平1ラインのデータを格納するラインメモリが必要となるが、8K4Kなどの超高解像度になると、水平方向のサイズが大きくなるためラインメモリのサイズが増加する。受信装置の実装においては、ラインメモリのサイズを低減できることが望ましい。ラインメモリのサイズを低減するためには垂直方向の分割が必要となる。垂直方向の分割にはタイルというデータ構造が必要である。これらの理由により、タイルが用いられる。 The reason for dividing the data into two equal parts horizontally and vertically will be explained below. First, when decoding, a line memory is generally required to store one horizontal line of data, but when it comes to ultra-high resolution such as 8K4K, the horizontal size becomes large, so the size of the line memory increases. When implementing a receiving device, it is desirable to be able to reduce the size of the line memory. In order to reduce the size of the line memory, vertical division is necessary. A data structure called a tile is required for vertical division. For these reasons, tiles are used.
一方で、画像は一般的に水平方向の相関が高いため、水平方向に広い範囲を参照できるほうが符号化効率は向上する。従って、符号化効率の観点ではアクセスユニットが水平方向に分割されることが望ましい。 On the other hand, images generally have high correlation in the horizontal direction, so coding efficiency improves when a wider range can be referenced horizontally. Therefore, from the viewpoint of coding efficiency, it is desirable to divide the access unit horizontally.
アクセスユニットが水平及び垂直方向に2等分されることで、これら2つの特性を両立させ、実装面、及び符号化効率の両面を考慮できる。単一の復号器が4K2Kの動画像を実時間での復号が可能の場合には、8K4Kの画像が4等分され、各々のスライスセグメントが4K2Kとなるように分割されることで、受信装置は、8K4Kの画像を実時間で復号できる。 By dividing the access unit into two equal parts horizontally and vertically, these two characteristics can be achieved simultaneously, and both implementation and coding efficiency can be taken into consideration. If a single decoder is capable of decoding 4K2K video in real time, then an 8K4K image can be divided into four equal parts, and each slice segment can be divided into 4K2K, allowing the receiving device to decode the 8K4K image in real time.
次に、アクセスユニットが水平及び垂直方向に分割されることで得られたタイルとスライスセグメントとを1対1に対応付ける理由について説明する。H.265においては、アクセスユニットは複数のNAL(Network Adaptation Layer)ユニットと呼ばれる単位から構成される。 Next, we will explain why tiles obtained by dividing an access unit in the horizontal and vertical directions correspond one-to-one to slice segments. In H.265, an access unit is composed of multiple units called NAL (Network Adaptation Layer) units.
NALユニットのペイロードは、アクセスユニットの開始位置を示すアクセスユニットデリミタ、シーケンス単位で共通に用いられる復号時の初期化情報であるSPS(Sequence Parameter Set)、ピクチャ内で共通に用いられる復号時の初期化情報であるPPS(Picture Parameter Set)、復号処理自体には不要であるが復号結果の処理及び表示などにおいて必要となるSEI(Supplemental Enhancement Information)、並びに、スライスセグメントの符号化データなどのいずれかを格納する。NALユニットのヘッダは、ペイロードに格納されるデータを識別するためのタイプ情報を含む。 The payload of a NAL unit stores any of the following: an access unit delimiter that indicates the start position of an access unit; an SPS (Sequence Parameter Set), which is initialization information used commonly by sequence unit during decoding; a PPS (Picture Parameter Set), which is initialization information used commonly within a picture during decoding; SEI (Supplemental Enhancement Information), which is not required for the decoding process itself but is required for processing and displaying the decoding results; and encoded data of a slice segment. The header of the NAL unit contains type information for identifying the data stored in the payload.
ここで、送信装置は、符号化データをMPEG-2 TS、MMT(MPEG Media Transport)、MPEG DASH(Dynamic Adaptive
Streaming over HTTP)、又は、RTP(Real-time Transport Protocol)などの多重化フォーマットによって多重化する際には、基本単位をNALユニットに設定できる。1つのスライスセグメントを1つのNALユニットに格納するためには、アクセスユニットを領域に分割する際に、スライスセグメント単位に分割することが望ましい。このような理由から、送信装置は、タイルとスライスセグメントとを1対1に対応付ける。
Here, the transmitting device transmits the encoded data in the MPEG-2 TS, MMT (MPEG Media Transport), MPEG DASH (Dynamic Adaptive
When multiplexing using a multiplexing format such as HTTP (Streaming over HTTP) or RTP (Real-time Transport Protocol), the basic unit can be set to the NAL unit. In order to store one slice segment in one NAL unit, it is desirable to divide the access unit into slice segment units when dividing the access unit into regions. For this reason, the transmitting device associates tiles with slice segments in a one-to-one relationship.
なお、図4に示すように、送信装置は、タイル1からタイル4までをまとめて1つのスライスセグメントに設定することも可能である。しかし、この場合には、1つのNALユニットに全てのタイルが格納されることになり、受信装置が、多重化レイヤにおいてタイルを分離することが困難である。
As shown in FIG. 4, the transmitting device can also set
なお、スライスセグメントには独立に復号可能な独立スライスセグメントと、独立スライスセグメントを参照する参照スライスセグメントとが存在するが、ここでは独立スライスセグメントが用いられる場合を説明する。 Note that there are two types of slice segments: independent slice segments that can be decoded independently, and reference slice segments that reference independent slice segments. Here, we will explain the case where independent slice segments are used.
図5は、図3に示すようにタイルとスライスセグメントとの境界が一致するように分割されたアクセスユニットのデータの例を示す図である。アクセスユニットのデータは、先頭に配置されたアクセスユニットデリミタが格納されるNALユニットと、その後に配置されるSPS、PPS、及びSEIのNALユニットと、その後に配置されるタイル1からタイル4までのデータが格納されたスライスセグメントのデータとを含む。なお、アクセスユニットのデータは、SPS、PPS及びSEIのNALユニットの一部又は全てを含まなくてもよい。
Figure 5 is a diagram showing an example of data of an access unit that has been divided so that the boundaries between tiles and slice segments coincide as shown in Figure 3. The data of the access unit includes a NAL unit in which an access unit delimiter is stored, which is placed at the beginning, followed by NAL units of SPS, PPS, and SEI, and data of a slice segment in which data from
次に、本実施の形態に係る送信装置100の構成を説明する。図6は、本実施の形態に係る送信装置100の構成例を示すブロック図である。この送信装置100は、符号化部101と、多重化部102と、変調部103と、送信部104とを備える。
Next, the configuration of the transmitting
符号化部101は、入力画像を、例えば、H.265に従い符号化することで符号化データを生成する。また、符号化部101は、例えば、図3に示すように、アクセスユニットを4つのスライスセグメント(タイル)に分割し、各スライスセグメントを符号化する。
The
多重化部102は、符号化部101により生成された符号化データを多重化する。変調部103は、多重化により得られたデータを変調する。送信部104は、変調後のデータを放送信号として送信する。
The
次に、本実施の形態に係る受信装置200の構成を説明する。図7は、本実施の形態に係る受信装置200の構成例を示すブロック図である。この受信装置200は、チューナー201と、復調部202と、逆多重化部203と、複数の復号部204A~204Dと、表示部205とを備える。
Next, the configuration of the receiving
チューナー201は、放送信号を受信する。復調部202は、受信された放送信号を復調する。復調後のデータは逆多重化部203に入力される。
The
逆多重化部203は、復調後のデータを分割単位に分離し、分割単位毎のデータを復号部204A~204Dに出力する。ここで、分割単位とは、アクセスユニットが分割されることで得られた分割領域であり、例えば、H.265におけるスライスセグメントである。また、ここでは、8K4Kの画像が4つの4K2Kの画像に分割される。よって、4つの復号部204A~204Dが存在する。
The
複数の復号部204A~204Dは、所定の基準クロックに基づいて互いに同期して動作する。各復号部は、アクセスユニットのDTS(Decoding Time Stamp)に従って分割単位の符号化データを復号し、復号結果を表示部205に出力する。
The
表示部205は、複数の復号部204A~204Dから出力された複数の復号結果を統合することで8K4Kの出力画像を生成する。表示部205は、別途取得したアクセスユニットのPTS(Presentation Time Stamp)に従って、生成された出力画像を表示する。なお、表示部205は、復号結果を統合する際に、タイルの境界など、互いに隣接する分割単位の境界領域において、当該境界が視覚的に目立たなくなるようにデブロックフィルタなどのフィルタ処理を行ってもよい。
The
なお、上記では、放送の送信又は受信を行う送信装置100及び受信装置200を例に説明したが、コンテンツは通信ネットワーク経由で送信及び受信されてもよい。受信装置200が、通信ネットワーク経由でコンテンツを受信する場合には、受信装置200は、イーサーネットなどのネットワークにより受信したIPパケットから多重化データを分離する。
In the above, the transmitting
放送においては、放送信号が送信されてから受信装置200に届くまでの間の伝送路遅延は一定である。一方、インターネットなどの通信ネットワークにおいては輻輳の影響により、サーバーから送信されたデータが受信装置200に届くまでの伝送路遅延は一定でない。従って、受信装置200は、放送のMPEG-2 TSにおけるPCRのような基準クロックに基づいた厳密な同期再生を行わないことが多い。そのため、受信装置200は、各復号部を厳密に同期させることはせずに、表示部において8K4Kの出力画像をPTSに従って表示してもよい。
In broadcasting, the transmission path delay from when the broadcast signal is transmitted until it reaches the receiving
また、通信ネットワークの輻輳などにより、全ての分割単位の復号処理がアクセスユニットのPTSで示される時刻において完了していない場合がある。この場合には、受信装置200は、アクセスユニットの表示をスキップする、又は、少なくとも4つの分割単位の復号が終了し、8K4Kの画像の生成が完了するまで表示を遅延させる。
In addition, due to congestion in the communication network, etc., the decoding process for all division units may not be completed by the time indicated by the PTS of the access unit. In this case, the receiving
なお、放送と通信とを併用してコンテンツが送信及び受信されてもよい。また、ハードディスク又はメモリなどの記録媒体に格納された多重化データを再生する際にも本手法を適用可能である。 Content may be transmitted and received using a combination of broadcasting and communication. This method can also be applied when playing back multiplexed data stored on a recording medium such as a hard disk or memory.
次に、多重化方式としてMMTが用いられる場合の、スライスセグメントに分割されたアクセスユニットの多重化方法にについて説明する。 Next, we will explain how to multiplex access units divided into slice segments when MMT is used as the multiplexing method.
図8は、HEVCのアクセスユニットのデータを、MMTにパケット化する際の例を示す図である。SPS、PPS及びSEIなどはアクセスユニットに必ずしも含まれる必要はないが、ここでは存在する場合について例示する。 Figure 8 shows an example of packetizing data of an HEVC access unit into MMT. Although SPS, PPS, SEI, etc. do not necessarily need to be included in the access unit, here we will show an example in which they are present.
アクセスユニットデリミタ、SPS、PPS、及びSEIなどのアクセスユニット内で先頭のスライスセグメントよりも前に配置されるNALユニットは一纏めにしてMMTパケット#1に格納される。後続のスライスセグメントは、スライスセグメント毎に別々のMMTパケットに格納される。
NAL units that are located before the first slice segment in an access unit, such as the access unit delimiter, SPS, PPS, and SEI, are stored together in
なお、図9に示すように、アクセスユニット内で先頭のスライスセグメントよりも前に配置されるNALユニットが、先頭のスライスセグメントと同一のMMTパケットに格納されてもよい。 As shown in FIG. 9, a NAL unit that is placed before the first slice segment in an access unit may be stored in the same MMT packet as the first slice segment.
また、シーケンス又はストリームの終端を示す、End-of-Sequence又はEnd-of-BitstreamなどのNALユニットが最終スライスセグメントの後に付加される場合には、これらは、最終スライスセグメントと同一のMMTパケットに格納される。ただし、End-of-Sequence又はEnd-of-BitstreamなどのNALユニットは、復号処理の終了ポイント、又は2本のストリームの接続ポイントなどに挿入されるため、受信装置200が、これらのNALユニットを、多重化レイヤにおいて容易に取得できることが望ましい場合がある。この場合には、これらのNALユニットは、スライスセグメントとは別のMMTパケットに格納されてもよい。これにより、受信装置200は、多重化レイヤにおいてこれらのNALユニットを容易に分離できる。
In addition, when a NAL unit such as End-of-Sequence or End-of-Bitstream, which indicates the end of a sequence or stream, is added after the final slice segment, it is stored in the same MMT packet as the final slice segment. However, since NAL units such as End-of-Sequence or End-of-Bitstream are inserted at the end point of the decoding process or the connection point of two streams, it may be desirable for the receiving
なお、多重化方式として、TS、DASH又はRTPなどが用いられてもよい。これらの方式においても、送信装置100は、異なるスライスセグメントをそれぞれ異なるパケットに格納する。これにより、受信装置200が多重化レイヤにおいてスライスセグメントを分離できることを保証できる。
Note that TS, DASH, RTP, or the like may be used as the multiplexing method. In these methods, the transmitting
例えば、TSが用いられる場合、スライスセグメント単位で符号化データがPESパケット化される。RTPが用いられる場合、スライスセグメント単位で符号化データがRTPパケット化される。これらの場合においても、図8に示すMMTパケット#1のように、スライスセグメントよりも前に配置されるNALユニットとスライスセグメントとが別々にパケット化されてもよい。
For example, when TS is used, the encoded data is packetized into PES packets on a slice segment basis. When RTP is used, the encoded data is packetized into RTP packets on a slice segment basis. Even in these cases, the NAL unit and the slice segment that are placed before the slice segment may be packetized separately, as in
TSが用いられる場合、送信装置100は、data alignment記述子を用いることなどにより、PESパケットに格納されるデータの単位を示す。また、DASHはセグメントと呼ばれるMP4形式のデータ単位をHTTPなどによりダウンロードする方式であるため、送信装置100は、送信にあたって符号化データのパケット化は行わない。このため、送信装置100は、受信装置200がMP4において多重化レイヤでスライスセグメントを検出できるように、スライスセグメント単位でサブサンプルを作成し、サブサンプルの格納位置を示す情報をMP4のヘッダに格納してもよい。
When TS is used, the transmitting
以下、スライスセグメントのMMTパケット化について、詳細に説明する。 The MMT packetization of slice segments is explained in detail below.
図8に示すように、符号化データがパケット化されることで、SPS及びPPSなどのアクセスユニット内の全スライスセグメントの復号時に共通に参照されるデータがMMTパケット#1に格納される。この場合、受信装置200は、MMTパケット#1のペイロードデータと各スライスセグメントのデータとを連結し、得られたデータを復号部に出力する。このように、受信装置200は、複数のMMTパケットのペイロードを連結することで、復号部への入力データを容易に生成できる。
As shown in FIG. 8, by packetizing the encoded data, data that is commonly referenced when decoding all slice segments in an access unit, such as SPS and PPS, is stored in
図10は、図8に示すMMTパケットから復号部204A~204Dへの入力データが生成される例を示す図である。逆多重化部203は、MMTパケット#1とMMTパケット#2とのペイロードデータを連結させることで、復号部204Aが、スライスセグメント1を復号するために必要なデータを生成する。逆多重化部203は、復号部204Bから復号部204Dについても、同様に入力データを生成する。つまり、逆多重化部203は、MMTパケット#1とMMTパケット#3とのペイロードデータを連結させることで、復号部204Bの入力データを生成する。逆多重化部203は、MMTパケット#1とMMTパケット#4とのペイロードデータを連結させることで、復号部204Cの入力データを生成する。逆多重化部203は、MMTパケット#1とMMTパケット#5とのペイロードデータを連結させることで、復号部204Dの入力データを生成する。
Figure 10 is a diagram showing an example in which input data to the
なお、逆多重化部203は、アクセスユニットデリミタ及びSEIなど、復号処理に必要ではないNALユニットを、MMTパケット#1のペイロードデータから除去し、復号処理に必要であるSPS及びPPSのNALユニットのみを分離してスライスセグメントのデータに付加してもよい。
In addition, the
図9に示すように符号化データがパケット化される場合には、逆多重化部203は、多重化レイヤにおいてアクセスユニットの先頭データを含むMMTパケット#1を1番目の復号部204Aに出力する。また、逆多重化部203は、多重化レイヤにおいてアクセスユニットの先頭データを含むMMTパケットを解析し、SPS及びPPSのNALユニットを分離し、分離したSPS及びPPSのNALユニットを2番目以降のスライスセグメントのデータの各々に付加することで2番目以降の復号部の各々に対する入力データを生成する。
When the encoded data is packetized as shown in FIG. 9, the
さらに、受信装置200が、MMTパケットのヘッダに含まれる情報を用いて、MMTペイロードに格納されるデータのタイプ、及び、ペイロードにスライスセグメントが格納されている場合のアクセスユニット内における当該スライスセグメントのインデックス番号を識別できることが望ましい。ここで、データのタイプとは、スライスセグメント前データ(アクセスユニット内で先頭スライスセグメントよりも前に配置されるNALユニットをまとめて、このように呼ぶことにする)、及び、スライスセグメントのデータのいずれである。MMTパケットに、スライスセグメントなどのMPUをフラグメント化した単位を格納する場合には、MFU(Media Fragment Unit)を格納するためのモードが用いられる。送信装置100は、本モードを用いる場合には、例えば、MFUにおけるデータの基本単位であるData Unitを、サンプル(MMTにおけるデータ単位であり、アクセスユニットに相当する)、又は、サブサンプル(サンプルを分割した単位)に設定できる。
Furthermore, it is desirable that the receiving
このとき、MMTパケットのヘッダは、Fragmentation indicatorと呼ばれるフィールドと、Fragment counterと呼ばれるフィールドとを含む。 At this time, the header of the MMT packet includes a field called a fragmentation indicator and a field called a fragment counter.
Fragmentation indicatorは、MMTパケットのペイロードに格納されるデータが、Data unitをフラグメント化したものであるかどうか、フラグメント化したものである場合には、当該フラグメントがData unitにおける先頭或いは最終のフラグメント、又は、先頭と最終とのどちらでもないフラグメントであるかを示す。言い換えると、あるパケットのヘッダに含まれるFragmentation indicatorは、(1)基本データ単位であるData unitに当該パケットのみが含まれる、(2)Data unitが複数のパケットに分割して格納され、かつ、当該パケットがData unitの先頭のパケットである、(3)Data unitが複数のパケットに分割して格納され、かつ、当該パケットがData unitの先頭及び最後以外のパケットである、及び、(4)Data unitが複数のパケットに分割して格納され、かつ、当該パケットがData unitの最後のパケットである、のいずれであるかを示す識別情報である。 The Fragmentation indicator indicates whether the data stored in the payload of the MMT packet is a fragmented Data unit, and if so, whether the fragment is the first or last fragment in the Data unit, or a fragment that is neither the first nor the last. In other words, the fragmentation indicator included in the header of a packet is identification information that indicates whether (1) the packet is included in the basic data unit, that is, the data unit, only the packet in question, (2) the data unit is divided and stored into multiple packets, and the packet in question is the first packet of the data unit, (3) the data unit is divided and stored into multiple packets, and the packet in question is a packet other than the first or last packet of the data unit, or (4) the data unit is divided and stored into multiple packets, and the packet in question is the last packet of the data unit.
Fragment counterは、MMTパケットに格納されるデータが、Data unitにおいて何番目のフラグメントに相当するかを示すインデックス番号である。 The fragment counter is an index number that indicates which fragment in the data unit the data stored in the MMT packet corresponds to.
従って、送信装置100が、MMTにおけるサンプルをData unitに設定し、スライスセグメント前データ、及び、各スライスセグメントを、それぞれData unitのフラグメント単位に設定することで、受信装置200は、MMTパケットのヘッダに含まれる情報を用いて、ペイロードに格納されるデータのタイプが識別できる。つまり、逆多重化部203は、MMTパケットのヘッダを参照して、各復号部204A~204Dへの入力データを生成できる。
Therefore, by the transmitting
図11は、サンプルがData unitに設定され、スライスセグメント前データ、及び、スライスセグメントがData unitのフラグメントとしてパケット化される場合の例を示す図である。 Figure 11 shows an example where a sample is set to a Data unit, and pre-slice segment data and slice segments are packetized as fragments of Data units.
スライスセグメント前データ、及びスライスセグメントは、フラグメント#1からフラグメント#5までの5つのフラグメントに分割される。各フラグメントは個別のMMTパケットに格納される。このとき、MMTパケットのヘッダに含まれるFragmentation indicator及びFragment counterの値は図示する通りである。
The pre-slice segment data and the slice segment are divided into five fragments,
例えば、Fragment indicatorは、2進数の2ビット値である。Data unitの先頭であるMMTパケット#1のFragment indicator、最終であるMMTパケット#5のFragment indicator、及び、その間のパケットであるMMTパケット#2からMMTパケット#4までのFragment indicatorは、それぞれ別の値に設定される。具体的には、Data unitの先頭であるMMTパケット#1のFragment indicatorは01に設定され、最終であるMMTパケット#5のFragment indicatorは11に設定され、その間のパケットであるMMTパケット#2からMMTパケット#4までのFragment indicatorは10に設定される。なお、Data unitに一つのMMTパケットのみが含まれる場合には、Fragment indicatorは00に設定される。
For example, the Fragment indicator is a 2-bit binary value. The Fragment indicator of
また、Fragment counterは、MMTパケット#1においてはフラグメントの総数である5から1を減算した値である4であり、後続パケットにおいては順に1ずつ減少し、最後のMMTパケット#5においては0である。
Fragment counter is 4 in
従って、受信装置200は、スライスセグメント前データを格納するMMTパケットを、Fragment indicator、及び、Fragment counterのいずれかを用いて識別できる。また、受信装置200は、N番目のスライスセグメントを格納するMMTパケットを、Fragment counterを参照することにより識別できる。
Therefore, the receiving
MMTパケットのヘッダは、別途、Data unitが属するMovie FragmentのMPU内でのシーケンス番号と、MPU自体のシーケンス番号と、Data unitが属するサンプルのMovie Fragment内におけるシーケンス番号とを含む。逆多重化部203は、これらを参照することで、Data unitが属するサンプルを一意に決定できる。
The header of the MMT packet also includes a sequence number within the MPU of the Movie Fragment to which the Data unit belongs, a sequence number for the MPU itself, and a sequence number within the Movie Fragment of the sample to which the Data unit belongs. By referring to these, the
更に、逆多重化部203は、Data unit内におけるフラグメントのインデックス番号をFragment counterなどから決定できるため、パケットロスが発生した場合にも、フラグメントに格納されるスライスセグメントを一意に特定できる。例えば、逆多重化部203は、図11に示すフラグメント#4がパケットロスにより取得できなかった場合でも、フラグメント#3の次に受信したフラグメントがフラグメント#5であることが分かるため、フラグメント#5に格納されるスライスセグメント4を、復号部204Cではなく復号部204Dに正しく出力することができる。
Furthermore, since the
なお、パケットロスが発生しないことが保証される伝送路が使用される場合には、逆多重化部203は、MMTパケットのヘッダを参照してMMTパケットに格納されるデータのタイプ、又はスライスセグメントのインデックス番号を決定せずに、到着したパケットを周期的に処理すればよい。例えば、アクセスユニットが、スライス前データ、及び、4つのスライスセグメントの計5つのMMTパケットにより送信される場合には、受信装置200は、復号を開始するアクセスユニットのスライス前データを決定した後は、受信したMMTパケットを順に処理することで、スライス前データ、及び、4つのスライスセグメントのデータを順に取得できる。
When a transmission path that guarantees no packet loss is used, the
以下、パケット化の変形例について説明する。 Below, we explain some variations on packetization.
スライスセグメントは、必ずしもアクセスユニットの面内を水平方向と垂直方向との両方に分割されたものである必要はなく、図1に示すように、アクセスユニットを水平方向のみに分割されたものでもよいし、垂直方向のみに分割されたものでもよい。 Slice segments do not necessarily have to be divided both horizontally and vertically within the plane of an access unit; as shown in FIG. 1, they may be divided only horizontally or only vertically.
また、水平方向のみにアクセスユニットが分割される場合には、タイルが用いられる必要はない。 Also, if the access unit is divided only horizontally, tiles do not need to be used.
また、アクセスユニットにおける面内の分割数は任意であり、4つに限定されるものではない。但し、スライスセグメント及びタイルの領域サイズはH.265などの符号化規格の下限以上である必要がある。 The number of divisions within an access unit is arbitrary and is not limited to four. However, the area size of slice segments and tiles must be equal to or larger than the lower limit of coding standards such as H.265.
送信装置100は、アクセスユニットにおける面内の分割方法を示す識別情報を、MMTメッセージ、又はTSのデスクリプタなどに格納してもよい。例えば、面内における水平方向と垂直方向との分割数とをそれぞれ示す情報が格納されてもよい。または、図3に示すように水平方向及び垂直方向にそれぞれ2等分されている、又は、図1に示すように水平方向に4等分されているなど、分割方法に対して固有の識別情報が割り当てられてもよい。例えば、図3に示すようにアクセスユニットが分割されている場合は、識別情報はモード1を示し、図1に示すようにアクセスユニットが分割されている場合には、識別情報はモード1を示す。
The transmitting
また、面内の分割方法に関連する符号化条件の制約を示す情報が、多重化レイヤに含まれてもよい。例えば、1つのスライスセグメントが1つのタイルから構成されること示す情報が用いられてもよい。または、スライスセグメント或いはタイルの復号時に動き補償を行う場合の参照ブロックが、画面内の同一位置のスライスセグメント或いはタイルに制限される、又は、隣接スライスセグメントにおける所定の範囲内のブロックに限定されることなどを示す情報が用いられてもよい。 In addition, information indicating constraints on coding conditions related to the intra-plane division method may be included in the multiplexing layer. For example, information indicating that one slice segment is composed of one tile may be used. Alternatively, information indicating that the reference block when performing motion compensation during decoding of a slice segment or tile is limited to a slice segment or tile at the same position in the screen, or limited to blocks within a predetermined range in an adjacent slice segment may be used.
また、送信装置100は、動画像の解像度に応じて、アクセスユニットを複数のスライスセグメントに分割するかどうかを切替えてもよい。例えば、送信装置100は、処理対象の動画像が4K2Kの解像度の場合には面内の分割を行わずに、処理対象の動画像が8K4Kの場合にはアクセスユニットを4つに分割してもよい。8K4Kの動画像の場合の分割方法を予め規定しておくことにより、受信装置200は、受信する動画像の解像度を取得することで、面内の分割の有無、及び分割方法を決定し、復号動作を切替えることができる。
The transmitting
また、受信装置200は、面内の分割の有無を、MMTパケットのヘッダを参照することにより検出できる。例えば、アクセスユニットが分割されない場合には、MMTのData unitがサンプルに設定されていれば、Data unitのフラグメントは行われない。従って、受信装置200は、MMTパケットのヘッダに含まれるFragment counterの値が常にゼロの場合には、アクセスユニットは分割されないと判定できる。または、受信装置200は、Fragmentation indicatorの値が常に01であるかどうかを検出してもよい。受信装置200は、Fragmentation indicatorの値が常に01の場合もアクセスユニットは分割されないと判定できる。
Furthermore, the receiving
また、受信装置200は、アクセスユニットにおける面内の分割数と復号部の数とが一致しない場合にも対応できる。例えば、受信装置200が、8K2Kの符号化データを実時間で復号できる2つの復号部204A及び204Bを備える場合には、逆多重化部203は、復号部204Aに対して、8K4Kの符号化データを構成する4つのスライスセグメントのうちの2つを出力する。
The receiving
図12は、図8に示すようにMMTパケット化されたデータが、2つの復号部204A及び204Bに入力される場合の動作例を示す図である。ここで、受信装置200は、復号部204A及び204Bにおける復号結果を、そのまま統合して出力できることが望ましい。よって、逆多重化部203は、復号部204A及び204Bの各々の復号結果が空間的に連続するように、復号部204A及び204Bの各々に出力するスライスセグメントを選択する。
Figure 12 is a diagram showing an example of operation when MMT packetized data as shown in Figure 8 is input to two
また、逆多重化部203は、動画像の符号化データの解像度又はフレームレートなどに応じて、使用する復号部を選択してもよい。例えば、受信装置200が4K2Kの復号部を4つ備える場合には、入力画像の解像度が8K4Kであれば、受信装置200は、4つ全ての復号部を用いて復号処理を行う。また、受信装置200は、入力画像の解像度が4K2Kであれば1つの復号部のみを用いて復号処理を行う。または、逆多重化部203は、面内が4つに分割されていても、8K4Kを単一の復号部により実時間で復号できる場合には、全ての分割単位を統合して一つの復号部に出力する。
The
さらに、受信装置200は、フレームレートを考慮して使用する復号部を決定してもよい。例えば、受信装置200が、解像度が8K4Kである場合に実時間で復号可能なフレームレートの上限が60fpsである復号部を2台備える場合に、8K4Kで120fpsの符号化データが入力されるケースがある。このとき、面内が4つの分割単位から構成されるとすると、図12の例と同様に、スライスセグメント1とスライスセグメント2とが復号部204Aに入力され、スライスセグメント3とスライスセグメント4とが復号部204Bに入力される。各々の復号部204A及び204Bは、8K2K(解像度が8K4Kの半分)であれば120fpsまで実時間で復号できるため、これら2台の復号部204A及び204Bにより復号処理が行われる。
Furthermore, the receiving
また、解像度及びフレームレートが同一であっても、符号化方式におけるプロファイル、或いはレベル、又は、H.264或いはH.265など符号化方式自体が異なると処理量が異なる。よって、受信装置200は、これらの情報に基づいて使用する復号部を選択してもよい。なお、受信装置200は、放送又は通信により受信した符号化データを全て復号することができない場合、又は、ユーザーが選択した領域を構成する全てのスライスセグメント又はタイルが復号できない場合には、復号部の処理範囲内で復号可能なスライスセグメント又はタイルを自動的に決定してもよい。または、受信装置200は、ユーザーが復号する領域を選択するためのユーザインタフェースを提供してもよい。このとき、受信装置200は、全て領域を復号できないことを示す警告メッセージを表示してもよいし、復号可能な領域、スライスセグメント又はタイルの個数を示す情報を表示してもよい。
Even if the resolution and frame rate are the same, the processing amount differs if the profile or level in the encoding method, or the encoding method itself, such as H.264 or H.265, is different. Therefore, the receiving
また、上記方法は、同一符号化データのスライスセグメントを格納するMMTパケットが、放送及び通信など複数の伝送路を用いて送信及び受信される場合にも適用できる。 The above method can also be applied when MMT packets storing slice segments of the same encoded data are transmitted and received using multiple transmission paths, such as broadcasting and communication.
また、送信装置100は、分割単位の境界を目立たなくするために、各スライスセグメントの領域がオーバーラップするように符号化を行ってもよい。図13に示す例では、8K4Kのピクチャが4つのスライスセグメント1~4に分割される。スライスセグメント1~3の各々は、例えば、8K×1.1Kであり、スライスセグメント4は8K×1Kである。また、隣接するスライスセグメントは互いにオーバーラップする。こうすることで、点線で示す4分割した場合の境界においては、符号化時の動き補償が効率的に実行できるため、境界部分の画質が向上する。このように、境界部分の画質劣化が低減される。
In addition, the transmitting
この場合、表示部205は、8K×1.1Kの領域から、8K×1Kの領域を切り出し、得られた領域を統合する。なお、送信装置100は、スライスセグメントがオーバーラップして符号化されているかどうか、及び、オーバーラップの範囲を示す情報を、多重化レイヤ、又は、符号化データ内に含めて、別途送信してもよい。
In this case, the
なお、タイルが使用される場合にも、同様の手法を適用可能である。 Note that a similar technique can be applied when tiles are used.
以下、送信装置100の動作の流れを説明する。図14は、送信装置100の動作例を示すフローチャートである。
The flow of operation of the transmitting
まず、符号化部101は、ピクチャ(アクセスユニット)を複数の領域である複数のスライスセグメント(タイル)に分割する(S101)。次に、符号化部101は、複数のスライスセグメントの各々を独立して復号が可能なように符号化することで、複数のスライスセグメントの各々に対応する符号化データを生成する(S102)。なお、符号化部101は、複数のスライスセグメントを単一の符号化部で符号化してもよし、複数の符号化部で並列処理してもよい。
First, the
次に、多重化部102は、符号化部101で生成された複数の符号化データを、複数のMMTパケットに格納することで、複数の符号化データを多重化する(S103)。具体的には、図8及び図9に示すように、多重化部102は、一つのMMTパケットに、異なるスライスセグメントに対応する符号化データが格納されないように、複数の符号化データを複数のMMTパケットに格納する。また、多重化部102は、図8に示すように、ピクチャ内の全ての復号単位に対して共通に用いられる制御情報を、複数の符号化データが格納される複数のMMTパケット#2~#5とは異なるMMTパケット#1に格納する。ここで制御情報は、アクセスユニットデリミタ、SPS,PPS及びSEIのうち少なくとも一つを含む。
Next, the
なお、多重化部102は、制御情報を、複数の符号化データが格納される複数のMMTパケットのいずれかと同じMMTパケットに格納してもよい。例えば、図9に示すように、多重化部102は、制御情報を、複数の符号化データが格納される複数のMMTパケットのうちの先頭のMMTパケット(図9のMMTパケット#1)に格納してもよい。
In addition, the
最後に、送信装置100は、複数のMMTパケットを送信する。具体的には、変調部103は、多重化により得られたデータを変調し、送信部104は、変調後のデータを送信する(S104)。
Finally, the transmitting
図15は、受信装置200の構成例を示すブロック図であり、図7に示す逆多重化部203及びその後段の構成を詳細に示す図である。図15に示すように、受信装置200は、さらに、復号命令部206を備える。また、逆多重化部203は、タイプ判別部211と、制御情報取得部212と、スライス情報取得部213と、復号データ生成部214とを備える。
Fig. 15 is a block diagram showing an example of the configuration of the receiving
以下、受信装置200の動作の流れを説明する。図16は、受信装置200の動作例を示すフローチャートである。ここでは、1つのアクセスユニットに対する動作を示す。複数のアクセスユニットの復号処理が実行される場合には、本フローチャートの処理が繰り返される。
The flow of operation of the receiving
まず、受信装置200は、は、例えば、送信装置100により生成された複数のパケット(MMTパケット)を受信する(S201)。
First, the receiving
次に、タイプ判別部211は、受信パケットのヘッダを解析することで、受信パケットに格納されている符号化データのタイプを取得する(S202)。
Next, the
次に、タイプ判別部211は、取得された符号化データのタイプに基づき、受信パケットに格納されているデータがスライスセグメント前データであるか、スライスセグメントのデータであるかを判定する(S203)。
Next, the
受信パケットに格納されているデータがスライスセグメント前データである場合(S203でYes)、制御情報取得部212は、受信パケットのペイロードから処理対象のアクセスユニットのスライスセグメント前データを取得し、当該スライスセグメント前データをメモリに格納する(S204)。
If the data stored in the received packet is pre-slice segment data (Yes in S203), the control
一方、受信パケットに格納されているデータがスライスセグメントのデータである場合(S203でNo)、受信装置200は、受信パケットのヘッダ情報を用いて、当該受信パケットに格納されているデータが、複数の領域のうちいずれの領域の符号化データであるかを判定する。具体的には、スライス情報取得部213は、受信パケットのヘッダを解析することで、受信パケットに格納されているスライスセグメントのインデックス番号Idxを取得する(S205)。具体的には、インデックス番号Idxは、アクセスユニット(MMTにおけるサンプル)のMovie Fragment内におけるインデックス番号である。
On the other hand, if the data stored in the received packet is data of a slice segment (No in S203), the receiving
なお、このステップS205の処理は、ステップS202においてまとめて行われてもよい。 Note that the processing of step S205 may be performed together with step S202.
次に、復号データ生成部214は、当該スライスセグメントを復号する復号部を決定する(S206)。具体的には、インデックス番号Idxと複数の復号部とは予め対応付けられており、復号データ生成部214は、ステップS205で取得されたインデックス番号Idxに対応する復号部を、当該スライスセグメントを復号する復号部を決定する。
Next, the decoding
なお、復号データ生成部214は、図12の例において説明したように、アクセスユニット(ピクチャ)の解像度、アクセスユニットの複数のスライスセグメント(タイル)への分割方法、及び受信装置200が備える複数の復号部の処理能力の少なくとも一つに基づき、当該スライスセグメントを復号する復号部を決定してもよい。例えば、復号データ生成部214は、アクセスユニットの分割方法を、MMTのメッセージ、又はTSのセクションなどのデスクリプタにおける識別情報に基づいて判別する。
As described in the example of FIG. 12, the decoded
次に、復号データ生成部214は、複数のパケットのいずれかに含まれる、ピクチャ内の全ての復号単位に対して共通に用いられる制御情報と、複数のスライスセグメントの複数の符号化データの各々とを結合することで、複数の復号部へ入力される複数の入力データ(結合データ)を生成する。具体的には、復号データ生成部214は、受信パケットのペイロードからスライスセグメントのデータを取得する。復号データ生成部214は、ステップS204でメモリに格納されたスライスセグメント前データと、取得されたスライスセグメントのデータとを結合することで、ステップS206で決定された復号部への入力データを生成する(S207)。
Next, the decoded
ステップS204又はS207の後、受信パケットのデータがアクセスユニットの最終データでない場合(S208でNo)、ステップS201以降の処理が再度行われる。つまり、アクセスユニットに含まれる全てのスライスセグメントに対応する、複数の復号部204A~204Dへの入力データが生成されるまで、上記処理が繰り返される。
After step S204 or S207, if the data of the received packet is not the final data of the access unit (No in S208), the processing from step S201 onwards is performed again. In other words, the above processing is repeated until input data for the
なお、パケットが受信されるタイミングは、図16に示すタイミングに限らず、予め又は順次複数のパケットが受信され、メモリ等に格納されてもよい。 Note that the timing at which a packet is received is not limited to the timing shown in FIG. 16, and multiple packets may be received in advance or sequentially and stored in a memory, etc.
一方、受信パケットのデータがアクセスユニットの最終データである場合(S208でYes)、復号命令部206は、ステップS207で生成された、複数の入力データを、対応する復号部204A~204Dへ出力する(S209)。
On the other hand, if the data of the received packet is the final data of the access unit (Yes in S208), the
次に、複数の復号部204A~204Dは、アクセスユニットのDTSに従い、複数の入力データを並列に復号することで、複数の復号画像を生成する(S210)。
Next, the
最後に、表示部205は、複数の復号部204A~204Dで生成された複数の復号画像を結合することで表示画像を生成し、アクセスユニットのPTSに従い当該表示画像を表示する(S211)。
Finally, the
なお、受信装置200は、アクセスユニットのDTS及びPTSを、MPUのヘッダ情報、又は、Movie Fragmentのヘッダ情報を格納するMMTパケットのペイロードデータを解析することにより取得する。また、受信装置200は、多重化方式としてTSが使用されている場合にはPESパケットのヘッダからアクセスユニットのDTS及びPTSを取得する。受信装置200は、多重化方式としてRTPが使用されている場合にはRTPパケットのヘッダからアクセスユニットのDTS及びPTSを取得する。
The receiving
また、表示部205は、複数の復号部の復号結果を統合する際に、隣接する分割単位の境界においてデブロックフィルタなどのフィルタ処理を行ってもよい。なお、単一の復号部の復号結果を表示する場合にはフィルタ処理は不要であるため、表示部205は、複数の復号部の復号結果の境界にフィルタ処理を行うかどうかに応じて処理を切替えてもよい。フィルタ処理が必要かどうかは、分割の有無などに応じて予め規定されていてもよい。または、フィルタ処理が必要かどうかを示す情報が、多重化レイヤに別途格納されてもよい。また、フィルタ係数などフィルタ処理に必要な情報は、SPS、PPS、SEI、又はスライスセグメント内に格納される場合がある。復号部204A~204D、又は逆多重化部203がSEIを解析することによりこれらの情報を取得し、取得された情報を表示部205に出力する。表示部205は、これらの情報を用いてフィルタ処理を行う。なお、これらの情報がスライスセグメント内に格納される場合には、復号部204A~204Dがこれらの情報を取得することが望ましい。
When integrating the decoding results of the multiple decoding units, the
なお、上記説明では、フラグメントに格納されるデータの種類がスライスセグメント前データとスライスセグメントとの2種類である場合の例を示したが、データの種類は3種類以上であってもよい。この場合には、ステップS203においてタイプに応じた場合分けが行われる。 In the above explanation, an example was given in which the types of data stored in a fragment are two types: pre-slice segment data and slice segments. However, the types of data may be three or more. In this case, a case distinction is made in step S203 according to the type.
また、送信装置100は、スライスセグメントのデータサイズが大きい場合にスライスセグメントをフラグメント化してMMTパケットに格納してもよい。つまり、送信装置100は、スライスセグメント前データ及びスライスセグメントをフラグメント化してもよい。この場合に、図11に示したパケット化の例のようにアクセスユニットとData unitとを等しく設定すると以下の問題が生じる。
In addition, when the data size of a slice segment is large, the transmitting
例えばスライスセグメント1が3つのフラグメントに分割される場合、スライスセグメント1がFragment counter値が1から3の3つのパケットに分割して送信される。また、スライスセグメント2以降では、Fragment counter値が4以上となり、Fragment counterの値とペイロードに格納されるデータとの対応付けが取れなくなる。従って、受信装置200は、MMTパケットのヘッダの情報から、スライスセグメントの先頭データを格納するパケットを特定できない。
For example, if
このような場合には、受信装置200は、MMTパケットのペイロードのデータを解析して、スライスセグメントの開始位置を特定してもよい。ここで、H.264又はH.265においてNALユニットを多重化レイヤに格納する形式として、NALユニットヘッダの直前に特定のビット列からなるスタートコードが付加されるバイトストリームフォーマットと呼ばれる形式と、NALユニットのサイズを示すフィールドが付加されるNALサイズフォーマットと呼ばれる形式との2種類がある。
In such a case, the receiving
バイトストリームフォーマットは、MPEG-2システム及びRTPなどにおいて用いられる。NALサイズフォーマットは、MP4、並びにMP4を使用するDASH及びMMTなどにおいて用いられる。 The byte stream format is used in MPEG-2 systems and RTP, etc. The NAL size format is used in MP4, as well as DASH and MMT, which use MP4, etc.
バイトストリームフォーマットが用いられる場合、受信装置200は、パケットの先頭データがスタートコードと一致するかどうかを解析する。受信装置200は、パケットの先頭データがスタートコードと一致していれば、その後に続くNALユニットヘッダからNALユニットのタイプを取得することで、当該パケットに含まれるデータがスライスセグメントのデータであるかどうかを検出できる。
When a byte stream format is used, the receiving
一方、NALサイズフォーマットの場合には、受信装置200は、ビット列に基づいてNALユニットの開始位置を検出できない。従って、受信装置200は、NALユニットの開始位置を取得するために、アクセスユニットの先頭NALユニットから順に、NALユニットのサイズ分だけデータの読出すことでポインタをシフトさせていく必要がある。
On the other hand, in the case of the NAL size format, the receiving
但し、MMTにおけるMPU又はMovie Fragmentのヘッダにおいて、サブサンプル単位のサイズが示され、サブサンプルがスライス前データ又はスライスセグメントに対応する場合には、受信装置200は、サブサンプルのサイズ情報に基づいて各NALユニットの開始位置を特定できる。そのため、送信装置100は、サブサンプル単位の情報がMPU又はMovie Fragmentに存在するかどうかを示す情報を、MMTにおけるMPTなどの、受信装置200がデータの受信開始時に取得する情報に含めてもよい。
However, if the size of the subsample unit is indicated in the header of an MPU or Movie Fragment in MMT, and the subsample corresponds to pre-slice data or a slice segment, the receiving
なお、MPUのデータはMP4フォーマットをベースに拡張したものである。MP4においては、H.264又はH.265のSPS及びPPSなどのパラメータセットをサンプルデータとして格納可能なモードと、格納できないモードとがある。また、このモードを特定するための情報がSampleEntryのエントリ名として示される。格納可能なモードが用いられており、パラメータセットがサンプルに含まれる場合には、受信装置200は、上述した方法によりパラメータセットを取得する。
The MPU data is an extension of the MP4 format. In MP4, there are modes in which parameter sets such as SPS and PPS of H.264 or H.265 can be stored as sample data, and modes in which they cannot be stored. Information for identifying this mode is indicated as the entry name of SampleEntry. When a mode in which it can be stored is used and the parameter set is included in the sample, the receiving
一方、格納できないモードが用いられている場合には、パラメータセットは、SampleEntry内のDecoder Specific Informationとして格納される、又は、パラメータセット用のストリームを用いて格納される。ここで、パラメータセット用のストリームは一般的には使用されていないので、送信装置100は、Decoder Specific Informationにパラメータセットを格納することが望ましい。この場合には、受信装置200は、MMTパケットにおいてMPUのメタデータ、又は、Movie Fragmentのメタデータとしてとして送信されるSampleEntryを解析して、アクセスユニットが参照するパラメータセットを取得する。
On the other hand, when a mode that cannot store the parameter set is used, the parameter set is stored as Decoder Specific Information in the SampleEntry, or is stored using a stream for the parameter set. Here, since the stream for the parameter set is not generally used, it is preferable that the transmitting
パラメータセットがサンプルデータとして格納される場合には、受信装置200は、SampleEntryを参照せずにサンプルデータのみを参照すれば復号に必要なパラメータセットが取得できる。このとき、送信装置100は、SampleEntryにパラメータセットを格納しなくてもよい。こうすることで、送信装置100は、異なるMPUにおいて同一のSampleEntryを用いることができるので、MPU生成時の送信装置100の処理負荷を低減できる。さらに、受信装置200がSampleEntry内のパラメータセットを参照する必要がなくなるというメリットがある。
When the parameter set is stored as sample data, the receiving
または、送信装置100は、SampleEntryにデフォルトのパラメータセットを1つ格納し、アクセスユニットが参照するパラメータセットをサンプルデータに格納してもよい。従来のMP4においては、SampleEntryにパラメータセットを格納するのが一般的であったため、SampleEntryにパラメータセットが存在しない場合、再生を停止する受信装置が存在する可能性がある。上記の方法を用いることで、この問題を解決できる。
Alternatively, the transmitting
または、送信装置100は、デフォルトのパラメータセットとは異なるパラメータセットが使用される場合にのみ、サンプルデータにパラメータセットを格納してもよい。
Alternatively, the transmitting
なお、両モード共に、パラメータセットをSampleEntryに格納することは可能であるため、送信装置100は、パラメータセットを常にVisualSampleEntryに格納し、受信装置200は常にVisualSampleEntryからパラメータセットを取得してもよい。
In addition, since it is possible to store parameter sets in SampleEntry in both modes, the transmitting
なお、MMT規格においては、Moov及びMoofなどMP4のヘッダ情報は、MPUメタデータ、或いはムービーフラグメントメタデータとして伝送されるが、送信装置100は、MPUメタデータ、および、ムービーフラグメントメタデータを必ずしも送信しなくてもよい。さらに、受信装置200は、ARIB(Association of Radio Industries and Businesses)規格のサービス、アセットのタイプ、又は、MPUメタの伝送有無などに基づいて、サンプルデータ内にSPS及びPPSが格納されるかどうかを判定することも可能である。
In the MMT standard, MP4 header information such as Moov and Moof is transmitted as MPU metadata or movie fragment metadata, but the transmitting
図17は、スライスセグメント前データ及び各スライスセグメントが、それぞれ異なるData unitに設定される場合の例を示す図である。 Figure 17 shows an example in which pre-slice segment data and each slice segment are set to different Data units.
図17に示す例では、スライスセグメント前データ、及びスライスセグメント1からスライスセグメント4までのデータサイズは、それぞれLength#1からLength#5である。MMTパケットのヘッダに含まれるFragmentation indicator、Fragment counter、及び、Offsetの各フィールド値は図中に示す通りである。
In the example shown in FIG. 17, the data sizes of the data before the slice segment and
ここで、Offsetは、ペイロードデータが属するサンプル(アクセスユニット又はピクチャ)の符号化データの先頭から、当該MMTパケットに含まれるペイロードデータ(符号化データ)の先頭バイトまでのビット長(オフセット)を示すオフセット情報である。なお、Fragment counterの値はフラグメントの総数から1を減算した値から開始するとして説明するが、他の値から開始してもよい。 Here, Offset is offset information indicating the bit length (offset) from the beginning of the encoded data of the sample (access unit or picture) to which the payload data belongs to to the first byte of the payload data (encoded data) included in the MMT packet. Note that the value of the Fragment counter is described as starting from a value obtained by subtracting 1 from the total number of fragments, but it may start from another value.
図18は、Data unitがフラグメント化される場合の例を示す図である。図18に示す例では、スライスセグメント1が3つのフラグメントに分割され、それぞれMMTパケット#2からMMTパケット#4に格納される。このときも、各フラグメントのデータサイズを、それぞれLength#2_1からLength#2_3とすると、各フィールドの値は図中に示す通りである。
Figure 18 is a diagram showing an example of when a Data unit is fragmented. In the example shown in Figure 18,
このように、スライスセグメントなどのデータ単位がData unitに設定される場合、アクセスユニットの先頭、及びスライスセグメントの先頭は、MMTパケットヘッダのフィールド値に基づいて以下のように決定できる。 In this way, when a data unit such as a slice segment is set to Data unit, the start of the access unit and the start of the slice segment can be determined based on the field values of the MMT packet header as follows:
Offsetの値が0であるパケットにおけるペイロードの先頭は、アクセスユニットの先頭である。 The start of the payload in a packet with an Offset value of 0 is the start of the access unit.
Offsetの値が0とは異なる値であり、かつ、Fragmentation indcatorno値が00又は01であるパケットのペイロードの先頭が、スライスセグメントの先頭である。 The start of the payload of a packet whose Offset value is different from 0 and whose Fragmentation indicator value is 00 or 01 is the start of a slice segment.
また、Data unitのフラグメント化が発生せず、パケットロスも発生しない場合には、受信装置200は、アクセスユニットの先頭を検出した後に取得したスライスセグメントの数に基づいて、MMTパケットに格納されるスライスセグメントのインデックス番号を特定できる。
In addition, if fragmentation of the data unit does not occur and no packet loss occurs, the receiving
また、スライスセグメント前データのData unitがフラグメント化される場合においても、同様に、受信装置200は、アクセスユニット、及びスライスセグメントの先頭を検出できる。
Furthermore, even if the data unit of the data before the slice segment is fragmented, the receiving
また、パケットロスが発生した場合、又は、スライスセグメント前データに含まれるSPS、PPS及びSEIが別々のData unitに設定された場合においても、受信装置200は、MMTヘッダの解析結果に基づいてスライスセグメントの先頭データを格納したMMTパケットを特定し、その後、スライスセグメントのヘッダを解析することで、ピクチャ(アクセスユニット)内におけるスライスセグメント又はタイルの開始位置を特定できる。スライスヘッダの解析に係る処理量は小さく、処理負荷は問題とならない。
In addition, even if packet loss occurs or the SPS, PPS, and SEI included in the slice segment pre-data are set to different data units, the receiving
このように、複数のスライスセグメントの複数の符号化データの各々は、1以上のパケットに格納されるデータの単位である基本データ単位(Data unit)と一対一で対応付けられている。また、複数の符号化データの各々は、1以上のMMTパケットに格納される。 In this way, each of the multiple coded data of the multiple slice segments is in one-to-one correspondence with a basic data unit (Data unit), which is a unit of data stored in one or more packets. In addition, each of the multiple coded data is stored in one or more MMT packets.
各MMTパケットのヘッダ情報は、Fragmentation indicator(識別情報)及びOffset(オフセット情報)を含む。 The header information of each MMT packet includes a Fragmentation indicator (identification information) and an Offset (offset information).
受信装置200は、受信装置200は、値が00又は01であるFragmentation indicatorが含まれるヘッダ情報を有するパケットに含まれるペイロードデータの先頭を、各スライスセグメントの符号化データの先頭であると判定する。具体的には、値が0でないOffsetと、値が00又は01であるFragmentation indicatorとが含まれるヘッダ情報を有するパケットに含まれるペイロードデータの先頭を、各スライスセグメントの符号化データの先頭であると判定する。
The receiving
また、図17の例では、Data unitの先頭は、アクセスユニットの先頭、又は、スライスセグメントの先頭のいずれかであり、Fragmentation indicatorの値は00又は01である。さらに、受信装置200は、NALユニットのタイプを参照して、Data Unitの先頭がアクセスユニットデリミタ、又は、スライスセグメントのどちらであるかを判定することで、Offsetを参照せずに、アクセスユニットの先頭、又は、スライスセグメントの先頭を検出することも可能である。
In the example of FIG. 17, the beginning of a Data unit is either the beginning of an access unit or the beginning of a slice segment, and the value of the Fragmentation indicator is 00 or 01. Furthermore, the receiving
このように、送信装置100が、NALユニットの先頭が必ずMMTパケットのペイロードの先頭から開始されるようにパケット化を行うことで、スライスセグメント前データが複数のData unitに分割される場合も含めて、受信装置200は、Fragmentation indicator及びNALユニットヘッダを解析することにより、アクセスユニット、又は、スライスセグメントの先頭を検出できる。NALユニットのタイプは、NALユニットヘッダの先頭バイトに存在する。従って、受信装置200は、MMTパケットのヘッダ部を解析する際に、追加で1バイト分のデータを解析することによりNALユニットのタイプが取得できる。
In this way, by transmitting
オーディオの場合には、受信装置200は、アクセスユニットの先頭が検出できればよく、Fragmentation indicatorの値が00又は01であるかどうかに基づいて判定すればよい。
In the case of audio, the receiving
また、上述したように、分割復号ができるように符号化された符号化データをMPEG-2 TSのPESパケットに格納する場合には、送信装置100は、data alignment記述子を用いることが可能である。以下、符号化データのPESパケットへの格納方法の例について詳細に説明する。
As described above, when storing encoded data that has been encoded so that it can be divided and decoded in a PES packet of MPEG-2 TS, the transmitting
例えば、HEVCにおいては、送信装置100は、data alignment記述子を用いることにより、PESパケットに格納されるデータがアクセスユニット、スライスセグメント、及び、タイルのいずれであるかを示すことができる。HEVCにおけるアラインメントのタイプは、次のように規定されている。
For example, in HEVC, the transmitting
アラインメントのタイプ=8は、HEVCのスライスセグメントを示す。アラインメントのタイプ=9は、HEVCのスライスセグメント又はアクセスユニットを示す。アラインメントのタイプ=12は、HEVCのスライスセグメント又はタイルを示す。 Alignment type=8 indicates a HEVC slice segment. Alignment type=9 indicates a HEVC slice segment or access unit. Alignment type=12 indicates a HEVC slice segment or tile.
よって、送信装置100は、例えば、タイプ9を用いることで、PESパケットのデータがスライスセグメント又はスライスセグメント前データのいずれかであることを示すことができる。スライスセグメントではなく、スライスを示すタイプも別途規定されているため、送信装置100は、スライスセグメントではなくスライスを示すタイプを使用してもよい。
Therefore, by using
また、PESパケットのヘッダに含まれるDTS及びPTSは、アクセスユニットの先頭データを含むPESパケットにおいてのみ設定される。従って、受信装置200は、タイプが9であり、かつ、PESパケットにDTS又はPTSのフィールドが存在すれば、PESパケットにはアクセスユニット全体、又は、アクセスユニットにおける先頭の分割単位が格納されると判定できる。
The DTS and PTS included in the header of a PES packet are set only in the PES packet that contains the first data of an access unit. Therefore, if the type is 9 and the PES packet contains a DTS or PTS field, the receiving
また、送信装置100は、アクセスユニットの先頭データを含むPESパケットを格納するTSパケットの優先度を示すtransport_priorityなどのフィールドを用いて、受信装置200がパケットに含まれるデータを区別できるようにしてもよい。また、受信装置200は、PESパケットのペイロードがアクセスユニットデリミタであるかどうかを解析することでパケットに含まれるデータを判定してもよい。また、PESパケットヘッダのdata_alignment_indicatorは、これらのタイプに従ってPESパケットにデータが格納されているかどうかを示す。このフラグ(data_alignment_indicator)が1にセットされていれば、PESパケットに格納されているデータはdata alignment記述子に示されるタイプに従うことが保証される。
The transmitting
また、送信装置100は、スライスセグメントなどの分割復号可能な単位でPESパケット化する場合にのみdata alignment記述子を使用してもよい。これにより、受信装置200は、data alignment記述子が存在する場合には、符号化データが分割復号可能な単位でPESパケット化されていると判断でき、data alignment記述子が存在しなければ、符号化データがアクセスユニット単位でPESパケット化されていると判断できる。なお、data_alignment_indicatorが1にセットされており、data alignment記述子が存在しない場合には、PESパケット化の単位がアクセスユニットであることはMPEG-2 TS規格において規定されている。
In addition, the transmitting
受信装置200は、PMT内にdata alignment記述子が含まれていれば、分割復号可能な単位でPESパケット化されていると判定し、パケット化された単位に基づいて、各復号部への入力データを生成することができる。また、受信装置200は、PMT内にdata alignment記述子が含まれておらず、番組情報、又はその他の記述子の情報に基づいて、符号化データの並列復号が必要と判定される場合には、スライスセグメントのスライスヘッダなどを解析することにより、各復号部への入力データを生成する。また、符号化データを単一の復号部により復号可能である場合には、受信装置200は、アクセスユニット全体のデータを当該の復号部で復号する。なお、符号化データがスライスセグメント又はタイルなどの分割復号可能な単位から構成されるかどうかを示す情報が、PMTの記述子などにより別途示されている場合、受信装置200は、当該記述子の解析結果に基づいて符号化データを並列復号できるかどうかを判定してもよい。
If the PMT contains a data alignment descriptor, the receiving
また、PESパケットのヘッダに含まれるDTS及びPTSは、アクセスユニットの先頭データを含むPESパケットにおいてのみ設定されるため、アクセスユニットが分割されてPESパケット化される場合には、2番目以降のPESパケットにはアクセスユニットのDTS及びPTSを示す情報は含まれない。従って、復号処理を並列に行う場合、各復号部204A~204D及び表示部205は、アクセスユニットの先頭データを含むPESパケットのヘッダに格納されるDTS及びPTSを使用する。
In addition, the DTS and PTS included in the header of a PES packet are set only in the PES packet that contains the first data of an access unit, so when an access unit is divided and packetized into PES packets, the second and subsequent PES packets do not contain information indicating the DTS and PTS of the access unit. Therefore, when performing decoding processes in parallel, each of the
(実施の形態2)
実施の形態2では、MMTにおいて、NALサイズフォーマットのデータをMP4フォーマットベースのMPUに格納する方法について説明する。なお、以下では、一例として、MMTに用いられるMPUへの格納方法について説明するが、このような格納方法は、同じMP4フォーマットベースであるDASHにも適用可能である。
(Embodiment 2)
In the second embodiment, a method for storing data of NAL size format in an MPU based on MP4 format in MMT will be described. Note that, as an example, a method for storing data in an MPU used in MMT will be described below, but such a method for storing data can also be applied to DASH, which is based on the same MP4 format.
[MPUへの格納方法]
MP4フォーマットでは、複数のアクセスユニットをまとめて、一つのMP4ファイルに格納する。MMTに用いられるMPUは、メディア毎のデータが一つのMP4ファイルに格納され、データには任意の数のアクセスユニットを含むことができる。MPUは、単体で復号可能な単位であるため、例えば、MPUにはGOP単位のアクセスユニットが格納される。
[Method of storing in MPU]
In the MP4 format, a plurality of access units are collected and stored in one MP4 file. In the MPU used in MMT, data for each media is stored in one MP4 file, and the data can include any number of access units. Since the MPU is a unit that can be decoded by itself, for example, the MPU stores access units in units of GOPs.
図19は、MPUの構成を示す図である。MPUの先頭は、ftyp、mmpu、及びmoovであり、これらは、まとめてMPUメタデータと定義される。moovには、ファイルに共通の初期化情報、及びMMTヒントトラックが格納される。 Figure 19 shows the structure of an MPU. At the beginning of an MPU are ftyp, mmpu, and moov, which are collectively defined as MPU metadata. In moov, initialization information common to the files and an MMT hint track are stored.
また、moofには、サンプルやサブサンプル毎の初期化情報及びサイズ、提示時刻(PTS)及び復号時刻(DTS)を特定できる情報(sample_duration、sample_size、sample_composition_time_offset)、並びにデータの位置を示すdata_offsetなどが格納される。 In addition, moof stores initialization information and size for each sample and subsample, information that can identify the presentation time (PTS) and decoding time (DTS) (sample_duration, sample_size, sample_composition_time_offset), as well as data_offset, which indicates the position of the data.
また、複数のアクセスユニットは、それぞれサンプルとしてmdat(mdat box)に格納される。moof及びmdatのうちサンプルを除くデータは、ムービーフラグメントメタデータ(以降では、MFメタデータと記載する。)と定義され、mdatのサンプルデータは、メディアデータと定義される。 In addition, each of the multiple access units is stored as a sample in mdat (mdat box). The data in moof and mdat excluding the samples is defined as movie fragment metadata (hereafter referred to as MF metadata), and the sample data in mdat is defined as media data.
図20は、MFメタデータの構成を示す図である。図20に示されるように、MFメタデータは、より詳細には、moof box(moof)の、type、length、及びdataと、mdat box(mdat)のtype及びlengthとからなる。 Figure 20 is a diagram showing the structure of MF metadata. As shown in Figure 20, in more detail, MF metadata consists of type, length, and data of moof box (moof), and type and length of mdat box (mdat).
アクセスユニットをMP4データに格納する際には、H.264やH.265のSPS、及び、PPSなどのパラメータセットをサンプルデータとして格納可能なモードと、格納できないモードがある。 When storing access units in MP4 data, there are modes in which parameter sets such as H.264 and H.265 SPS and PPS can be stored as sample data, and modes in which they cannot be stored.
ここで、上記格納できないモードにおいては、パラメータセットは、moovにおけるSampleEntryのDecoder Specific Informationに格納される。また、上記格納できるモードにおいては、パラメータセットは、サンプル内に含められる。 Here, in the above-mentioned non-storable mode, the parameter set is stored in the Decoder Specific Information of the SampleEntry in the moov. Also, in the above-mentioned storable mode, the parameter set is included in the sample.
MPUメタデータ、MFメタデータ、及びメディアデータは、それぞれMMTペイロードに格納され、これらのデータを識別可能な識別子として、MMTペイロードのヘッダには、フラグメントタイプ(FT)が格納される。FT=0は、MPUメタデータであることを示し、FT=1は、MFメタデータであることを示し、FT=2はメディアデータであることを示す。 The MPU metadata, MF metadata, and media data are each stored in the MMT payload, and the fragment type (FT) is stored in the header of the MMT payload as an identifier to identify these data. FT=0 indicates MPU metadata, FT=1 indicates MF metadata, and FT=2 indicates media data.
なお、図19では、MPUメタデータ単位及びMFメタデータ単位がデータユニットとしてMMTペイロードに格納される例が図示されているが、ftyp、mmpu、moov、及びmoofなどの単位がデータユニットとして、データユニット単位でMMTペイロードに格納されてもよい。同様に、図19では、サンプル単位がデータユニットとしてMMTペイロードに格納される例が図示されている。しかしながら、サンプル単位やNALユニット単位でデータユニットが構成され、このようなデータユニットがデータユニット単位でMMTペイロードに格納されてもよい。このようなデータユニットがさらにフラグメントされた単位でMMTペイロードに格納されてもよい。 Note that FIG. 19 illustrates an example in which MPU metadata units and MF metadata units are stored as data units in the MMT payload, but units such as ftyp, mmpu, moov, and moof may be stored as data units in the MMT payload in data unit units. Similarly, FIG. 19 illustrates an example in which sample units are stored as data units in the MMT payload. However, data units may be configured in sample units or NAL unit units, and such data units may be stored in the MMT payload in data unit units. Such data units may be further fragmented and stored in the MMT payload.
[従来の送信方法と課題]
従来、複数のアクセスユニットをMP4フォーマットにカプセル化する際、MP4に格納されるサンプルがすべて揃った時点でmoov及びmoofが作成されていた。
[Conventional transmission methods and issues]
Conventionally, when multiple access units are encapsulated in the MP4 format, moov and moof are created when all samples to be stored in the MP4 are available.
MP4フォーマットを放送などを用いてリアルタイムに伝送する場合、例えば1つのMP4ファイルに格納するサンプルがGOP単位であるとすると、GOP単位の時間サンプルが蓄積された後にmoov及びmoofが作成されるため、カプセル化に伴う遅延が発生する。このような送信側におけるカプセル化により、End-to-End遅延が常にGOP単位時間分長くなる。これにより、リアルタイムにサービスの提供を行うことが困難となり、特に、ライブコンテンツが伝送される場合には視聴者に対するサービスの劣化につながる。 When transmitting MP4 format in real time using broadcasting, for example, if the samples stored in one MP4 file are in GOP units, then moov and moof are created after the GOP unit time samples are accumulated, resulting in delays due to encapsulation. This type of encapsulation on the transmitting side always results in an end-to-end delay that is longer by the GOP unit time. This makes it difficult to provide services in real time, and leads to degradation of service for viewers, especially when live content is transmitted.
図21は、データの送信順序を説明するための図である。MMTを放送に適用する場合、図21の(a)に示されるように、MPUの構成順にMMTパケットに載せて送信(MMTパケット#1、#2、#3、#4、#5、#6の順に送信)すると、MMTパケットの送信にはカプセル化による遅延が生じる。
Figure 21 is a diagram for explaining the data transmission order. When MMT is applied to broadcasting, as shown in Figure 21 (a), if data is loaded onto MMT packets and transmitted in the order of the MPU configuration (
このカプセル化による遅延を防ぐために、図21の(b)に示されるように、MPUメタデータ及びMFメタデータなどのMPUヘッダ情報を送らない(パケット#1及び#2を送信せず、パケット#3-#6をこの順に送信する)方法が提案されている。また、図20の(c)に示されるように、MPUヘッダ情報の作成を待たずにメディアデータを先に送信し、メディアデータの送信後にMPUヘッダ情報を送信する(#3-#6、#1、#2の順で送信する)方法が考えられる。
To prevent this delay due to encapsulation, a method has been proposed in which MPU header information such as MPU metadata and MF metadata is not sent (
受信装置は、MPUヘッダ情報が送信されていない場合、MPUヘッダ情報を用いずに復号する、また、受信装置は、MPUヘッダ情報がメディアデータに対して後送りされている場合には、MPUヘッダ情報の取得を待ってから復号する。 If the MPU header information is not transmitted, the receiving device decodes without using the MPU header information. Also, if the MPU header information is sent after the media data, the receiving device waits until it obtains the MPU header information before decoding.
しかしながら、従来のMP4準拠の受信装置では、MPUヘッダ情報を用いずに復号することが保証されていない。また、受信装置が特別な処理によりMPUヘッダを用いずに復号を行う場合に従来の送信方法を用いると復号処理が煩雑となり、実時間の復号が困難となる可能性が高い。また、受信装置がMPUヘッダ情報の取得を待ってから復号を行う場合には、受信装置がヘッダ情報を取得するまでの間メディアデータのバッファリングが必要であるが、バッファモデルが規定されておらず、復号が保証されていなかった。 However, in conventional MP4-compliant receiving devices, decoding without using MPU header information is not guaranteed. Also, if a receiving device performs decoding without using an MPU header through special processing, using a conventional transmission method would complicate the decoding process, making it highly likely that real-time decoding would be difficult. Also, if a receiving device waits to obtain MPU header information before decoding, it is necessary to buffer the media data until the receiving device obtains the header information, but a buffer model has not been specified and decoding has not been guaranteed.
そこで、実施の形態2に係る送信装置は、図20の(d)に示されるように、MPUメタデータに共通の情報のみを格納することで、MPUメタデータをメディアデータより先に送信する。そして、実施の形態2に係る送信装置は、生成に遅延が発生するMFメタデータをメディアデータより後に送信する。これにより、メディアデータの復号を保証できる送信方法或いは受信方法を提供する。 Therefore, the transmitting device according to the second embodiment transmits the MPU metadata before the media data by storing only common information in the MPU metadata as shown in (d) of FIG. 20. Then, the transmitting device according to the second embodiment transmits the MF metadata, the generation of which is delayed, after the media data. This provides a transmitting method or receiving method that can guarantee the decoding of the media data.
以下、図21の(a)-(d)の各送信方法を用いた場合の受信方法について説明する。 Below, we will explain the reception method when using each of the transmission methods (a)-(d) in Figure 21.
図21に示される各送信方法では、まず、MPUメタデータ、MFUメタデータ、メディアデータの順にMPUデータを構成する。 In each transmission method shown in Figure 21, MPU data is first constructed in the following order: MPU metadata, MFU metadata, and media data.
MPUデータを構成した後、送信装置が図21の(a)に示されるように、MPUメタデータ、MFメタデータ、メディアデータの順にデータを送信する場合、受信装置は、下記の(A-1)及び(A-2)のいずれかの方法で復号を行うことができる。 After constructing the MPU data, if the transmitting device transmits data in the order of MPU metadata, MF metadata, and media data, as shown in (a) of Figure 21, the receiving device can perform decoding using either of the following methods (A-1) and (A-2).
(A-1)受信装置は、MPUヘッダ情報(MPUメタデータ及びMFメタデータ)を取得後、MPUヘッダ情報を用いてメディアデータを復号する。 (A-1) After acquiring the MPU header information (MPU metadata and MF metadata), the receiving device decodes the media data using the MPU header information.
(A-2)受信装置は、MPUヘッダ情報を用いずに、メディアデータを復号する。 (A-2) The receiving device decodes the media data without using the MPU header information.
このような方法はいずれも、送信側でカプセル化による遅延が発生するが、受信装置において、MPUヘッダ取得のためにメディアデータをバッファリングする必要がない利点がある。バッファリングをしない場合、バッファリングのためのメモリの搭載の必要はなく、さらにバッファリング遅延は発生しない。また、(A-1)の方法は、MPUヘッダ情報を用いて復号を行うため、従来の受信装置にも適用可能ある。 Although both of these methods incur delays due to encapsulation on the sending side, they have the advantage that the receiving device does not need to buffer the media data to obtain the MPU header. If buffering is not performed, there is no need to install memory for buffering, and furthermore, no buffering delays occur. Furthermore, method (A-1) is applicable to conventional receiving devices as it uses MPU header information for decoding.
送信装置が図21の(b)に示されるように、メディアデータのみを送信する場合、受信装置は下記の(B-1)の方法で復号を行うことができる。 When the transmitting device transmits only media data, as shown in (b) of FIG. 21, the receiving device can perform decoding using the method (B-1) below.
(B-1)受信装置は、MPUヘッダ情報を用いずに、メディアデータを復号する。 (B-1) The receiving device decodes the media data without using the MPU header information.
また、図示しないが、図21の(b)のメディアデータの送信よりも先にMPUメタデータが送信されている場合、下記の(B-2)の方法で復号を行うことができる。 Although not shown, if MPU metadata is transmitted prior to the transmission of the media data in FIG. 21(b), decoding can be performed using the method (B-2) below.
(B-2)受信装置は、MPUメタデータを用いてメディアデータを復号する。 (B-2) The receiving device decodes the media data using the MPU metadata.
上記(B-1)及び(B-2)の方法はいずれも、送信側でカプセル化による遅延が発生せず、かつ、MPUヘッダ取得のためにメディアデータをバッファリングする必要がない点が利点である。しかしながら、(B-1)及び(B-2)の方法はいずれも、MPUヘッダ情報を用いた復号を行わないため、復号に特別な処理が必要となる可能性がある。 The advantages of both methods (B-1) and (B-2) above are that no delays due to encapsulation occur on the sending side, and there is no need to buffer media data to obtain the MPU header. However, both methods (B-1) and (B-2) do not use MPU header information for decoding, so special processing may be required for decoding.
送信装置が図21の(c)に示されるように、メディアデータ、MPUメタデータ、MFメタデータの順にデータを送信する場合、受信装置は下記の(C-1)及び(C-2)のいずれかの方法で復号を行うことができる。 When the transmitting device transmits data in the order of media data, MPU metadata, and MF metadata, as shown in (c) of FIG. 21, the receiving device can perform decoding using either of the following methods (C-1) and (C-2).
(C-1)受信装置は、MPUヘッダ情報(MPUメタデータ及びMFメタデータ)を取得後、メディアデータを復号する。 (C-1) After acquiring the MPU header information (MPU metadata and MF metadata), the receiving device decodes the media data.
(C-2)受信装置は、MPUヘッダ情報を用いずに、メディアデータを復号する。 (C-2) The receiving device decodes the media data without using the MPU header information.
上記(C-1)の方法が用いられる場合は、MPUヘッダ情報の取得のためにメディアデータをバッファリングする必要がある。これに対し、上記(C-2)の方法が用いられる場合は、MPUヘッダ情報の取得のためのバッファリングを行う必要はない。 When the above method (C-1) is used, it is necessary to buffer the media data in order to obtain the MPU header information. In contrast, when the above method (C-2) is used, there is no need to buffer the media data in order to obtain the MPU header information.
また、上記(C-1)及び(C-2)のいずれの方法も、送信側においてカプセル化による遅延は発生しない。また、(C-2)の方法は、MPUヘッダ情報を用いないため、特別な処理が必要となる可能性がある。 In addition, neither method (C-1) nor (C-2) causes delays due to encapsulation on the sending side. Also, method (C-2) does not use MPU header information, so special processing may be required.
送信装置が、図21の(d)に示されるように、MPUメタデータ、メディアデータ、MFメタデータの順にデータを送信する場合、受信装置は、下記の(D-1)及び(D-2)のいずれかの方法で復号を行うことができる。 When the transmitting device transmits data in the order of MPU metadata, media data, and MF metadata, as shown in (d) of FIG. 21, the receiving device can perform decoding using either of the following methods (D-1) and (D-2).
(D-1)受信装置は、MPUメタデータを取得後、さらにMFメタデータを取得し、その後、メディアデータを復号する。 (D-1) After acquiring the MPU metadata, the receiving device further acquires the MF metadata and then decodes the media data.
(D-2)受信装置は、MPUメタデータを取得後、MFメタデータを用いずにメディアデータを復号する。 (D-2) After acquiring the MPU metadata, the receiving device decodes the media data without using the MF metadata.
上記(D-1)の方法が用いられる場合は、MFメタデータ取得のためにメディアデータをバッファリングする必要があるが、上記(D-2)の方法の場合は、MFメタデータ取得のためのバッファリングを行う必要はない。 When the above method (D-1) is used, it is necessary to buffer the media data in order to obtain the MF metadata, but when the above method (D-2) is used, there is no need to buffer the media data in order to obtain the MF metadata.
上記(D-2)の方法は、MFメタデータを用いた復号を行わないため、特別な処理が必要となる可能性がある。 The above method (D-2) does not use MF metadata for decryption, so special processing may be required.
以上説明したように、MPUメタデータ及びMFメタデータを用いて復号できる場合は、従来のMP4受信装置でも復号できるというメリットがある。 As explained above, if decoding is possible using MPU metadata and MF metadata, there is an advantage that decoding can also be performed on conventional MP4 receiving devices.
なお、図21では、MPUデータは、MPUメタデータ、MFUメタデータ、メディアデータの順に構成されており、moofにおいては、この構成に基づいてサンプルやサブサンプル毎の位置情報(オフセット)が定められている。また、MFメタデータには、mdat boxにおけるメディアデータ以外のデータ(boxのサイズやタイプ)も含まれている。 In FIG. 21, the MPU data is structured in the order of MPU metadata, MFU metadata, and media data, and in moof, the position information (offset) for each sample and subsample is determined based on this structure. In addition, the MF metadata also includes data other than the media data in the mdat box (box size and type).
このため、受信装置がMFメタデータに基づいてメディアデータを特定する場合には、受信装置は、データが送信された順番にかかわらず、MPUデータを構成した際の順番にデータを再構成した後、MPUメタデータのmoov或いはMFメタデータのmoofを用いて復号を行う。 Therefore, when a receiving device identifies media data based on MF metadata, the receiving device reconstructs the data in the order in which the MPU data was constructed, regardless of the order in which the data was transmitted, and then decodes the data using the moov in the MPU metadata or the moof in the MF metadata.
なお、図21では、MPUデータは、MPUメタデータ、MFUメタデータ、メディアデータの順に構成されるが、図21とは異なる順番でMPUデータが構成され、位置情報(オフセット)が定められてもよい。 In FIG. 21, the MPU data is composed of MPU metadata, MFU metadata, and media data in that order, but the MPU data may be composed in an order different from that shown in FIG. 21, and the position information (offset) may be determined.
例えば、MPUデータがMPUメタデータ、メディアデータ、MFメタデータの順に構成され、MFメタデータにおいて負の位置情報(オフセット)が示されてもよい。この場合も、データが送信される順番にかかわらず、受信装置は、送信側においてMPUデータが構成された際の順番にデータを再構成した後、moov或いはmoofを用いて復号を行う。 For example, MPU data may be configured in the order of MPU metadata, media data, and MF metadata, and negative position information (offset) may be indicated in the MF metadata. In this case, regardless of the order in which the data is transmitted, the receiving device reconstructs the data in the order in which the MPU data was configured on the transmitting side, and then performs decoding using moov or moof.
なお、送信装置は、MPUデータを構成する際の順番を示す情報をシグナリングし、受信装置は、シグナリングされた情報に基づいてデータを再構成してもよい。 In addition, the transmitting device may signal information indicating the order in which the MPU data is constructed, and the receiving device may reconstruct the data based on the signaled information.
以上説明したように、受信装置は、図21の(d)に示されるように、パケット化されたMPUメタデータ、パケット化されたメディアデータ(サンプルデータ)、パケット化されたMFメタデータをこの順に受信する。ここで、MPUメタデータは、第1のメタデータの一例であり、MFメタデータは、第2のメタデータの一例である。 As described above, the receiving device receives packetized MPU metadata, packetized media data (sample data), and packetized MF metadata in this order, as shown in (d) of FIG. 21. Here, the MPU metadata is an example of the first metadata, and the MF metadata is an example of the second metadata.
次に、受信装置は、受信されたMPUメタデータ、受信されたMFメタデータ、及び受信されたサンプルデータを含むMPUデータ(MP4フォーマットのファイル)を再構成する。そして、再構成されたMPUデータに含まれるサンプルデータを、MPUメタデータ及びMFメタデータを用いて復号する。MFメタデータは、送信側においてサンプルデータの生成後にのみ生成可能なデータ(例えば、mboxに格納されるlength)を含むメタデータである。 Next, the receiving device reconstructs MPU data (MP4 format file) including the received MPU metadata, the received MF metadata, and the received sample data. Then, the receiving device decodes the sample data included in the reconstructed MPU data using the MPU metadata and MF metadata. The MF metadata is metadata including data that can be generated only after the sample data is generated on the transmitting side (e.g., length stored in mbox).
なお、上記受信装置の動作は、より詳細には、受信装置を構成する各構成要素によって行われる。例えば、受信装置は、上記データの受信を行う受信部と、上記MPUデータの再構成を行う再構成部と、上記MPUデータの復号を行う復号部とを備える。なお、受信部、生成部、及び復号部のそれぞれは、マイクロコンピュータ、プロセッサ、専用回路などによって実現される。 In more detail, the operation of the receiving device is performed by each of the components constituting the receiving device. For example, the receiving device includes a receiving unit that receives the data, a reconstruction unit that reconstructs the MPU data, and a decoding unit that decodes the MPU data. Each of the receiving unit, generating unit, and decoding unit is realized by a microcomputer, a processor, a dedicated circuit, etc.
[ヘッダ情報を用いずに復号を行う方法]
次に、ヘッダ情報を用いずに復号を行う方法について説明する。ここでは、送信側でヘッダ情報を送るか送らないかにかかわらず、受信装置においてヘッダ情報を用いずに復号する方法を説明する。すなわち、この方法は、図21を用いて説明したいずれの送信方法を用いた場合においても適用可能である。ただし、一部の復号方法は、特定の送信方法の場合にのみ適用可能な復号方法である。
[Method of decrypting without using header information]
Next, a method of decoding without using header information will be described. Here, a method of decoding without using header information in a receiving device will be described, regardless of whether or not the transmitting side sends header information. That is, this method is applicable to any of the transmission methods described with reference to FIG. 21. However, some of the decoding methods are applicable only to specific transmission methods.
図22は、ヘッダ情報を用いずに復号を行う方法の例を示す図である。図22では、メディアデータのみが含まれるMMTペイロード及びMMTパケットのみが図示されており、MPUメタデータやMFメタデータが含まれるMMTペイロード及びMMTパケットは図示されていない。また、以下の図22の説明においては、同じMPUに属するメディアデータは連続して伝送されるものとする。また、メディアデータとしてペイロードにサンプルが格納されている場合を例に説明するが、以下の図22の説明においては、当然NALユニットが格納されていてもよいし、フラグメントされたNALユニットが格納されていてもよい。 Figure 22 is a diagram showing an example of a method for decoding without using header information. In Figure 22, only MMT payloads and MMT packets containing only media data are shown, and MMT payloads and MMT packets containing MPU metadata and MF metadata are not shown. In the following explanation of Figure 22, it is assumed that media data belonging to the same MPU are transmitted continuously. In addition, an example will be described in which samples are stored in the payload as media data, but in the following explanation of Figure 22, it is natural that NAL units or fragmented NAL units may be stored.
メディアデータを復号するためには、受信装置は、まず、復号に必要な初期化情報を取得しなければならない。また、メディアがビデオであれば、受信装置は、サンプル毎の初期化情報を取得したり、ランダムアクセス単位であるMPUの開始位置を特定し、サンプル及びNALユニットの開始位置を取得しなければならない。また、受信装置は、それぞれサンプルの復号時刻(DTS)や提示時刻(PTS)を特定する必要がある。 To decode media data, the receiving device must first obtain the initialization information required for decoding. Furthermore, if the media is video, the receiving device must obtain initialization information for each sample, identify the start position of the MPU, which is a random access unit, and obtain the start positions of the samples and NAL units. Furthermore, the receiving device must identify the decode time (DTS) and presentation time (PTS) of each sample.
そこで、受信装置は、例えば、下記の方法を用いてヘッダ情報を用いずに復号を行うことができる。なお、ペイロードにNALユニット単位またはNALユニットをフラグメントした単位が格納される場合は、下記説明において「サンプル」を、「サンプルにおけるNALユニット」に読み替えればよい。 Therefore, the receiving device can perform decoding without using header information, for example, by using the following method. Note that if the payload stores NAL unit units or fragmented NAL units, "sample" in the following explanation can be read as "NAL unit in sample."
<ランダムアクセス(=MPUの先頭サンプルを特定)>
ヘッダ情報が送信されない場合に、受信装置がMPUの先頭サンプルを特定するには、下記方法1と方法2がある。なお、ヘッダ情報が送信される場合には、方法3を用いることができる。
<Random access (=identifying the first sample of an MPU)>
When header information is not transmitted, the receiving device can identify the first sample of an MPU using the following
[方法1]受信装置は、MMTパケットヘッダにおいて、‘RAP_flag=1’であるMMTパケットに含まれるサンプルを取得する。 [Method 1] The receiving device acquires samples contained in MMT packets with 'RAP_flag = 1' in the MMT packet header.
[方法2]受信装置は、MMTペイロードヘッダにおいて、‘sample number=0’であるサンプルを取得する。 [Method 2] The receiving device obtains samples with 'sample number = 0' in the MMT payload header.
[方法3]受信装置は、メディアデータの前及び後ろの少なくともどちらか一方に、MPUメタデータ及びMFメタデータの少なくともどちらか一方が送信されている場合、受信装置は、MMTペイロードヘッダにおけるフラグメントタイプ(FT)がメディアデータへ切り替わったMMTペイロードに含まれるサンプルを取得する。 [Method 3] When at least one of MPU metadata and MF metadata is transmitted before and/or after the media data, the receiving device acquires samples contained in the MMT payload in which the fragment type (FT) in the MMT payload header has been switched to media data.
なお、方法1及び方法2において、1つのペイロードに異なるMPUに属する複数のサンプルが混在する場合、どのNALユニットがランダムアクセスポイント(RAP_flag=1或いはsample number=0)であるか判定不能である。このため、1つのペイロードに異なるMPUのサンプルを混在させないといった制約、または、1つのペイロードに異なるMPUのサンプルが混在する場合は、最後(或いは最初)のサンプルがランダムアクセスポイントである場合に、RAP_flagを1とするといった制約などが必要である。
In
また、受信装置がNALユニットの開始位置を取得するためには、サンプルの先頭NALユニットから順に、NALユニットのサイズ分だけデータの読出しポインタをシフトさせていく必要がある。 In addition, in order for the receiving device to obtain the starting position of the NAL unit, it is necessary to shift the data read pointer by the size of the NAL unit, starting from the first NAL unit of the sample.
データがフラグメントされている場合は、受信装置は、fragment_indicatorやfragment_numberを参照することで、データユニットを特定できる。 If the data is fragmented, the receiving device can identify the data unit by referring to the fragment_indicator and fragment_number.
<サンプルのDTSの決定>
サンプルのDTSの決定方法には、下記方法1と方法2がある。
Determining the DTS of a sample
There are two methods for determining the DTS of a sample:
[方法1]受信装置は、予測構造に基づいて先頭サンプルのDTSを決定する。ただし、この方法には符号化データの解析が必要であり、実時間での復号が困難である可能性があるため、次の方法2が望ましい。
[Method 1] The receiving device determines the DTS of the first sample based on the prediction structure. However, this method requires analysis of the encoded data and may be difficult to decode in real time, so the following
[方法2]受信装置は、先頭サンプルのDTSを別途送信し、送信された先頭サンプルのDTSを取得する。先頭サンプルのDTSの送信方法は、例えば、MPU先頭サンプルのDTSを、MMT-SIを用いて送信する方法や、サンプル毎のDTSをMMTパケットヘッダ拡張領域を用いて送信する方法などがある。なお、DTSは、絶対値でもよいし、PTSに対する相対値であってもよい。また、送信側において先頭サンプルのDTSが含まれているかどうかをシグナリングしてもよい。 [Method 2] The receiving device transmits the DTS of the first sample separately and acquires the transmitted DTS of the first sample. Methods for transmitting the DTS of the first sample include, for example, transmitting the DTS of the first sample of an MPU using MMT-SI, or transmitting the DTS for each sample using the MMT packet header extension field. Note that the DTS may be an absolute value or a relative value to the PTS. In addition, the transmitting side may signal whether the DTS of the first sample is included.
なお、方法1、方法2ともに、以降のサンプルのDTSは、固定フレームレートであるとして算出する。
Note that in both
サンプル毎のDTSをパケットヘッダに格納する方法として、拡張領域を用いる以外に、MMTパケットヘッダにおける32bitのNTPタイムスタンプフィールドに、当該MMTパケットに含まれるサンプルのDTSを格納する方法がある。1つのパケットヘッダのビット数(32bit)でDTSを表現できない場合は、DTSは、複数のパケットヘッダを用いて表現されてもよい。また、DTSは、パケットヘッダのNTPタイムスタンプフィールドと拡張領域とを組み合わせて表現されてもよい。DTS情報が含まれない場合は既知の値(例えばALL0)とされる。 As a method for storing the DTS for each sample in the packet header, other than using the extension area, there is a method of storing the DTS of the sample contained in the MMT packet in the 32-bit NTP timestamp field in the MMT packet header. If the DTS cannot be expressed by the number of bits in one packet header (32 bits), the DTS may be expressed using multiple packet headers. The DTS may also be expressed by combining the NTP timestamp field and extension area of the packet header. If no DTS information is included, a known value (e.g. ALL 0) is used.
<サンプルのPTSの決定>
受信装置は、先頭サンプルのPTSを、MPUに含まれるアセット毎のMPUタイムスタンプ記述子から取得する。受信装置は、以降のサンプルPTSについては、固定フレームレートであるものとして、POC等のサンプルの表示順を示すパラメータなどから算出する。このように、ヘッダ情報を用いずにDTS、及びPTSを算出するためには、固定フレームレートによる送信が必須となる。
Determining the PTS of a sample
The receiving device obtains the PTS of the first sample from the MPU timestamp descriptor for each asset included in the MPU. The receiving device calculates the PTS of subsequent samples from parameters indicating the display order of samples such as POC, assuming a fixed frame rate. In this way, transmission at a fixed frame rate is essential to calculate the DTS and PTS without using header information.
また、MFメタデータが送信されている場合、受信装置は、MFメタデータに示される先頭サンプルからのDTSやPTSの相対時刻情報と、MPUタイムスタンプ記述子に示されるMPU先頭サンプルのタイムスタンプの絶対値とからDTS及びPTSの絶対値を算出できる。 In addition, when MF metadata is being transmitted, the receiving device can calculate the absolute values of the DTS and PTS from the relative time information of the DTS and PTS from the first sample indicated in the MF metadata and the absolute value of the timestamp of the first sample of the MPU indicated in the MPU timestamp descriptor.
なお、符号化データ解析してDTS及びPTSを算出する際には、受信装置は、アクセスユニットに含まれるSEI情報を用いて算出してもよい。 When analyzing the encoded data to calculate the DTS and PTS, the receiving device may use the SEI information included in the access unit.
<初期化情報(パラメータセット)>
[ビデオの場合]
ビデオの場合、パラメータセットは、サンプルデータに格納される。また、MPUメタデータ及びMFメタデータが送信されない場合は、サンプルデータのみを参照することにより復号に必要なパラメータセットを取得できることを保証する。
<Initialization information (parameter set)>
[For video]
In the case of video, the parameter set is stored in the sample data. Also, if the MPU metadata and the MF metadata are not transmitted, it is guaranteed that the parameter set required for decoding can be obtained by referring to only the sample data.
また、図21の(a)及び(d)のように、MPUメタデータがメディアデータよりも先に送信される場合、SampleEntryにはパラメータセットは格納しないと規定されてもよい。この場合、受信装置は、SampleEntryのパラメータセットは参照せずにサンプル内のパラメータセットのみを参照する。 Also, as shown in (a) and (d) of FIG. 21, when MPU metadata is transmitted before media data, it may be specified that no parameter set is stored in SampleEntry. In this case, the receiving device refers only to the parameter set in the sample, without referring to the parameter set in SampleEntry.
また、MPUメタデータがメディアデータよりも先に送信される場合、SampleEntryにはMPUに共通のパラメータセットやデフォルトのパラメータセットが格納され、受信装置は、SampleEntryのパラメータセット及びサンプル内のパラメータセットを参照してもよい。SampleEntryにパラメータセットが格納されることにより、SampleEntryにパラメータセットが存在しないと再生できない従来の受信装置でも復号を行うことが可能となる。 In addition, when MPU metadata is transmitted prior to media data, a parameter set common to MPUs or a default parameter set is stored in SampleEntry, and the receiving device may refer to the parameter set in SampleEntry and the parameter set in the sample. Storing a parameter set in SampleEntry makes it possible to perform decoding even on conventional receiving devices that cannot play back data unless a parameter set is present in SampleEntry.
[オーディオの場合]
オーディオの場合、復号にはLATMヘッダが必要であり、MP4では、LATMヘッダがサンプルエントリに含められることが必須である。しかし、ヘッダ情報が送信されない場合は、受信装置がLATMヘッダを取得することは困難であるため、別途SIなどの制御情報にLATMヘッダが含められる。なお、LATMヘッダは、メッセージ、テーブル、または記述子に含められてもよい。なお、LATMヘッダはサンプル内に含められることもある。
[For audio]
In the case of audio, the LATM header is necessary for decoding, and in MP4, it is essential that the LATM header is included in the sample entry. However, if the header information is not transmitted, it is difficult for the receiving device to obtain the LATM header, so the LATM header is separately included in the control information such as SI. The LATM header may be included in a message, a table, or a descriptor. The LATM header may also be included in a sample.
受信装置は、復号開始前にSIなどからLATMヘッダを取得し、オーディオの復号を開始する。或いは、図21の(a)及び図21の(d)に示されるように、MPUメタデータがメディアデータよりも先に送信される場合は、受信装置は、LATMヘッダをメディアデータより先に受信可能である。したがって、MPUメタデータがメディアデータよりも先に送信される場合は、従来の受信装置を用いても復号を行うことが可能となる。 Before starting decoding, the receiving device obtains the LATM header from the SI or the like, and starts decoding the audio. Alternatively, as shown in (a) and (d) of Figure 21, if the MPU metadata is transmitted before the media data, the receiving device can receive the LATM header before the media data. Therefore, if the MPU metadata is transmitted before the media data, decoding can be performed even using a conventional receiving device.
<その他>
送信順序や送信順序のタイプは、MMTパケットヘッダやペイロードヘッダ、或いは、MPTやその他のテーブル、メッセージ、記述子などの制御情報として通知されてもよい。なお、ここでの送信順序のタイプとは、例えば、図21の(a)~(d)の4つのタイプの送信順序であり、それぞれのタイプを識別するための識別子が復号開始前に取得できる場所に格納されればよい。
<Other>
The transmission order and the type of the transmission order may be notified as control information such as an MMT packet header, a payload header, or an MPT or other table, a message, a descriptor, etc. The type of the transmission order here is, for example, the four types of transmission order shown in (a) to (d) of FIG. 21, and an identifier for identifying each type may be stored in a location where it can be obtained before the start of decoding.
また、送信順序のタイプは、オーディオとビデオとで異なるタイプが用いられてもよいし、オーディオとビデオとで共通のタイプが用いられてもよい。具体的には、例えば、オーディオは、図21の(a)に示されるように、MPUメタデータ、MFメタデータ、メディアデータの順番で送信され、ビデオは、図21の(d)に示されるように、MPUメタデータ、メディアデータ、MFメタデータの順番で送信されてもよい。 In addition, different transmission order types may be used for audio and video, or a common type may be used for audio and video. Specifically, for example, audio may be transmitted in the order of MPU metadata, MF metadata, and media data, as shown in (a) of FIG. 21, and video may be transmitted in the order of MPU metadata, media data, and MF metadata, as shown in (d) of FIG. 21.
以上説明したような方法により、受信装置は、ヘッダ情報を用いずに復号を行うことが可能である。また、MPUメタデータがメディアデータよりも先に送信されている場合(図21の(a)及び図21の(d))は、従来の受信装置でも復号を行うことが可能になる。 By using the method described above, the receiving device can perform decoding without using header information. In addition, if the MPU metadata is transmitted before the media data (Figures 21(a) and 21(d)), decoding can be performed even with a conventional receiving device.
特に、MFメタデータがメディアデータより後に送信されること(図21の(d))により、カプセル化による遅延を発生させず、かつ従来の受信装置でも復号を行うことが可能となる。 In particular, by transmitting the MF metadata after the media data ((d) in Figure 21), delays due to encapsulation are not incurred and decoding can be performed even by conventional receiving devices.
[送信装置の構成及び動作]
次に、送信装置の構成及び動作について説明する。図23は、実施の形態2に係る送信装置のブロック図であり、図24は、実施の形態2に係る送信方法のフローチャートである。
[Configuration and operation of transmitting device]
Next, the configuration and operation of a transmission device will be described. Fig. 23 is a block diagram of a transmission device according to the second embodiment, and Fig. 24 is a flowchart of a transmission method according to the second embodiment.
図23に示されるように、送信装置15は、符号化部16と、多重化部17と、送信部18とを備える。
As shown in FIG. 23, the transmitting
符号化部16は、符号化対象のビデオまたはオーディオを、例えば、H.265に従い符号化することで符号化データを生成する(S10)。
The
多重化部17は、符号化部16により生成された符号化データを多重化(パケット化)する(S11)。具体的には、多重化部17は、MP4フォーマットのファイルを構成する、サンプルデータ、MPUメタデータ、及び、MFメタデータ、のそれぞれをパケット化する。サンプルデータは、映像信号または音声信号が符号化されたデータであり、MPUメタデータは、第1のメタデータの一例であり、MFメタデータは、第2のメタデータの一例である。第1のメタデータと第2のメタデータとは、いずれもサンプルデータの復号に用いられるメタデータであるが、これらの違いは、第2のメタデータがサンプルデータの生成後にのみ生成可能なデータを含むことである。
The multiplexing
ここで、サンプルデータの生成後にのみ生成可能なデータは、例えば、MP4フォーマットにおけるmdatに格納されるサンプルデータ以外のデータ(mdatのヘッダ内のデータ。つまり、図20に図示されるtype及びlength。)である。ここで、第2のメタデータには、このデータのうち少なくとも一部であるlengthが含まれればよい。 Here, data that can be generated only after sample data is generated is, for example, data other than sample data stored in mdat in MP4 format (data in the header of mdat, i.e., type and length shown in FIG. 20). Here, the second metadata only needs to include at least a part of this data, namely, length.
送信部18は、パケット化したMP4フォーマットのファイルを送信する(S12)。送信部18は、例えば、図21の(d)に示される方法でMP4フォーマットのファイルを送信する。つまり、パケット化されたMPUメタデータ、パケット化されたサンプルデータ、パケット化されたMFメタデータをこの順に送信する。
The transmitting
なお、符号化部16、多重化部17、及び送信部18のそれぞれは、マイクロコンピュータ、プロセッサ、または専用回路などによって実現される。
Note that each of the
[受信装置の構成]
次に、受信装置の構成及び動作について説明する。図25は、実施の形態2に係る受信装置のブロック図である。
[Configuration of receiving device]
Next, the configuration and operation of a receiving device according to the second embodiment will be described.
図25に示されるように、受信装置20は、パケットフィルタリング部21と、送信順序タイプ判別部22と、ランダムアクセス部23と、制御情報取得部24と、データ取得部25と、PTS、DTS算出部26と、初期化情報取得部27と、復号命令部28と、復号部29と、提示部30とを備える。
As shown in FIG. 25, the receiving
[受信装置の動作1]
まず、メディアがビデオである場合に、受信装置20が、MPU先頭位置及びNALユニット位置を特定するための動作について説明する。図26は、受信装置20のこのような動作のフローチャートである。なお、ここでは、MPUデータの送信順序タイプは、送信装置15(多重化部17)によってSI情報に格納されているとする。
[
First, an operation of the receiving
まず、パケットフィルタリング部21は、受信したファイルに対してパケットフィルタリングを行う。送信順序タイプ判別部22は、パケットフィルタリングによって得られるSI情報を解析して、MPUデータの送信順序タイプを取得する(S21)。
First, the
次に、送信順序タイプ判別部22は、パケットフィルタリング後のデータにMPUヘッダ情報(MPUメタデータ或いはMFメタデータの少なくとも一方)が含まれているか否かを判定(判別)する(S22)。MPUヘッダ情報(が含まれている場合(S22でYes)には、ランダムアクセス部23は、MMTペイロードヘッダのフラグメントタイプがメディアデータへ切り替わることを検出することで、MPU先頭サンプルを特定する(S23)。
Next, the transmission order
一方、MPUヘッダ情報が含まれていない場合(S22でNo)には、ランダムアクセス部23は、MMTパケットヘッダのRAP_flag或いはMMTペイロードヘッダのsample numberに基づいてMPU先頭サンプルを特定する(S24)。
On the other hand, if the MPU header information is not included (No in S22), the
また、送信順序タイプ判別部22は、パケットフィルタリングされたデータに、MFメタデータが含まれているか否かを判定する(S25)。MFメタデータが含まれていると判定された場合(S25でYes)には、データ取得部25は、MFメタデータに含まれるサンプル、サブサンプルのオフセット、及びサイズ情報に基づいてNALユニットを読み出すことによりNALユニットを取得する(S26)。一方、MFメタデータが含まれていないと判定された場合(S25でNo)には、データ取得部25は、サンプルの先頭NALユニットから順に、NALユニットのサイズのデータを読み出すことでNALユニットを取得する(S27)。
The transmission order
なお、受信装置20は、ステップS22において、MPUヘッダ情報が含まれていると判別された場合でも、ステップS23ではなくステップS24の処理を用いてMPU先頭サンプルを特定してもよい。また、MPUヘッダ情報が含まれていると判別された場合に、ステップS23の処理とステップS24の処理とが併用されてもよい。
Note that even if it is determined in step S22 that MPU header information is included, the receiving
また、受信装置20は、ステップS25において、MFメタデータが含まれていると判定された場合でも、ステップS26の処理を用いずにステップS27の処理を用いてNALユニットを取得してもよい。また、MFメタデータが含まれていると判定された場合に、ステップS23の処理とステップS24の処理とが併用されてもよい。
In addition, even if it is determined in step S25 that MF metadata is included, the receiving
また、ステップS25においてMFメタデータが含まれていると判定された場合であって、MFデータがメディアデータより後に送信されている場合が想定される。この場合、受信装置20は、メディアデータをバッファリングし、MFメタデータを取得するまで待ってからステップS26の処理を行ってもよいし、受信装置20は、MFメタデータの取得を待たずにステップS27の処理を行うか否かを判定してもよい。
It is also possible that, when it is determined in step S25 that MF metadata is included, the MF data is transmitted after the media data. In this case, the receiving
例えば、受信装置20は、メディアデータをバッファリングすることが可能なバッファサイズのバッファを保有しているかどうかに基づいてMFメタデータの取得を待つか否かを判定してもよい。また、受信装置20は、End-to-End遅延が小さくなるかどうかに基づいて、MFメタデータの取得を待つか否かを判定してもよい。また、受信装置20は、主としてステップS26の処理を用いて復号処理を実施し、パケットロスなどが発生したときの処理モードの場合にステップS27の処理を用いてもよい。
For example, the receiving
なお、送信順序タイプがあらかじめ定められている場合は、ステップS22及びステップS26は省略されてもよいし、この場合、受信装置20は、バッファサイズやEnd-to-End遅延を考慮して、MPU先頭サンプルの特定方法、及び、NALユニットの特定方法を決定してもよい。
Note that if the transmission order type is predetermined, steps S22 and S26 may be omitted, and in this case, the receiving
なお、あらかじめ送信順序タイプが既知である場合は、受信装置20において送信順序タイプ判別部22は、不要である。
If the transmission order type is known in advance, the transmission order
また、上記図26においては説明されないが、復号命令部28は、PTS、DTS算出部26において算出されたPTS及びDTS、初期化情報取得部27において取得された初期化情報に基づいて、データ取得部において取得されたデータを復号部29に出力する。復号部29は、データを復号し、提示部30は、復号後のデータを提示する。
Although not illustrated in FIG. 26 above, the
[受信装置の動作2]
次に、受信装置20が、送信順序タイプに基づいて初期化情報を取得し、初期化情報に基づいてメディアデータを復号する動作について説明する。図27は、このような動作のフローチャートである。
[
Next, an operation of the receiving
まず、パケットフィルタリング部21は、受信したファイルに対してパケットフィルタリングを行う。送信順序タイプ判別部22は、パケットフィルタリングによって得られるSI情報を解析し、送信順序タイプを取得する(S301)。
First, the
次に、送信順序タイプ判別部22は、MPUメタデータが送信されているか否かを判定する(S302)。MPUメタデータが送信されていると判定された場合(S302でYes)、送信順序タイプ判別部22は、ステップS301の解析の結果、MPUメタデータがメディアデータより先に送信されているかどうかを判定する(S303)。MPUメタデータがメディアデータより先に送信されている場合(S303でYes)、初期化情報取得部27は、MPUメタデータに含まれる共通な初期化情報、及び、サンプルデータの初期化情報に基づいてメディアデータを復号する(S304)。
Next, the transmission order
一方、MPUメタデータがメディアデータより後に送信されていると判定された場合(S303でNo)には、データ取得部25は、MPUメタデータが取得されるまでメディアデータをバッファリングし(S305)、MPUメタデータが取得された後にステップS304の処理を実施する。
On the other hand, if it is determined that the MPU metadata was transmitted after the media data (No in S303), the
また、ステップS302において、MPUメタデータが送信されていないと判定された場合(S302でNo)には、初期化情報取得部27は、サンプルデータの初期化情報のみに基づいてメディアデータを復号する(S306)。
Also, if it is determined in step S302 that the MPU metadata has not been transmitted (No in S302), the initialization
なお、送信側においてサンプルデータの初期化情報に基づく場合のみメディアデータの復号が保証されている場合は、ステップS302、及びステップS303の判定に基づく処理を行わず、ステップS306の処理が用いられる。 Note that if the decryption of the media data is guaranteed only based on the initialization information of the sample data on the sending side, the processing based on the determinations of steps S302 and S303 is not performed, and the processing of step S306 is used.
また、受信装置20は、ステップS305の前に、メディアデータをバッファリングするか否かの判定を行ってもよい。この場合、受信装置20は、メディアデータをバッファリングすると判定した場合にはステップS305の処理へ移行し、メディアデータをバッファリングしないと判定した場合には、ステップS306の処理へ移行する。メディアデータをバッファリングするか否かの判定は、受信装置20のバッファサイズ、占有量に基づいて行われてもよいし、例えば、End-to-End遅延の小さい方が選択されるなど、End-to-End遅延を考慮して判定が行われてもよい。
The receiving
[受信装置の動作3]
ここでは、MFメタデータがメディアデータよりも後に送信される場合(図21の(c)、及び図21の(d))における送信方法や受信方法の詳細について説明する。以下では、図21の(d)の場合を例に説明する。なお、送信においては、図21の(d)の方法のみが用いられ、送信順序タイプのシグナリングは行われないものとする。
[
Here, the details of the transmission method and the reception method in the case where the MF metadata is transmitted after the media data ((c) in FIG. 21 and (d) in FIG. 21) are described. The following describes the case of (d) in FIG. 21 as an example. Note that in the transmission, only the method of (d) in FIG. 21 is used, and no signaling of the transmission order type is performed.
先述のとおり、図21の(d)に示されるように、MPUメタデータ、メディアデータ、MFメタデータの順でデータを送信する場合、
(D-1)受信装置20は、MPUメタデータを取得した後、さらにMFメタデータを取得した後にメディアデータを復号する。
As described above, when data is transmitted in the order of MPU metadata, media data, and MF metadata as shown in (d) of FIG.
(D-1) The receiving
(D-2)受信装置20は、MPUメタデータを取得した後、MFメタデータを用いずにメディアデータを復号する。
の2通りの復号方法が可能である。
(D-2) After acquiring the MPU metadata, the receiving
There are two possible decoding methods:
ここで、D-1は、MFメタデータ取得のためのメディアデータのバッファリングが必要となるが、MPUヘッダ情報を用いて復号を行うことができるため、従来のMP4準拠の受信装置で復号可能となる。また、D-2は、MFメタデータ取得のためのメディアデータのバッファリングを必要としないが、MFメタデータを用いて復号できないため、復号に特別な処理が必要となる。 Here, D-1 requires buffering of media data to obtain MF metadata, but since decoding can be performed using MPU header information, it can be decoded by a conventional MP4-compliant receiving device. Meanwhile, D-2 does not require buffering of media data to obtain MF metadata, but since decoding cannot be performed using MF metadata, special processing is required for decoding.
また、図21の(d)の方法は、MFメタデータは、メディアデータより後で送信されるため、カプセル化による遅延は発生せず、End-to-End遅延を低減できるという利点を有する。 In addition, the method shown in FIG. 21(d) has the advantage that the MF metadata is sent after the media data, so there is no delay due to encapsulation and end-to-end delay can be reduced.
受信装置20は、受信装置20の能力や、受信装置20が提供するサービス品質に応じて、上記2通りの復号方法を選択することができる。
The receiving
送信装置15は、受信装置20における復号動作において、バッファのオーバーフローやアンダーフローの発生を低減して復号できることを保証しなければならない。D-1の方法を用いて復号する場合のデコーダモデルを規定するための要素としては、例えば下記のパラメータを用いることができる。
The transmitting
・MPUを再構成するためのバッファサイズ(MPUバッファ)
例えば、バッファサイズ=最大レート×最大MPU時間×αであり、最大レートとは、符号化データのプロファイル、レベルの上限レート+MPUヘッダのオーバーヘッドである。また、最大MPU時間は、1MPU=1GOP(ビデオ)とした場合のGOPの最大時間長である。
Buffer size for reconfiguring the MPU (MPU buffer)
For example, buffer size=maximum rate×maximum MPU time×α, where the maximum rate is the upper limit rate of the profile and level of the encoded data+the overhead of the MPU header. The maximum MPU time is the maximum time length of a GOP when 1 MPU=1 GOP (video).
ここで、オーディオは、上記ビデオに共通のGOP単位としてもよいし、別の単位でもよい。αは、オーバーフローを起こさないためのマージンであり、最大レート×最大MPU時間に対して、乗算されてもよいし、加算されてもよい。乗算される場合は、α≧1であり、加算される場合は、α≧0である。 Here, audio may be in GOP units common to the video, or in a different unit. α is a margin to prevent overflow, and may be multiplied or added to the maximum rate x maximum MPU time. If multiplied, α ≧ 1, and if added, α ≧ 0.
・MPUバッファへデータが入力されてから復号されるまでの復号遅延時間の上限(MPEG-TSのSTDにおけるTSTD_delay)
例えば、送信時には、最大MPU時間、及び、復号遅延時間の上限値を考慮して、受信機におけるMPUデータの取得完了時刻<=DTSとなるようにDTSが設定される。
Upper limit of the decoding delay time from when data is input to the MPU buffer until it is decoded (TSTD_delay in the STD of MPEG-TS)
For example, at the time of transmission, DTS is set so that the time when MPU data acquisition is completed at the receiver is less than or equal to DTS, taking into account the maximum MPU time and the upper limit of the decoding delay time.
また、送信装置15は、D-1の方法を用いて復号する場合のデコーダモデルに従い、DTS及びPTSを付与してもよい。これにより、送信装置15は、D-1の方法を用いて復号を行う受信装置の当該復号を保証すると同時に、D-2の方法を用いて復号が行われる場合に必要な補助情報を送信してもよい。
The transmitting
例えば、送信装置15は、D-2の方法を用いて復号する場合のデコーダバッファにおけるプリバッファリング時間をシグナリングすることにより、D-2の方法を用いて復号する受信装置の動作を保証できる。
For example, the transmitting
プリバッファリング時間は、メッセージ、テーブル、記述子などのSI制御情報に含められてもよいし、MMTパケット、MMTペイロードのヘッダに含められてもよい。また、符号化データ内のSEIが上書きされてもよい。D-1の方法を用いて復号するためのDTS及びPTSは、MPUタイムスタンプ記述子、SampleEntryに格納され、D-2の方法を用いて復号するためのDTS及びPTS、またはプリバッファリング時間がSEIにおいて記述されてもよい。 The pre-buffering time may be included in SI control information such as messages, tables, and descriptors, or may be included in the header of an MMT packet or MMT payload. The SEI in the encoded data may also be overwritten. The DTS and PTS for decoding using the D-1 method may be stored in the MPU timestamp descriptor and SampleEntry, and the DTS and PTS for decoding using the D-2 method, or the pre-buffering time, may be described in the SEI.
受信装置20は、当該受信装置20がMPUヘッダを用いたMP4準拠の復号動作のみに対応している場合は、復号方法D-1を選択し、D-1およびD-2の両方に対応している場合は、どちらか一方を選択してもよい。
If the receiving
送信装置15は、一方(本説明では、D-1)の復号動作を保証できるようにDTS、及びPTSを付与し、さらに一方の復号動作を補助するための補助情報を送信してもよい。
The transmitting
また、D-2の方法が用いられる場合、D-1の方法が用いられる場合と比較して、MFメタデータのプリバッファリングに起因する遅延により、End-to-End遅延が大きくなる可能性が高い。したがって、受信装置20は、End-to-End遅延を小さくしたいときは、D-2の方法を選択して復号してもよい。例えば、受信装置20は、常にEnd-to-End遅延を削減したい場合に、常にD-2の方法を用いてもよい。また、受信装置20は、ライブコンテンツや、選局、ザッピング動作など、低遅延で提示したい、低遅延提示モードで動作している場合のみD-2の方法を用いてもよい。
In addition, when the D-2 method is used, the end-to-end delay is more likely to be large due to delays caused by pre-buffering of MF metadata compared to when the D-1 method is used. Therefore, when it is desired to reduce the end-to-end delay, the receiving
図28は、このような受信方法のフローチャートである。 Figure 28 is a flowchart of such a receiving method.
まず、受信装置20は、MMTパケットを受信し、MPUデータを取得する(S401)。そして、受信装置20(送信順序タイプ判別部22)は、当該プログラムを低遅延提示モードで提示するかどうかの判定を行う(S402)。
First, the receiving
プログラムを低遅延提示モードで提示しない場合(S402でNo)、受信装置20(ランダムアクセス部23及び初期化情報取得部27)は、ヘッダ情報を用いてランダムアクセス、初期化情報を取得する(S405)。また、受信装置20(PTS、DTS算出部26、復号命令部28、復号部29、提示部30)は、送信側で付与されたPTS、DTSに基づいてデコード及び提示処理を行う(S406)。
If the program is not presented in low-latency presentation mode (No in S402), the receiving device 20 (
一方、プログラムを低遅延提示モードで提示する場合(S402でYes)、受信装置20(ランダムアクセス部23及び初期化情報取得部27)は、ヘッダ情報を用いない復号方法を用いて、ランダムアクセス、初期化情報を取得する(S403)。また、受信装置20は、送信側で付与されたPTS、DTS及びヘッダ情報を用いずに復号するための補助情報に基づいてデコード及び提示処理を行う(S404)。なお、ステップS403、及びステップS404において、MPUメタデータを用いて処理が行われてもよい。
On the other hand, when the program is presented in low-latency presentation mode (Yes in S402), the receiving device 20 (
[補助データを用いた送受信方法]
以上、MFメタデータがメディアデータより後に送信される場合(図21の(c)、及び図21の(d)の場合)における送受信動作について説明した。次に、送信装置15がMFメタデータの一部の機能を有する補助データを送信することにより、より早く復号を開始でき、End-to-End遅延を削減できる方法について説明する。ここでは、図21の(d)に示される送信方法に基づいて補助データがさらに送信される例について説明されるが、補助データを用いる方法は、図21の(a)~(c)に示される送信方法においても適用可能である。
[Transmission and reception method using auxiliary data]
The above describes the transmission and reception operations in the cases where MF metadata is transmitted after the media data (cases (c) and (d) of Figure 21). Next, a method is described in which the transmitting
図29の(a)は、図21の(d)に示される方法を用いて送信されたMMTパケットを示す図である。つまり、データは、MPUメタデータ、メディアデータ、MFメタデータの順で送信される。 Figure 29 (a) shows an MMT packet transmitted using the method shown in Figure 21 (d). That is, data is transmitted in the following order: MPU metadata, media data, and MF metadata.
ここで、サンプル#1、サンプル#2、サンプル#3、サンプル#4はメディアデータに含まれるサンプルである。なお、ここではメディアデータは、サンプル単位でMMTパケットに格納される例について説明されるが、メディアデータは、NALユニット単位でMMTパケットに格納されてもよいし、NALユニットを分割した単位で格納されてもよい。なお、複数のNALユニットがアグリゲーションされてMMTパケットに格納される場合もある。
Here,
先述のD-1で説明したように、図21の(d)に示される方法の場合、つまり、MPUメタデータ、メディアデータ、MFメタデータの順でデータが送信される場合、MPUメタデータを取得後、さらにMFメタデータを取得し、その後、メディアデータを復号する方法がある。このようなD-1の方法では、MFメタデータ取得のためのメディアデータのバッファリングが必要となるが、MPUヘッダ情報を用いて復号が行われるため、従来のMP4準拠の受信装置にもD-1の方法は適用可能である利点がある。一方で、受信装置20は、MFメタデータ取得まで、復号開始を待たなければならない欠点がある。
As explained above in D-1, in the case of the method shown in (d) of FIG. 21, that is, when data is transmitted in the order of MPU metadata, media data, and MF metadata, there is a method in which after acquiring the MPU metadata, the MF metadata is acquired, and then the media data is decoded. This type of D-1 method requires buffering of the media data to acquire the MF metadata, but has the advantage that the D-1 method can be applied to conventional MP4-compliant receiving devices because the decoding is performed using the MPU header information. On the other hand, it has the disadvantage that the receiving
これに対し、図29の(b)に示されるように、補助データを用いる手法においては、MFメタデータより先に、補助データが送信される。 In contrast, in a method using auxiliary data, as shown in (b) of Figure 29, the auxiliary data is transmitted before the MF metadata.
MFメタデータには、ムービーフラグメントに含まれる全てのサンプルのDTSやPTS、オフセットやサイズを示す情報が含まれている。これに対し、補助データには、ムービーフラグメントに含まれるサンプルのうち、一部のサンプルのDTSやPTS、オフセットやサイズを示す情報が含まれる。 MF metadata contains information indicating the DTS, PTS, offsets and sizes of all samples contained in a movie fragment. In contrast, auxiliary data contains information indicating the DTS, PTS, offsets and sizes of some of the samples contained in a movie fragment.
例えば、MFメタデータには、すべてのサンプル(サンプル#1-サンプル#4)の情報が含まれるのに対し、補助データには一部のサンプル(サンプル#1-#2)の情報が含まれる。 For example, MF metadata contains information for all samples (sample #1-sample #4), whereas auxiliary data contains information for only some samples (sample #1-sample #2).
図29の(b)に示される場合は、補助データが用いられることでサンプル#1、及びサンプル#2の復号が可能となるため、D-1の送信方法に対して、End-to-End遅延が小さくなる。なお、補助データには、どのようにサンプルの情報が組み合わされて含められてもよいし、補助データは、繰り返し送信されてもよい。
In the case shown in FIG. 29(b), the auxiliary data is used to enable decoding of
例えば、図29の(c)において、Aのタイミングで補助情報を送信する場合は、送信装置15は、補助情報にサンプル#1の情報を含め、Bのタイミングで補助情報を送信する場合は、補助情報にサンプル#1及びサンプル#2の情報を含める。送信装置15は、Cのタイミングで補助情報を送信する場合は、補助情報にはサンプル#1、サンプル#2、及びサンプル#3の情報を含める。
For example, in (c) of FIG. 29, when transmitting auxiliary information at timing A, transmitting
なお、MFメタデータには、サンプル#1、サンプル#2、サンプル#3、及び、サンプル#4の情報(ムービーフラグメントの中の全サンプルの情報)が含まれる。
The MF metadata includes information on
補助データは、必ずしも生成後、ただちに送信される必要はない。 Ancillary data does not necessarily need to be sent immediately after it is generated.
なお、MMTパケットやMMTペイロードのヘッダにおいては、補助データが格納されていることを示すタイプが指定される。 In addition, the header of an MMT packet or MMT payload specifies a type that indicates that auxiliary data is stored.
例えば、補助データがMMTペイロードにMPUモードを用いて格納される場合は、fragment_typeフィールド値(例えば、FT=3)として、補助データであることを示すデータタイプが指定される。補助データは、moofの構成に基づくデータであってもよいし、その他の構成であってもよい。 For example, when auxiliary data is stored in the MMT payload using MPU mode, the fragment_type field value (e.g., FT=3) is specified as a data type indicating that it is auxiliary data. The auxiliary data may be data based on the moof configuration, or may have another configuration.
補助データが、MMTペイロードに制御信号(記述子、テーブル、メッセージ)として格納される場合は、補助データであることを示す記述子タグ、テーブルID、及びメッセージIDなどが指定される。 When auxiliary data is stored in the MMT payload as a control signal (descriptor, table, message), a descriptor tag, table ID, message ID, etc. are specified to indicate that it is auxiliary data.
また、MMTパケットやMMTペイロードのヘッダにPTSまたはDTSが格納されてもよい。 The PTS or DTS may also be stored in the header of an MMT packet or MMT payload.
[補助データの生成例]
以下、送信装置がmoofの構成に基づいて補助データを生成する例について説明する。図30は、送信装置がmoofの構成に基づいて補助データを生成する例を説明するための図である。
[Example of generating auxiliary data]
An example in which a transmitting device generates auxiliary data based on the moof configuration will be described below. Fig. 30 is a diagram for explaining an example in which a transmitting device generates auxiliary data based on the moof configuration.
通常のMP4では、図20に示されるように、ムービーフラグメントに対してmoofが作成される。moofには、ムービーフラグメントに含まれるサンプルのDTSやPTS、オフセットやサイズを示す情報が含まれている。 In a normal MP4, a moof is created for a movie fragment, as shown in Figure 20. The moof contains information indicating the DTS, PTS, offset, and size of the samples contained in the movie fragment.
ここでは、送信装置15は、MPUを構成するサンプルデータの中で、一部のサンプルデータのみを用いてMP4(MP4ファイル)を構成し、補助データを生成する。
Here, the transmitting
例えば、図30の(a)に示されるように、送信装置15は、MPUを構成するサンプル#1-#4のうち、サンプル#1のみを用いてMP4を生成し、そのうち、moof+mdatのヘッダを補助データとする。
For example, as shown in FIG. 30(a), the transmitting
次に、図30の(b)に示されるように、送信装置15は、MPUを構成するサンプル#1-#4のうち、サンプル#1及びサンプル#2を用いてMP4を生成し、そのうち、moof+mdatのヘッダを次の補助データとする。
Next, as shown in (b) of FIG. 30, the transmitting
次に、図30の(c)に示されるように、送信装置15は、MPUを構成するサンプル#1-#4のうち、サンプル#1、サンプル#2、及びサンプル#3を用いてMP4を生成し、そのうち、moof+mdatのヘッダを次の補助データとする。
Next, as shown in (c) of FIG. 30, the transmitting
次に、図30の(d)に示されるように、送信装置15は、MPUを構成するサンプル#1-#4のうち、すべてのMP4を生成し、そのうち、moof+mdatのヘッダがムービーフラグメントメタデータとなる。
Next, as shown in (d) of FIG. 30, the transmitting
なお、ここでは、送信装置15は、1サンプル毎に補助データを生成したが、Nサンプル毎に補助データを生成してもよい。Nの値は任意の数字であり、例えば、一つのMPUを送信するときに補助データをM回送信する場合、N=全サンプル/Mとされてもよい。
Note that, although the transmitting
なお、moofにおけるサンプルのオフセットを示す情報は、後続のサンプル数のサンプルエントリ領域がNULL領域として確保された後のオフセット値であってもよい。 In addition, the information indicating the offset of a sample in moof may be the offset value after the sample entry area of the subsequent sample number is secured as a NULL area.
なお、MFメタデータをフラグメントする構成となるように補助データが生成されてもよい。 In addition, auxiliary data may be generated so as to fragment the MF metadata.
[補助データを用いた受信動作例]
図30で説明したように生成された補助データの受信について説明する。図31は、補助データの受信を説明するための図である。なお、図31の(a)では、MPUを構成するサンプル数は30であり、10サンプル毎に補助データが生成され、送信されるものとする。
[Example of reception operation using auxiliary data]
The reception of auxiliary data generated as described in Fig. 30 will be described. Fig. 31 is a diagram for explaining the reception of auxiliary data. In Fig. 31(a), the number of samples constituting an MPU is 30, and auxiliary data is generated and transmitted every 10 samples.
図30の(a)において、補助データ#1には、サンプル#1-#10、補助データ#2には、サンプル#1-#20、MFメタデータには、サンプル#1-#30のサンプル情報がそれぞれ含まれる。
In FIG. 30(a),
なお、サンプル#1-#10、サンプル#11-#20、及びサンプル#21-#30は、一つのMMTペイロードに格納されているが、サンプル単位やNAL単位で格納されてもよいし、フラグメントやアグリゲーションした単位で格納されてもよい。 Note that samples #1-#10, samples #11-#20, and samples #21-#30 are stored in one MMT payload, but may be stored in sample units or NAL units, or may be stored in fragment or aggregate units.
受信装置20は、MPUメタ、サンプル、MFメタ、及び補助データのパケットをそれぞれ受信する。
The receiving
受信装置20は、サンプルデータを受信順に(後ろに)連結し、最新の補助データを受信した後に、これまでの補助データを更新する。また、受信装置20は、最後に補助データをMFメタデータに置き換えることにより、完全なMPUを構成できる。
The receiving
受信装置20は、補助データ#1を受信した時点では、図31の(b)の上段のようにデータを連結し、MP4を構成する。これにより、受信装置20は、MPUメタデータ、及び補助データ#1の情報を用いてサンプル#1-#10をパースすることができ、補助データに含まれるPTS、DTS、オフセット、及びサイズの情報に基づいて復号を行うことができる。
When receiving
また、受信装置20は、補助データ#2を受信した時点では、図31の(b)の中段のようにデータを連結し、MP4を構成する。これにより、受信装置20は、MPUメタデータ、及び補助データ#2の情報を用いてサンプル#1-#20をパースすることができ、補助データに含まれるPTS、DTS、オフセット、サイズの情報に基づいて復号を行うことができる。
Furthermore, when receiving
また、受信装置20は、MFメタデータを受信した時点では、図31の(b)の下段のようにデータを連結し、MP4を構成する。これにより、受信装置20は、MPUメタデータ、及びMFメタデータを用いてサンプル#1-#30をパースすることができ、MFメタデータに含まれるPTS、DTS、オフセット、及びサイズの情報に基づいて復号を行うことができる。
Furthermore, when the receiving
補助データが無い場合は、受信装置20は、MFメタデータの受信後にはじめてサンプルの情報を取得できるため、MFメタデータの受信後に復号を開始する必要があった。しかしながら、送信装置15が補助データを生成し、送信することにより、受信装置20は、MFメタデータの受信を待たずに、補助データを用いてサンプルの情報を取得できるため、復号開始時間を早めることができる。さらに、送信装置15が図30を用いて説明したmoofに基づく補助データを生成することにより、受信装置20は、従来のMP4のパーサーをそのまま利用し、パースすることが可能である。
If there is no auxiliary data, the receiving
また、新たに生成する補助データやMFメタデータは、過去に送信した補助データと重複するサンプルの情報を含む。このため、パケットロスなどにより過去の補助データを取得できなかった場合でも、新たに取得する補助データやMFメタデータを用いることで、MP4を再構成し、サンプルの情報(PTS、DTS、サイズ、及びオフセット)を取得することが可能である。 In addition, the newly generated auxiliary data and MF metadata contain sample information that overlaps with previously transmitted auxiliary data. Therefore, even if previous auxiliary data cannot be obtained due to packet loss, it is possible to reconstruct the MP4 and obtain sample information (PTS, DTS, size, and offset) by using the newly obtained auxiliary data and MF metadata.
なお、補助データは、必ずしも過去のサンプルデータの情報を含む必要はない。たとえば、補助データ#1は、サンプルデータ#1-#10に対応し、補助データ#2は、サンプルデータ#11-#20に対応してもよい。例えば、図31の(c)に示されるように、送信装置15は、完全なMFメタデータをデータユニットとして、データユニットをフラグメントした単位を補助データとして順次送出してもよい。
Note that auxiliary data does not necessarily have to include information about past sample data. For example,
また、送信装置15は、パケットロス対策のために、補助データを繰り返し伝送してもよいし、MFメタデータを繰り返し伝送してもよい。
In addition, the transmitting
なお、補助データが格納されるMMTパケット及びMMTペイロードには、MPUメタデータ、MFメタデータ、及びサンプルデータと同様に、MPUシーケンス番号、及びアセットIDが含まれる。 The MMT packets and MMT payloads in which auxiliary data is stored contain an MPU sequence number and an asset ID, as well as MPU metadata, MF metadata, and sample data.
以上のような補助データを用いた受信動作について図32のフローチャートを用いて説明する。図32は、補助データを用いた受信動作のフローチャートである。 The above-described reception operation using auxiliary data will be explained using the flowchart in FIG. 32. FIG. 32 is a flowchart of the reception operation using auxiliary data.
まず、受信装置20は、MMTパケットを受信し、パケットヘッダやペイロードヘッダを解析する(S501)。次に、受信装置20は、フラグメントタイプが補助データか、MFメタデータかを解析し(S502)、フラグメントタイプが補助データである場合には、過去の補助データを上書きして更新する(S503)。このとき、同一MPUの過去の補助データがない場合には、受信装置20は、受信した補助データをそのまま新規の補助データとする。そして、受信装置20は、MPUメタデータ、補助データ、及びサンプルデータに基づき、サンプルを取得し、復号を行う(S507)。
First, the receiving
一方、フラグメントタイプがMFメタデータである場合には、受信装置20は、ステップS505において、過去の補助データをMFメタデータで上書きする(S505)。そして、受信装置20は、MPUメタデータ、MFメタデータ、及びサンプルデータに基づきサンプルを完全なMPUの形で取得し、復号を行う(S506)。
On the other hand, if the fragment type is MF metadata, in step S505, the receiving
なお、図32において図示されないが、ステップS502において、受信装置20は、フラグメントタイプがMPUメタデータである場合には、データをバッファに格納し、サンプルデータである場合には、サンプル毎に後ろに連結したデータをバッファに格納する。
Although not shown in FIG. 32, in step S502, if the fragment type is MPU metadata, the receiving
パケットロスにより補助データが取得できなかった場合は、受信装置20は、最新の補助データにより上書きを行うか、あるいは過去の補助データを用いることによりサンプルを復号することができる。
If auxiliary data cannot be obtained due to packet loss, the receiving
なお、補助データの送出周期及び送出回数はあらかじめ定められた値であってもよい。送出周期や回数(カウント、カウンドダウン)の情報は、データと一緒に送信されてもよい。例えば、データユニットヘッダに、送出周期、送出回数、及びinitial_cpb_removal_delayなどのタイムスタンプが格納されてもよい。 The transmission cycle and the number of transmissions of the auxiliary data may be predetermined values. Information on the transmission cycle and the number of times (count, countdown) may be transmitted together with the data. For example, the transmission cycle, the number of times of transmission, and timestamps such as initial_cpb_removal_delay may be stored in the data unit header.
MPUの初めのサンプルの情報を含む補助データをinitial_cpb_removal_delayより先に1回以上送信することにより、CPBバッファモデルに従うことが可能となる。このとき、MPUタイムスタンプ記述子には、picture timing SEIに基づいた値を格納される。 By sending auxiliary data containing information about the first sample of the MPU at least once before initial_cpb_removal_delay, it is possible to comply with the CPB buffer model. At this time, the MPU timestamp descriptor stores a value based on the picture timing SEI.
なお、このような補助データが使用される受信動作における伝送方式は、MMT方式に限定されず、MPEG-DASHなど、ISOBMFFファイルフォーマットで構成されるパケットをストリーミング伝送する場合などに適用可能である。 Note that the transmission method for receiving operations in which such auxiliary data is used is not limited to the MMT method, but can also be applied to cases such as streaming transmission of packets configured in ISOBMFF file format, such as MPEG-DASH.
[1つのMPUが複数のムービーフラグメントで構成される場合の送信方法]
上記図19以降の説明においては、1つのMPUが、1つのムービーフラグメントで構成されたが、ここでは、1つのMPUが複数のムービーフラグメントで構成される場合について説明する。図33は、複数のムービーフラグメントで構成されるMPUの構成を示す図である。
[Transmission method when one MPU consists of multiple movie fragments]
In the above description from Fig. 19 onwards, one MPU is composed of one movie fragment, but here, a case where one MPU is composed of multiple movie fragments will be described. Fig. 33 shows the structure of an MPU composed of multiple movie fragments.
図33では、1つのMPUに格納されるサンプル(#1-#6)は、2つのムービーフラグメントに分けて格納される。第1のムービーフラグメントは、サンプル#1-#3に基づいて生成され、対応するmoofボックスが生成される。第2のムービーフラグメントは、サンプル#4-#6に基づいて生成され、対応するmoofボックスが生成される。 In Figure 33, samples (#1-#6) stored in one MPU are stored in two movie fragments. The first movie fragment is generated based on samples #1-#3, and a corresponding moof box is generated. The second movie fragment is generated based on samples #4-#6, and a corresponding moof box is generated.
第1のムービーフラグメントにおけるmoofボックス及びmdatボックスのヘッダは、ムービーフラグメントメタデータ#1としてMMTペイロード及びMMTパケットに格納される。一方、第2のムービーフラグメントにおけるmoofボックス及びmdatボックスのヘッダは、ムービーフラグメントメタデータ#2としてMMTペイロード及びMMTパケットに格納される。なお、図33において、ムービーフラグメントメタデータが格納されたMMTペイロードは、ハッチングされている。
The headers of the moof box and mdat box in the first movie fragment are stored in the MMT payload and MMT packet as movie
なお、MPUを構成するサンプル数や、ムービーフラグメントを構成するサンプル数は任意である。例えば、MPUを構成するサンプル数をGOP単位のサンプル数とし、GOP単位の2分の1のサンプル数をムービーフラグメントとして、2つのムービーフラグメントが構成されてもよい。 The number of samples constituting an MPU and the number of samples constituting a movie fragment are arbitrary. For example, the number of samples constituting an MPU may be the number of samples in a GOP unit, and two movie fragments may be constructed by using half the number of samples in a GOP unit as a movie fragment.
なお、ここでは、一つのMPUに2つのムービーフラグメント(moofボックス及びmdatボックス)を含む例を示すが、1つのMPUに含むムービーフラグメントは2つでなくとも、3つ以上であってもよい。また、ムービーフラグメントに格納するサンプルは等分したサンプル数でなく、任意のサンプル数に分割してもよい。 Note that, although an example is shown here in which one MPU contains two movie fragments (a moof box and an mdat box), one MPU may contain more than two movie fragments, or may contain three or more movie fragments. Also, the samples stored in the movie fragment do not have to be divided into equal samples, but may be divided into any number of samples.
なお、図33では、MPUメタデータ単位及びMFメタデータ単位がそれぞれデータユニットとしてMMTペイロードに格納されている。しかしながら、送信装置15は、ftyp、mmpu、moov、及びmoofなどの単位をデータユニットとして、データユニット単位でMMTペイロードに格納してもよいし、データユニットをフラグメントした単位でMMTペイロードに格納してもよい。また、送信装置15は、データユニットをアグリゲーションした単位でMMTペイロードに格納してもよい。
In FIG. 33, the MPU metadata unit and the MF metadata unit are each stored as a data unit in the MMT payload. However, the transmitting
また、図33では、サンプルは、サンプル単位でMMTペイロードに格納されている。しかしながら、送信装置15は、サンプル単位でなくともNALユニット単位または複数のNALユニットをまとめた単位でデータユニットを構成し、データユニット単位でMMTペイロードに格納してもよい。また、送信装置15は、データユニットをフラグメントした単位でMMTペイロードに格納してもよいし、データユニットをアグリゲーションした単位でMMTペイロードに格納してもよい。
In addition, in FIG. 33, samples are stored in the MMT payload in sample units. However, transmitting
なお、図33では、moof#1、mdat#1、moof#2、mdat#2の順にMPUが構成され、moof#1には、対応するmdat#1が後ろについているものとしてoffsetが付与されている。しかしながら、mdat#1がmoof#1より前についているものしてoffsetが付与されてもよい。ただし、この場合、moof+mdatの形でムービーフラグメントメタデータを生成することはできず、moof及びmdatのヘッダはそれぞれ別々に伝送される。
In FIG. 33, the MPU is configured in the order of
次に、図33で説明した構成のMPUが伝送される場合のMMTパケットの送信順序について説明する。図34は、MMTパケットの送信順序を説明するための図である。 Next, we will explain the transmission order of MMT packets when an MPU with the configuration described in Figure 33 is transmitted. Figure 34 is a diagram for explaining the transmission order of MMT packets.
図34の(a)は、図33に示されるMPUの構成順序でMMTパケットを送信する場合の送信順序を示している。図34の(a)は、具体的には、MPUメタ、MFメタ#1、メディアデータ#1(サンプル#1-#3)、MFメタ#2、メディアデータ#2(サンプル#4-#6)の順に送信する例を示す。
Figure 34 (a) shows the transmission order when transmitting MMT packets in the configuration order of the MPUs shown in Figure 33. Specifically, Figure 34 (a) shows an example in which MPU meta,
図34の(b)は、MPUメタ、メディアデータ#1(サンプル#1-#3)、MFメタ#1、メディアデータ#2(サンプル#4-#6)、MFメタ#2の順に送信する例を示す。
(b) in Figure 34 shows an example of transmitting MPU meta, media data #1 (samples #1-#3),
図34の(c)は、メディアデータ#1(サンプル#1-#3)、MPUメタ、MFメタ#1、メディアデータ#2(サンプル#4-#6)、MFメタ#2の順に送信する例を示す。
(c) in Figure 34 shows an example of transmitting media data #1 (samples #1-#3), MPU meta,
MFメタ#1は、サンプル#1-#3を用いて生成され、MFメタ#2はサンプル#4-#6を用いて生成される。このため、図34の(a)の送信方法が用いられる場合には、サンプルデータの送信にはカプセル化による遅延が発生する。
これに対し、図34の(b)及び図34の(c)の送信方法が用いられる場合には、MFメタを生成するのを待たずにサンプルを送信可能であるため、カプセル化による遅延は発生せず、End-to-End遅延を低減できる。 In contrast, when the transmission methods in Figures 34(b) and 34(c) are used, samples can be transmitted without waiting for the generation of MF meta, so no delay due to encapsulation occurs and end-to-end delay can be reduced.
また、図34の(a)送信順序においても、1つのMPUが複数のムービーフラグメントに分割され、MFメタに格納されるサンプル数が図19の場合に対して小さくなっているため、図19の場合よりもカプセル化による遅延量を小さくすることができる。 Also, in the transmission order of Figure 34 (a), one MPU is divided into multiple movie fragments, and the number of samples stored in the MF meta is smaller than in the case of Figure 19, so the amount of delay due to encapsulation can be made smaller than in the case of Figure 19.
なお、ここで示した方法以外に、例えば、送信装置15は、MFメタ#1及びMFメタ#2を連結し、MPUの最後にまとめて送信してもよい。この場合、異なるムービーフラグメントのMFメタがアグリゲーションされて、一つのMMTペイロードに格納されてもよい。また、異なるMPUのMFメタがまとめてアグリゲーションされてMMTペイロードに格納されてもよい。
In addition to the method shown here, for example, the transmitting
[1つのMPUが複数のムービーフラグメントで構成される場合の受信方法]
ここでは、図34の(b)で説明した送信順序で送信されたMMTパケットを受信して復号する受信装置20の動作例について説明する。図35及び図36は、このような動作例を説明するための図である。
[Reception method when one MPU consists of multiple movie fragments]
Here, an operation example of the receiving
受信装置20は、図35に示されるような送信順序で送信された、MPUメタ、サンプル、及びMFメタを含むMMTパケットをそれぞれ受信する。サンプルデータは、受信順に連結される。
The receiving
受信装置20は、MFメタ#1を受信した時刻であるT1に、図36の(1)に示されるようにデータを連結し、MP4を構成する。これにより、受信装置20は、MPUメタデータ、及びMFメタ#1の情報に基づいてサンプル#1-#3を取得することができ、MFメタに含まれるPTS、DTS、オフセット、及びサイズの情報に基づいて復号を行うことができる。
At T1, which is the time when
また、受信装置20は、MFメタ#2を受信した時刻であるT2に、図36の(2)に示されるようにデータを連結し、MP4を構成する。これにより、受信装置20は、MPUメタデータ、及びMFメタ#2の情報を基づいてサンプル#4-#6を取得することができ、MFメタのPTS、DTS、オフセット、及びサイズの情報に基づいて復号を行うことができる。また、受信装置20は、図36の(3)に示されるようにデータを連結し、MP4を構成することでMFメタ#1及びMFメタ#2の情報に基づいてサンプル#1-#6を取得してもよい。
Furthermore, at T2, which is the time when
1つのMPUが複数のムービーフラグメントに分割することで、MPUの中で初めのMFメタを取得するまでの時間が短縮されるため、復号開始時間を早めることができる。また、復号前のサンプルを蓄積するためのバッファサイズを小さくすることができる。 By dividing one MPU into multiple movie fragments, the time it takes for the MPU to obtain the first MF meta is shortened, allowing the decoding start time to be accelerated. In addition, the buffer size for storing samples before decoding can be reduced.
なお、送信装置15は、ムービーフラグメントにおける初めのサンプルを送信(或いは受信)してからムービーフラグメントに対応するMFメタを送信(或いは受信)するまでの時間が、エンコーダで指定されるinitial_cpb_removal_delayより短い時間となるようにムービーフラグメントの分割単位を設定してもよい。このように設定することにより、受信バッファはcpbバッファに従うことができ、低遅延の復号を実現できる。この場合、PTS及びDTSにはinitial_cpb_removal_delayに基づいた絶対時刻を用いることができる。
The transmitting
また、送信装置15は、ムービーフラグメントの分割を等間隔、或いは、後続のムービーフラグメントを前のムービーフラグメントより短い間隔で分割してもよい。これにより、受信装置20は、サンプルの復号前に必ず当該サンプルの情報を含むMFメタを受信することができ、連続した復号が可能となる。
The transmitting
PTS、及びDTSの絶対時刻の算出方法は、下記の2通りの方法を用いることができる。 The following two methods can be used to calculate the absolute time of the PTS and DTS.
(1)PTS及びDTSの絶対時刻は、MFメタ#1やMFメタ#2の受信時刻(T1或いはT2)、及びMFメタに含まれるPTS及びDTSの相対時刻に基づいて決定される。
(1) The absolute time of the PTS and DTS is determined based on the reception time (T1 or T2) of MF
(2)PTS及びDTSの絶対時刻は、MPUタイムスタンプ記述子等、送信側からシグナリングされる絶対時刻、及びMFメタに含まれるPTS及びDTSの相対時刻に基づいて決定される。 (2) The absolute time of the PTS and DTS is determined based on the absolute time signaled from the transmitting side, such as the MPU timestamp descriptor, and the relative time of the PTS and DTS included in the MF meta.
また、(2-A)送信装置15がシグナリングする絶対時刻は、エンコーダから指定されるinitial_cpb_removal_delayに基づいて算出された絶対時刻であってもよい。
In addition, (2-A) the absolute time signaled by the transmitting
また、(2-B)送信装置15がシグナリングする絶対時刻は、MFメタの受信時刻の予測値に基づいて算出された絶対時刻であってもよい。
In addition, (2-B) the absolute time signaled by the transmitting
なお、MFメタ#1及びMFメタ#2は、繰り返し伝送されてもよい。MFメタ#1及びMFメタ#2が繰り返し伝送されることにより、受信装置20は、MFメタをパケットロス等により取得できなかった場合でも、もう一度取得することができる。
In addition,
ムービーフラグメントを構成するサンプルを含むMFUのペイロードヘッダには、ムービーフラグメントの順番を示す識別子を格納することができる。一方、ムービーフラグメントを構成するMFメタの順番を示す識別子はMMTペイロードには含まれない。このため、受信装置20は、packet_sequence_numberでMFメタの順番を識別する。或いは、送信装置15は、MFメタが何番目のムービーフラグメントに属するかを示す識別子を、制御情報(メッセージ、テーブル、記述子)、MMTヘッダ、MMTペイロードヘッダ、またはデータユニットヘッダに格納してシグナリングしてもよい。
The payload header of an MFU containing samples that constitute a movie fragment can store an identifier indicating the order of the movie fragment. On the other hand, an identifier indicating the order of the MF meta that constitutes the movie fragment is not included in the MMT payload. For this reason, the receiving
なお、送信装置15は、MPUメタ、MFメタ、及びサンプルを、あらかじめ定められた所定の送信順序で送信し、受信装置20は、あらかじめ定められた所定の送信順序に基づいて受信処理を実施してもよい。また、送信装置15は、送信順序をシグナリングし、シグナリング情報に基づいて受信装置20が受信処理を選択(判断)してもよい。
The transmitting
上記のような受信方法について、図37を用いて説明する。図37は、図35及び図36で説明した受信方法の動作のフローチャートである。 The above-described receiving method will be explained using FIG. 37. FIG. 37 is a flowchart showing the operation of the receiving method explained in FIG. 35 and FIG. 36.
まず、受信装置20は、MMTペイロードに示されるフラグメントタイプにより、ペイロードに含まれるデータが、MPUメタデータ、MFメタデータであるか、サンプルデータ(MFU)であるかを判別(識別)する(S601、S602)。データがサンプルデータである場合には、受信装置20は、サンプルをバッファリングし、当該サンプルに対応するMFメタデータの受信、及び復号開始を待つ(S603)。
First, the receiving
一方、ステップS602において、データがMFメタデータである場合には、受信装置20は、MFメタデータよりサンプルの情報(PTS、DTS、位置情報、及びサイズ)を取得し、取得したサンプルの情報に基づいてサンプルを取得し、PTS及びDTSに基づいてサンプルを復号、提示する(S604)。
On the other hand, in step S602, if the data is MF metadata, the receiving
なお、図示されないが、データがMPUメタデータである場合、MPUメタデータには、復号に必要な初期化情報が含まれている。このため、受信装置20はこれを蓄積し、ステップS604においてサンプルデータの復号に用いる。
Although not shown, if the data is MPU metadata, the MPU metadata contains initialization information necessary for decoding. Therefore, the receiving
なお、受信装置20は、受信したMPUのデータ(MPUメタデータ、MFメタデータ、及びサンプルデータ)を蓄積装置に蓄積する場合には、図19または図33で説明した、MPUの構成に並び替えた後に、蓄積する。
When the receiving
なお、送信側においては、MMTパケットには、同一のパケットIDを持つパケットに対して、パケットシーケンス番号を付与する。このとき、MPUメタデータ、MFメタデータ、サンプルデータを含むMMTパケットが送信順序に並び替えられた後にパケットシーケンス番号が付与されてもよいし、並び替える前の順序でパケットシーケンス番号が付与されてもよい。 In addition, on the transmitting side, a packet sequence number is assigned to MMT packets with the same packet ID. At this time, the packet sequence number may be assigned after the MMT packets containing the MPU metadata, MF metadata, and sample data are rearranged in the transmission order, or the packet sequence number may be assigned in the order before rearrangement.
並び替える前の順序でパケットシーケンス番号が付与される場合には、受信装置20において、パケットシーケンス番号に基づいて、データをMPUの構成順序に並び替えることができ、蓄積が容易となる。
If packet sequence numbers are assigned in the order before rearrangement, the receiving
[アクセスユニットの先頭及びスライスセグメントの先頭を検出する方法]
MMTパケットヘッダ、及びMMTペイロードヘッダの情報に基づき、アクセスユニットの先頭やスライスセグメントの先頭を検出する方法について説明する。
[Method for detecting the start of an access unit and the start of a slice segment]
A method for detecting the beginning of an access unit or the beginning of a slice segment based on information in the MMT packet header and the MMT payload header will be described.
ここでは、非VCL NALユニット(アクセスユニットデリミタ、VPS、SPS、PPS、及びSEIなど)を、まとめてデータユニットとしてMMTペイロードに格納する場合、及び、非VCL NALユニットをそれぞれデータユニットとし、データユニットをアグリゲーションして1つのMMTペイロードに格納する場合の2つの例を示す。 Two examples are shown here: one in which non-VCL NAL units (such as access unit delimiters, VPS, SPS, PPS, and SEI) are collectively stored as data units in the MMT payload, and the other in which each non-VCL NAL unit is treated as a data unit, and the data units are aggregated and stored in a single MMT payload.
図38は、非VCL NALユニットを、個別にデータユニットとし、アグリゲーションする場合を示す図である。 Figure 38 shows a case where non-VCL NAL units are aggregated as individual data units.
図38の場合、アクセスユニットの先頭は、fragment_type値がMFUであるMMTパケットであり、かつ、aggregation_flag値が1であり、かつoffset値が0であるデータユニットを含むMMTペイロードの先頭データである。このとき、Fragmentation_indicator値は0である。 In the case of FIG. 38, the start of the access unit is an MMT packet whose fragment_type value is MFU, and is the start data of an MMT payload that includes a data unit whose aggregation_flag value is 1 and whose offset value is 0. In this case, the Fragmentation_indicator value is 0.
また、図38の場合、スライスセグメントの先頭は、fragment_type値がMFUであるMMTパケットであり、かつaggregation_flag値が0、fragmentation_indicator値が00或いは01であるMMTペイロードの先頭データである。 In the case of FIG. 38, the start of a slice segment is an MMT packet whose fragment_type value is MFU, and is the start data of an MMT payload whose aggregation_flag value is 0 and whose fragmentation_indicator value is 00 or 01.
図39は、非VCL NALユニットを、まとめてデータユニットとする場合を示す図である。なお、パケットヘッダのフィールド値は、図17(または図18)で示した通りである。 Figure 39 shows a case where non-VCL NAL units are grouped together into a data unit. Note that the field values of the packet header are as shown in Figure 17 (or Figure 18).
図39の場合、アクセスユニットの先頭は、Offset値が0であるパケットにおけるペイロードの先頭データが、アクセスユニットの先頭となる。 In the case of Figure 39, the start of the access unit is the first data in the payload of a packet with an Offset value of 0.
また、図39の場合、スライスセグメントの先頭は、Offset値が0とは異なる値であり、fragmentation indicator値が00或いは01であるパケットのペイロードの先頭データが、スライスセグメントの先頭となる。 In the case of FIG. 39, the start of a slice segment is the first data of the payload of a packet whose offset value is a value other than 0 and whose fragmentation indicator value is 00 or 01.
[パケットロスが発生した場合の受信処理]
通常、パケットロスが発生する環境において、MP4形式のデータを伝送する場合、受信装置20は、ALFEC(Application Layer FEC)や、パケット再送制御等によりパケットを復元する。
[Reception process when packet loss occurs]
Typically, when transmitting MP4 format data in an environment where packet loss occurs, the receiving
しかし、放送のようなストリーミングにおいてAL-FECを用いられない場合にパケットロスが発生した場合には、パケットを復元できない。 However, if AL-FEC cannot be used in streaming such as broadcasting and packet loss occurs, the packets cannot be restored.
受信装置20は、パケットロスによりデータが失われた後、再び映像や音声の復号を再開させる必要がある。そのためには、受信装置20は、アクセスユニットやNALユニットの先頭を検出し、アクセスユニットやNALユニットの先頭から復号を開始する必要がある。
After data is lost due to packet loss, the receiving
しかし、MP4形式のNALユニットの先頭には、スタートコードがついていないため、受信装置20は、ストリームを解析しても、アクセスユニットやNALユニットの先頭を検出できない。
However, since there is no start code at the beginning of an MP4 format NAL unit, the receiving
図40は、パケットロスが発生した場合の受信装置20の動作のフローチャートである。
Figure 40 is a flowchart showing the operation of the receiving
受信装置20は、MMTパケットやMMTペイロードのヘッダにおけるPacketsequence numberや、packet counter、fragment counterなどによりパケットロスを検出し(S701)、前後の関係から、どのパケットが消失したかを判定する(S702)。
The receiving
受信装置20は、パケットロスが発生していないと判定された場合(S702でNo)には、MP4ファイルを構成し、アクセスユニット或いはNALユニットを復号する(S703)。
If the receiving
受信装置20は、パケットロスが発生したと判定された場合(S702でYes)には、パケットロスしたNALユニットに相当するNALユニットをダミーデータにより生成し、MP4ファイルを構成する(S704)。受信装置20は、NALユニットにダミーデータを入れる場合には、NALユニットのタイプにダミーデータであることを示す。
When it is determined that a packet loss has occurred (Yes in S702), the receiving
また、受信装置20は、図17、図18、図38、及び図39で説明した方法に基づいて、次のアクセスユニットやNALユニットの先頭を検出し、先頭データからデコーダに入力することで、復号を再開することができる(S705)。
In addition, the receiving
なお、パケットロスが発生した場合には、受信装置20は、パケットヘッダに基づいて検出された情報に基づいてアクセスユニット及びNALユニットの先頭から復号を再開してもよいし、ダミーデータのNALユニットを含む、再構成されたMP4ファイルのヘッダ情報に基づいてアクセスユニット及びNALユニットの先頭から復号を再開してもよい。
In addition, if a packet loss occurs, the receiving
受信装置20は、MP4ファイル(MPU)を蓄積する際には、パケットロスにより消失したパケットデータ(NALユニットなど)は、放送や通信から別途取得して蓄積(置き換え)してもよい。
When storing an MP4 file (MPU), the receiving
このとき、受信装置20は、消失したパケットを通信から取得する場合には、消失したパケットの情報(パケットIDや、MPUシーケンス番号、パケットシーケンス番号、IPデータフロー番号、及びIPアドレスなど)をサーバーに通知し、当該パケットを取得する。受信装置20は、消失したパケットのみに限らず、消失したパケット前後のパケット群を同時に取得してもよい。
At this time, when the receiving
[ムービーフラグメントの構成方法]
ここでは、ムービーフラグメントの構成方法について詳細に説明する。
[How to compose a movie fragment]
Here we will explain in detail how to configure movie fragments.
図33で説明されたように、ムービーフラグメントを構成するサンプル数、及び、1つのMPUを構成するムービーフラグメント数は、任意である。例えば、ムービーフラグメントを構成するサンプル数、及び、1つのMPUを構成するムービーフラグメント数は、固定的に定められた所定の数であってもよいし、動的に決定されてもよい。 As described in FIG. 33, the number of samples that make up a movie fragment and the number of movie fragments that make up one MPU are arbitrary. For example, the number of samples that make up a movie fragment and the number of movie fragments that make up one MPU may be a fixed, predetermined number, or may be dynamically determined.
ここで、送信側(送信装置15)において下記の条件を満たすようにムービーフラグメントが構成されることで、受信装置20における低遅延の復号を保証することができる。
Here, by configuring the movie fragment on the transmitting side (transmitting device 15) to satisfy the following conditions, low-latency decoding can be guaranteed on the receiving
その条件とは、以下の通りである。 The conditions are as follows:
送信装置15は、受信装置20が、任意のサンプル(Sample(i))の復号時刻(DTS(i))より前には必ず当該サンプルの情報を含むMFメタを受信できるように、サンプルデータを分割した単位をムービーフラグメントとしてMFメタを生成・送信する。
The transmitting
具体的には、送信装置15は、DTS(i)より前に符号化済のサンプル(i番目のサンプルを含む)を用いてムービーフラグメントを構成する。
Specifically, the transmitting
低遅延の復号を保証するように、ムービーフラグメントを構成するサンプル数や1つのMPUを構成するムービーフラグメント数を動的に決定する方法としては、例えば、下記の方法が用いられる。 To ensure low-latency decoding, the following method, for example, is used to dynamically determine the number of samples that make up a movie fragment or the number of movie fragments that make up one MPU.
(1)復号開始時、GOP先頭のサンプルSample(0)の復号時刻DTS(0)は、initial_cpb_removal_delayに基づいた時刻である。送信装置は、DTS(0)より前の時刻に、符号化完了済のサンプルを用いて第1のムービーフラグメントを構成する。また、送信装置15は、第1のムービーフラグメントに対応するMFメタデータを生成し、DTS(0)より前の時刻に送信する。
(1) When decoding starts, the decoding time DTS(0) of the first sample Sample(0) of the GOP is a time based on initial_cpb_removal_delay. The transmitting device constructs a first movie fragment using samples that have already been encoded at a time before DTS(0). The transmitting
(2)送信装置15は、以降のサンプルにおいても、上記の条件を満たすようにムービーフラグメントを構成する。
(2) The transmitting
例えば、ムービーフラグメントの先頭のサンプルがk番目のサンプルであるとしたとき、k番目のサンプルを含むムービーフラグメントのMFメタは、k番目のサンプルの復号時刻DTS(k)までに送信される。送信装置15は、l番目のサンプルの符号化完了時刻がDTS(k)より前であり、(l+1)番目のサンプルの符号化完了時刻がDTS(k)より後である場合には、k番目のサンプルからl番目のサンプルを用いてムービーフラグメントを構成する。
For example, if the first sample of a movie fragment is the kth sample, the MF meta of the movie fragment including the kth sample is transmitted by the decoding time DTS(k) of the kth sample. If the encoding completion time of the lth sample is before DTS(k) and the encoding completion time of the (l+1)th sample is after DTS(k), the transmitting
なお、送信装置15は、k番目のサンプルから、l番目に満たないサンプルまでを用いてムービーフラグメントを構成してもよい。
In addition, the transmitting
(3)送信装置15は、MPU最後のサンプルの符号化完了後、残りのサンプルを用いてムービーフラグメントを構成し、当該ムービーフラグメントに対応するMFメタデータを生成し、送信する。
(3) After completing the encoding of the last sample of the MPU, the transmitting
なお、送信装置15は、符号化完了済のすべてのサンプルを用いてムービーフラグメントを構成せずに、符号化完了済の一部のサンプルを用いてムービーフラグメントを構成してもよい。
In addition, the transmitting
なお、上記では、低遅延の復号を保証するように、上記条件に基づいて動的に、ムービーフラグメントを構成するサンプル数、及び、1つのMPUを構成するムービーフラグメント数が決定される例を示した。しかしながら、サンプル数及びムービーフラグメント数の決定方法は、このような方法に限定されるものではない。例えば、1つのMPUを構成するムービーフラグメント数が所定の値に固定され、上記条件を満たすようにサンプル数が決定されてもよい。また、1つのMPUを構成するムービーフラグメント数、及びムービーフラグメントを分割する時刻(或いはムービーフラグメントの符号量)が所定の値に固定され、上記条件を満たすようにサンプル数が決定されてもよい。 In the above, an example has been shown in which the number of samples constituting a movie fragment and the number of movie fragments constituting one MPU are dynamically determined based on the above conditions to ensure low-latency decoding. However, the method of determining the number of samples and the number of movie fragments is not limited to this method. For example, the number of movie fragments constituting one MPU may be fixed to a predetermined value, and the number of samples may be determined to satisfy the above conditions. Also, the number of movie fragments constituting one MPU and the time at which the movie fragments are divided (or the code amount of the movie fragments) may be fixed to a predetermined value, and the number of samples may be determined to satisfy the above conditions.
また、MPUが複数のムービーフラグメントに分割されている場合、MPUが複数のムービーフラグメントに分割されているかどうかを示す情報、分割されたムービーフラグメントの属性、または分割されたムービーフラグメントに対するMFメタの属性が送信されてもよい。 In addition, if the MPU is split into multiple movie fragments, information indicating whether the MPU is split into multiple movie fragments, attributes of the split movie fragments, or MF meta attributes for the split movie fragments may be transmitted.
ここで、ムービーフラグメントの属性とは、ムービーフラグメントが、MPUの先頭のムービーフラグメントであるか、MPUの最後のムービーフラグメントであるか、それ以外のムービーフラグメントであるか等を示す情報である。 Here, the attributes of a movie fragment are information that indicates whether the movie fragment is the first movie fragment of an MPU, the last movie fragment of an MPU, or some other movie fragment.
また、MFメタの属性とは、MFメタが、MPUの先頭のムービーフラグメントに対応するMFメタであるか、MPUの最後のムービーフラグメントに対応するMFメタであるか、それ以外のムービーフラグメントに対応するMFメタであるか等を示す情報である。 In addition, the attributes of MF meta are information that indicates whether the MF meta corresponds to the first movie fragment of the MPU, the last movie fragment of the MPU, or any other movie fragment.
なお、送信装置15は、ムービーフラグメントを構成するサンプル数、及び、1つのMPUを構成するムービーフラグメント数を制御情報として格納し、送信してもよい。
The transmitting
[受信装置の動作]
上記のように構成されたムービーフラグメントに基づく受信装置20の動作について説明する。
[Operation of the receiving device]
The operation of the receiving
受信装置20は、PTS及びDTSのそれぞれの絶対時刻を、MPUタイムスタンプ記述子等、送信側からシグナリングされる絶対時刻、及びMFメタに含まれるPTS及びDTSの相対時刻に基づいて決定する。
The receiving
受信装置20は、MPUが複数のムービーフラグメントに分割されているかどうかの情報に基づいて、MPUが分割されている場合は、分割されたムービーフラグメントの属性に基づいて、下記のように処理をする。
Based on information on whether the MPU is divided into multiple movie fragments, the receiving
(1)受信装置20は、ムービーフラグメントがMPUの先頭のムービーフラグメントである場合、MPUタイムスタンプ記述子に含まれる先頭サンプルのPTSの絶対時刻、及びMFメタに含まれるPTS及びDTSの相対時刻を用いて、PTS及びDTSの絶対時刻を生成する。
(1) When a movie fragment is the first movie fragment of an MPU, the receiving
(2)受信装置20は、ムービーフラグメントがMPUの先頭のムービーフラグメントでない場合、MPUタイムスタンプ記述子の情報を用いずに、MFメタに含まれるPTS及びDTSの相対時刻を用いて、PTS及びDTSの絶対時刻を生成する。
(2) If the movie fragment is not the first movie fragment of the MPU, the receiving
(3)受信装置20は、ムービーフラグメントがMPUの最後のムービーフラグメントである場合、すべてのサンプルのPTS及びDTSの絶対時刻を算出後、PTS及びDTSの計算処理(相対時刻の加算処理)をリセットする。なお、リセット処理は、MPU先頭のムービーフラグメントにおいて実施してもよい。
(3) When the movie fragment is the last movie fragment of an MPU, the receiving
受信装置20は、下記のようにムービーフラグメントが分割されているかどうかの判定を行ってもよい。また、受信装置20は、下記のようにムービーフラグメントの属性情報を取得してもよい。
The receiving
例えば、受信装置20は、MMTP(MMT Protocol)ペイロードヘッダに示されるムービーフラグメントの順番を示す識別子movie_fragment_sequence_numberフィールド値に基づいて分割されているかどうかを判定してもよい。
For example, the receiving
具体的には、受信装置20は、1つのMPUに含まれるムービーフラグメントの数が1であり、かつ、movie_fragment_sequence_numberフィールド値が1であり、かつ、当該フィールド値が2以上の値が存在する場合に、当該MPUは複数のムービーフラグメントに分割されていると判定してもよい。
Specifically, the receiving
また、受信装置20は、1つのMPUに含まれるムービーフラグメントの数が1であり、かつ、movie_fragment_sequence_numberフィールド値が0であり、かつ、当該フィールド値が0以外の値が存在する場合に、当該MPUは複数のムービーフラグメントに分割されていると判定してもよい。
In addition, the receiving
ムービーフラグメントの属性情報も同様に、movie_fragment_sequence_numberに基づいて判定されてもよい。 The attribute information of the movie fragment may also be determined based on the movie_fragment_sequence_number.
なお、movie_fragment_sequence_numberを用いずとも、一つMPUに含まれるムービーフラグメントやMFメタの送信をカウントすることにより、ムービーフラグメントが分割されているかどうかや、ムービーフラグメントの属性情報を判定されてもよい。 In addition, without using movie_fragment_sequence_number, it is also possible to determine whether a movie fragment is divided and the attribute information of the movie fragment by counting the transmission of movie fragments and MF meta contained in one MPU.
以上説明したような送信装置15および受信装置20の構成により、受信装置20は、MPUよりも短い間隔でムービーフラグメントメタデータを受信でき、低遅延での復号開始が可能となる。また、MP4パースの方法に基づいた復号処理を用いて、低遅延での復号を行うことが可能となる。
By configuring the transmitting
以上説明したようにMPUが複数のムービーフラグメントに分割されている場合の受信動作について、フローチャートを用いて説明する。図41は、MPUが複数のムービーフラグメントに分割されている場合の受信動作のフローチャートである。なお、このフローチャートは、図37のステップS604の動作をより詳細に図示するものである。 The receiving operation when the MPU is divided into multiple movie fragments as described above will be explained using a flowchart. Figure 41 is a flowchart of the receiving operation when the MPU is divided into multiple movie fragments. Note that this flowchart illustrates the operation of step S604 in Figure 37 in more detail.
まず、受信装置20は、MMTPペイロードヘッダに示されるデータ種別に基づいて、データ種別がMFメタである場合に、MFメタデータを取得する(S801)。
First, the receiving
次に、受信装置20は、MPUが複数のムービーフラグメントに分割されているかどうかを判定し(S802)、MPUが複数のムービーフラグメントに分割されている場合(S802でYes)には、受信したMFメタデータがMPU先頭のメタデータであるかどうかを判定する(S803)。受信装置20は、受信したMFメタデータがMPU先頭のMFメタデータである場合(S803でYes)には、MPUタイムスタンプ記述子に示されるPTSの絶対時刻、並びにMFメタデータに示されるPTS及びDTSの相対時刻よりPTS及びDTSの絶対時刻を算出し(S804)、MPUの最後のメタデータであるかどうかの判定を行う(S805)。
Next, the receiving
一方、受信装置20は、受信したMFメタデータがMPU先頭のMFメタデータでない場合(S803でNo)には、MPUタイムスタンプ記述子の情報は用いずMFメタデータに示されるPTS及びDTSの相対時刻を用いてPTS及びDTSの絶対時刻を算出し(S808)、ステップS805の処理に移行する。
On the other hand, if the received MF metadata is not the MF metadata at the beginning of an MPU (No in S803), the receiving
ステップS805において、MPU最後のMFメタデータであると判定された場合(S805でYes)、受信装置20は、すべてのサンプルのPTS及びDTSの絶対時刻を算出後、PTS及びDTSの計算処理をリセットする。ステップS805においてMPU最後のMFメタデータでないと判定された場合(S805でNo)、受信装置20は処理を終了する。
If it is determined in step S805 that this is the last MF metadata of the MPU (Yes in S805), the receiving
また、ステップS802においてMPUが複数のムービーフラグメントに分割されていないと判定された場合(S802でNo)には、受信装置20は、MPUの後に送信されるMFメタデータに基づき、サンプルデータを取得し、PTS及びDTSを決定する(S807)。
Also, if it is determined in step S802 that the MPU is not divided into multiple movie fragments (No in S802), the receiving
そして、図示されないが、受信装置20は、最後に、決定したPTS及びDTSに基づいて復号処理、提示処理を実施する。
Then, although not shown, the receiving
[ムービーフラグメントを分割したときに発生する課題、及び、その解決策]
これまで、ムービーフラグメントを分割することによりEnd-to-End遅延を短縮する方法について説明してきた。ここからは、ムービーフラグメントを分割したときに新たに発生する課題、及び、その解決策について説明する。
[Issues that arise when splitting movie fragments and their solutions]
So far, we have explained how to reduce the end-to-end delay by dividing movie fragments. From here on, we will explain new issues that arise when dividing movie fragments and how to solve them.
まず、背景として、符号化データにおけるピクチャ構造について説明する。図42は、時間スケーラビリティを実現する際の各TemporalIdにおけるピクチャの予測構造の例を示す図である。 First, as background, we will explain the picture structure in the encoded data. Figure 42 shows an example of the prediction structure of pictures for each TemporalId when implementing temporal scalability.
MPEG-4 AVCやHEVC(High Efficiency Video Coding)などの符号化方式においては、他のピクチャから参照可能なBピクチャ(双方向参照予測ピクチャ)を用いることにより時間方向のスケーラビリティ(時間スケーラビリティ)が実現できる。 In coding formats such as MPEG-4 AVC and HEVC (High Efficiency Video Coding), temporal scalability can be achieved by using B-pictures (bidirectional reference predictive pictures) that can be referenced from other pictures.
図42の(a)に示されるTemporalIdとは、符号化構造の階層の識別子であり、TemporalIdは、値が大きくなるほど深い階層であることを示す。四角のブロックはピクチャを示し、ブロック内のIxは、Iピクチャ(画面内予測ピクチャ)、Pxは、Pピクチャ(前方参照予測ピクチャ)、Bx及びbxは、Bピクチャ(双方向参照予測ピクチャ)を示す。Ix/Px/Bxのxは表示オーダーを示し、ピクチャを表示する順番を表わす。ピクチャ間の矢印は参照関係を示し、例えば、B4のピクチャはI0、B8を参照画像として予測画像を生成することを示す。ここで、一のピクチャが、自らのTemporalIdより大きいTemporalIdを持つ他のピクチャを参照画像として使うことは禁止されている。階層が規定されているのは時間スケーラビリティを持たせるためであり、例えば、図42において全てのピクチャを復号すると120fps(frame per second)の映像が得られるが、TemporalIdが0から3までの階層のみを復号すると60fpsの映像が得られる。 TemporalId shown in FIG. 42(a) is an identifier of the hierarchy of the coding structure, and the larger the value of TemporalId, the deeper the hierarchy. The square blocks indicate pictures, and Ix in the blocks indicates I picture (intra-screen predicted picture), Px indicates P picture (forward reference predicted picture), and Bx and bx indicate B picture (bidirectional reference predicted picture). The x in Ix/Px/Bx indicates the display order, which indicates the order in which the pictures are displayed. The arrows between pictures indicate the reference relationship, and for example, picture B4 indicates that a predicted image is generated using I0 and B8 as reference images. Here, it is prohibited for one picture to use another picture with a TemporalId greater than its own TemporalId as a reference image. The layers are defined to allow for temporal scalability; for example, decoding all pictures in Figure 42 results in 120 fps (frame per second) video, but decoding only layers with TemporalId from 0 to 3 results in 60 fps video.
図43は、図42の各ピクチャにおける復号時刻(DTS)と表示時刻(PTS)との関係を示す図である。例えば、図43に示されるピクチャI0は、復号及び表示においてギャップが発生しないように、B4の復号完了後に表示される。 Figure 43 shows the relationship between the decode time (DTS) and the display time (PTS) for each picture in Figure 42. For example, picture I0 shown in Figure 43 is displayed after the decoding of B4 is completed so that there is no gap in the decoding and display.
図43に示されるように、予測構造にBピクチャが含まれる場合などには、復号順と表示順とが異なるため、受信装置20においてピクチャを復号後にピクチャの遅延処理、及び、ピクチャの並び替え(リオーダ)処理が必要となる。
As shown in FIG. 43, when the prediction structure includes a B picture, the decoding order and the display order are different, and therefore picture delay processing and picture reordering processing are required after decoding the picture in the receiving
以上、時間方向のスケーラビリティにおけるピクチャの予測構造の例について説明したが、時間方向のスケーラビリティが用いられない場合においても、予測構造によっては、ピクチャの遅延処理、及び、リオーダ処理が必要となる場合がある。図44は、ピクチャの遅延処理、及び、リオーダ処理が必要となるピクチャの予測構造の一例を示す図である。なお、図44における数字は、復号順を示す。 The above describes examples of picture prediction structures in temporal scalability, but even when temporal scalability is not used, picture delay and reorder processing may be required depending on the prediction structure. Figure 44 shows an example of a picture prediction structure that requires picture delay and reorder processing. Note that the numbers in Figure 44 indicate the decoding order.
図44に示されるように、予測構造によっては、復号順において先頭となるサンプルと、提示順において先頭となるサンプルが異なる場合があり、図44では、提示順で先頭となるサンプルは、復号順で4番目のサンプルとなる。なお、図44は、予測構造の一例を示すものであり、予測構造はこのような構造に限定されるものではない。他の予測構造においても、復号順において先頭となるサンプルと、提示順において先頭となるサンプルとが異なる場合がある。 As shown in FIG. 44, depending on the prediction structure, the first sample in decoding order may be different from the first sample in presentation order; in FIG. 44, the first sample in presentation order is the fourth sample in decoding order. Note that FIG. 44 shows an example of a prediction structure, and prediction structures are not limited to this structure. In other prediction structures, the first sample in decoding order may be different from the first sample in presentation order.
図45は、図33と同様に、MP4形式で構成されるMPUが複数のムービーフラグメントに分割されて、MMTPペイロード、MMTPパケットに格納される例を示す図である。なお、MPUを構成するサンプル数や、ムービーフラグメントを構成するサンプル数は任意である。例えば、MPUを構成するサンプル数をGOP単位のサンプル数とし、GOP単位の2分の1のサンプル数をムービーフラグメントとして、2つのムービーフラグメントが構成されてもよい。1サンプルが1つのムービーフラグメントとされてもよいし、MPUを構成するサンプルが分割されなくてもよい。 As with FIG. 33, FIG. 45 is a diagram showing an example in which an MPU in MP4 format is divided into multiple movie fragments and stored in an MMTP payload and MMTP packets. Note that the number of samples constituting an MPU and the number of samples constituting a movie fragment are arbitrary. For example, the number of samples constituting an MPU may be the number of samples in a GOP unit, and two movie fragments may be formed by using half the number of samples in a GOP unit as a movie fragment. One sample may be one movie fragment, or the samples constituting an MPU may not be divided.
図45では、1つのMPUに2つのムービーフラグメント(moofボックス及びmdatボックス)が含まれる例が示されているが、1つのMPUに含まれるムービーフラグメントは2つでなくてもよい。1つのMPUに含まれるムービーフラグメントは、3つ以上であってもよいし、MPUに含まれるサンプル数であってもよい。また、ムービーフラグメントに格納されるサンプルは等分したサンプル数でなく、任意のサンプル数に分割されてもよい。 Figure 45 shows an example in which one MPU contains two movie fragments (a moof box and an mdat box), but one MPU does not have to contain two movie fragments. One MPU may contain three or more movie fragments, or the number of samples contained in the MPU. Furthermore, the samples stored in a movie fragment do not have to be divided into an equal number of samples, but may be divided into any number of samples.
ムービーフラグメントメタデータ(MFメタデータ)には、ムービーフラグメントに含まれるサンプルのPTS、DTS、オフセット、及びサイズの情報が含まれており、受信装置20は、サンプルを復号する際には、当該サンプルの情報を含むMFメタからPTS及びDTSを抽出し、復号タイミングや提示タイミングを決定する。
Movie fragment metadata (MF metadata) contains information on the PTS, DTS, offset, and size of the samples contained in the movie fragment, and when the receiving
ここからは、詳細説明のために、iサンプルの復号時刻の絶対値をDTS(i)と記載し、提示時刻の絶対値をPTS(i)と記載する。 From here on, for the sake of detailed explanation, the absolute value of the decoding time of the i sample will be written as DTS(i), and the absolute value of the presentation time will be written as PTS(i).
MFメタにおけるmoof内に格納されているタイムスタンプ情報のうちi番目のサンプルの情報は、具体的には、i番目のサンプルと(i+1)番目のサンプルの復号時刻の相対値、及び、i番目のサンプルの復号時刻と提示時刻の相対値であり、これらを以降DT(i)及びCT(i)と記載する。 The information for the i-th sample among the timestamp information stored in the moof in the MF meta is specifically the relative value of the decoded time of the i-th sample and the (i+1)-th sample, and the relative value of the decoded time of the i-th sample and the presentation time, hereafter referred to as DT(i) and CT(i).
ムービーフラグメントメタデータ#1には、サンプル#1-#3のDT(i)及びCT(i)が含まれており、ムービーフラグメントメタデータ#2には、サンプル#4-#6のDT(i)及びCT(i)が含まれている。
Movie
また、MPU先頭のアクセスユニットのPTS絶対値は、MPUタイムスタンプ記述子などに格納されており、受信装置20は、MPU先頭のアクセスユニットのPTS_MPUと、CT及びDTとに基づいてPTS及びDTSを算出する。
In addition, the absolute PTS value of the first access unit of the MPU is stored in the MPU timestamp descriptor, etc., and the receiving
図46は、#1-#10のサンプルによりMPUが構成される場合のPTS及びDTSの算出方法と課題とを説明するための図である。 Figure 46 is a diagram to explain the calculation method and issues of PTS and DTS when an MPU is composed of samples #1-#10.
図46の(a)は、MPUがムービーフラグメントに分割されない例を示し、図46の(b)は、MPUが5サンプル単位の2つのムービーフラグメントに分割される例を示し、図46の(c)は、MPUがサンプル単位に10のムービーフラグメントに分割される例を示す。 Figure 46(a) shows an example where an MPU is not divided into movie fragments, Figure 46(b) shows an example where an MPU is divided into two movie fragments of 5 sample units, and Figure 46(c) shows an example where an MPU is divided into 10 movie fragments of sample units.
図45で説明したように、MPUタイムスタンプ記述子と、MP4内のタイムスタンプ情報(CT及びDT)とを用いてPTS及びDTSが算出される場合において、図44における提示順で先頭となるサンプルは、復号順で4番目である。このため、MPUタイムスタンプ記述子に格納されているPTSは、復号順で4番目のサンプルのPTS(絶対値)となる。なお、以降では、このサンプルをAサンプルと呼ぶ。また、復号順で先頭のサンプルをBサンプルと呼ぶ。 As explained in Figure 45, when the PTS and DTS are calculated using the MPU timestamp descriptor and the timestamp information (CT and DT) in the MP4, the first sample in the presentation order in Figure 44 is the fourth in the decoding order. Therefore, the PTS stored in the MPU timestamp descriptor is the PTS (absolute value) of the fourth sample in the decoding order. Note that hereafter, this sample will be referred to as the A sample. Also, the first sample in the decoding order will be referred to as the B sample.
タイムスタンプに係る絶対時刻情報は、MPUタイムスタンプ記述子の情報のみであるため、受信装置20は、Aサンプルが到着するまで、その他のサンプルのPTS(絶対時刻)及びDTS(絶対時刻)を算出できない。受信装置20は、BサンプルのPTS及びDTSも算出できない。
Since the only absolute time information related to the timestamp is the information in the MPU timestamp descriptor, the receiving
図46の(a)の例では、Aサンプルは、Bサンプルと同じムービーフラグメントに含まれ、一つのMFメタに格納される。このため、受信装置20は、当該MFメタを受信後、すぐにBサンプルのDTSを決定できる。
In the example of FIG. 46(a), sample A is included in the same movie fragment as sample B and is stored in one MF meta. Therefore, the receiving
図46の(b)の例では、Aサンプルは、Bサンプルと同じムービーフラグメントに含まれ、一つのMFメタに格納される。このため、受信装置20は、当該MFメタを受信後、すぐにBサンプルのDTSを決定できる。
In the example of FIG. 46(b), sample A is included in the same movie fragment as sample B and is stored in one MF meta. Therefore, the receiving
図46の(c)の例では、Aサンプルは、Bサンプルと異なるムービーフラグメントに含まれる。このため、受信装置20は、Aサンプルを含むムービーフラグメントのCT及びDTを含むMFメタを受信後でなければ、BサンプルのDTSを決定できない。
In the example of (c) in FIG. 46, sample A is included in a different movie fragment from sample B. Therefore, the receiving
したがって、図46の(c)の例の場合には、受信装置20は、Bサンプルの到着後、すぐに復号を開始できない。
Therefore, in the example of (c) in Figure 46, the receiving
このように、Bサンプルを含むムービーフラグメントに、Aサンプルが含まれない場合には、受信装置20は、Aサンプルを含むムービーフラグメントに係るMFメタを受信した後でなければ、Bサンプルの復号を開始できない。
In this way, if a movie fragment containing a B sample does not contain an A sample, the receiving
提示順で先頭のサンプルと、デコード順で先頭のサンプルとが一致しない場合において、AサンプルとBサンプルとが同一ムービーフラグメントに格納されなくなるまでにムービーフラグメントが分割されることにより、この課題は発生する。また、MFメタが後送りであるか先送りであるかにかかわらず、この課題は発生する。 This issue occurs when the first sample in presentation order does not match the first sample in decoding order, and the movie fragment is split to the point where sample A and sample B are no longer stored in the same movie fragment. This issue also occurs regardless of whether the MF meta is postponed or postponed.
このように、提示順で先頭のサンプルと、デコード順で先頭のサンプルとが一致しない場合において、Aサンプルと、Bサンプルとが同一ムービーフラグメントに格納されない場合には、Bサンプルの受信後、すぐにDTSを決定できない。そこで、送信装置15は、別途、BサンプルのDTS(絶対値)、或いはBサンプルのDTS(絶対値)を受信側において算出可能な情報を送信する。このような情報は、制御情報やパケットヘッダ等を用いて送信されてもよい。
In this way, when the first sample in presentation order does not match the first sample in decoding order, if sample A and sample B are not stored in the same movie fragment, the DTS cannot be determined immediately after receiving sample B. Therefore, transmitting
受信装置20は、このような情報を用いてBサンプルのDTS(絶対値)を算出する。図47は、このような情報を用いてDTSが算出される場合の受信動作のフローチャートである。
The receiving
受信装置20は、MPU先頭のムービーフラグメントを受信し(S901)、AサンプルとBサンプルとが同一ムービーフラグメントに格納されているかどうかを判定する(S902)。同一ムービーフラグメントに格納されている場合(S902でYes)は、受信装置20は、BサンプルのDTS(絶対時刻)を用いず、MFメタの情報のみを用いてDTSを算出し、復号を開始する(S904)。なお、ステップS904において、受信装置20は、BサンプルのDTSを用いてDTSを決定してもよい。
The receiving
一方、ステップS902においてAサンプルとBサンプルとが同一ムービーフラグメントに格納されていない場合(S902でNo)、受信装置20は、BサンプルのDTS(絶対時刻)を取得し、DTSを決定し、復号を開始する(S903)。
On the other hand, if sample A and sample B are not stored in the same movie fragment in step S902 (No in S902), the receiving
なお、以上の説明では、MMT規格におけるMFメタ(MP4形式のmoof内に格納されているタイムスタンプ情報)を用いて、各サンプルの復号時刻の絶対値と、提示時刻の絶対値とを算出する例について説明したが、MFメタを、各サンプルの復号時刻の絶対値と、提示時刻の絶対値を算出に用いることができる任意の制御情報に置き換えて実施しても良いことは言うまでもない。このような制御情報の例としては、上述したi番目のサンプルと(i+1)番目のサンプルの復号時刻の相対値CT(i)を、i番目のサンプルと(i+1)番目のサンプルの提示時刻の相対値に置き換えた制御情報や、i番目のサンプルと(i+1)番目のサンプルの復号時刻の相対値CT(i)とi番目のサンプルと(i+1)番目のサンプルの提示時刻の相対値との両方を含む制御情報などがある。 In the above description, an example was described in which the absolute value of the decoded time and the absolute value of the presentation time of each sample were calculated using the MF meta (timestamp information stored in the moof in MP4 format) in the MMT standard. However, it goes without saying that the MF meta may be replaced with any control information that can be used to calculate the absolute value of the decoded time and the absolute value of the presentation time of each sample. Examples of such control information include control information in which the relative value CT(i) of the decoded time of the i-th sample and the (i+1)-th sample described above is replaced with the relative value of the presentation time of the i-th sample and the (i+1)-th sample, and control information that includes both the relative value CT(i) of the decoded time of the i-th sample and the (i+1)-th sample and the relative value of the presentation time of the i-th sample and the (i+1)-th sample.
(実施の形態3)
[概要]
実施の形態3では、映像、音声、字幕、及びデータ放送などのコンテンツを放送で伝送する場合のコンテンツの送信方法及びデータ構造について説明する。つまり、放送ストリームの再生に特化したコンテンツの送信方法及びデータ構造について説明する。
(Embodiment 3)
[overview]
In the third embodiment, a content transmission method and data structure when content such as video, audio, subtitles, and data broadcasting is transmitted by broadcasting will be described. That is, a content transmission method and data structure specialized for playing back a broadcast stream will be described.
なお、実施の形態3では、多重化方式としてMMT方式(以下、単にMMTとも記載する)が用いられる例について説明するが、MPEG-DASHまたはRTPなど、その他の多重化方式が用いられてもよい。 Note that in the third embodiment, an example will be described in which the MMT method (hereinafter also simply referred to as MMT) is used as the multiplexing method, but other multiplexing methods such as MPEG-DASH or RTP may also be used.
まず、MMTにおけるデータユニット(DU:Data Unit)のペイロードへの格納方法の詳細について説明する。図48は、MMTにおけるデータユニットのペイロードへの格納方法を説明するための図である。 First, we will explain the details of how to store a data unit (DU) in the payload in MMT. Figure 48 is a diagram for explaining the method of storing a data unit in the payload in MMT.
MMTでは、送信装置は、MPUを構成するデータの一部を、データユニットとしてMMTPペイロードに格納し、ヘッダをつけて伝送する。ヘッダにはMMTPペイロードヘッダ、及び、MMTPパケットヘッダが含まれる。なお、データユニットの単位は、NALユニット単位でもよいし、サンプル単位でもよい。 In MMT, the transmitting device stores part of the data that constitutes the MPU in the MMTP payload as a data unit and transmits it with a header. The header includes an MMTP payload header and an MMTP packet header. The data unit may be in units of NAL units or in units of samples.
図48の(a)は、送信装置が複数のデータユニットをアグリゲーションして一つのペイロードに格納する例を示す。図48の(a)の例では、複数のデータユニットそれぞれの先頭に、データユニットヘッダ(DUH:Data Unit Header)、及び、データユニット長(DUL:Data Unit Length)が付与され、データユニットヘッダ及びデータユニット長が付与されたデータユニットが複数まとめてペイロードに格納される。 Figure 48 (a) shows an example in which a transmitting device aggregates multiple data units and stores them in one payload. In the example of Figure 48 (a), a data unit header (DUH: Data Unit Header) and a data unit length (DUL: Data Unit Length) are added to the beginning of each of the multiple data units, and multiple data units with the data unit header and data unit length are stored together in the payload.
図48の(b)は、一つのデータユニットを一つのペイロードに格納する例を示す。図48の(b)の例では、データユニットの先頭に、データユニットヘッダが付与されてペイロードに格納される。図48の(c)は、一つのデータユニットを分割し、分割されたデータユニットに、データユニットヘッダが付与されてペイロードに格納される例を示す。 Figure 48 (b) shows an example of storing one data unit in one payload. In the example of Figure 48 (b), a data unit header is added to the beginning of the data unit and stored in the payload. Figure 48 (c) shows an example of dividing one data unit, adding a data unit header to the divided data units, and storing them in the payload.
データユニットには、映像、音声、または字幕などの同期に関する情報を含むメディアであるtimed-MFU、ファイルなど同期に関する情報を含まないメディアであるnon-timed-MFU、MPUメタデータ、MFメタデータなどの種類があり、データユニットの種類に応じてデータユニットヘッダが定められる。なお、MPUメタデータ、及び、MFメタデータにはデータユニットヘッダは存在しない。 Data units come in a variety of types, including timed-MFU, which is media that includes information about synchronization such as video, audio, or subtitles; non-timed-MFU, which is media such as files that does not include information about synchronization; MPU metadata; and MF metadata. Data unit headers are determined according to the type of data unit. Note that MPU metadata and MF metadata do not have data unit headers.
また、送信装置は、異なる種類のデータユニットをアグリゲーションすることは原則としてできないが、異なる種類のデータユニットをアグリゲーションできるように規定されてもよい。例えば、サンプル毎にムービーフラグメントに分割されている場合などのMFメタデータのサイズが小さい場合、MFメタデータとメディアデータとをアグリゲーションすることにより、パケット数を削減でき、さらに、伝送容量を削減することもできる。 In addition, although a transmitting device cannot in principle aggregate different types of data units, it may be specified to be able to aggregate different types of data units. For example, when the size of the MF metadata is small, such as when it is divided into movie fragments for each sample, the number of packets can be reduced by aggregating the MF metadata and media data, and further, the transmission capacity can be reduced.
データユニットがMFUの場合は、MPU(MP4)を構成するための情報など、MPUの一部の情報がヘッダとして格納される。 If the data unit is an MFU, some information about the MPU, such as information for constructing the MPU (MP4), is stored as the header.
例えば、timed-MFUのヘッダには、movie_fragment_sequence_number、sample_number、offset、priority、及び、dependency_counterなどが含まれ、non-timed-MFUのヘッダにはitem_iDが含まれる。各フィールドの意味はISO/IEC23008-1あるいはARIB STD-B60などの規格に示される。以下、このような規格において規定される各フィールドの意味について説明する。 For example, the header of a timed-MFU includes movie_fragment_sequence_number, sample_number, offset, priority, and dependency_counter, while the header of a non-timed-MFU includes item_iD. The meaning of each field is specified in standards such as ISO/IEC23008-1 or ARIB STD-B60. The meaning of each field specified in such standards is explained below.
movie_fragment_sequence_numberは、MFUが属するムービーフラグメントのシーケンス番号を示し、ISO/IEC14496-12にも示される。 movie_fragment_sequence_number indicates the sequence number of the movie fragment to which the MFU belongs, and is also specified in ISO/IEC14496-12.
sample_numberは、当該MFUが属するサンプル番号を示し、ISO/IEC14496-12にも示される。 sample_number indicates the sample number to which the MFU belongs, and is also specified in ISO/IEC14496-12.
offsetは、当該MFUが属するサンプルにおける、MFUのオフセット量をバイト単位で示す。 Offset indicates the offset of the MFU in the sample to which the MFU belongs, in bytes.
priorityは、当該MFUが属するMPUにおける、MFUの相対的な重要度を示し、priorityの数字が大きいMFUは、priorityの数字が小さいMFUよりも重要であることを示す。 Priority indicates the relative importance of the MFU in the MPU to which it belongs, with an MFU with a higher priority number being more important than an MFU with a lower priority number.
dependency_counterは、復号処理が当該MFUに依存しているMFU数(すなわち、このMFUを復号処理しなければ、その復号処理を行うことができないMFUの数)を示す。例えば、MFUがHEVCである場合においてBピクチャまたはPピクチャがIピクチャを参照する場合、当該BピクチャまたはPピクチャは、Iピクチャを復号処理しなければ復号処理を行うことができない。 The dependency_counter indicates the number of MFUs whose decoding process depends on the MFU (i.e., the number of MFUs whose decoding process cannot be performed unless this MFU is decoded). For example, when the MFU is HEVC and a B picture or P picture references an I picture, the B picture or P picture cannot be decoded unless the I picture is decoded.
したがって、MFUがサンプル単位である場合は、IピクチャのMFUにおけるdependency_counterには、当該Iピクチャを参照するピクチャ数が示される。MFUがNALユニット単位の場合は、Iピクチャに属するMFUにおけるdependency_counterには、当該Iピクチャを参照するピクチャに属するNALユニット数が示される。さらに、時間方向階層符号化された映像信号の場合、拡張レイヤのMFUは、ベースレイヤのMFUに依存するため、ベースレイヤのMFUにおけるdependency_counterには、拡張レイヤのMFUの数が示される。本フィールドは、依存するMFU数が決定した後でなければ生成できない。 Therefore, when the MFU is in sample units, the dependency_counter in the MFU of an I picture indicates the number of pictures that reference the I picture. When the MFU is in NAL unit units, the dependency_counter in the MFU belonging to the I picture indicates the number of NAL units that belong to the picture that references the I picture. Furthermore, in the case of a video signal that has been hierarchically coded in the temporal direction, since the MFU of the enhancement layer depends on the MFU of the base layer, the dependency_counter in the MFU of the base layer indicates the number of MFUs of the enhancement layer. This field can only be generated after the number of dependent MFUs has been determined.
item_iDは、アイテムを一意に特定する識別子を示す。 item_id indicates an identifier that uniquely identifies the item.
[MP4非サポートモード]
図19、及び、図21で説明したように、送信装置がMMTにおけるMPUを伝送する方法としては、MPUメタデータまたはMFメタデータをメディアデータの前または後に送信する方法、及び、メディアデータのみを送信する方法がある。また、受信装置では、MP4に準拠した受信装置や受信方法を用いて復号を行う方法や、ヘッダを用いずに復号する方法がある。
[MP4 non-support mode]
As described in Fig. 19 and Fig. 21, the method of transmitting an MPU in MMT by a transmitting device includes a method of transmitting MPU metadata or MF metadata before or after media data, and a method of transmitting only media data. In addition, the receiving device may perform decoding using a receiving device or receiving method that conforms to MP4, or may perform decoding without using a header.
放送ストリーム再生に特化したデータの送信方法として、例えば、受信装置におけるMP4再構成をサポートしない送信方法がある。 As an example of a data transmission method specialized for broadcast stream playback, there is a transmission method that does not support MP4 reconstruction on the receiving device.
受信装置におけるMP4再構成をサポートしない送信方法とは、例えば、図21の(b)に示されるようにメタデータ(MPUメタデータ及びMFメタデータ)を送信しない方法がある。この場合、MMTPパケットに含まれるフラグメントタイプ(データユニットの種類を示す情報)のフィールド値は、2(=MFU)固定である。 An example of a transmission method that does not support MP4 reconstruction in a receiving device is a method that does not transmit metadata (MPU metadata and MF metadata), as shown in (b) of FIG. 21. In this case, the field value of the fragment type (information indicating the type of data unit) included in the MMTP packet is fixed to 2 (=MFU).
メタデータが送信されない場合は、これまで説明したように、MP4準拠の受信装置などでは、受信したデータをMP4として復号することはできないが、メタデータ(ヘッダ)を用いずに復号することが可能である。 As explained above, if metadata is not transmitted, an MP4-compliant receiving device cannot decode the received data as MP4, but it is possible to decode it without using metadata (header).
そのため、メタデータは放送ストリーム復号及び再生に必ずしも必須の情報ではない。同様に、図48で説明した、timed-MFUにおけるデータユニットヘッダの情報は、受信装置においてMP4を再構成するための情報である。放送ストリーム再生においてMP4を再構成する必要はないため、timed-MFUにおけるデータユニットヘッダ(以下、timed-MFUヘッダとも記載する)の情報は、放送ストリーム再生に必ずしも必要な情報ではない。 Therefore, metadata is not necessarily essential information for broadcast stream decoding and playback. Similarly, the information in the data unit header in timed-MFU, described in FIG. 48, is information for reconstructing MP4 in the receiving device. Since there is no need to reconstruct MP4 for broadcast stream playback, the information in the data unit header in timed-MFU (hereinafter also referred to as timed-MFU header) is not necessarily information required for broadcast stream playback.
受信装置は、メタデータ、および、データユニットヘッダにおけるMP4を再構成するための情報(以下、MP4構成情報とも記載する)を用いることにより、容易にMP4を再構成することができる。しかし、受信装置は、メタデータ、および、データユニットヘッダにおけるMP4構成情報のどちらか一方のみが伝送されていたとしても、MP4を再構成することはできない。メタデータ及びMP4を再構成するための情報のどちらか一方のみが伝送されることによるメリットは少なく、必要でない情報を生成及び伝送することは、処理の増大や伝送効率の低下を招く。 The receiving device can easily reconstruct the MP4 by using the metadata and the information for reconstructing the MP4 in the data unit header (hereinafter also referred to as MP4 configuration information). However, the receiving device cannot reconstruct the MP4 even if only either the metadata or the MP4 configuration information in the data unit header is transmitted. There is little benefit to transmitting only either the metadata or the information for reconstructing the MP4, and generating and transmitting unnecessary information leads to increased processing and reduced transmission efficiency.
そこで、送信装置は、下記の方法を用いてMP4構成情報のデータ構造や伝送を制御する。送信装置は、メタデータが伝送されるかどうかに基づいて、データユニットヘッダにおいてMP4構成情報を示すか否かを決定する。具体的には、送信装置は、メタデータが伝送される場合には、データユニットヘッダにおいてMP4構成情報を示し、メタデータが伝送されない場合には、データユニットヘッダにおいてMP4構成情報を示さない。 The transmitting device therefore controls the data structure and transmission of the MP4 configuration information using the following method. The transmitting device determines whether to indicate the MP4 configuration information in the data unit header based on whether metadata is transmitted. Specifically, the transmitting device indicates the MP4 configuration information in the data unit header when metadata is transmitted, and does not indicate the MP4 configuration information in the data unit header when metadata is not transmitted.
データユニットヘッダにおいてMP4構成情報を示さない方法としては、例えば下記の方法を用いることができる。 As a method for not indicating MP4 configuration information in the data unit header, for example, the following method can be used.
1.送信装置は、MP4構成情報をreservedとし、運用しない。これにより、MP4構成情報を生成する送出側の処理量(送信装置の処理量)を削減することができる。 1. The transmitting device reserves the MP4 configuration information and does not use it. This reduces the amount of processing on the sending side (the amount of processing on the transmitting device) that generates the MP4 configuration information.
2.送信装置は、MP4構成情報を削除し、ヘッダ圧縮する。これにより、MP4構成情報を生成する送出側の処理量を削減することができるとともに、伝送容量を削減することができる。 2. The transmitting device deletes the MP4 configuration information and compresses the header. This reduces the amount of processing on the sending side that generates the MP4 configuration information, and also reduces transmission capacity.
なお、送信装置は、MP4構成情報を削除し、ヘッダ圧縮する場合には、MP4構成情報を削除(圧縮)したことを示すフラグを示してもよい。フラグは、ヘッダ(MMTPパケットヘッダ、MMTPペイロードヘッダ、データユニットヘッダ)または制御情報などに示される。 When the transmitting device deletes the MP4 configuration information and compresses the header, the transmitting device may indicate a flag indicating that the MP4 configuration information has been deleted (compressed). The flag is indicated in the header (MMTP packet header, MMTP payload header, data unit header) or control information, etc.
また、メタデータが伝送されるかどうかの情報は、あらかじめ定めていてもよいし、別途ヘッダや制御情報にシグナリングし、受信装置に伝送されてもよい。 In addition, information on whether metadata is transmitted may be determined in advance, or may be signaled separately in the header or control information and transmitted to the receiving device.
例えば、MFUヘッダに当該MFUに対応するメタデータが伝送されているかの情報が格納されてもよい。 For example, the MFU header may store information on whether metadata corresponding to the MFU is being transmitted.
一方、受信装置は、メタデータが伝送されているかどうかに基づいて、MP4構成情報が示されているかどうかを判定することができる。 On the other hand, the receiving device can determine whether MP4 configuration information is indicated based on whether metadata is transmitted.
ここで、データの送信順序(例えば、MPUメタデータ、MFメタデータ、メディアデータのような順序)が決まっている場合は、受信装置は、メディアデータの前にメタデータが受信されたかどうかに基づいて判定してもよい。 Here, if the data transmission order (e.g., MPU metadata, MF metadata, media data) is fixed, the receiving device may make the determination based on whether metadata is received before the media data.
MP4構成情報が示されている場合には、受信装置は、MP4構成情報をMP4の再構成に用いることができる。或いは、受信装置は、その他のアクセスユニットやNALユニットの先頭の検出などにMP4構成情報を用いることができる。 If MP4 configuration information is indicated, the receiving device can use the MP4 configuration information to reconstruct the MP4. Alternatively, the receiving device can use the MP4 configuration information to detect the beginning of other access units or NAL units, etc.
なお、MP4構成情報は、timed-MFUヘッダの全部であってもよいし一部であってもよい。 Note that the MP4 configuration information may be all or part of the timed-MFU header.
また、送信装置は、non-timed-MFUヘッダにおいても同様に、メタデータが伝送されるかどうかに基づいて、non-timed-MFUヘッダにおいてitem
idを示すかどうかを決定してもよい。
Similarly, the transmitting device also determines whether metadata is transmitted in the non-timed-MFU header by setting the item
It may also be determined whether to show the id.
送信装置は、timed-MFUと、non-timed-MFUとのどちらか一方においてのみMP4構成情報を示すとしてもよい。どちらか一方にのみMP4構成情報を示す場合、送信装置は、メタデータが伝送されるかどうかに加え、timed-MFUかnon-timed-MFUかどうかに基づいてMP4構成情報を示すかどうかを決定する。受信装置では、メタデータが伝送されるかどうか、および、timed/non-timedフラグに基づいてMP4構成情報が示されるかどうかを判定することができる。 The transmitting device may indicate the MP4 configuration information in only one of the timed-MFU and non-timed-MFU. If the MP4 configuration information is indicated in only one of the two, the transmitting device determines whether to indicate the MP4 configuration information based on whether metadata is transmitted and whether it is a timed-MFU or non-timed-MFU. The receiving device can determine whether the MP4 configuration information is indicated based on whether metadata is transmitted and the timed/non-timed flag.
なお、以上の説明においては、送信装置は、メタデータ(MPUメタデータ及びMFメタデータの両方)が伝送されるかどうかに基づいてMP4構成情報を示すかどうかを決定した。しかしながら、送信装置は、メタデータの一部(MPUメタデータ、MFメタデータのどちらか一方)が伝送されない場合に、MP4構成情報を示さないとしてもよい。 In the above description, the transmitting device determines whether to indicate the MP4 configuration information based on whether metadata (both MPU metadata and MF metadata) is transmitted. However, the transmitting device may not indicate the MP4 configuration information if part of the metadata (either MPU metadata or MF metadata) is not transmitted.
また、送信装置は、メタデータ以外の他の情報に基づいてMP4構成情報を示すかどうかを決定してもよい。 The transmitting device may also determine whether to indicate MP4 configuration information based on information other than metadata.
例えば、MP4サポートモード/MP4非サポートモードのようなモードが定義され、送信装置は、MP4サポートモードの場合には、データユニットヘッダにおいてMP4構成情報を示し、MP4非サポートモードの場合には、データユニットヘッダにおいてMP4構成情報を示さないとしてもよい。また、送信装置は、MP4サポートモードの場合には、メタデータを伝送し、かつデータユニットヘッダにおいてMP4構成情報を示し、MP4非サポートモードの場合には、メタデータを伝送せずにデータユニットヘッダにおいてもMP4構成情報を示さないとしてもよい。 For example, modes such as MP4 support mode/MP4 non-support mode may be defined, and the transmitting device may indicate MP4 configuration information in the data unit header in the MP4 support mode, and may not indicate MP4 configuration information in the data unit header in the MP4 non-support mode. Also, the transmitting device may transmit metadata and indicate MP4 configuration information in the data unit header in the MP4 support mode, and may not transmit metadata and may not indicate MP4 configuration information in the data unit header in the MP4 non-support mode.
[送信装置の動作フロー]
次に、送信装置の動作フローについて説明する。図49は、送信装置の動作フローである。
[Operation flow of the transmitting device]
Next, the operation flow of the transmitting device will be described with reference to FIG.
送信装置は、まず、メタデータを伝送するかどうかを判定する(S1001)。送信装置は、メタデータを伝送すると判定した場合(S1002でYes)、ステップS1003へ移行し、MP4構成情報を生成し、かつ、ヘッダに格納して伝送する(S1003)。この場合、送信装置は、メタデータも生成し、かつ、伝送する。 The transmitting device first determines whether to transmit metadata (S1001). If the transmitting device determines to transmit metadata (Yes in S1002), it proceeds to step S1003, generates MP4 configuration information, stores it in the header, and transmits it (S1003). In this case, the transmitting device also generates and transmits metadata.
一方、送信装置は、メタデータを伝送しないと判定した場合(S1002でNo)、MP4構成情報を生成せず、かつ、ヘッダにも格納せずに伝送する(S1004)。この場合、送信装置は、メタデータを生成せず、伝送しない。 On the other hand, if the transmitting device determines not to transmit metadata (No in S1002), it transmits the MP4 configuration information without generating it and without storing it in the header (S1004). In this case, the transmitting device does not generate or transmit metadata.
なお、ステップS1001においてメタデータを伝送するかどうかは、あらかじめ定められていてもよいし、送信装置の内部でメタデータが生成されたかどうか、送信装置の内部でメタデータが伝送されているかどうかに基づいて判定されてもよい。 Whether or not to transmit metadata in step S1001 may be determined in advance, or may be determined based on whether metadata has been generated within the transmitting device, or whether metadata has been transmitted within the transmitting device.
[受信装置の動作フロー]
次に、受信装置の動作フローについて説明する。図50は、受信装置の動作フローである。
[Operation flow of receiving device]
Next, the operation flow of the receiving device will be described with reference to FIG.
受信装置は、まず、メタデータが伝送されているかどうかを判定する(S1101)。メタデータが伝送されているかどうかは、MMTPパケットペイロードにおけるフラグメントタイプを監視することにより判定できる。また、伝送されているかどうかがあらかじめ定められていてもよい。 First, the receiving device determines whether metadata is being transmitted (S1101). Whether metadata is being transmitted can be determined by monitoring the fragment type in the MMTP packet payload. Also, whether metadata is being transmitted may be determined in advance.
受信装置は、メタデータが伝送されていると判定した場合(S1102でYes)、MP4を再構成し、かつ、MP4構成情報を用いた復号処理を実行する(S1103)。一方、メタデータが伝送されていないと判定した場合(S1102でNo)、MP4の再構成処理をせず、かつ、MP4構成情報を用いずに復号処理を実行する(S1104)。 When the receiving device determines that metadata has been transmitted (Yes in S1102), it reconstructs the MP4 and executes a decryption process using the MP4 configuration information (S1103). On the other hand, when the receiving device determines that metadata has not been transmitted (No in S1102), it does not reconstruct the MP4 and executes a decryption process without using the MP4 configuration information (S1104).
なお、受信装置は、これまで説明した方法を用いて、MP4構成情報を用いずにランダムアクセスポイントの検出、アクセスユニット先頭の検出、NALユニット先頭の検出などをすることが可能であり、復号処理、パケットロスの検出、及びパケットロスからの復帰の処理をすることができる。 In addition, the receiving device can use the methods described above to detect random access points, the beginning of an access unit, the beginning of a NAL unit, and so on, without using MP4 configuration information, and can perform decoding processes, packet loss detection, and recovery from packet loss.
例えば、アクセスユニット先頭は、aggregation_flag値が1であるMMTペイロードの先頭データである。このとき、Fragmentation_indicator値は0である。 For example, the beginning of an access unit is the first data of an MMT payload whose aggregation_flag value is 1. In this case, the fragmentation_indicator value is 0.
また、スライスセグメントの先頭は、aggregation_flag値が0、fragmentation_indicator値が00或いは01であるMMTペイロードの先頭データである。 The beginning of a slice segment is the first data of an MMT payload whose aggregation_flag value is 0 and whose fragmentation_indicator value is 00 or 01.
受信装置は、以上のような情報に基づき、アクセスユニット先頭の検出、及び、スライスセグメントの検出を行うことができる。 Based on the above information, the receiving device can detect the beginning of the access unit and the slice segment.
なお、受信装置は、fragmentation_indicator値が00或いは01であるデータユニットの先頭を含むパケットにおいて、NALユニットヘッダを解析し、NALユニットの種類がAUデリミタであること、及び、NALユニットの種類がスライスセグメントであることを検出してもよい。 In addition, the receiving device may analyze the NAL unit header in a packet that includes the beginning of a data unit whose fragmentation_indicator value is 00 or 01, and detect that the type of the NAL unit is an AU delimiter and that the type of the NAL unit is a slice segment.
[放送シンプルモード]
これまでは、放送ストリーム再生に特化したデータの送信方法として、受信装置におけるMP4構成情報をサポートしない方法を説明したが、放送ストリーム再生に特化したデータの送信方法は、これに限るものではない。
[Broadcast simple mode]
So far, we have described a method of transmitting data specialized for broadcast stream playback that does not support MP4 configuration information in the receiving device, but the method of transmitting data specialized for broadcast stream playback is not limited to this.
放送ストリーム再生に特化したデータの送信方法として、例えば下記の方法が用いられてもよい。 As a method for transmitting data specialized for broadcast stream playback, for example, the following method may be used.
・送信装置は、放送の固定受信環境では、AL-FECを用いなくてもよい。AL-FECが用いられない場合は、MMTPパケットヘッダにおけるFEC_typeは常に0固定とされる。 - In a fixed broadcast reception environment, the transmitting device does not need to use AL-FEC. If AL-FEC is not used, FEC_type in the MMTP packet header is always fixed to 0.
・送信装置は、放送の移動受信環境、及び、通信UDP伝送モードにおいては、常にAL-FECを用いてもよい。AL-FECが用いられる場合は、MMTPパケットヘッダにおけるFEC_typeは、常に0或いは1である。 - The transmitting device may always use AL-FEC in a mobile broadcast reception environment and in a communication UDP transmission mode. When AL-FEC is used, FEC_type in the MMTP packet header is always 0 or 1.
・送信装置は、アセットのバルク伝送をしなくてもよい。アセットのバルク伝送がされない場合には、MPT内部のアセットの伝送ローケーション数を示すlocation_infolocationは、1に固定されてよい。 - The transmitting device does not need to perform bulk transmission of assets. If bulk transmission of assets is not performed, location_infolocation, which indicates the number of transmission locations of assets within the MPT, may be fixed to 1.
・送信装置は、アセット、プログラム、及びメッセージのハイブリッド伝送をしなくてもよい。 - The transmitting device does not need to perform hybrid transmission of assets, programs, and messages.
また、例えば、放送シンプルモードが規定され、送信装置は、放送シンプルモードである場合には、MP4非サポートモードとする、或いは、上記に示した放送ストリーム再生に特化したデータの送信方法を用いるとしてもよい。放送シンプルモードかどうかはあらかじめ定められていてもよいし、送信装置は、放送シンプルモードであることを示すフラグを制御情報として格納し、受信装置に伝送してもよい。 For example, a broadcast simple mode may be specified, and the transmitting device may be in MP4 non-support mode when in broadcast simple mode, or may use the data transmission method specialized for broadcast stream playback shown above. Whether or not the mode is broadcast simple mode may be determined in advance, or the transmitting device may store a flag indicating that the mode is broadcast simple mode as control information and transmit it to the receiving device.
また、送信装置は、図49で説明した、MP4非サポートモードであるかどうか(メタデータが伝送されているかどうか)に基づいて、MP4非サポートモードである場合には、放送シンプルモードとして、上記に示した放送ストリーム再生に特化したデータの送信方法を用いてもよい。 In addition, the transmitting device may determine whether the mode is MP4 non-support mode (whether metadata is transmitted) as described in FIG. 49, and if the mode is MP4 non-support mode, the transmitting device may use the data transmission method specialized for broadcast stream playback shown above as broadcast simple mode.
受信装置は、放送シンプルモードである場合には、MP4非サポートモードであるとして、MP4を再構成せず復号処理をすることができる。 When the receiving device is in broadcast simple mode, it is considered to be in MP4 non-support mode and can perform decoding processing without reconstructing the MP4.
また、受信装置は、放送シンプルモードである場合には、放送に特化した機能であることを判定し、放送に特化して受信処理をすることができる。 In addition, when the receiving device is in broadcast simple mode, it can determine that the functions are specialized for broadcasting and perform reception processing specialized for broadcasting.
これにより、放送シンプルモードである場合には、放送に特化した機能のみを用いることにより、送信装置及び受信装置にとって不要な処理を削減できるばかりでなく、不要な情報を圧縮して伝送しないことにより、伝送オーバーヘッドを削減することができる。 As a result, when in simple broadcast mode, not only can unnecessary processing be reduced for the transmitting device and receiving device by using only functions specialized for broadcasting, but transmission overhead can also be reduced by not compressing and transmitting unnecessary information.
なお、MP4非サポートモードが用いられる場合には、MP4構成以外の蓄積方法をサポートするヒント情報が示されてもよい。 Note that when the MP4 non-support mode is used, hint information supporting storage methods other than the MP4 format may be indicated.
MP4構成以外の蓄積方法としては、例えば、MMTパケットやIPパケットをダイレクトに蓄積する方法や、MMTパケットをMPEG-2 TSパケットに変換する方法などがある。 Storage methods other than the MP4 format include, for example, directly storing MMT packets or IP packets, or converting MMT packets into MPEG-2 TS packets.
なお、MP4非サポートモードの場合には、MP4構成にしたがわないフォーマットが用いられてもよい。 Note that in MP4 non-support modes, a format that does not conform to the MP4 structure may be used.
例えば、MFUに格納されるデータは、MP4非サポートモードの場合には、MP4形式であるNALユニットの先頭にNALユニットのサイズがついた形式でなく、バイトスタートコードがついた形式にされてもよい。 For example, in the case of an MP4 non-support mode, the data stored in the MFU may be in a format with a byte start code at the beginning of the NAL unit, rather than the MP4 format format with the size of the NAL unit at the beginning of the NAL unit.
MMTでは、アセットのタイプを示すアセットタイプは、MP4REG(http://www.mp4ra.org)に登録される4CCで記載され、映像信号としてHEVCを用いる場合、‘HEV1’または‘HVC1’が用いられる。‘HVC1’は、サンプルの中にパラメータセットを含んでもよい形式であり、‘HEV1’はサンプルの中にパラメータセットを含まず、MPUメタデータにおけるサンプルエントリにパラメータセットを含む形式である。 In MMT, the asset type indicating the type of asset is described in 4CC registered in MP4REG (http://www.mp4ra.org), and when HEVC is used as the video signal, 'HEV1' or 'HVC1' is used. 'HVC1' is a format that may include a parameter set in the sample, while 'HEV1' is a format that does not include a parameter set in the sample, but includes a parameter set in the sample entry in the MPU metadata.
放送シンプルモードまたはMP4非サポートモードの場合において、MPUメタデータ及びMFメタデータが伝送されない場合には、必ずサンプルの中にパラメータセットを含めると規定されてもよい。また、アセットタイプに‘HEV1’と‘HVC1’のどちらが示されている場合にも、必ず‘HVC1’の形式をとると規定されてもよい。 In the case of broadcast simple mode or MP4 non-support mode, if MPU metadata and MF metadata are not transmitted, it may be specified that a parameter set is always included in the sample. Also, it may be specified that the format is always 'HVC1' regardless of whether 'HEV1' or 'HVC1' is indicated in the asset type.
[補足1:送信装置]
以上のように、メタデータが送信されていない場合に、MP4構成情報をreservedとし、運用しない送信装置は、図51のように構成することも可能である。図51は、送信装置の具体的構成の例を示す図である。
[Supplement 1: Transmitter]
As described above, when metadata is not transmitted, the MP4 configuration information is set to "reserved" and a transmitting device that is not in operation can be configured as shown in Fig. 51. Fig. 51 is a diagram showing an example of a specific configuration of a transmitting device.
送信装置300は、符号化部301と、付与部302と、送信部303とを備える。符号化部301、付与部302、及び送信部303のそれぞれは、例えば、マイクロコンピュータ、プロセッサ、または、専用回路などによって実現される。
The transmitting
符号化部301は、映像信号または音声信号を符号化してサンプルデータを生成する。サンプルデータは、具体的には、データユニットである。
The
付与部302は、映像信号または音声信号が符号化されたデータであるサンプルデータに、MP4構成情報を含むヘッダ情報を付与する。MP4構成情報は、受信側において当該サンプルデータをMP4フォーマットのファイルとして再構成するための情報であって、サンプルデータの提示時刻が定められているか否かに応じて内容が異なる情報である。
The
上述のように、付与部302は、提示時刻が定められているサンプルデータ(同期に関する情報を含むサンプルデータ)の一例であるtimed-MFUのヘッダ(ヘッダ情報)に、movie_fragment_sequence_number、sample_number、offset、priority、及び、dependency_counterなどのMP4構成情報を含める。
As described above, the
一方で、付与部302は、提示時刻が定められていないサンプルデータ(同期に関する情報を含まないサンプルデータ)の一例である、timed-MFUのヘッダ(ヘッダ情報)には、item_idなどのMP4構成情報を含める。
On the other hand, the
そして、付与部302は、送信部303によってサンプルデータに対応するメタデータが送信されない場合(例えば、図21の(b)のような場合)には、サンプルデータの提示時刻が定められているか否かに応じて、MP4構成情報を含まないヘッダ情報をサンプルデータに付与する。
If the sending
付与部302は、具体的には、サンプルデータの提示時刻が定められている場合には、第一のMP4構成情報を含まないヘッダ情報をサンプルデータに付与し、サンプルデータの提示時刻が定められていない場合には、第二のMP4構成情報を含むヘッダ情報を前記サンプルデータに付与する。
Specifically, when the presentation time of the sample data is determined, the assigning
例えば、付与部302は、図49のステップS1004に示されるように、送信部303によってサンプルデータに対応するメタデータが送信されない場合には、MP4構成情報をreserved(固定値)とすることにより、MP4構成情報を実質的に生成せず、かつ、実質的にヘッダ(ヘッダ情報)に格納しない。なお、メタデータには、MPUメタデータ、及び、ムービーフラグメントメタデータが含まれる。
For example, as shown in step S1004 of FIG. 49, when the transmitting
送信部303は、ヘッダ情報が付与されたサンプルデータを送信する。送信部303は、より具体的には、ヘッダ情報が付与されたサンプルデータをMMT方式でパケット化して送信する。
The transmitting
上述のように、放送ストリームの再生に特化した送信方法及び受信方法では、受信装置でデータユニットをMP4に再構成する必要はない。受信装置がMP4に再構成する必要がない場合、MP4構成情報などの不要な情報を生成しないことで送信装置の処理は軽減される。 As described above, in the transmission method and reception method specialized for playing back a broadcast stream, there is no need for the receiving device to reconstruct data units into MP4. If the receiving device does not need to reconstruct data into MP4, the processing load of the transmitting device is reduced by not generating unnecessary information such as MP4 configuration information.
一方で、送信装置は、必要な情報は送らなくてはならないが、余計な追加情報などを別途送信しなくて済むように、規格との整合性は保つ必要がある。 On the other hand, the transmitting device must send the necessary information, but must maintain compatibility with the standard so that it does not have to send unnecessary additional information separately.
送信装置300のような構成によれば、MP4構成情報が格納される領域を固定値にすることなどにより、MP4構成情報を送信せず、必要な情報のみを規格に基づいて送信し、余計な追加情報を送信しなくて済む効果が得られる。つまり、送信装置の構成及び送信装置の処理量を削減することができる。また、不要なデータが送信されないことにより、伝送効率を向上させることができる。
With a configuration like that of the transmitting
[補足2:受信装置]
また、送信装置300に対応する受信装置は、例えば、図52のように構成されてもよい。図52は、受信装置の構成の別の例を示す図である。
[Supplement 2: Receiving device]
Moreover, a receiving device corresponding to the transmitting
受信装置400は、受信部401と、復号部402とを備える。受信部401、及び、復号部402は、例えば、マイクロコンピュータ、プロセッサ、または、専用回路などによって実現される。
The receiving
受信部401は、映像信号または音声信号が符号化されたデータであるサンプルデータであって、当該サンプルデータをMP4フォーマットのファイルとして再構成するためのMP4構成情報を含むヘッダ情報が付与されたサンプルデータを受信する。
The receiving
復号部402は、受信部によってサンプルデータに対応するメタデータが受信されなかった場合であって、サンプルデータの提示時刻が定められている場合に、MP4構成情報を使用せずにサンプルデータを復号する。
If the receiving unit does not receive metadata corresponding to the sample data and the presentation time of the sample data is determined, the
例えば、復号部402は、図50のステップS1104に示されるように、受信部401によってサンプルデータに対応するメタデータが受信されない場合には、MP4構成情報を用いずに復号処理を実行する。
For example, as shown in step S1104 of FIG. 50, if the receiving
これにより、受信装置400の構成及び受信装置400における処理量を削減することができる。
This reduces the configuration of the receiving
(実施の形態4)
[概要]
実施の形態4では、ファイルなど同期に関する情報を含まない非同期(non-timed)メディアのMPUへの格納方法と、MMTPパケットでの伝送方法について説明する。なお、実施の形態4では、MMTにおけるMPUを例に説明するが、同じMP4ベースであるDASHでも適用可能である。
(Embodiment 4)
[overview]
In the fourth embodiment, a method of storing asynchronous (non-timed) media that does not include information related to synchronization such as files in an MPU and a method of transmitting the media in an MMTP packet will be described. Note that in the fourth embodiment, an MPU in MMT will be described as an example, but it can also be applied to DASH, which is based on the same MP4.
まず、non-timedメディア(以下、「非同期メディアデータ」とも言う)のMPUへの格納方法の詳細について図53を用いて説明する。図53は、non-timedメディアのMPUへの格納方法、及び、MMTPパケットでの伝送方法を示す図である。 First, the details of how non-timed media (hereinafter also referred to as "asynchronous media data") is stored in the MPU will be explained using FIG. 53. FIG. 53 is a diagram showing how non-timed media is stored in the MPU and how it is transmitted in an MMTP packet.
non-timedメディアを格納するMPUは、ftyp、mmpu、moov、metaなどのボックスで構成され、MPUに格納するファイルに関する情報が格納される。metaボックス内には複数のidatボックスを格納することができ、idatボックスには1つのファイルがitemとして格納される。 An MPU that stores non-timed media consists of boxes such as ftype, mmpu, moov, and meta, and stores information about the files stored in the MPU. Multiple idat boxes can be stored in a meta box, and an idat box stores one file as an item.
ftyp,mmpu,moov,metaボックスの一部はMPUメタデータとして一つのデータユニットを構成し、item或いはidatボックスはMFUとしてデータユニットを構成する。 Part of the ftyp, mmpu, moov, and meta boxes constitute one data unit as MPU metadata, and the item or idat box constitutes a data unit as an MFU.
データユニットはアグリゲーションやフラグメントされた後、データユニットヘッダ、MMTPペイロードヘッダ、及びMMTPパケットヘッダが付与されてMMTPパケットとして伝送される。 After the data units are aggregated and fragmented, they are given a data unit header, an MMTP payload header, and an MMTP packet header and transmitted as an MMTP packet.
なお、図53では、File#1とFile#2とが1つのMPUに格納される例を示している。MPUメタデータは分割されておらず、また、MFUは分割されてMMTPパケットに格納されているが、これに限るものではなく、データユニットのサイズに応じてアグリゲーションやフラグメントされてもよい。また、MPUメタデータは伝送されなくてもよく、その場合は、MFUのみが伝送される。
Note that FIG. 53 shows an example in which
データユニットヘッダなどのヘッダ情報には、itemID(アイテムを一意に特定する識別子)が示され、MMTPペイロードヘッダやMMTPパケットヘッダには、パケットシーケンス番号(パケット毎のシーケンス番号)、及び、MPUシーケンス番号(MPUのシーケンス番号、アセット内で一意の番号。)が含まれる。 Header information such as the data unit header indicates the item ID (an identifier that uniquely identifies an item), and the MMTP payload header and MMTP packet header include a packet sequence number (a sequence number for each packet) and an MPU sequence number (a sequence number for the MPU, a number unique within an asset).
なお、データユニットヘッダ以外のMMTPペイロードヘッダやMMTPパケットヘッダのデータ構造はこれまで説明したtimedメディア(以下、「同期メディアデータ」とも言う。)と同様であり、aggregation_flag,fragmentation_indicator,fragment_counterなどが含まれる。 The data structure of the MMTP payload header and MMTP packet header other than the data unit header is the same as that of the timed media (hereinafter also referred to as "synchronous media data") described above, and includes aggregation_flag, fragmentation_indicator, fragment_counter, etc.
次に、ファイル(=Item=MFU)を分割してパケット化する場合のヘッダ情報の具体例をについて、図54及び図55を用いて説明する。 Next, a specific example of header information when a file (=Item=MFU) is divided and packetized will be explained using Figures 54 and 55.
図54及び図55は、ファイルが分割されることにより得られた複数の分割データ毎にパケット化して伝送する例を示す図である。図54及び図55は、具体的には、分割されたMMTPパケット毎のヘッダ情報であるデータユニットヘッダ、MMTPペイロードヘッダ、MMTPパケットヘッダのいずれかに含まれる情報(パケットシーケンス番号、フラグメントカウンタ、フラグメンテーションインジケータ、MPUシーケンス番号、アイテムID)を示す。なお、図54は、File#1がM個(M<=256)に分割される例を示す図であり、図55は、File#2がN個(256<N)に分割される例を示す図である。
Figures 54 and 55 are diagrams showing an example in which a file is divided into multiple pieces of divided data, each of which is packetized and transmitted. Specifically, Figures 54 and 55 show information (packet sequence number, fragment counter, fragmentation indicator, MPU sequence number, item ID) contained in the data unit header, MMTP payload header, or MMTP packet header, which is the header information for each divided MMTP packet. Note that Figure 54 shows an example in which
分割データ番号は、ファイル先頭からの分割データのインデックスを示しており、この情報は伝送されない。つまり、分割データ番号は、ヘッダ情報には含まれない。また、分割データ番号は、ファイルを分割することにより得られた複数の分割データのそれぞれに対応するパケットに付与される番号であり、先頭のパケットから昇順に1ずつ加算されて付与される番号である。 The split data number indicates the index of the split data from the beginning of the file, and this information is not transmitted. In other words, the split data number is not included in the header information. The split data number is also a number that is assigned to packets corresponding to each of the multiple split data obtained by splitting a file, and is a number that is assigned by incrementing by one from the first packet in ascending order.
パケットシーケンス番号は、同じパケットIDを持つパケットのシーケンス番号であり、図54及び図55では、ファイル先頭の分割データをAとして、ファイル最後の分割データまで連続した番号が付与される。パケットシーケンス番号は、ファイル先頭の分割データから昇順に1ずつ加算されて付与される番号であり、分割データ番号に対応する番号である。 The packet sequence number is the sequence number of packets with the same packet ID, and in Figures 54 and 55, the first divided data in the file is designated as A, and consecutive numbers are assigned to the last divided data in the file. The packet sequence number is assigned by incrementing the divided data at the beginning of the file by one in ascending order, and corresponds to the divided data number.
フラグメントカウンタは、1つのファイルが分割されることにより得られた複数の分割データのうち当該分割データよりも後にある複数の分割データの数を示す。また、フラグメントカウンタは、1つのファイルを分割することにより得られた複数の分割データの数である分割データ数が256を超える場合、分割データ数を256で除した余りを示す。図54の例では、分割データ数が256以下であるため、フラグメントカウンタのフィールド値は(M-分割データ番号)となる。一方、図55の例では、分割データ数が256を超えるため、(N-分割データ番号)を256で除した値((N-分割データ番号)%256)となる。 The fragment counter indicates the number of split data pieces that come after the current split data piece among the multiple split data pieces obtained by splitting one file. Furthermore, if the number of split data pieces, which is the number of split data pieces obtained by splitting one file, exceeds 256, the fragment counter indicates the remainder when the number of split data pieces is divided by 256. In the example of FIG. 54, since the number of split data pieces is 256 or less, the fragment counter field value is (M-split data number). On the other hand, in the example of FIG. 55, since the number of split data pieces exceeds 256, the fragment counter field value is (N-split data number) divided by 256 ((N-split data number) % 256).
なお、フラグメンテーションインジケータは、MMTPパケットに格納するデータの分割の状態を示し、分割されたデータユニットにおける先頭の分割データであるか、最後の分割データであるか、それ以外の分割データであるか、或いは、分割されていない1つ以上のデータユニットであるかを示す値である。具体的には、フラグメンテーションインジケータは、先頭の分割データでは「01」であり、最後の分割データでは「11」であり、残りの分割データでは「10」であり、分割されていないデータユニットでは「00」である。 The fragmentation indicator indicates the state of division of data stored in an MMTP packet, and is a value indicating whether the data is the first divided data in a divided data unit, the last divided data, any other divided data, or one or more undivided data units. Specifically, the fragmentation indicator is "01" for the first divided data, "11" for the last divided data, "10" for the remaining divided data, and "00" for an undivided data unit.
本実施の形態では、分割データ数が256を超える場合、分割データ数を256で除した余りを示すとして説明するが、分割データ数は256に限らず、他の数(所定の数)であってもよい。 In this embodiment, when the number of divided data pieces exceeds 256, the remainder when the number of divided data pieces is divided by 256 is shown, but the number of divided data pieces is not limited to 256 and may be another number (a specified number).
図54及び図55に示すようにファイルを分割し、ファイルを分割することにより得られた複数の分割データのそれぞれに従来のヘッダ情報を付与して伝送する場合、受信装置において、受信したMMTPパケットに格納されるデータが、元のファイルにおいて何番目の分割データであるか(分割データ番号)、及び、ファイルの分割データ数、または、分割データ番号及び分割データ数を導出できる情報がない。このため、従来の伝送方法では、MMTPパケットを受信しても、受信したMMTPパケットに格納されるデータの分割データ番号や分割データ数を一意に検出することができない。 When a file is divided as shown in Figures 54 and 55, and conventional header information is added to each of the multiple divided data obtained by dividing the file and transmitted, the receiving device does not have information that can be used to derive the number of divided data in the original file (divided data number) that the data stored in the received MMTP packet is, the number of divided data in the file, or the divided data number and number of divided data. For this reason, with the conventional transmission method, even if an MMTP packet is received, it is not possible to uniquely detect the divided data number or number of divided data of the data stored in the received MMTP packet.
例えば、図54のように分割データ数が256以下であり、分割データ数があらかじめ256以下であることが既知である場合には、フラグメントカウンタを参照することにより、分割データ番号や分割データ数を特定することが可能である。しかし、分割データ数が256以上である場合には、分割データ番号や分割データ数を特定できない。 For example, as shown in FIG. 54, if the number of divided data pieces is 256 or less, and it is known in advance that the number of divided data pieces is 256 or less, it is possible to identify the divided data number and the number of divided data pieces by referencing the fragment counter. However, if the number of divided data pieces is 256 or more, it is not possible to identify the divided data number and the number of divided data pieces.
なお、ファイルの分割データ数を256以下に制限する場合、1つのパケットで伝送可能なデータサイズをx[bytes]とした場合、伝送可能なファイルの最大サイズは x * 256[bytes]に制限される。例えば、放送ではx=4k[bytes]が想定されており、この場合、伝送可能なファイルの最大サイズは4k*256=1M[bytes]に制限される。従って、1[Mbytes]を越えるファイルを伝送したい場合にはファイルの分割データ数を256以下に制限することはできない。 When limiting the number of divided data pieces of a file to 256 or less, if the data size that can be transmitted in one packet is x [bytes], the maximum size of a transmittable file is limited to x * 256 [bytes]. For example, in broadcasting, x = 4k [bytes] is assumed, in this case the maximum size of a transmittable file is limited to 4k * 256 = 1M [bytes]. Therefore, if you want to transmit a file that is larger than 1 [Mbytes], you cannot limit the number of divided data pieces of the file to 256 or less.
また、例えば、フラグメンテーションインジケータを参照することでファイルの先頭の分割データや最後の分割データを検出することができるため、ファイルの最後の分割データを含むMMTPパケットが受信されるまでMMTPパケット数をカウントしたり、ファイルの最後の分割データを含むMMTPパケットを受信したりした後に、パケットシーケンス番号と組み合わせることにより、分割データ番号や分割データ数を算出することは可能であるため、フラグメンテーションインジケータとパケットシーケンス番号とを組み合わせることにより分割データ番号及び分割データ数をシグナリングするとしてもよい。しかし、ファイルの途中の分割データ(つまり、ファイルの先頭の分割データでもファイルの最後の分割データでもない分割データ)を含むMMTPパケットから受信を開始した場合、当該分割データの分割データ番号や分割データ数を特定できない。当該分割データの分割データ番号や分割データ数は、ファイル最後の分割データを含むMMTPパケットを受信後に初めて特定できる。 In addition, for example, the first and last divided data of a file can be detected by referring to the fragmentation indicator. Therefore, it is possible to count the number of MMTP packets until an MMTP packet containing the last divided data of a file is received, or to calculate the divided data number and the number of divided data by combining the MMTP packet with the packet sequence number after receiving an MMTP packet containing the last divided data of a file. Therefore, the divided data number and the number of divided data may be signaled by combining the fragmentation indicator and the packet sequence number. However, if reception is started from an MMTP packet containing divided data in the middle of a file (i.e., divided data that is neither the first nor the last divided data of a file), the divided data number and the number of divided data of the divided data cannot be identified. The divided data number and the number of divided data of the divided data can be identified only after an MMTP packet containing the last divided data of the file is received.
図54及び図55で説明した課題、つまり、ファイルの分割データを含むパケットを途中から受信した時点で、ファイルの分割データの分割データ番号および分割データ数を一意に決定するために、次の方法を用いる。 To address the issue described in Figures 54 and 55, that is, to uniquely determine the split data number and number of split data of a file when a packet containing split data of the file is received midway, the following method is used.
まず、分割データ番号について説明する。 First, let's explain the split data number.
分割データ番号については、ファイル(item)の先頭の分割データにおけるパケットシーケンス番号をシグナリングする。 For the split data number, the packet sequence number in the split data at the beginning of the file (item) is signaled.
シグナリングする方法として、ファイルを管理する制御情報に格納する。具体的には、図54及び図55においてファイルの先頭の分割データのパケットシーケンス番号Aを、制御情報に格納する。受信装置では、制御情報よりAの値を取得し、パケットヘッダに示されるパケットシーケンス番号より分割データ番号を算出する。 The signaling method is to store it in the control information that manages the file. Specifically, in Figures 54 and 55, the packet sequence number A of the divided data at the beginning of the file is stored in the control information. The receiving device obtains the value of A from the control information and calculates the divided data number from the packet sequence number indicated in the packet header.
分割データの分割データ番号は、当該分割データのパケットシーケンス番号から先頭の分割データのパケットシーケンス番号Aを減ずることにより求められる。 The split data number of a split data is calculated by subtracting the packet sequence number A of the first split data from the packet sequence number of the split data.
ファイルを管理する制御情報としては、例えば、ARIB STD-B60に規定されるアセット管理テーブルがある。アセット管理テーブルには、ファイル毎に、ファイルサイズやバージョン情報などが示され、データ伝送メッセージに格納されて伝送される。図56は、アセット管理テーブルにおけるファイル毎のループのシンタックスを示す図である。 An example of control information for managing files is the asset management table defined in ARIB STD-B60. The asset management table indicates the file size and version information for each file, and is stored in a data transmission message for transmission. Figure 56 shows the syntax of a loop for each file in the asset management table.
既存のアセット管理テーブルの領域が拡張できない場合には、アイテムの情報を示すitem_info_byteフィールドの一部の32bitの領域を用いてシグナリングしてもよい。item_info_byteの一部領域に、ファイル(item)の先頭の分割データにおけるパケットシーケンス番号が示されているかどうかを示すフラグを制御情報の例えばreserved_future_useフィールドに示してもよい。 If the area of the existing asset management table cannot be expanded, signaling may be performed using a 32-bit area in part of the item_info_byte field that indicates item information. A flag indicating whether the packet sequence number in the split data at the beginning of the file (item) is indicated in a part of the item_info_byte area may be indicated in the control information, for example in the reserved_future_use field.
データカルーセルなどファイルを繰り返し伝送する場合には、複数のパケットシーケンス番号を示してもよいし、直後に伝送するファイルの先頭のパケットシーケンス番号を示してもよい。 When repeatedly transmitting files, such as in a data carousel, multiple packet sequence numbers may be indicated, or the packet sequence number of the first file to be transmitted immediately after may be indicated.
ファイル先頭の分割データのパケットシーケンス番号に限らず、ファイルの分割データ番号とパケットシーケンス番号を紐づける情報であればよい。 It does not have to be the packet sequence number of the split data at the beginning of the file, but any information that links the split data number of the file with the packet sequence number will suffice.
次に、分割データ数について説明する。 Next, we will explain the number of split data.
アセット管理テーブルに含まれるファイル毎のループの順番を、ファイルの伝送順と規定してもよい。これにより、伝送順で連続する2つのファイルの先頭のパケットシーケンス番号がわかるため、後に伝送されるファイルの先頭パケットシーケンス番号から前に伝送されるファイルの先頭パケットシーケンス番号を減ずることにより、前に伝送されるファイルの分割データ数を特定することができる。つまり、例えば、図54に示すFile#1と図55に示すFile#2とがこの順に連続したファイルである場合には、File#1の最後のパケットシーケンス番号とFile#2の先頭のパケットシーケンス番号とは連続した番号が付与されている。
The order of loops for each file included in the asset management table may be defined as the transmission order of the files. This allows the first packet sequence numbers of two consecutive files in the transmission order to be known, and the number of divided data pieces of the previously transmitted file can be determined by subtracting the first packet sequence number of the previously transmitted file from the first packet sequence number of the later transmitted file. In other words, for example, if
また、ファイルの分割方法を規定することにより、ファイルの分割データ数を特定できるように規定してもよい。例えば、分割データ数がNの場合、1~(N-1)番目の分割データのそれぞれのサイズはLとし、N番目の分割データのサイズは端数(item_size-L*(N-1))と規定することにより、アセット管理テーブルに示されるitem_sizeから分割データ数を逆算できる。この場合、(item_size / L)を切り上げた整数値が分割データ数となる。なお、ファイルの分割方法は、これに限るものではない。 The file division method may also be specified so that the number of divided data pieces of a file can be specified. For example, if the number of divided data pieces is N, the size of each of the 1st to (N-1)th divided data pieces can be set to L, and the size of the Nth divided data piece can be specified as a fraction (item_size-L*(N-1)), thereby allowing the number of divided data pieces to be calculated backwards from item_size shown in the asset management table. In this case, the integer value obtained by rounding up (item_size/L) becomes the number of divided data pieces. Note that the file division method is not limited to this.
また、分割データ数を直接アセット管理テーブルに格納してもよい。 The number of split data items may also be stored directly in the asset management table.
受信装置では、上記の方法を用いることにより、制御情報を受信し、制御情報に基づいて分割データ数を算出する。また、制御情報に基づいてファイルの分割データ番号に対応するパケットシーケンス番号を算出できる。なお、制御情報の受信のタイミングより、分割データのパケットの受信のタイミングが早い場合は、制御情報を受信したタイミングで分割データ番号や分割データ数を算出してもよい。 By using the above method, the receiving device receives the control information and calculates the number of divided data pieces based on the control information. It can also calculate a packet sequence number corresponding to the divided data number of the file based on the control information. Note that if the timing of receiving the packets of divided data is earlier than the timing of receiving the control information, the divided data number and the number of divided data pieces may be calculated at the timing of receiving the control information.
なお、上記方法を用いて分割データ番号、或いは分割データ数をシグナリングする場合、フラグメントカウンタに基づいて分割データ番号や分割データ数を特定することはなく、フラグメントカウンタは不要なデータとなる。そこで、非同期メディアの伝送において、上記方法等を用いて分割データ番号、および、分割データ数を特定できる情報がシグナリングされている場合には、フラグメントカウンタは運用しない、或いは、ヘッダ圧縮してもよい。これにより、送信装置や受信装置の処理量を削減することができ、伝送効率を向上させることもできる。つまり、非同期メディアを送信する場合には、フラグメントカウンタをreserved(無効化)としてもよい。具体的には、フラグメントカウンタの値を例えば「0」の固定値としてもよい。また、非同期メディアを受信する場合には、フラグメントカウンタを無視してもよい。 When the divided data number or the number of divided data is signaled using the above method, the divided data number or the number of divided data is not identified based on the fragment counter, and the fragment counter becomes unnecessary data. Therefore, in the transmission of asynchronous media, when the divided data number and information that can identify the divided data number and the number of divided data are signaled using the above method, the fragment counter may not be used, or the header may be compressed. This can reduce the amount of processing by the transmitting device and the receiving device, and can also improve transmission efficiency. In other words, when transmitting asynchronous media, the fragment counter may be reserved (disabled). Specifically, the value of the fragment counter may be set to a fixed value, for example, "0". Furthermore, when receiving asynchronous media, the fragment counter may be ignored.
映像や音声などの同期メディアを格納する場合においては、送出装置におけるMMTPパケットの送信順と受信装置におけるMMTPパケットの到着順が一致しており、かつ、パケットが再送されない。このような場合において、パケットロスを検出して再構成する必要がない場合には、フラグメントカウンタを運用しないとしてもよい。言い換えると、この場合では、フラグメントカウンタをreserved(無効化)としてもよい。 When storing synchronous media such as video and audio, the order in which MMTP packets are sent at the sending device and the order in which the MMTP packets arrive at the receiving device match, and packets are not resent. In such a case, if there is no need to detect packet loss and reconstruct packets, the fragment counter may not be operated. In other words, in this case, the fragment counter may be reserved (disabled).
また、フラグメントカウンタを用いなくても、ランダムアクセスポイントの検出、アクセスユニット先頭の検出、NALユニット先頭の検出などをすることが可能であり、復号処理や、パケットロスの検出、パケットロスからの復帰の処理をすることができる。 In addition, even without using a fragment counter, it is possible to detect random access points, the beginning of an access unit, the beginning of a NAL unit, etc., and it is possible to perform decoding processing, detection of packet loss, and recovery from packet loss.
また、ライブ放送などのリアルタイムなコンテンツの伝送では、より低遅延な伝送が求められ、符号化が完了したデータから順次パケット化して送出することが求められる。しかし、リアルタイムなコンテンツの伝送において、従来のフラグメントカウンタでは、先頭の分割データの送出時に分割データ数は決定できないため、先頭の分割データの送出は、データユニットの符号化がすべて完了し、分割データ数が決定した後となり、遅延が発生する。このような場合であっても、上記の方法を用いて、フラグメントカウンタを運用しないことにより、この遅延を削減できる。 Furthermore, when transmitting real-time content such as live broadcasts, lower latency transmission is required, and data must be packetized and sent in sequence starting from the data that has been fully encoded. However, when transmitting real-time content, with conventional fragment counters, the number of divided data pieces cannot be determined when the first divided data piece is sent, and so the first divided data piece is sent after all the encoding of the data unit has been completed and the number of divided data pieces has been determined, resulting in delays. Even in such cases, this delay can be reduced by using the above method without operating a fragment counter.
図57は、受信装置における分割データ番号を特定する動作フローである。 Figure 57 shows the operational flow for identifying the split data number on the receiving device.
受信装置は、ファイルの情報が記載された制御情報を取得する(S1201)。受信装置は、制御情報にファイル先頭のパケットシーケンス番号が示されているかどうかを判定し(S1202)、制御情報にファイル先頭のパケットシーケンス番号が示されている場合には(S1202でYes)、ファイルの分割データの分割データ番号に対応するパケットシーケンス番号を算出する(S1203)。そして、受信装置は、分割データが格納されたMMTPパケットを取得後、取得したMMTPパケットのパケットヘッダに格納されるパケットシーケンス番号からファイルの分割データ番号を特定する(S1204)。一方、受信装置は、制御情報にファイル先頭のパケットシーケンス番号が示されていない場合には(S1202でNo)、ファイル最後の分割データが含まれるMMTPパケットを取得後、取得したMMTPパケットのパケットヘッダに格納されるフラグメントインジケータ、および、パケットシーケンス番号を用いて分割データ番号を特定する(S1205)。 The receiving device acquires control information that describes file information (S1201). The receiving device determines whether the control information indicates the packet sequence number of the beginning of the file (S1202), and if the control information indicates the packet sequence number of the beginning of the file (Yes in S1202), calculates a packet sequence number corresponding to the divided data number of the divided data of the file (S1203). Then, after acquiring an MMTP packet in which the divided data is stored, the receiving device identifies the divided data number of the file from the packet sequence number stored in the packet header of the acquired MMTP packet (S1204). On the other hand, if the control information does not indicate the packet sequence number of the beginning of the file (No in S1202), the receiving device acquires an MMTP packet including the last divided data of the file, and identifies the divided data number using the fragment indicator and packet sequence number stored in the packet header of the acquired MMTP packet (S1205).
図58は、受信装置における分割データ数を特定する動作フローである。 Figure 58 shows the operational flow for determining the number of divided data pieces in the receiving device.
受信装置は、ファイルの情報が記載された制御情報を取得する(S1301)。受信装置は、制御情報にファイルの分割データ数を算出可能な情報が含まれているかどうかを判定し(S1302)、分割データ数を算出可能な情報が含まれていると判定した場合には、(S1302でYes)、制御情報に含まれる情報に基づいて分割データ数を算出する(S1303)。一方、受信装置は、分割データ数を算出不可能であると判定した場合には(S1302でNo)、ファイル最後の分割データが含まれるMMTPパケットを取得後、取得したMMTPパケットのパケットヘッダに格納されるフラグメントインジケータ、および、パケットシーケンス番号を用いて分割データ数を特定する(S1304)。 The receiving device acquires control information that describes file information (S1301). The receiving device determines whether the control information includes information that allows the number of divided data pieces of the file to be calculated (S1302), and if it determines that the control information includes information that allows the number of divided data pieces to be calculated (Yes in S1302), it calculates the number of divided data pieces based on the information included in the control information (S1303). On the other hand, if the receiving device determines that the number of divided data pieces cannot be calculated (No in S1302), it acquires an MMTP packet that includes the last divided data piece of the file, and then identifies the number of divided data pieces using the fragment indicator stored in the packet header of the acquired MMTP packet and the packet sequence number (S1304).
図59は、送信装置においてフラグメントカウンタを運用するかどうかを決定するための動作フローである。 Figure 59 shows the operational flow for determining whether to operate a fragment counter in a transmitting device.
まず、送信装置は、伝送するメディア(以下、「メディアデータ」とも言う。)が同期メディアか、非同期メディアかを判定する(S1401)。 First, the transmitting device determines whether the media to be transmitted (hereinafter also referred to as "media data") is synchronous media or asynchronous media (S1401).
ステップS1401での判定の結果が同期メディアである場合(S1402で同期メディア)、送信装置は、同期メディアを伝送する環境において送受信のMMTPパケット順が一致し、かつパケットロス時にパケット再構成が不要かどうかを判定する(S1403)。送信装置は、不要であると判定した場合(S1403でYes)、フラグメントカウンタを運用しない(S1404)。一方、送信装置は、不要でないと判定した場合(S1403でNo)、フラグメントカウンタを運用する(S1405)。 If the result of the determination in step S1401 is synchronous media (synchronous media in S1402), the transmitting device determines whether the MMTP packet order of transmission and reception is consistent in the environment in which the synchronous media is transmitted and whether packet reconstruction is unnecessary in the event of packet loss (S1403). If the transmitting device determines that it is unnecessary (Yes in S1403), it does not operate a fragment counter (S1404). On the other hand, if the transmitting device determines that it is unnecessary (No in S1403), it operates a fragment counter (S1405).
ステップS1401での判定の結果が非同期メディアである場合(S1402で非同期メディア)、送信装置は、上述で説明した方法を用いて分割データ番号や分割データ数がシグナリングされるかどうかに基づいて、フラグメントカウンタを運用するか否かを決定する。具体的には、送信装置は、分割データ番号や分割データ数がシグナリングされる場合(S1406でYes)、フラグメントカウンタを運用しない(S1404)。一方、送信装置は、分割データ番号や分割データ数がシグナリングされない場合(S1406でNo)、フラグメントカウンタを運用する(S1405)。 If the result of the determination in step S1401 is asynchronous media (asynchronous media in S1402), the transmitting device determines whether or not to operate a fragment counter based on whether the divided data number or the number of divided data is signaled using the method described above. Specifically, if the divided data number or the number of divided data is signaled (Yes in S1406), the transmitting device does not operate a fragment counter (S1404). On the other hand, if the divided data number or the number of divided data is not signaled (No in S1406), the transmitting device operates a fragment counter (S1405).
なお、送信装置は、フラグメントカウンタを運用しない場合、フラグメントカウンタの値をreservedとしてもよいし、ヘッダ圧縮をしてもよい。 If the transmitting device does not operate a fragment counter, it may set the fragment counter value to reserved or perform header compression.
なお、送信装置は、フラグメントカウンタを運用するかどうかに基づいて、上述した分割データ番号や分割データ数をシグナリングするかどうかを決定してもよい。 The transmitting device may decide whether to signal the above-mentioned fragment data number and number of fragment data based on whether a fragment counter is operated.
なお、送信装置は、同期メディアがフラグメントカウンタを運用しない場合には、非同期メディアにおいて上述した方法を用いて分割データ番号や分割データ数をシグナリングしてもよい。逆に、非同期メディアがフラグメントカウンタを運用するかどうかに基づいて、同期メディアの運用を決定してもよい。この場合、同期メディアと非同期メディアとにおいて、フラグメントを運用するかどうかを同じ運用とすることができる。 In addition, if the synchronous media does not operate a fragment counter, the transmitting device may signal the divided data number and the number of divided data in the asynchronous media using the method described above. Conversely, the operation of the synchronous media may be determined based on whether the asynchronous media operates a fragment counter. In this case, the synchronous media and the asynchronous media can have the same operation regarding whether or not to operate fragments.
次に、分割データ数、分割データ番号を特定する方法(フラグメントカウンタを活用する場合)について説明する。図60は、分割データ数、分割データ番号を特定する方法(フラグメントカウンタを活用する場合)について説明するための図である。 Next, a method for identifying the number of split data and the split data number (when using a fragment counter) will be described. Figure 60 is a diagram for explaining a method for identifying the number of split data and the split data number (when using a fragment counter).
図54を用いて説明したように、分割データ数が256以下であり、分割データ数があらかじめ256以下であることが既知である場合には、フラグメントカウンタを参照することにより、分割データ番号や分割データ数を特定することが可能である。 As explained using FIG. 54, if the number of split data pieces is 256 or less, and it is known in advance that the number of split data pieces is 256 or less, it is possible to identify the split data number and the number of split data pieces by referring to the fragment counter.
ファイルの分割データ数を256以下に制限する場合、1つのパケットで伝送可能なデータサイズをx[bytes]とした場合、伝送可能なファイルの最大サイズはx*256[bytes]に制限される。例えば、放送ではx=4k[bytes]が想定されており、この場合、伝送可能なファイルの最大サイズは4k*256=1M[bytes]に制限される。 When limiting the number of divided data pieces in a file to 256 or less, if the data size that can be transmitted in one packet is x [bytes], the maximum size of a transmittable file is limited to x * 256 [bytes]. For example, in broadcasting, x = 4k [bytes] is assumed, in this case the maximum size of a transmittable file is limited to 4k * 256 = 1M [bytes].
ファイルサイズが、伝送可能なファイルの最大サイズを超える場合、分割ファイルのサイズがx*256[bytes]以下となるように予めファイルを分割する。ファイルが分割することにより得られた複数の分割ファイルのそれぞれは、一つのファイル(item)として扱われ、さらに256以内に分割され、さらに分割されることにより得られた分割データがそれぞれMMTPパケットに格納されて伝送される。 If the file size exceeds the maximum size of a transmittable file, the file is split in advance so that the size of each split file is x * 256 [bytes] or less. Each of the multiple split files obtained by splitting the file is treated as a single file (item) and is further split into files of 256 or less. Each of the split data obtained by further splitting is stored in an MMTP packet and transmitted.
なお、アイテムが分割ファイルであることを示す情報や、分割ファイル数、分割ファイルのシーケンス番号を制御情報に格納し、受信装置に送信してもよい。また、これらの情報をアセット管理テーブルに格納してもよいし、既存のフィールドitem_info_byteの一部を用いて示してもよい。 In addition, information indicating that the item is a split file, the number of split files, and the sequence numbers of the split files may be stored in the control information and transmitted to the receiving device. This information may also be stored in the asset management table, or may be indicated using part of the existing field item_info_byte.
受信装置は、アイテムが1つのファイルを分割することにより得られた複数の分割ファイルのうちの1つの分割ファイルである場合には、他の分割ファイルを特定し、元のファイルを再構成することができる。また、受信装置では、制御情報における分割ファイルの分割ファイル数、分割ファイルのインデックス、および、フラグメントカウンタを用いることにより、分割データ数や、分割データ番号を一意に特定することができる。また、パケットシーケンス番号などを用いることなく分割データ数や分割データ番号を一意に特定できる。 When the item is one of multiple split files obtained by splitting one file, the receiving device can identify the other split files and reconstruct the original file. The receiving device can also uniquely identify the number of split data items and the split data number by using the number of split files, the split file index, and the fragment counter in the control information. The receiving device can also uniquely identify the number of split data items and the split data number without using a packet sequence number, etc.
ここで、1つのファイルを分割することにより得られた複数の分割ファイルそれぞれのitem_idは、互いに同じであることが望ましい。なお、別のitem_idを付与する場合は、他の制御情報などからファイルを一意に参照するために、先頭の分割ファイルのitem_idを示すとしてもよい。 Here, it is desirable that the item_id of each of the multiple split files obtained by splitting one file is the same. Note that when a different item_id is assigned, the item_id of the first split file may be indicated in order to uniquely reference the file from other control information, etc.
また、複数の分割ファイルは、必ず同じMPUに属するとしてもよい。MPUに複数のファイルを格納する場合には、異なる種類のファイルは格納せず、必ず1つのファイルを分割したファイルが格納されているとしてもよい。受信装置はitem毎のバージョン情報を確認せずとも、MPU毎のバージョン情報を確認することで、ファイルの更新を検知できる。 In addition, multiple split files may always belong to the same MPU. When multiple files are stored in an MPU, files of different types may not be stored, and files that are split from a single file may always be stored. The receiving device can detect file updates by checking the version information for each MPU without checking the version information for each item.
図61は、フラグメントカウンタを活用する場合の送信装置の動作フローである。 Figure 61 shows the operation flow of a transmitting device when using a fragment counter.
まず、送信装置は、伝送するファイルのサイズを確認する(S1501)。次に送信装置は、ファイルサイズがx*256[bytes](xは、1つのパケットで伝送できるデータサイズ。例えば、MTUサイズ。)を超えるか否かを判定し(S1502)、ファイルサイズがx*256[bytes]を超える場合には(S1502でYes)、分割ファイルのサイズがx*256[bytes]未満となるようにファイルを分割する(S1503)。そして、分割ファイルをアイテムとして伝送し、分割ファイルに関する情報(例えば、分割ファイルであること、分割ファイルにおけるシーケンス番号など)を制御情報に格納して伝送する(S1504)。一方、ファイルサイズがx*256[bytes]未満である場合には(S1502でNo)、通常通りファイルをアイテムとして伝送する(S1505)。 First, the transmitting device checks the size of the file to be transmitted (S1501). Next, the transmitting device determines whether the file size exceeds x*256 [bytes] (x is the data size that can be transmitted in one packet, for example, the MTU size) (S1502). If the file size exceeds x*256 [bytes] (Yes in S1502), the transmitting device divides the file so that the size of each divided file is less than x*256 [bytes] (S1503). Then, the transmitting device transmits the divided files as items, and transmits information about the divided files (for example, the fact that they are divided files, the sequence number of the divided files, etc.) in the control information (S1504). On the other hand, if the file size is less than x*256 [bytes] (No in S1502), the transmitting device transmits the file as an item as usual (S1505).
図62は、フラグメントカウンタを活用する場合の受信装置の動作フローである。 Figure 62 shows the operation flow of a receiving device when using a fragment counter.
まず、受信装置は、アセット管理テーブルなどのファイルの伝送に関する制御情報を取得、解析する(S1601)。次に、受信装置は、所望のアイテムが分割ファイルであるかどうかを判定する(S1602)。受信装置は、所望のファイルが分割ファイルであると判定した場合には(S1602でYes)、分割ファイルや分割ファイルのインデックスなど、ファイルを再構成するための情報を制御情報から取得する(S1603)。そして、受信装置は、分割ファイルを構成するアイテムを取得し、元のファイルを再構成する(S1604)。一方、受信装置は、所望のファイルが分割ファイルでないと判定した場合(S1602でNo)、通常通りファイルを取得する(S1605)。 First, the receiving device acquires and analyzes control information related to the transmission of files, such as an asset management table (S1601). Next, the receiving device determines whether the desired item is a split file (S1602). If the receiving device determines that the desired file is a split file (Yes in S1602), it acquires information for reconstructing the file, such as the split file and its index, from the control information (S1603). Then, the receiving device acquires the items that make up the split file and reconstructs the original file (S1604). On the other hand, if the receiving device determines that the desired file is not a split file (No in S1602), it acquires the file as usual (S1605).
要するに、送信装置は、ファイル先頭の分割データのパケットシーケンス番号をシグナリングする。また、送信装置は、分割データ数を特定できる情報をシグナリングする。或いは、送信装置は、分割データ数を特定できる分割ルールを規定する。また、送信装置は、フラグメントカウンタを運用せずに、reserved或いはヘッダ圧縮する。 In short, the transmitting device signals the packet sequence number of the divided data at the beginning of the file. The transmitting device also signals information that can identify the number of divided data. Alternatively, the transmitting device specifies a division rule that can identify the number of divided data. The transmitting device also performs reserved or header compression without operating a fragment counter.
受信装置は、ファイル先頭のデータのパケットシーケンス番号がシグナリングされている場合には、ファイル先頭の分割データのパケットシーケンス番号と、MMTPパケットのパケットシーケンス番号から、分割データ番号や分割データ数を特定する。 When the packet sequence number of the data at the beginning of the file is signaled, the receiving device determines the split data number and the number of split data from the packet sequence number of the split data at the beginning of the file and the packet sequence number of the MMTP packet.
別の観点では、送信装置は、ファイルを分割し、分割ファイル毎にデータを分割して送信する。分割ファイルを紐づける情報(シーケンス番号、分割数など)をシグナリングする。 From another perspective, the transmitting device divides the file and transmits the data for each divided file. It signals information linking the divided files (sequence number, number of divisions, etc.).
受信装置は、フラグメントカウンタ、及び分割ファイルのシーケンス番号により、分割データ番号や分割データ数を特定する。 The receiving device identifies the split data number and the number of split data pieces using the fragment counter and the sequence number of the split file.
これにより、分割データ番号や分割データを一意に特定できる。また、途中の分割データを受信した時点で当該分割データの分割データ番号を特定できるため、待機時間を削減し、メモリも削減できる。 This allows the split data number and split data to be uniquely identified. In addition, since the split data number of a split data item can be identified when an intermediate split data item is received, waiting time can be reduced and memory usage can be reduced.
また、フラグメントカウンタを運用しないことにより、送受信装置の構成は処理量を削減することができる、また、伝送効率を向上させることができる。 In addition, by not using a fragment counter, the configuration of the transmitting/receiving device can reduce the amount of processing and improve transmission efficiency.
図63は、同一番組を複数のIPデータフローで送信する場合のサービス構成を示す図である。ここでは、サービスID=2の番組の一部(映像・音声)のデータがMMT方式を用いたIPデータフローで送信され、同じサービスIDであり、当該一部のデータとは異なるデータが高度BSデータ伝送方式を用いたIPデータフロー(この例ではファイル伝送プロトコルも異なるが同じプロトコルであってもよい。)で送信される例を示している。 Figure 63 shows a service configuration in which the same program is transmitted over multiple IP data flows. Here, an example is shown in which part of the data (video and audio) of a program with service ID = 2 is transmitted over an IP data flow using the MMT method, and data with the same service ID but different from the part of the data is transmitted over an IP data flow using the advanced BS data transmission method (the file transmission protocol is different in this example, but may be the same protocol).
送信装置は、受信装置において、複数のIPデータフローから構成されるデータが、復号時刻までに揃うことを保証できるように、IPデータの多重化を行う。 The transmitting device multiplexes the IP data to ensure that data consisting of multiple IP data flows is available at the receiving device by the time of decoding.
受信装置は、複数のIPデータフローから構成されるデータを用いて、復号時刻に基づいて処理することにより、保証された受信機動作を実現することができる。 The receiving device can achieve guaranteed receiver operation by processing data consisting of multiple IP data flows based on the decoding time.
[補足:送信装置及び受信装置]
以上のように、フラグメントカウンタを運用せずにデータの送信を行う送信装置は、図64のように構成することも可能である。また、フラグメントカウンタを運用せずにデータの受信を行う受信装置は、図65のように構成することも可能である。図64は、送信装置の具体的構成の例を示す図である。図65は、受信装置の具体的構成の例を示す図である。
[Supplementary Note: Transmitting Device and Receiving Device]
As described above, a transmitting device that transmits data without operating a fragment counter can also be configured as shown in Figure 64. Also, a receiving device that receives data without operating a fragment counter can also be configured as shown in Figure 65. Figure 64 is a diagram showing an example of a specific configuration of a transmitting device. Figure 65 is a diagram showing an example of a specific configuration of a receiving device.
送信装置500は、分割部501と、構成部502と、送信部503とを備える。分割部501、構成部502、及び送信部503のそれぞれは、例えば、マイクロコンピュータ、プロセッサ、または、専用回路などによって実現される。
The transmitting
受信装置600は、受信部601と、判定部602と、構成部603とを備える。受信部601、判定部602、及び構成部603のそれぞれは、例えば、マイクロコンピュータ、プロセッサ、または、専用回路などによって実現される。
The receiving
送信装置500及び受信装置600の各構成要素についての詳細な説明は、それぞれ、送信方法及び受信方法の説明において行う。
Detailed explanations of each component of the transmitting
まず、送信方法について、図66を用いて説明する。図66は、送信装置による動作フロー(送信方法)である。 First, the transmission method will be described with reference to FIG. 66. FIG. 66 shows the operation flow (transmission method) of the transmitting device.
まず、送信装置500の分割部501は、データを複数の分割データに分割する(S1701)。
First, the
次に、送信装置500の構成部502は、複数の分割データのそれぞれにヘッダ情報を付与してパケット化することで、複数のパケットを構成する(S1702)。
Next, the
そして、送信装置500の送信部503は、構成された前記複数のパケットを送信する(S1703)。送信部503は、分割データ情報、および、無効化されたフラグメントカウンタの値を、送信する。なお、分割データ情報は、分割データ番号と、分割データ数とを特定するための情報である。また、分割データ番号は、当該分割データが複数の分割データのうちの何番目の分割データであるかを示す番号である。分割データ数は、複数の分割データの数である。
Then, the transmitting
これにより、送信装置500の処理量を削減することができる。
This reduces the amount of processing required by the transmitting
次に、受信方法について、図67を用いて説明する。図67は、受信装置による動作フロー(受信方法)である。 Next, the receiving method will be explained using FIG. 67. FIG. 67 shows the operation flow (receiving method) of the receiving device.
まず、受信装置600の受信部601は、複数のパケットを受信する(S1801)。
First, the receiving
次に、受信装置600の判定部602は、受信した複数のパケットから、分割データ情報が、当取得されたか否かを判定する(S1802)。
Next, the
そして、受信装置600の構成部603は、判定部602により、分割データ情報を取得したと判定された場合(S1802でYes)、当該ヘッダ情報に含まれるフラグメントカウンタの値を使用せずに、受信した複数のパケットからデータを構成する(S1803)。
Then, if the
一方で、構成部603は、判定部602により、分割データ情報を取得していないと判定された場合(S1802でNo)、当該ヘッダ情報に含まれるフラグメントカウンタの値を用いて、受信した複数のパケットからデータを構成してもよい(S1804)。
On the other hand, if the
これにより、受信装置600の処理量を削減することができる。
This reduces the amount of processing required by the receiving
(実施の形態5)
[概要]
実施の形態5では、NALサイズフォーマットでNALユニットを多重化レイヤに格納した場合の伝送パケット(TLVパケット)の送信方法について説明する。
(Embodiment 5)
[overview]
In the fifth embodiment, a method of transmitting a transport packet (TLV packet) in a case where a NAL unit is stored in a multiplexing layer in a NAL size format will be described.
実施の形態1で説明したように、H.264やH.265のNALユニットを多重化レイヤに格納する際には、次の2種類の形式がある。1つは、NALユニットヘッダの直前に特定のビット列からなるスタートコードを付加するバイトストリームフォーマットと呼ばれる形式である。もう1つは、NALユニットのサイズを示すフィールドを付加するNALサイズフォーマットと呼ばれる形式である。バイトストリームフォーマットは、MPEG-2システムやRTPなどにおいて用いられ、NALサイズフォーマットはMP4、あるいは、MP4を使用するDASHやMMTなどにおいて用いられる。 As described in the first embodiment, there are two types of formats for storing H.264 or H.265 NAL units in the multiplexing layer. One is a format called a byte stream format, which adds a start code consisting of a specific bit string immediately before the NAL unit header. The other is a format called a NAL size format, which adds a field indicating the size of the NAL unit. The byte stream format is used in MPEG-2 systems and RTP, and the NAL size format is used in MP4, or DASH and MMT that use MP4.
バイトストリームフォーマットにおいて、スタートコードは3バイトで構成され、さらに任意のバイト(値は0であるバイト)を付加することもできる。 In the byte stream format, the start code consists of three bytes, and any additional bytes (bytes whose value is 0) can be added.
一方で、一般的なMP4におけるNALサイズフォーマットでは、サイズ情報は、1バイト、2バイト、および4バイトのいずれかで示される。このサイズ情報は、HEVCサンプルエントリにおけるlengthSizeMinusOneフィールドで示される。当該フィールドの値が「0」の場合は1バイト、「1」の場合は2バイト、「3」の場合は4バイトであることを示す。 On the other hand, in the general MP4 NAL size format, the size information is indicated as one byte, two bytes, or four bytes. This size information is indicated in the lengthSizeMinusOne field in the HEVC sample entry. A value of "0" in this field indicates one byte, a value of "1" indicates two bytes, and a value of "3" indicates four bytes.
ここで、2014年7月に規格化された、ARIB STD-B60「デジタル放送におけるMMTによるメディアトランスポート方式」では、NALユニットを多重化レイヤに格納する際、HEVCエンコーダの出力がバイトストリームである場合、バイトスタートコードを除去し、32ビット(符号なし整数)で示したバイト単位のNALユニットのサイズを長さ情報としてNALユニットの直前に付加する。なお、HEVCサンプルエントリを含むMPUメタデータを伝送せず、サイズ情報は32ビット(4バイト)固定である。 Here, in ARIB STD-B60 "Media transport method using MMT in digital broadcasting," standardized in July 2014, when storing a NAL unit in the multiplexing layer, if the output of the HEVC encoder is a byte stream, the byte start code is removed and the size of the NAL unit in bytes, expressed as 32 bits (unsigned integer), is added immediately before the NAL unit as length information. Note that MPU metadata including HEVC sample entries is not transmitted, and the size information is fixed at 32 bits (4 bytes).
また、ARIB STD-B60「デジタル放送におけるMMTによるメディアトランスポート方式」では、送信装置が受信装置におけるバッファ動作を保証するために送信の際に考慮する受信バッファモデルにおいては、映像信号の復号前バッファは、CPBであると規定されている。 In addition, ARIB STD-B60 "Media Transport Method Using MMT in Digital Broadcasting" specifies that in the reception buffer model that the transmitting device takes into account during transmission to ensure buffer operation in the receiving device, the pre-decoding buffer for video signals is the CPB.
しかし、次のような課題がある。MPEG-2システムにおけるCPBや、HEVCにおけるHRDでは、映像信号がバイトストリームフォーマットであることを前提に規定されている。このため、例えば、3バイトのスタートコードが付いたバイトストリームフォーマットであることを前提に伝送パケットのレート制御を行った場合、4バイトのサイズ領域が付加されたNALサイズフォーマットの伝送パケットを受信した受信装置は、ARIB STD-B60における受信バッファモデルを満たすことができない可能性がある。また、ARIB STD-B60における受信バッファモデルには、具体的なバッファサイズ、および、引き抜きレートが示されていないため、受信装置におけるバッファ動作を保証することは難しい。 However, there are the following issues. The CPB in the MPEG-2 system and the HRD in HEVC are specified on the assumption that the video signal is in byte stream format. For this reason, for example, if transmission packet rate control is performed on the assumption that the video signal is in byte stream format with a 3-byte start code, a receiving device that receives a transmission packet in a NAL size format with a 4-byte size field added may not be able to satisfy the receiving buffer model in ARIB STD-B60. In addition, the receiving buffer model in ARIB STD-B60 does not indicate a specific buffer size or extraction rate, making it difficult to guarantee the buffer operation in the receiving device.
したがって、上記の課題を解決するために、受信機におけるバッファ動作を保証するための受信バッファモデルを下記のように規定する。 Therefore, to solve the above problem, the receiver buffer model for ensuring buffer operation in the receiver is specified as follows.
図68は、ARIB STD-B60に規定されている受信バッファモデルに基づいて、特に放送伝送路のみを用いた場合の受信バッファモデルを示す。 Figure 68 shows a receive buffer model based on the receive buffer model specified in ARIB STD-B60, specifically when only broadcast transmission paths are used.
受信バッファモデルは、TLVパケットバッファ(第1のバッファ)と、IPパケットバッファ(第2のバッファ)と、MMTPバッファ(第3のバッファ)と、復号前バッファ(第4のバッファ)とを備える。なお、放送伝送路では、デジッタバッファやFECのためのバッファは必要ないため、省略している。 The receiving buffer model includes a TLV packet buffer (first buffer), an IP packet buffer (second buffer), an MMTP buffer (third buffer), and a pre-decoding buffer (fourth buffer). Note that de-jitter buffers and buffers for FEC are not required in broadcast transmission paths, so they are omitted.
TLVパケットバッファは、TLVパケット(伝送パケット)を放送伝送路から受信し、受信したTLVパケットに格納されている可変長のパケットヘッダ(IPパケットヘッダ、IPパケット圧縮時のフルヘッダ、IPパケット圧縮時の圧縮ヘッダ)、および可変長のペイロードで構成されるIPパケットを、ヘッダ伸張された固定長のIPパケットヘッダを有するIPパケット(第1のパケット)に変換し、変換することにより得られたIPパケットを一定のビットレートで出力する。 The TLV packet buffer receives a TLV packet (transmission packet) from the broadcast transmission path, converts the IP packet, which is composed of a variable-length packet header (IP packet header, full header when the IP packet is compressed, compressed header when the IP packet is compressed) stored in the received TLV packet and a variable-length payload, into an IP packet (first packet) having a header-expanded fixed-length IP packet header, and outputs the IP packet obtained by the conversion at a constant bit rate.
IPパケットバッファは、IPパケットをパケットヘッダおよび可変長のペイロードを有するMMTPパケット(第2のパケット)に変換し、変換することにより得られたMMTPパケットを一定のビットレートで出力する。なお、IPパケットバッファは、MMTPバッファにマージされていても良い。 The IP packet buffer converts the IP packets into MMTP packets (second packets) having a packet header and a variable-length payload, and outputs the MMTP packets obtained by the conversion at a constant bit rate. Note that the IP packet buffer may be merged into the MMTP buffer.
MMTPバッファは、出力されたMMTPパケットをNALユニットに変換し、変換することにより得られたNALユニットを一定のビットレートで出力する。 The MMTP buffer converts the output MMTP packets into NAL units, and outputs the NAL units obtained by the conversion at a constant bit rate.
復号前バッファは、出力されたNALユニットを順次蓄積し、蓄積した複数のNALユニットからアクセスユニットを生成し、生成したアクセスユニットを当該アクセスユニットに対応した復号時刻のタイミングでデコーダに出力する。 The pre-decoding buffer sequentially accumulates the output NAL units, generates an access unit from the accumulated multiple NAL units, and outputs the generated access unit to the decoder at the decoding time corresponding to that access unit.
図68に示す受信バッファモデルでは、前段のTLVパケットバッファおよびIPパケットバッファ以外のバッファであるMMTPバッファおよび復号前バッファは、MPEG-2 TSにおける受信バッファモデルを踏襲することが特徴的である。 The reception buffer model shown in Figure 68 is characterized in that the MMTP buffer and pre-decoding buffer, which are buffers other than the upstream TLV packet buffer and IP packet buffer, follow the reception buffer model in MPEG-2 TS.
例えば、映像におけるMMTPバッファ(MMTP B1)は、MPEG-2 TSにおけるトランスポートバッファ(TB)、及び、多重化バッファ(MB)に相当するバッファで構成される。また、音声におけるMMTPバッファ(MMTP Bn)は、MPEG-2 TSにおけるトランスポートバッファ(TB)に相当するバッファで構成される。 For example, the MMTP buffer for video (MMTP B1) is composed of a buffer equivalent to the transport buffer (TB) and multiplexing buffer (MB) in MPEG-2 TS. Also, the MMTP buffer for audio (MMTP Bn) is composed of a buffer equivalent to the transport buffer (TB) in MPEG-2 TS.
トランスポートバッファのバッファサイズは、MPEG-2 TS同様であり固定値とする。例えば、MTUサイズのn倍(nは、小数であっても整数であってもよく、1以上とする。)とする。 The buffer size of the transport buffer is a fixed value, similar to MPEG-2 TS. For example, it is set to n times the MTU size (n can be a decimal or an integer, and is 1 or greater).
また、MMTPパケットヘッダのオーバーヘッド率がPESパケットヘッダのオーバーヘッド率よりも小さくなるように、MMTPパケットサイズを規定する。これにより、トランスポートバッファからの引き抜きレートは、MPEG-2 TSにおけるトランスポートバッファの引き抜きレートRX1、RXn、RXsをそのまま適用することができる。 The MMTP packet size is also specified so that the overhead rate of the MMTP packet header is smaller than the overhead rate of the PES packet header. This allows the transport buffer extraction rates RX1, RXn, and RXs in MPEG-2 TS to be applied as is to the extraction rates from the transport buffer.
また、多重化バッファのサイズ、および、引き抜きレートは、それぞれ、MPEG-2
TSにおけるMBサイズ、および、RBX1とする。
The size of the multiplexing buffer and the extraction rate are MPEG-2
The MB size in TS and RBX1.
以上の受信バッファモデルに加え、課題を解決するために、下記の制約を設ける。 In addition to the above receive buffer model, the following constraints are imposed to solve the problem.
HEVCのHRD規定は、バイトストリーム形式が前提であり、MMTはNALユニットの先頭に4バイトのサイズ領域を付加するNALサイズ形式である。したがって、符号化時にはNALサイズ形式において、HRDを満たすようにレート制御を行う。 The HRD provision in HEVC is based on the byte stream format, and MMT is a NAL size format that adds a 4-byte size field to the beginning of the NAL unit. Therefore, during encoding, rate control is performed in the NAL size format to satisfy the HRD.
つまり、送信装置では、上記の受信バッファモデルおよび制約に基づいて、伝送パケットのレート制御を行う。 In other words, the transmitting device controls the rate of transmission packets based on the above receive buffer model and constraints.
受信装置では、上記の信号を用いて受信処理をすることにより、アンダーフローやオーバーフローすることなる復号動作をすることができる。 The receiving device can perform reception processing using the above signals to perform decoding operations that do not cause underflow or overflow.
なお、NALユニットの先頭のサイズ領域は4バイトでなくても、NALユニットの先頭のサイズ領域を考慮して、HRDを満たすようにレート制御を行う。 Even if the size area at the beginning of the NAL unit is not 4 bytes, rate control is performed to satisfy the HRD, taking into account the size area at the beginning of the NAL unit.
なお、TLVパケットバッファの引き抜きレート(TLVパケットバッファがIPパケットを出力する際のビットレート)は、IPヘッダ伸張後の伝送レートを考慮して設定する。 The extraction rate of the TLV packet buffer (the bit rate at which the TLV packet buffer outputs IP packets) is set taking into account the transmission rate after the IP header is expanded.
つまり、データサイズが可変長であるTLVパケットを入力し、TLVヘッダの除去およびIPヘッダの伸張(復元)を実施した後、出力されるIPパケットの伝送レートを考慮する。言い換えれば、入力される伝送レートに対してヘッダの増減量を考慮する。 In other words, a TLV packet with a variable data size is input, the TLV header is removed, and the IP header is expanded (restored), and then the transmission rate of the output IP packet is taken into consideration. In other words, the amount of header increase or decrease is taken into consideration relative to the input transmission rate.
具体的には、データサイズが可変長であること、IPヘッダ圧縮されるパケットとIPヘッダ圧縮されていないパケットとが混在すること、IPv4,IPv6などのパケット種別によりIPヘッダのサイズが異なることから、出力されるIPパケットの伝送レートは一意ではない。このため、可変長のデータサイズの平均パケット長を定め、TLVパケットから出力されるIPパケットの伝送レートを定める。 Specifically, the transmission rate of the output IP packets is not unique because the data size is variable, packets with compressed IP headers are mixed with packets without compressed IP headers, and the size of the IP headers differs depending on the packet type (such as IPv4 or IPv6). For this reason, the average packet length of the variable data size is determined, and the transmission rate of the IP packets output from the TLV packet is determined.
ここでは、IPヘッダ伸張後の最大伝送速度を規定するために、IPヘッダは常に圧縮されている場合を想定して伝送レートを定める。 Here, in order to specify the maximum transmission speed after the IP header is expanded, the transmission rate is determined assuming that the IP header is always compressed.
また、IPv4、IPv6のパケット種別が混在する場合、或いは、パケット種別を区別することなく規定する場合は、ヘッダサイズが大きく、ヘッダ伸張後の増加率の大きいIPv6パケットを想定して伝送レートを定める。 In addition, when IPv4 and IPv6 packet types are mixed, or when packet types are specified without distinguishing between them, the transmission rate is determined assuming IPv6 packets, which have a large header size and a large growth rate after header expansion.
例えば、TLVパケットバッファに入力されるTLVパケットの平均パケット長がSであり、TLVパケットに格納されるIPパケットはすべてIPv6パケットであり、ヘッダ圧縮されているとした場合の、TLVヘッダの除去及びIPヘッダの伸張後の最大出力伝送レートは、
入力レート×{S/(S+IPv6ヘッダ圧縮量)}
となる。
For example, when the average packet length of TLV packets input to the TLV packet buffer is S, and all IP packets stored in the TLV packets are IPv6 packets and are header-compressed, the maximum output transmission rate after removing the TLV header and expanding the IP header is given by
Input rate × {S/(S + IPv6 header compression amount)}
It becomes.
より具体的には、TLVパケットの平均パケット長Sを、
S=0.75×1500(1500は最大MTUサイズを想定)
を基準として設定し、
IPv6ヘッダ圧縮量=TLVヘッダ長-IPv6ヘッダ長-UDPヘッダ長
=3-40-8とした場合、TLVヘッダの除去及びIPヘッダの伸張後の最大出力伝送レートは、
入力レート×1.0417≒入力レート×1.05
となる。
More specifically, the average packet length S of the TLV packet is defined as follows:
S = 0.75 x 1500 (1500 is the maximum MTU size assumed)
is set as the standard,
IPv6 header compression amount = TLV header length - IPv6 header length - UDP header length
= 3 - 40 - 8, the maximum output transmission rate after removing the TLV header and expanding the IP header is
Input rate × 1.0417 ≒ Input rate × 1.05
It becomes.
図69は、複数のデータユニットをアグリゲーションして一つのペイロードに格納する例を示す図である。 Figure 69 shows an example of aggregating multiple data units and storing them in a single payload.
MMT方式では、データユニットをアグリゲーションする際、図69に示すように、データユニットの前に、データユニット長、及び、データユニットヘッダが付加される。 In the MMT method, when aggregating data units, a data unit length and a data unit header are added before the data unit, as shown in Figure 69.
しかし、例えば、NALサイズフォーマットの映像信号を一つのデータユニットとして格納する場合、図70に示すように、一つのデータユニットに対して、サイズを示すフィールドが2つあり、情報として重複している。図70は、複数のデータユニットをアグリゲーションして一つのペイロードに格納する例であって、NALサイズフォーマットの映像信号を一つのデータユニットとした場合の例を示す図である。具体的には、NALサイズフォーマットにおける先頭のサイズ領域(以降の説明では、「size領域」と呼ぶ。)と、MMTPペイロードヘッダにおけるデータユニットヘッダの前に位置するデータユニット長フィールドとのいずれもサイズを示すフィールドであり、情報として重複している。例えば、NALユニットの長さがLバイトである場合、size領域にはLバイトが示されており、データユニット長フィールドには、Lバイト+「size領域の長さ」(byte)が示される。size領域と、データユニット長フィールドとで示される値は完全に一致はしていないが、一方の値から他方の値を容易に算出できるため、重複していると言える。 However, for example, when a video signal in the NAL size format is stored as one data unit, as shown in FIG. 70, there are two fields indicating the size for one data unit, and the information is duplicated. FIG. 70 shows an example of aggregating and storing multiple data units in one payload, in which a video signal in the NAL size format is treated as one data unit. Specifically, the size field at the beginning of the NAL size format (hereinafter referred to as the "size field") and the data unit length field located before the data unit header in the MMTP payload header are both fields indicating the size, and the information is duplicated. For example, if the length of the NAL unit is L bytes, the size field indicates L bytes, and the data unit length field indicates L bytes + "length of the size field" (bytes). Although the values indicated in the size field and the data unit length field do not match completely, they can be said to be duplicated because one value can be easily calculated from the other value.
このように、データのサイズ情報を内部に含むデータをデータユニットとして格納し、かつ、複数の当該データユニットをアグリゲーションして一つのペイロードに格納する場合、サイズ情報が重複するため、オーバーヘッドが大きく、伝送効率が悪いと言う課題がある。 In this way, when data containing data size information is stored as a data unit and multiple such data units are aggregated and stored in a single payload, there is an issue that the size information is duplicated, resulting in large overhead and poor transmission efficiency.
そこで、送出装置では、データのサイズ情報を内部に含むデータをデータユニットとして格納し、かつ、複数の当該データユニットをアグリゲーションして一つのペイロードに格納する場合、図71や図72に示すように格納することが考えられる。 In view of this, in a transmitting device, when data including data size information is stored as a data unit and multiple such data units are aggregated and stored in a single payload, it is possible to store them as shown in Figures 71 and 72.
図71に示すように、size領域を含むNALユニットをデータユニットとして格納し、MMTPペイロードヘッダに従来含まれるデータユニット長は示さないことが考えられる。図71は、データユニット長が示されないMMTPパケットのペイロードの構成を示す図である。 As shown in FIG. 71, it is possible to store a NAL unit including a size field as a data unit, and not indicate the data unit length that is conventionally included in the MMTP payload header. FIG. 71 shows the structure of the payload of an MMTP packet in which the data unit length is not indicated.
また、図72に示すように、データユニット長が示されているかどうかを示すフラグや、size領域の長さを示す情報を新たにヘッダに格納してもよい。フラグやsize領域の長さを示す情報を格納する場所は、データユニットヘッダなど、データユニット単位で示してもよいし、複数のデータユニットをアグリゲーションした単位で(パケット単位)で示してもよい。図72は、パケット単位に付与されるextend領域に示す例である。なお、上記の新規に示す情報の格納場所はこれに限るものではなく、MMTPペイロードヘッダやMMTPパケットヘッダ、制御情報であってもよい。 Also, as shown in FIG. 72, a flag indicating whether the data unit length is indicated and information indicating the length of the size area may be newly stored in the header. The location where the flag and information indicating the length of the size area are stored may be indicated on a data unit basis, such as in a data unit header, or may be indicated on a unit basis in which multiple data units are aggregated (on a packet basis). FIG. 72 shows an example shown in the extend area assigned on a packet basis. Note that the storage location of the newly indicated information is not limited to this, and may be an MMTP payload header, an MMTP packet header, or control information.
受信側では、データユニット長が圧縮されているかどうかを示すフラグが、データユニット長が圧縮されていることを示している場合は、データユニット内部のsize領域の長さ情報を取得し、size領域の長さ情報に基づいて、size領域を取得することにより、取得したsize領域の長さ情報およびsize領域を用いてデータユニット長を算出できる。 On the receiving side, if the flag indicating whether the data unit length is compressed indicates that the data unit length is compressed, the length information of the size area inside the data unit is obtained, and the size area is obtained based on the length information of the size area, and the data unit length can be calculated using the length information of the obtained size area and the size area.
以上の方法により、送出側でデータ量を削減することができ、伝送効率を向上できる。 By using the above method, the amount of data can be reduced on the sending side, improving transmission efficiency.
なお、データユニット長を削減するのではなく、size領域を削減することによりオーバーヘッド削減してもよい。size領域を削減する場合には、size領域が削減されているかどうかを示す情報や、データユニット長フィールドの長さを示す情報を格納してもよい。 In addition, overhead may be reduced by reducing the size area rather than reducing the data unit length. When reducing the size area, information indicating whether the size area has been reduced or information indicating the length of the data unit length field may be stored.
なお、MMTPペイロードヘッダにも、長さ情報が含まれる。 Note that the MMTP payload header also contains length information.
size領域を含むNALユニットをデータユニットとして格納する場合は、アグリゲーションする/しないにかかわらず、MMTPペイロードヘッダにおけるペイロードサイズ領域を削減してもよい。 When a NAL unit including a size field is stored as a data unit, the payload size field in the MMTP payload header may be reduced regardless of whether aggregation is performed or not.
また、size領域を含まないデータをデータユニットとして格納する場合でも、アグリゲーションされており、データユニット長が示されている場合には、MMTPペイロードヘッダにおけるペイロードサイズ領域を削減してもよい。 In addition, even if data that does not include a size field is stored as a data unit, if it is aggregated and the data unit length is indicated, the payload size field in the MMTP payload header may be reduced.
ペイロードサイズ領域を削減する場合には、上記と同様に、削減したかどうかを示すフラグや、削減したサイズフィールドの長さ情報、或いは削減しなかったサイズフィールドの長さ情報を示してもよい。 When reducing the payload size area, a flag indicating whether reduction has been performed, length information of the reduced size field, or length information of the non-reduced size field may be indicated, as described above.
図73は、受信装置の動作フローを示す。 Figure 73 shows the operation flow of the receiving device.
送出装置では、上述したように、size領域を含むNALユニットをデータユニットとして格納し、MMTPペイロードヘッダに含まれるデータユニット長はMMTPパケットにおいて示さないとする。 As described above, the sending device stores the NAL unit including the size field as a data unit, and the data unit length included in the MMTP payload header is not indicated in the MMTP packet.
以下では、データユニット長が示されているかどうかをフラグや、size領域の長さ情報がMMTPパケットにおいて示されている場合を例に説明する。 The following describes an example in which whether the data unit length is indicated is indicated by a flag or by length information in the size field in the MMTP packet.
受信装置は、データユニットがサイズ領域を含み、データユニット長が削減されているかどうかを、送出側から送信される情報に基づいて判定する(S1901)。 The receiving device determines whether the data unit includes a size field and whether the data unit length has been reduced based on the information sent from the sending side (S1901).
データユニット長が削減されていると判定した場合(S1902でYes)、データユニット内部のサイズ領域の長さ情報を取得し、その後、データユニット内部のサイズ領域を解析し、データユニット長を算出することにより取得する(S1903)。 If it is determined that the data unit length has been reduced (Yes in S1902), the length information of the size area inside the data unit is obtained, and then the size area inside the data unit is analyzed to calculate and obtain the data unit length (S1903).
一方、データユニット長が削減されていないと判定した場合(S1902でNo)、通常どおり、データユニット長、および、データユニット内部のサイズ領域のいずれか一方からデータユニット長を算出する(S1904)。 On the other hand, if it is determined that the data unit length has not been reduced (No in S1902), the data unit length is calculated as usual from either the data unit length or the size area within the data unit (S1904).
なお、データユニット長が削減されているかどうかを示すフラグや、size領域の長さ情報は、予め受信装置が分かっている場合、送信しなくてもよい。この場合受信装置は予め定められた情報に基づいて図73で示した処理を行う。 Note that if the receiving device knows in advance the flag indicating whether the data unit length has been reduced or the length information of the size area, it is not necessary to transmit it. In this case, the receiving device performs the process shown in FIG. 73 based on predetermined information.
[補足:送信装置及び受信装置]
以上のように、符号化時に受信バッファモデルの規定を満たすようにレート制御を行う送信装置は、図74のように構成することも可能である。また、送信装置から送信された伝送パケットを受信し、復号する受信装置は、図75のように構成することも可能である。図74は、送信装置の具体的構成の例を示す図である。図75は、受信装置の具体的構成の例を示す図である。
[Supplementary Note: Transmitting Device and Receiving Device]
As described above, a transmitting device that performs rate control so as to satisfy the regulations of the receiving buffer model during encoding can also be configured as shown in Fig. 74. Also, a receiving device that receives and decodes transmission packets transmitted from a transmitting device can also be configured as shown in Fig. 75. Fig. 74 is a diagram showing an example of a specific configuration of a transmitting device. Fig. 75 is a diagram showing an example of a specific configuration of a receiving device.
送信装置700は、生成部701と、送信部702とを備える。生成部701及び送信部702のそれぞれは、例えば、マイクロコンピュータ、プロセッサ、または、専用回路などによって実現される。
The transmitting
受信装置800は、受信部801と、第1のバッファ802と、第2のバッファ803と、第3のバッファ804と、第4のバッファ805と、復号部806とを備える。受信部801、第1のバッファ802、第2のバッファ803、第3のバッファ804、第4のバッファ805及び復号部(デコーダ)806のそれぞれは、例えば、マイクロコンピュータ、プロセッサ、または、専用回路などによって実現される。
The receiving
送信装置700及び受信装置800の各構成要素についての詳細な説明は、それぞれ、送信方法及び受信方法の説明において行う。
Detailed explanations of each component of the transmitting
まず、送信方法について、図76を用いて説明する。図76は、送信装置による動作フロー(送信方法)である。 First, the transmission method will be described with reference to FIG. 76. FIG. 76 shows the operation flow (transmission method) of the transmitting device.
まず、送信装置700の生成部701は、受信装置のバッファ動作を保証するために予め定められた受信バッファモデルによる規定を満たすようにレート制御を行うことで符号化ストリームを生成する(S2001)。
First, the
次に、送信装置700の送信部702は、生成された符号化ストリームをパケット化し、パケット化することで得られた伝送パケットを送信する(S2002)。
Next, the transmitting
なお、送信装置700において用いられる受信バッファモデルは、受信装置800の構成の第1~第4のバッファ802~805を備える構成であるため、説明を省略する。
Note that the receiving buffer model used in the transmitting
これにより、送信装置700は、MMTのような方式を用いてデータ伝送する場合に、受信装置800のバッファ動作を保証できる。
This allows the transmitting
次に、受信方法について、図77を用いて説明する。図77は、受信装置による動作フロー(受信方法)である。 Next, the receiving method will be explained using Figure 77. Figure 77 shows the operation flow (receiving method) of the receiving device.
まず、受信装置800の受信部801は、固定長のパケットヘッダおよび可変長のペイロードで構成された伝送パケットを受信する(S2101)。
First, the receiving
次に、受信装置800の第1のバッファ802は、受信した伝送パケットに格納されている可変長のパケットヘッダおよび可変長のペイロードで構成されるパケットを、ヘッダ伸張された固定長のパケットヘッダを有する第1のパケットに変換し、変換することにより得られた前記第1のパケットを一定のビットレートで出力する(S2102)。
Next, the
次に、受信装置800の第2のバッファ803は、変換することにより得られた第1のパケットをパケットヘッダおよび可変長のペイロードで構成される第2のパケットに変換し、変換することにより得られた第2のパケットを一定のビットレートで出力する(S2103)。
Next, the
次に、受信装置800の第3のバッファ804は、出力された第2のパケットをNALユニットに変換し、変換することにより得られたNALユニットを一定のビットレートで出力する(S2104)。
Next, the
次に、受信装置800の第4のバッファ805は、出力されたNALユニットを順次蓄積し、蓄積した複数のNALユニットからアクセスユニットを生成し、生成したアクセスユニットを当該アクセスユニットに対応した復号時刻のタイミングでデコーダに出力する(S2105)。
Next, the
そして、受信装置800の復号部806は、第4のバッファにより出力されたアクセスユニットを復号する(S2106)。
Then, the
これにより、受信装置800は、アンダーフローやオーバーフローすることなる復号動作を行うことができる。
This allows the receiving
(実施の形態6)
[概要]
実施の形態6では、MMT/TLVの伝送方式における基準クロックの基準となる時刻情報にうるう秒調整が行なわれる場合の送信方法及び受信方法について説明する。
(Embodiment 6)
[overview]
In the sixth embodiment, a transmission method and a reception method will be described when leap second adjustment is performed on the time information that serves as the reference for the reference clock in the MMT/TLV transmission method.
図78は、ARIB STD-B60に規定されるMMT/TLV方式のプロトコルスタックを示す図である。 Figure 78 shows the protocol stack for the MMT/TLV method defined in ARIB STD-B60.
MMT方式では、パケットには、映像や音声などのデータを複数のMPU(Media
Presentation Unit)やMFU(Media Fragment Unit)などの第1のデータユニットごとに格納し、MMTPパケットヘッダを付与することで所定のパケットとしてのMMTPパケットを生成する(MMTPパケット化する)。また、MMTPにおける制御メッセージなどの制御情報に対しても、MMTPパケットヘッダを付与することで、所定のパケットとしてのMMTPパケットを生成する。MMTPパケットヘッダには、32ビットのショートフォーマットのNTP(Network Time Protocol:IETF RFC 5905に規定)を格納するフィールドが設けられており、通信回線のQoS制御等に用いることができる。
In the MMT method, packets contain data such as video and audio in multiple MPUs (Media Packets).
The MMTP packet header is added to each first data unit such as a first presentation unit (MMTP unit) or a media fragment unit (MFU), and an MMTP packet is generated as a predetermined packet (MMTP packetization). Also, an MMTP packet header is added to control information such as a control message in MMTP, and an MMTP packet is generated as a predetermined packet. The MMTP packet header is provided with a field for storing a 32-bit short format NTP (Network Time Protocol: defined in IETF RFC 5905), and can be used for QoS control of a communication line, etc.
また、送信側(送信装置)の基準クロックをRFC 5905に規定される64ビットのロングフォーマットNTPに同期させ、同期させた当該基準クロックを基に、PTS(Presentation Time Stamp)や、DTS(Decode Time Stamp)などのタイムスタンプを同期メディアに付与する。さらに、送信側の基準クロック情報を受信側に送信し、受信装置では送信側から受信した基準クロック情報を基に受信装置におけるシステムクロックを生成する。 The reference clock of the sending side (transmitting device) is synchronized with the 64-bit long format NTP defined in RFC 5905, and time stamps such as PTS (Presentation Time Stamp) and DTS (Decode Time Stamp) are added to the synchronous media based on the synchronized reference clock. Furthermore, the reference clock information of the sending side is transmitted to the receiving side, and the receiving device generates a system clock in the receiving device based on the reference clock information received from the sending side.
PTSやDTSは、具体的には、MMTPの制御情報であるMPUタイムスタンプ記述子や、MPU拡張タイムスタンプ記述子に格納されて、アセット毎にMPテーブルに格納され、制御メッセージとしてMMTPパケット化された後、伝送される。 Specifically, the PTS and DTS are stored in the MPU timestamp descriptor and the MPU extended timestamp descriptor, which are MMTP control information, and are stored in the MP table for each asset. They are then packetized as MMTP control messages and transmitted.
MMTPパケット化されたデータは、UDPヘッダやIPヘッダが付与されIPパケットにカプセル化される。このとき、IPヘッダやUDPヘッダにおいて、送信元IPアドレス、宛先IPアドレス、送信元ポート番号、宛先ポート番号、プロトコル種別が同じもののパケットの集合をIPデータフローとする。なお、同じIPデータフローのIPパケットは、ヘッダが冗長であるため、一部のIPパケットではヘッダ圧縮される。 The MMTP packetized data is given a UDP header or IP header and encapsulated in an IP packet. At this time, a collection of packets with the same source IP address, destination IP address, source port number, destination port number, and protocol type in the IP header or UDP header is called an IP data flow. Note that IP packets of the same IP data flow have redundant headers, so some IP packets are header compressed.
また、基準クロック情報として、64ビットのNTPタイムスタンプは、NTPパケットに格納され、IPパケットに格納される。このとき、NTPパケットを格納するIPパケットでは、送信元IPアドレス、宛先IPアドレス、送信元ポート番号、宛先ポート番号、及びプロトコル種別は固定値であり、IPパケットのヘッダは圧縮されない。 In addition, as reference clock information, a 64-bit NTP timestamp is stored in the NTP packet and then in the IP packet. At this time, in the IP packet that stores the NTP packet, the source IP address, destination IP address, source port number, destination port number, and protocol type are fixed values, and the IP packet header is not compressed.
図79は、TLVパケットの構成を示す図である。 Figure 79 shows the structure of a TLV packet.
TLVパケットには、図79に示すように、IPパケット、圧縮IPパケット、AMT(Address Map Table)やNIT(Network Information Table)などの伝送制御情報をデータとして含むことができ、これらのデータは、8ビットのデータタイプを用いて識別される。また、TLVパケットでは、16ビットのフィールドを用いてデータ長(バイト単位)が示され、そのあとにデータの値を格納する。また、TLVパケットは、データタイプの前に1バイトのヘッダ情報を有し、当該ヘッダ情報は、合計4バイトのヘッダ領域に格納される。また、TLVパケットは、高度BS伝送方式における伝送スロットにマッピングされ、TMCC(Transmission and Multiplexing Configuration Control)制御情報にマッピング情報が格納される。 As shown in FIG. 79, a TLV packet can include transmission control information such as an IP packet, a compressed IP packet, an AMT (Address Map Table), and an NIT (Network Information Table) as data, and these data are identified using an 8-bit data type. In addition, in a TLV packet, a data length (in bytes) is indicated using a 16-bit field, followed by the data value. In addition, a TLV packet has 1 byte of header information before the data type, and the header information is stored in a total of 4 bytes of the header area. In addition, a TLV packet is mapped to a transmission slot in an advanced BS transmission method, and the mapping information is stored in TMCC (Transmission and Multiplexing Configuration Control) control information.
図80は、受信装置のブロック図の一例を示す図である。 Figure 80 shows an example of a block diagram of a receiving device.
受信装置では、まずチューナーで受信した放送信号に対し、復調手段において伝送路符号化データを復号、誤り訂正などを施し、TLVパケットを抽出する。そして、TLV/IP DEMUX手段では、TLVのDEMUX処理やIPのDEMUX処理を行う。TLVのDEMUX処理は、TLVパケットのデータタイプに応じた処理を行う。例えば、TLVパケットが圧縮IPパケットを有する場合は、当該圧縮IPパケットの圧縮されたヘッダを復元する。IP DEMUXでは、IPパケットやUDPパケットのヘッダ解析などの処理を行い、MMTPパケット及びNTPパケットを抽出する。 In the receiving device, the demodulation means first decodes the transmission path encoded data of the broadcast signal received by the tuner, performs error correction, etc., and extracts TLV packets. Then, the TLV/IP DEMUX means performs TLV DEMUX processing and IP DEMUX processing. The TLV DEMUX processing performs processing according to the data type of the TLV packet. For example, if the TLV packet contains a compressed IP packet, the compressed header of the compressed IP packet is restored. The IP DEMUX performs processing such as header analysis of IP packets and UDP packets to extract MMTP packets and NTP packets.
NTPクロック生成手段では、抽出したNTPパケットからNTPクロックを再生する。MMTP DEMUXでは、抽出したMMTPパケットヘッダに格納されているパケットIDを基に映像や音声などのコンポーネントや制御情報のフィルタリング処理を行う。制御情報取得手段からは、MPテーブルの中に格納されるタイムスタンプ記述子を取得し、PTS/DTS算出手段においてアクセスユニット毎のPTS及びDTSを算出する。なお、タイムスタンプ記述子は、MPUタイムスタンプ記述子及びMPU拡張タイムスタンプ記述子の両記述子を含む。 The NTP clock generation means regenerates the NTP clock from the extracted NTP packets. The MMTP DEMUX performs filtering of components such as video and audio and control information based on the packet ID stored in the extracted MMTP packet header. The control information acquisition means acquires the timestamp descriptor stored in the MP table, and the PTS/DTS calculation means calculates the PTS and DTS for each access unit. The timestamp descriptor includes both the MPU timestamp descriptor and the MPU extended timestamp descriptor.
アクセスユニット再生手段では、MMTPパケットからフィルタリングされた映像や音声などを、提示する単位のデータに変換する。提示する単位のデータとは、具体的には、映像信号のNALユニットやアクセスユニット、音声フレーム、字幕の提示単位などである。復号提示手段では、NTPクロックの基準時刻情報をベースに、アクセスユニットのPTS/DTSが一致した時刻に、アクセスユニットを復号、提示する。 The access unit playback means converts the video and audio filtered from the MMTP packets into data in units to be presented. Specifically, data in units to be presented is the NAL unit or access unit of the video signal, audio frames, subtitle presentation units, etc. The decoding and presentation means decodes and presents the access unit at the time when the PTS/DTS of the access unit match based on the reference time information of the NTP clock.
なお、受信装置の構成は、これに限るものではない。 However, the configuration of the receiving device is not limited to this.
次にタイムスタンプ記述子について説明する。 Next, we will explain the timestamp descriptor.
図81は、タイムスタンプ記述子について説明するための図である。 Figure 81 is a diagram to explain the timestamp descriptor.
PTSやDTSは、MMTの制御情報である、第1制御情報としてのMPUタイムスタンプ記述子や第2制御情報としてのMPU拡張タイムスタンプ記述子に格納され、アセット毎にMPテーブルに格納され、制御メッセージとしてMMTPパケット化された後、伝送される。 The PTS and DTS are stored in the MPU timestamp descriptor as the first control information and the MPU extended timestamp descriptor as the second control information, which are control information for MMT, and are stored in the MP table for each asset, packetized as MMTP control messages, and then transmitted.
図81の(a)はARIB STD-B60に規定されるMPUタイムスタンプ記述子の構成を示す図である。MPUタイムスタンプ記述子には、複数のMPUのそれぞれについて、当該MPUに格納されている第2のデータユニットとしての複数のアクセスユニット(AU)のうちの提示順で先頭(最初)のAU(以下、「先頭AU」という。)のPTS(64bitのNTPで示される絶対値)を示す提示時刻情報(第1時刻情報)が格納される。つまり、MPUに付与された当該MPUの提示時刻情報は、MMTPパケットの制御情報に格納されて送信される。 Figure 81 (a) shows the structure of an MPU timestamp descriptor defined in ARIB STD-B60. The MPU timestamp descriptor stores, for each of multiple MPUs, presentation time information (first time information) indicating the PTS (absolute value indicated by 64-bit NTP) of the first (initial) AU (hereinafter referred to as the "first AU") in presentation order among multiple access units (AUs) serving as second data units stored in the MPU. In other words, the presentation time information of the MPU assigned to the MPU is stored in the control information of the MMTP packet and transmitted.
図81の(b)は、MPU拡張タイムスタンプ記述子の構成を示すである。MPU拡張タイムスタンプ記述子には、複数のMPUのそれぞれのMPU内に含まれるAUのPTS及びDTSを算出するための情報が格納される。MPU拡張タイムスタンプ記述子は、MPUタイムスタンプ記述子に格納されるMPUの先頭AUのPTSからの相対情報(第2時刻情報)を含んでおり、MPU内に含まれる複数のAUそれぞれのPTS及びDTSは、MPUタイムスタンプ記述子とMPU拡張タイムスタンプ記述子との両方に基づいて算出できる。つまり、MPU内に含まれる先頭AU以外のAUのPTS及びDTSは、MPUタイムスタンプ記述子に格納される当該先頭AUのPTSと、MPU拡張タイムスタンプ記述子に格納されている相対情報とに基づいて算出できる。 Figure 81 (b) shows the configuration of an MPU extended time stamp descriptor. The MPU extended time stamp descriptor stores information for calculating the PTS and DTS of AUs included in each of multiple MPUs. The MPU extended time stamp descriptor includes relative information (second time information) from the PTS of the first AU of the MPU stored in the MPU time stamp descriptor, and the PTS and DTS of each of the multiple AUs included in the MPU can be calculated based on both the MPU time stamp descriptor and the MPU extended time stamp descriptor. In other words, the PTS and DTS of AUs other than the first AU included in the MPU can be calculated based on the PTS of the first AU stored in the MPU time stamp descriptor and the relative information stored in the MPU extended time stamp descriptor.
言い換えると、第2時刻情報は、第1時刻情報とで複数のAUそれぞれのPTSまたはDTSを算出するための相対的な時刻情報である。つまり、第2時刻情報は、第1時刻情報とで複数のAUそれぞれのPTSまたはDTSを示す情報である。 In other words, the second time information is relative time information for calculating the PTS or DTS of each of the multiple AUs in conjunction with the first time information. In other words, the second time information is information that indicates the PTS or DTS of each of the multiple AUs in conjunction with the first time information.
NTPは、協定世界時(Coordinated Universal Time(UTC))に基づいた基準時刻情報である。UTCは、地球の自転速度に基づく天文時との差を調整するため、うるう秒の調整(以下、「うるう秒調整」という。)を実施する。うるう秒調整は、具体的には、日本時間の午前9時に実施され、1秒の挿入または削除を行う調整である。 NTP is a reference time information based on Coordinated Universal Time (UTC). UTC implements leap second adjustments (hereafter referred to as "leap second adjustments") to adjust for the difference with astronomical time, which is based on the Earth's rotational speed. Specifically, leap second adjustments are carried out at 9:00 a.m. Japan time, and involve the insertion or deletion of one second.
図82は、うるう秒調整を説明するための図である。 Figure 82 is a diagram to explain leap second adjustment.
図82の(a)は、日本時間における、うるう秒挿入の一例を示す図である。図82の(a)に示すように、うるう秒挿入では、日本時間8:59:59の後、本来9:00:00になるタイミングで8:59:59となり、8:59:59台が2回繰り返される。 Figure 82 (a) shows an example of leap second insertion in Japan time. As shown in Figure 82 (a), when a leap second is inserted, after 8:59:59 Japan time, it becomes 8:59:59 at the timing that would normally be 9:00:00, and the 8:59:59 range is repeated twice.
図82の(b)は、日本時間における、うるう秒削除の一例を示す図である。図82の(b)に示すように、うるう秒削除では、日本時間8:59:58の後、本来8:59:59になるタイミングで9:00:00となり、8:59:59台の1秒間が削除される。 Figure 82 (b) shows an example of leap second deletion in Japan time. As shown in Figure 82 (b), with leap second deletion, after 8:59:58 Japan time, the time that would normally be 8:59:59 becomes 9:00:00, and one second around 8:59:59 is deleted.
NTPパケットには、64bitのタイムスタンプの他に、2bitのleap_indicatorが格納されている。leap_indicatorは、うるう秒調整が行なわれることを事前に通知するためのフラグであり、leap_indicator=1の場合にうるう秒挿入を示し、leap_indicator=2の場合にうるう秒削除を示す。事前通知は、うるう秒調整を実施する月の初めから通知する方法や、24時間前に通知する方法、その他、任意の時間に通知を開始する方法がある。また、leap_indicatorは、うるう秒調整が終わった時間(9:00:00)に0となる。例えば、24時間前から事前通知する場合には、日本時間でうるう秒調整が行われる前日の9:00からうるう秒調整が行われる当日におけるうるう秒調整が行われる直前の時刻(つまり、うるう秒挿入の場合は1回目の8:59:59台の時刻であり、うるう秒削除の場合は8:59:58台の時刻)までの間にleap_indicatorが「1」または「2」であることが示される。 In addition to a 64-bit timestamp, an NTP packet also contains a 2-bit leap_indicator. Leap_indicator is a flag that notifies in advance that a leap second adjustment will be performed; leap_indicator = 1 indicates a leap second will be inserted, and leap_indicator = 2 indicates a leap second will be deleted. Advance notification can be given from the beginning of the month in which the leap second adjustment will be performed, 24 hours in advance, or at any other time. Leap_indicator becomes 0 when the leap second adjustment is completed (9:00:00). For example, if advance notification is given 24 hours in advance, leap_indicator will be shown to be "1" or "2" from 9:00 Japan time on the day before the leap second adjustment is made to the time immediately before the leap second adjustment is made on the day of the leap second adjustment (i.e., the first time around 8:59:59 in the case of a leap second insertion, and the time around 8:59:58 in the case of a leap second deletion).
次に、うるう秒調整時の課題について説明する。 Next, we will explain the issues involved in adjusting for leap seconds.
図83は、NTP時刻、MPUタイムスタンプ及びMPU提示タイミングの関係を示す図である。なお、NTP時刻は、NTPにより示される時刻である。また、MPUタイムスタンプは、MPU内の先頭AUのPTSを示すタイムスタンプである。また、MPU提示タイミングとは、受信装置がMPUタイムスタンプに従ってMPUを提示すべきタイミングである。具体的には、図83の(a)~(c)は、それぞれ、うるう秒調整が発生しない場合、うるう秒が挿入される場合、うるう秒が削除される場合におけるNTP時刻、MPUタイムスタンプ及びMPU提示時刻の関係を示す図である。 Figure 83 is a diagram showing the relationship between NTP time, MPU timestamp, and MPU presentation timing. Note that NTP time is the time indicated by the NTP. Also, the MPU timestamp is a timestamp indicating the PTS of the first AU in the MPU. Also, the MPU presentation timing is the timing at which the receiving device should present the MPU according to the MPU timestamp. Specifically, (a) to (c) of Figure 83 are diagrams showing the relationship between NTP time, MPU timestamp, and MPU presentation time when no leap second adjustment occurs, when a leap second is inserted, and when a leap second is deleted, respectively.
ここでは、送出側のNTP時刻(基準クロック)は、NTPサーバと同期しており、また、受信側のNTP時刻(システムクロック)は、送出側のNTP時刻と同期している場合を例に説明する。この場合、受信装置では、送出側から伝送されるNTPパケットに格納されているタイムスタンプに基づいて再生する。また、この場合、送出側のNTP時刻及び受信側のNTP時刻共に、NTPサーバと同期しているため、うるう秒の調整時に±1秒の調整がなされる。また、図83におけるNTP時刻は、送出側のNTP時刻及び受信側のNTP時刻で共通であるとする。なお、伝送遅延はないものとして説明する。 Here, we will explain an example in which the NTP time (reference clock) on the sending side is synchronized with the NTP server, and the NTP time (system clock) on the receiving side is synchronized with the NTP time on the sending side. In this case, the receiving device reproduces the time based on the timestamp stored in the NTP packet transmitted from the sending side. In this case, since both the NTP time on the sending side and the NTP time on the receiving side are synchronized with the NTP server, an adjustment of ±1 second is made when adjusting for leap seconds. Also, the NTP time in Figure 83 is assumed to be the same for the NTP time on the sending side and the NTP time on the receiving side. Note that we will explain this assuming that there is no transmission delay.
図83におけるMPUタイムスタンプは、複数のMPUのそれぞれに含まれる複数のAUのうちの提示順における先頭AUのタイムスタンプを示しており、矢印の元で示されるNTP時刻に基づいて生成(設定)される。具体的には、MPUの提示時刻情報を生成するタイミングにおける基準時刻情報としてのNTP時刻に、予め定められた時間(図83では、例えば、1.5秒)を加算することで、MPUの提示時刻情報を生成する。生成されたMPUタイムスタンプは、MPUタイムスタンプ記述子に格納される。 The MPU timestamp in Figure 83 indicates the timestamp of the first AU in the presentation order among multiple AUs contained in each of multiple MPUs, and is generated (set) based on the NTP time indicated at the base of the arrow. Specifically, the presentation time information of the MPU is generated by adding a predetermined time (for example, 1.5 seconds in Figure 83) to the NTP time, which serves as the reference time information at the timing of generating the presentation time information of the MPU. The generated MPU timestamp is stored in the MPU timestamp descriptor.
受信装置では、MPUタイムスタンプ記述子に格納されるタイムスタンプに基づくMPU提示時刻においてMPUを提示する。 The receiving device presents the MPU at the MPU presentation time based on the timestamp stored in the MPU timestamp descriptor.
なお、図83では、1つのMPUの再生時間は1秒であるとして説明するが、1つのMPUの再生時間は、それ以外の再生時間であってもよく、例えば、0.5秒でもよいし、0.1秒でもよい。 Note that in FIG. 83, the playback time of one MPU is described as 1 second, but the playback time of one MPU may be other playback times, for example, 0.5 seconds or 0.1 seconds.
図83の(a)の例では、受信装置は、MPUタイムスタンプ記述子に格納されるタイムスタンプに基づいてMPU#1-#5を順番に提示することができる。 In the example of (a) in Figure 83, the receiving device can present MPUs #1-#5 in order based on the timestamps stored in the MPU timestamp descriptor.
しかし、図83の(b)では、うるう秒挿入によりMPU#2とMPU#3との提示時刻が重複する。このため、受信装置は、MPUタイムスタンプ記述子に格納されるタイムスタンプに基づいてMPUを提示してしまうと、同じ9:00:00台の時間帯に提示するMPUが2つ存在することになり、2つのMPUのどれを提示すべきかの判断ができない。また、受信装置は、MPU#1のタイムスタンプで示されるMPU提示時刻(8:59:59)が2回存在することになるため、2つのMPU提示時刻のうちどのMPU提示時刻で提示すべきかの判断ができない。
However, in (b) of Figure 83, the insertion of a leap second causes the presentation times of
また、図83の(c)では、受信装置は、うるう秒の削除により、MPU#3のMPUタイムスタンプで示されるMPU提示時刻(8:59:59)がNTP時刻に存在しないため、MPU#3を提示することができない。
In addition, in (c) of Figure 83, the receiving device cannot present
受信装置は、タイムスタンプに基づかないMPUの復号処理及び提示処理を行う場合には、上記のような課題を解決できる。しかし、タイムスタンプに基づく処理を行う受信装置は、うるう秒の発生時のみに、異なる処理(タイムスタンプに基づかない処理)を行うことは困難である。 The above problems can be solved if the receiving device performs MPU decoding and presentation processing that is not based on a timestamp. However, it is difficult for a receiving device that performs processing based on a timestamp to perform different processing (processing that is not based on a timestamp) only when a leap second occurs.
次に、送信側においてタイムスタンプを補正することでうるう秒調整時の課題を解決する方法について説明する。 Next, we will explain how to solve the issues that arise when adjusting leap seconds by correcting the timestamp on the sending side.
図84は、送信側においてタイムスタンプを補正する補正方法について説明するための図である。具体的には、図84の(a)は、うるう秒挿入の例を示し、図84の(b)は、うるう秒削除の例を示す図である。 Figure 84 is a diagram for explaining a method for correcting a timestamp on the sending side. Specifically, (a) of Figure 84 shows an example of inserting a leap second, and (b) of Figure 84 shows an example of deleting a leap second.
まず、うるう秒挿入の場合について説明する。 First, let's explain the case of inserting a leap second.
図84の(a)に示すように、うるう秒挿入時には、うるう秒挿入の直前までの時刻(つまり、NTP時刻における1回目の8:59:59台まで)をA領域とし、うるう秒挿入以後の時刻(つまり、NTP時刻における2回目の8:59:59以降)をB領域とする。なお、A領域及びB領域は、時間的な領域であり、時間帯または期間である。図84の(a)におけるMPUタイムスタンプは、図83で説明したタイムスタンプと同様であり、MPUタイムスタンプを付与するタイミングにおけるNTPの時刻に基づいて生成(設定)したタイムスタンプである。 As shown in (a) of Figure 84, when a leap second is inserted, the time up to just before the leap second is inserted (i.e., up to the first 8:59:59 in NTP time) is area A, and the time after the leap second is inserted (i.e., after the second 8:59:59 in NTP time) is area B. Note that areas A and B are temporal areas, and are time periods or periods. The MPU timestamp in (a) of Figure 84 is the same as the timestamp described in Figure 83, and is a timestamp generated (set) based on the NTP time at the timing when the MPU timestamp is added.
うるう秒挿入の場合に、送信側でのタイムスタンプの補正方法について具体的に説明する。 This section explains in detail how to correct the timestamp on the sending side when a leap second is inserted.
送信側(送信装置)では、以下の処理を行う。 The sending side (transmitting device) performs the following processing:
1.MPUタイムスタンプを付与するタイミング(図84の(a)の矢印の元が示すタイミング)がA領域に含まれ、かつ、MPUタイムスタンプ(補正前のMPUタイムスタンプの値)が9:00:00以降を示す場合は、MPUタイムスタンプを1秒減ずる-1秒補正して、補正後のMPUタイムスタンプをMPUタイムスタンプ記述子に格納する。つまり、A領域に含まれるNTP時刻に基づいて生成されたMPUタイムスタンプであり、かつ、当該MPUタイムスタンプが9:00:00以降を示す場合は、当該MPUタイムスタンプを-1秒補正する。なお、ここでの「9:00:00」とはうるう秒調整が行われる基準となる時刻を日本時間に対応させた時刻(つまり、UTC時刻に9時間を加算することにより算出される時刻)である。また、別途補正したことを示す情報である補正情報を受信装置に送信する。 1. If the timing at which the MPU timestamp is assigned (the timing indicated by the origin of the arrow in (a) of Figure 84) is included in area A, and the MPU timestamp (the value of the MPU timestamp before correction) indicates 9:00:00 or later, the MPU timestamp is corrected by subtracting 1 second, and the corrected MPU timestamp is stored in the MPU timestamp descriptor. In other words, if the MPU timestamp was generated based on the NTP time included in area A, and the MPU timestamp indicates 9:00:00 or later, the MPU timestamp is corrected by -1 second. Note that "9:00:00" here refers to the time that corresponds to the reference time for leap second adjustment to Japan time (in other words, the time calculated by adding 9 hours to UTC time). In addition, correction information, which is information indicating that the correction has been made, is sent to the receiving device separately.
2.MPUタイムスタンプを付与するタイミング(図84の(a)の矢印の元が示すタイミング)がB領域の場合、MPUタイムスタンプを補正しない。つまり、B領域に含まれるNTP時刻に基づいて生成されたMPUタイムスタンプである場合は、当該MPUタイムスタンプを補正しない。 2. If the timing at which the MPU timestamp is assigned (the timing indicated by the origin of the arrow in (a) of Figure 84) is in area B, the MPU timestamp is not corrected. In other words, if the MPU timestamp is generated based on the NTP time included in area B, the MPU timestamp is not corrected.
受信装置においては、MPUタイムスタンプと、当該MPUタイムスタンプが補正されたか否か(つまり、補正したことを示す情報が含まれるか否か)を示す補正情報に基づいて、MPUを提示する。 The receiving device presents the MPU based on the MPU timestamp and correction information indicating whether the MPU timestamp has been corrected (i.e., whether it contains information indicating that the MPU timestamp has been corrected).
受信装置は、MPUタイムスタンプが補正されていないと判定した場合(つまり、補正したことを示す情報が含まれていないと判定した場合)、MPUタイムスタンプ記述子に格納されるタイムスタンプが受信装置のNTP時刻(補正前、補正後両方含む)に一致した時刻にMPUを提示する。つまり、MPUタイムスタンプが補正されるMPUより前に送信されるMPUのMPUタイムスタンプ記述子に格納されたMPUタイムスタンプの場合、当該MPUタイムスタンプが、うるう秒挿入前(つまり、1回目の8:59:59台以前)のNTP時刻に一致したタイミングに当該MPUを提示する。また、受信したMPUのMPUタイムスタンプ記述子に格納されるMPUタイムスタンプが、補正されるMPUタイムスタンプより後に送信されるタイムスタンプの場合、うるう秒挿入後(つまり、2回目の8:59:59台以降)のNTP時刻に一致したタイミングに当該MPUを提示する。 When the receiving device determines that the MPU timestamp has not been corrected (i.e., that it does not contain information indicating that it has been corrected), it presents the MPU at the time when the timestamp stored in the MPU timestamp descriptor matches the NTP time of the receiving device (including both before and after correction). In other words, if the MPU timestamp is stored in the MPU timestamp descriptor of an MPU that is sent before the MPU whose MPU timestamp is corrected, the MPU is presented at the time when the MPU timestamp matches the NTP time before the leap second is inserted (i.e., before the first 8:59:59). Also, if the MPU timestamp stored in the MPU timestamp descriptor of a received MPU is sent after the MPU timestamp that is corrected, the MPU is presented at the time when the MPU timestamp matches the NTP time after the leap second is inserted (i.e., after the second 8:59:59).
また、受信装置は、受信したMPUのMPUタイムスタンプ記述子に格納されるMPUタイムスタンプが補正されている場合、MPUタイムスタンプ記述子に格納されるタイムスタンプが、受信装置においてうるう秒挿入後(つまり、2回目の8:59:59台以降)のNTP時刻に基づいてMPUを提示する。 In addition, if the MPU timestamp stored in the MPU timestamp descriptor of the received MPU has been corrected, the receiving device presents the MPU based on the NTP time after the leap second is inserted in the receiving device (i.e., after the second 8:59:59 time).
なお、MPUタイムスタンプ値を補正したことを示す情報は、制御メッセージや記述子、テーブル、MPUメタデータ、MFメタデータ、MMTPパケットヘッダなどに格納して伝送する。 Information indicating that the MPU timestamp value has been corrected is stored and transmitted in a control message, descriptor, table, MPU metadata, MF metadata, MMTP packet header, etc.
次に、うるう秒削除の場合について説明する。 Next, we will explain the case of deleting leap seconds.
図84の(b)に示すように、うるう秒削除時には、うるう秒削除の直前までの時刻(つまり、NTP時刻における9:00:00直前)をC領域とし、うるう秒削除以後の時刻(つまり、NTP時刻における9:00:00以降)をD領域とする。なお、C領域及びD領域は、時間的な領域であり、時間帯または期間である。図84の(b)におけるMPUタイムスタンプは、図83で説明したタイムスタンプと同様であり、MPUタイムスタンプを付与するタイミングにおけるNTP時刻に基づいて生成(設定)したタイムスタンプである。 As shown in (b) of Figure 84, when a leap second is deleted, the time immediately before the leap second is deleted (i.e., immediately before 9:00:00 in NTP time) is designated as region C, and the time after the leap second is deleted (i.e., after 9:00:00 in NTP time) is designated as region D. Note that regions C and D are temporal regions, and are time periods or periods. The MPU timestamp in (b) of Figure 84 is the same as the timestamp described in Figure 83, and is a timestamp generated (set) based on the NTP time at the timing when the MPU timestamp is added.
うるう秒削除の場合に、送信側でのタイムスタンプの補正方法について具体的に説明する。 This section explains in detail how to correct the timestamp on the sending side when leap seconds are deleted.
送信側(送信装置)では、以下の処理を行う。 The sending side (transmitting device) performs the following processing:
1.MPUタイムスタンプを付与するタイミング(図84の(b)の矢印の元が示すタイミング)がC領域に含まれ、かつ、MPUタイムスタンプ(補正前のMPUタイムスタンプの値)が8:59:59以降を示す場合は、MPUタイムスタンプを1秒加える+1秒補正して、補正後のMPUタイムスタンプをMPUタイムスタンプ記述子に格納する。つまり、C領域に含まれるNTP時刻に基づいて生成されたMPUタイムスタンプであり、かつ、当該MPUタイムスタンプが8:59:59以降を示す場合は、当該MPUタイムスタンプを+1秒補正する。なお、ここでの「8:59:59」とはうるう秒調整が行われる基準となる時刻を日本時間に対応させた時刻(つまり、UTC時刻に9時間を加算することにより算出される時刻)から-1秒減算することで得られた時刻である。また、別途補正したことを示す情報である補正情報を受信装置に送信する。なお、この場合、補正情報は、必ずしも送信しなくてもよい。 1. If the timing at which the MPU timestamp is assigned (the timing indicated by the origin of the arrow in (b) of Figure 84) is included in the C area and the MPU timestamp (the value of the MPU timestamp before correction) indicates 8:59:59 or later, the MPU timestamp is corrected by adding 1 second, and the corrected MPU timestamp is stored in the MPU timestamp descriptor. In other words, if the MPU timestamp is generated based on the NTP time included in the C area and indicates 8:59:59 or later, the MPU timestamp is corrected by +1 second. Note that "8:59:59" here is the time obtained by subtracting -1 second from the time that corresponds the reference time for leap second adjustment to Japan time (i.e., the time calculated by adding 9 hours to UTC time). In addition, correction information, which is information indicating that a correction has been made, is sent to the receiving device separately. Note that in this case, the correction information does not necessarily have to be sent.
2.MPUタイムスタンプを付与するタイミング(図84の(b)の矢印の元が示すタイミング)がD領域の場合、MPUタイムスタンプを補正しない。つまり、D領域に含まれるNTP時刻に基づいて生成されたMPUタイムスタンプである場合は、当該MPUタイムスタンプを補正しない。 2. If the timing at which the MPU timestamp is assigned (the timing indicated by the origin of the arrow in (b) of Figure 84) is in area D, the MPU timestamp is not corrected. In other words, if the MPU timestamp is generated based on the NTP time included in area D, the MPU timestamp is not corrected.
受信装置においては、MPUタイムスタンプに基づいて、MPUを提示する。なお、当該MPUタイムスタンプが補正されたか否かを示す補正情報があれば、MPUタイムスタンプと当該補正情報とに基づいてMPUを提示してもよい。 The receiving device presents the MPU based on the MPU timestamp. If there is correction information indicating whether the MPU timestamp has been corrected, the MPU may be presented based on the MPU timestamp and the correction information.
以上の処理により、NTP時刻にうるう秒調整が行われた場合であっても、受信装置において、MPUタイムスタンプ記述子に格納されているMPUタイムスタンプを用いて正常なMPUの提示が可能となる。 By performing the above process, even if a leap second adjustment is made to the NTP time, the receiving device can present a normal MPU using the MPU timestamp stored in the MPU timestamp descriptor.
なお、MPUタイムスタンプの付与タイミングがA領域であるか、B領域であるか、C領域であるか、D領域であるかをシグナリングし、受信側に通知してもよい。つまり、当該MPUタイムスタンプが、A領域に含まれるNTP時刻に基づいて生成されたか、B領域に含まれるNTP時刻に基づいて生成されたか、または、C領域に含まれるNTP時刻に基づいて生成されたか、D領域に含まれるNTP時刻に基づいて生成されたかをシグナリングし、受信側に通知してもよい。言い換えると、MPUタイムスタンプ(提示時刻)がうるう秒調整前の基準時刻情報(NTP時刻)に基づいて生成されたか否かを示す識別情報を送信してもよい。この識別情報は、NTPパケットに含まれるleap_indicatorに基づいて付与されるため、日本時間でうるう秒調整が行われる前日の9:00からうるう秒調整が行われる当日におけるうるう秒調整が行われる直前の時刻(つまり、うるう秒挿入の場合は1回目の8:59:59台の時刻であり、うるう秒削除の場合は8:59:58台の時刻)までの間の時刻に基づいて設定されるMPUタイムスタンプか否かを示す情報である。つまり、識別情報は、MPUタイムスタンプが、うるう秒調整が行われる直前の時刻よりも予め定められた期間(例えば24時間)前の時刻から当該直前の時刻までにおけるNTP時刻に基づいて生成されたか否かを示す情報である。 In addition, the timing of the MPU timestamp assignment may be signaled to notify the receiving side of whether it is in the A region, the B region, the C region, or the D region. In other words, the receiving side may be notified of whether the MPU timestamp was generated based on the NTP time included in the A region, the B region, the C region, or the D region. In other words, identification information indicating whether the MPU timestamp (presented time) was generated based on the reference time information (NTP time) before the leap second adjustment may be transmitted. This identification information is assigned based on the leap_indicator included in the NTP packet, and is information indicating whether the MPU timestamp is set based on the time between 9:00 on the day before the leap second adjustment is performed in Japan time and the time immediately before the leap second adjustment is performed on the day of the leap second adjustment (that is, the first time of 8:59:59 in the case of leap second insertion, and the time of 8:59:58 in the case of leap second deletion). In other words, the identification information is information that indicates whether the MPU timestamp was generated based on the NTP time from a time a predetermined period (e.g., 24 hours) before the time immediately before the leap second adjustment to the time immediately before that time.
次に、受信装置においてタイムスタンプを補正することでうるう秒調整時の課題を解決する方法について説明する。 Next, we will explain how to solve the issues that arise when adjusting leap seconds by correcting the timestamp on the receiving device.
図85は、受信装置においてタイムスタンプを補正する補正方法について説明するための図である。具体的には、図85の(a)は、うるう秒挿入の例を示し図85の(b)は、うるう秒削除の例を示す図である。 Figure 85 is a diagram for explaining a method for correcting a timestamp in a receiving device. Specifically, Figure 85(a) shows an example of leap second insertion, and Figure 85(b) shows an example of leap second deletion.
まず、うるう秒挿入の場合について説明する。 First, let's explain the case of inserting a leap second.
図85の(a)に示すように、図84の(a)と同様にうるう秒挿入時には、うるう秒挿入の直前までの時刻(つまり、NTP時刻における1回目の8:59:59台まで)をA領域とし、うるう秒挿入以後の時刻(つまり、NTP時刻における2回目の8:59:59以降)をB領域とする。なお、A領域及びB領域は、時間的な領域であり、時間帯または期間である。図85の(a)におけるMPUタイムスタンプは、図83で説明したタイムスタンプと同様であり、MPUタイムスタンプを付与するタイミングにおけるNTPの時刻に基づいて生成(設定)したタイムスタンプである。 As shown in Figure 85(a), when a leap second is inserted, as in Figure 84(a), the time up to just before the leap second is inserted (i.e., up to the first 8:59:59 in NTP time) is region A, and the time after the leap second is inserted (i.e., after the second 8:59:59 in NTP time) is region B. Note that regions A and B are temporal regions, and are time periods or periods. The MPU timestamp in Figure 85(a) is the same as the timestamp described in Figure 83, and is a timestamp generated (set) based on the NTP time at the timing when the MPU timestamp is added.
うるう秒挿入の場合に、受信装置でのタイムスタンプの補正方法について具体的に説明する。 This section provides a detailed explanation of how the receiving device corrects the timestamp when a leap second is inserted.
送信側(送信装置)では、以下の処理を行う。 The sending side (transmitting device) performs the following processing:
・生成したMPUタイムスタンプを補正せずに、当該MPUタイムスタンプをMPUタイムスタンプ記述子に格納して受信装置に送信する。 - The generated MPU timestamp is not corrected, but is stored in the MPU timestamp descriptor and transmitted to the receiving device.
・MPUのタイムスタンプを付与したタイミングが、A領域であるか、B領域であるかを示す情報を識別情報として受信装置に送信する。つまり、当該MPUタイムスタンプが、A領域に含まれているNTP時刻に基づいて生成されたか、B領域に含まれるNTP時刻に基づいて生成されたか、を示す識別情報を受信装置に送信する。 - Information indicating whether the timing at which the MPU timestamp was added is in area A or area B is transmitted to the receiving device as identification information. In other words, identification information indicating whether the MPU timestamp was generated based on the NTP time contained in area A or the NTP time contained in area B is transmitted to the receiving device.
受信装置では、以下の処理を行う。 The receiving device performs the following process:
受信装置においては、MPUタイムスタンプと、MPUタイムスタンプを付与したタイミングがA領域であるか、B領域であるかを示す識別情報に基づいて、MPUタイムスタンプを補正する。 In the receiving device, the MPU timestamp is corrected based on the MPU timestamp and identification information indicating whether the timing at which the MPU timestamp was added is in area A or area B.
具体的には、以下の処理を行う。 Specifically, the following processing is performed:
1.MPUタイムスタンプを付与するタイミング(図85の(a)の矢印の元が示すタイミング)がA領域に含まれ、かつ、MPUタイムスタンプ(補正前のMPUタイムスタンプの値)が9:00:00以降を示す場合は、MPUタイムスタンプを1秒減ずる-1秒補正する。つまり、A領域に含まれるNTP時刻に基づいて生成されたMPUタイムスタンプであり、かつ、当該MPUタイムスタンプが9:00:00以降を示す場合は、当該MPUタイムスタンプを-1秒補正する。なお、ここでの「9:00:00」とはうるう秒調整が行われる基準となる時刻を日本時間に対応させた時刻(つまり、UTC時刻に9時間を加算することにより算出される時刻)である。 1. If the timing at which the MPU timestamp is assigned (the timing indicated by the origin of the arrow in (a) of Figure 85) is included in area A, and the MPU timestamp (the value of the MPU timestamp before correction) indicates 9:00:00 or later, the MPU timestamp is corrected by subtracting 1 second from the original value by -1 second. In other words, if the MPU timestamp was generated based on the NTP time included in area A, and the MPU timestamp indicates 9:00:00 or later, the MPU timestamp is corrected by -1 second. Note that "9:00:00" here refers to the time that corresponds to Japan time as the reference time for leap second adjustment (in other words, the time calculated by adding 9 hours to UTC time).
2.MPUタイムスタンプを付与するタイミング(図85の(a)の矢印の元が示すタイミング)がB領域の場合、MPUタイムスタンプを補正しない。つまり、B領域に含まれるNTP時刻に基づいて生成されたMPUタイムスタンプである場合は、当該MPUタイムスタンプを補正しない。 2. If the timing at which the MPU timestamp is assigned (the timing indicated by the origin of the arrow in (a) of Figure 85) is in area B, the MPU timestamp is not corrected. In other words, if the MPU timestamp is generated based on the NTP time included in area B, the MPU timestamp is not corrected.
MPUタイムスタンプを補正しない場合、MPUタイムスタンプ記述子に格納されているMPUタイムスタンプが受信装置のNTP時刻(補正前及び補正後含む)に一致した時刻にMPUを提示する。 If the MPU timestamp is not corrected, the MPU is presented at the time when the MPU timestamp stored in the MPU timestamp descriptor matches the NTP time of the receiving device (including before and after correction).
つまり、補正するMPUタイムスタンプより前に受信されるMPUタイムスタンプの場合、うるう秒挿入前(つまり、1回目の8:59:59台以前)のNTP時刻に一致した時刻にMPUを提示する。また、補正するMPUタイムスタンプより後に受信されるMPUタイムスタンプの場合、うるう秒挿入後(2回目の8:59:59台以降)のNTP時刻に一致した時刻にMPUを提示する。 In other words, for an MPU timestamp received before the MPU timestamp to be corrected, the MPU is presented at a time that matches the NTP time before the leap second is inserted (i.e., before the first 8:59:59). Also, for an MPU timestamp received after the MPU timestamp to be corrected, the MPU is presented at a time that matches the NTP time after the leap second is inserted (after the second 8:59:59).
MPUタイムスタンプを補正する場合、補正したMPUタイムスタンプが、受信装置においてうるう秒挿入後(つまり、2回目の8:59:59台以降)のNTP時刻に基づいてMPUを提示する。 When correcting the MPU timestamp, the corrected MPU timestamp is presented by the receiving device based on the NTP time after the leap second is inserted (i.e., after the second 8:59:59 time).
なお、送信側は、MPUタイムスタンプを付与したタイミングがA領域であるか、B領域であるかを示す識別情報は、制御メッセージや記述子、テーブル、MPUメタデータ、MFメタデータ、MMTPパケットヘッダなどに格納して伝送する。 The transmitting side transmits identification information indicating whether the timing at which the MPU timestamp was added is in area A or area B by storing it in a control message, descriptor, table, MPU metadata, MF metadata, MMTP packet header, etc.
次に、うるう秒削除の場合について説明する。 Next, we will explain the case of deleting leap seconds.
図85の(b)に示すように、うるう秒削除時には、図84の(a)と同様に、うるう秒削除の直前までの時刻(つまり、NTP時刻における9:00:00直前まで)をC領域とし、うるう秒削除以後の時刻(つまり、NTP時刻における9:00:00:以降)をD領域とする。なお、C領域及びD領域は、時間的な領域であり、時間帯または期間である。図85の(b)におけるMPUタイムスタンプは、図83で説明したタイムスタンプと同様であり、MPUタイムスタンプを付与するタイミングにおけるNTP時刻に基づいて生成(設定)したタイムスタンプである。 As shown in (b) of Figure 85, when a leap second is deleted, similar to (a) of Figure 84, the time up to just before the leap second is deleted (i.e., up to just before 9:00:00 in NTP time) is designated as region C, and the time after the leap second is deleted (i.e., after 9:00:00 in NTP time) is designated as region D. Note that regions C and D are temporal regions, and are time periods or periods. The MPU timestamp in (b) of Figure 85 is the same as the timestamp described in Figure 83, and is a timestamp generated (set) based on the NTP time at the timing when the MPU timestamp is added.
うるう秒削除の場合に、受信装置でのタイムスタンプの補正方法について具体的に説明する。 This section provides a detailed explanation of how to correct timestamps on a receiving device when leap seconds are deleted.
送信側(送信装置)では、以下の処理を行う。 The sending side (transmitting device) performs the following processing:
・生成したMPUタイムスタンプを補正せずに、当該MPUタイムスタンプをMPUタイムスタンプ記述子に格納して受信装置に送信する。 - The generated MPU timestamp is not corrected, but is stored in the MPU timestamp descriptor and transmitted to the receiving device.
・MPUのタイムスタンプを付与したタイミングが、C領域であるか、D領域であるかを示す情報を識別情報として受信装置に送信する。つまり、当該MPUタイムスタンプが、C領域に含まれているNTP時刻に基づいて生成されたか、B領域に含まれるNTP時刻に基づいて生成されたか、を示す識別情報を受信装置に送信する。 - Information indicating whether the timing of the MPU timestamp was added in area C or area D is transmitted to the receiving device as identification information. In other words, identification information indicating whether the MPU timestamp was generated based on the NTP time contained in area C or the NTP time contained in area B is transmitted to the receiving device.
受信装置では、以下の処理を行う。 The receiving device performs the following process:
受信装置においては、MPUタイムスタンプと、MPUタイムスタンプを付与したタイミングがC領域であるか、D領域であるかを示す識別情報に基づいて、MPUタイムスタンプを補正する。 In the receiving device, the MPU timestamp is corrected based on the MPU timestamp and identification information indicating whether the timing at which the MPU timestamp was added is in area C or area D.
具体的には、以下の処理を行う。 Specifically, the following processing is performed:
1.MPUタイムスタンプを付与するタイミング(図85の(b)の矢印の元が示すタイミング)がC領域に含まれ、かつ、MPUタイムスタンプ(補正前のMPUタイムスタンプの値)が8:59:59以降を示す場合は、MPUタイムスタンプ値を1秒加える+1秒補正する。つまり、C領域に含まれるNTP時刻に基づいて生成されたMPUタイムスタンプであり、かつ、当該MPUタイムスタンプが8:59:59以降を示す場合は、当該MPUタイムスタンプを+1秒補正する。なお、ここでの「8:59:59」とはうるう秒調整が行われる基準となる時刻を日本時間に対応させた時刻(つまり、UTC時刻に9時間を加算することにより算出される時刻)から-1秒減算することで得られた時刻である。 1. If the timing at which the MPU timestamp is assigned (the timing indicated by the origin of the arrow in (b) of Figure 85) is included in area C, and the MPU timestamp (the value of the MPU timestamp before correction) indicates 8:59:59 or later, the MPU timestamp value is corrected by adding 1 second. In other words, if the MPU timestamp was generated based on the NTP time included in area C, and the MPU timestamp indicates 8:59:59 or later, the MPU timestamp is corrected by +1 second. Note that "8:59:59" here is the time obtained by subtracting -1 second from the time that corresponds the reference time for leap second adjustment to Japan time (in other words, the time calculated by adding 9 hours to UTC time).
2.MPUタイムスタンプを付与するタイミング(図85の(b)の矢印の元が示すタイミング)がD領域の場合、MPUタイムスタンプを補正しない。つまり、D領域に含まれるNTP時刻に基づいて生成されたMPUタイムスタンプである場合は、当該MPUタイムスタンプを補正しない。 2. If the timing at which the MPU timestamp is assigned (the timing indicated by the origin of the arrow in (b) of Figure 85) is in area D, the MPU timestamp is not corrected. In other words, if the MPU timestamp is generated based on the NTP time included in area D, the MPU timestamp is not corrected.
受信装置においては、MPUタイムスタンプ、及び、補正したMPUタイムスタンプに基づいて、MPUを提示する。 The receiving device presents the MPU based on the MPU timestamp and the corrected MPU timestamp.
以上の処理により、NTP時刻にうるう秒調整が行われた場合であっても、受信装置において、MPUタイムスタンプ記述子に格納されているMPUタイムスタンプを用いて正常なMPUの提示が可能となる。 By performing the above process, even if a leap second adjustment is made to the NTP time, the receiving device can present a normal MPU using the MPU timestamp stored in the MPU timestamp descriptor.
なお、この場合であっても、図84で説明した送信側においてMPUタイムスタンプを補正する場合と同様に、MPUタイムスタンプの付与タイミングがA領域であるか、B領域であるか、C領域であるか、D領域であるかをシグナリングし、受信側に通知してもよい。通知の詳細については、同様であるので説明を省略する。 Even in this case, as in the case of correcting the MPU timestamp on the transmitting side described in FIG. 84, the receiving side may be notified by signaling whether the timing of adding the MPU timestamp is in area A, area B, area C, or area D. The details of the notification are the same, so they will not be explained here.
なお、図84及び図85で説明した、MPUタイムスタンプを補正したか否かを示す情報や、MPUタイムスタンプを付与したタイミングがA領域であるか、B領域であるか、C領域であるか、D領域であるかを示す情報などの付加情報(識別情報)は、NTPパケットのleap_indicatorがうるう秒の削除(leap_indicator=2)や挿入(leap_indicator=1)を示す場合に有効にしてもよい。予め定められた任意の時刻(例えば、うるう秒調整の3秒前)から有効となるとしてもよいし、動的に有効にしてもよい。 Additional information (identification information) such as information indicating whether the MPU timestamp has been corrected or not, and information indicating whether the timing at which the MPU timestamp was added is in area A, area B, area C, or area D, as described in Figures 84 and 85, may be enabled when the leap_indicator of the NTP packet indicates the deletion (leap_indicator = 2) or insertion (leap_indicator = 1) of a leap second. It may be enabled from any predetermined time (for example, 3 seconds before the leap second adjustment), or may be enabled dynamically.
また、付加情報の有効期間が終わるタイミングや付加情報のシグナリングを終了するタイミングも、NTPパケットのleap_indicatorに合わせてもよいし、予め定められた任意の時刻(例えば、うるう秒調整の3秒前)から有効となるとしてもよいし、動的に有効にしてもよい。 The timing at which the validity period of the additional information ends and the signaling of the additional information ends may also be synchronized with the leap_indicator of the NTP packet, may become valid from a predetermined arbitrary time (for example, 3 seconds before the leap second adjustment), or may be dynamically enabled.
なお、MMTPパケットに格納される32bitのタイムスタンプや、TMCCに格納されるタイムスタンプ情報なども、NTP時刻に基づいて生成され付与されるため、同様の課題が発生する。このため、32bitのタイムスタンプや、TMCCに格納されるタイムスタンプ情報などの場合も図84及び図85と同様の方法を用いてタイムスタンプを補正し、受信装置においてタイムスタンプに基づいた処理を実施することができる。例えば、MMTPパケットに格納される32bitのタイムスタンプに対する上記付加情報を格納する場合は、MMTPパケットヘッダの拡張領域を用いて示してもよい。この場合、マルチヘッダータイプの拡張タイプに付加情報であることを示す。また、leap_indicatorが立っている時間は、32bitや64bitのタイムスタンプのうち、一部のビットを用いて付加情報を示してもよい。 Note that the 32-bit timestamp stored in the MMTP packet and the timestamp information stored in the TMCC are also generated and assigned based on the NTP time, and therefore similar problems arise. For this reason, in the case of the 32-bit timestamp and the timestamp information stored in the TMCC, the timestamp can be corrected using a method similar to that of Figures 84 and 85, and processing based on the timestamp can be performed in the receiving device. For example, when storing the above additional information for the 32-bit timestamp stored in the MMTP packet, it may be indicated using the extension area of the MMTP packet header. In this case, it is indicated that it is additional information in the extension type of the multi-header type. Also, the time when the leap_indicator is set may indicate the additional information using some bits of the 32-bit or 64-bit timestamp.
なお、図84の例では、補正したMPUタイムスタンプをMPUタイムスタンプ記述子に格納するとしたが、補正前及び補正後のMPUタイムスタンプ(つまり、補正していないMPUタイムスタンプ及び補正したMPUタイムスタンプ)を両方受信装置に送信してもよい。例えば、補正前のMPUタイムスタンプ記述子と、補正後のMPUタイムスタンプ記述子とを同一のMPUタイムスタンプ記述子に格納してもよいし、2つのMPUタイムスタンプ記述子にそれぞれ格納してもよい。この場合、2つのMPUタイムスタンプ記述子の配置順や、MPUタイムスタンプ記述子内の記載順などにより、補正前のMPUタイムスタンプであるか、補正後のMPUタイムスタンプであるかを識別してもよい。また、MPUタイムスタンプ記述子には常に補正前のMPUタイムスタンプを格納するとし、補正をする場合には、補正後のタイムスタンプをMPU拡張タイムスタンプ記述子に格納するとしてもよい。 In the example of FIG. 84, the corrected MPU timestamp is stored in the MPU timestamp descriptor, but both the pre-correction and post-correction MPU timestamps (i.e., the uncorrected MPU timestamp and the corrected MPU timestamp) may be transmitted to the receiving device. For example, the pre-correction MPU timestamp descriptor and the post-correction MPU timestamp descriptor may be stored in the same MPU timestamp descriptor, or may be stored in two MPU timestamp descriptors respectively. In this case, whether the MPU timestamp is the pre-correction MPU timestamp or the post-correction MPU timestamp may be identified based on the arrangement order of the two MPU timestamp descriptors or the order of description within the MPU timestamp descriptor. Also, the pre-correction MPU timestamp may always be stored in the MPU timestamp descriptor, and when a correction is made, the post-correction timestamp may be stored in the MPU extended timestamp descriptor.
なお、本実施の形態では、NTP時刻として日本時間での時刻(午前9時)を例に説明したが、日本時間での時刻に限らない。うるう秒調整は、UTC時刻に基づくものであり、世界同時に補正される。日本時刻は、UTC時刻を基準として9時間進んだ時刻であり、UTC時刻に対する時刻(+9)という値で表される。このように、場所に応じた時差により異なる時間に調整された時刻を採用してもよい。 In this embodiment, the NTP time has been described as being Japan time (9:00 a.m.), but it is not limited to Japan time. Leap second adjustments are based on UTC time and are corrected simultaneously around the world. Japan time is 9 hours ahead of UTC time and is expressed as a value of (+9) the time relative to UTC time. In this way, a time adjusted to a different time depending on the time difference depending on the location may be used.
以上のように、タイムスタンプを付与したタイミングを示す情報に基づいて、送信側、或いは受信装置においてタイムスタンプを補正することにより、タイムスタンプを用いた正常な受信処理が可能となる。 As described above, by correcting the timestamp on the sending side or on the receiving device based on information indicating the timing at which the timestamp was added, normal reception processing using the timestamp becomes possible.
なお、うるう秒調整時刻より十分前から復号処理を継続する受信装置は、タイムスタンプを用いない復号処理及び提示処理が可能となる場合もあるが、うるう秒調整時刻直前で選局した受信装置は、タイムスタンプを決定できず、うるう秒調整が終了した後でなければ、提示できない場合がある。その場合であっても、本実施の形態における補正方法を用いることによりタイムスタンプを用いた受信処理が可能となり、うるう秒調整時刻の直前でも選局が可能となる。 Note that a receiving device that continues decoding processing from well before the leap second adjustment time may be able to perform decoding processing and presentation processing without using a timestamp, but a receiving device that tunes in just before the leap second adjustment time may not be able to determine the timestamp and may not be able to present it until after the leap second adjustment is complete. Even in such cases, the correction method in this embodiment makes it possible to perform reception processing using a timestamp, making it possible to tune in even just before the leap second adjustment time.
図84で説明した、送信側(送信装置)においてMPUタイムスタンプを補正する場合の、送信側(送信装置)の動作フローを図86に、受信装置の動作フローを図87に示す。 Figure 86 shows the operation flow of the transmitting side (transmitting device) when correcting the MPU timestamp on the transmitting side (transmitting device) as described in Figure 84, and Figure 87 shows the operation flow of the receiving device.
まず、送信側(送信装置)の動作フローについて、図86を用いて説明する。 First, the operational flow on the sending side (sending device) will be explained using Figure 86.
うるう秒の挿入や削除が行われる場合、MPUタイムスタンプの付与のタイミングがA領域であるか、B領域であるか、C領域であるか、D領域であるかを判定する(S2201)。なお、うるう秒の挿入や削除が行われない場合については、図示しない。 When a leap second is inserted or deleted, it is determined whether the timing of the MPU timestamp assignment is in area A, area B, area C, or area D (S2201). Note that cases in which a leap second is not inserted or deleted are not shown.
ここで、A領域~D領域は、以下のように定義される。 Here, areas A to D are defined as follows:
A領域:うるう秒挿入の直前までの時刻(1回目の8:59:59台まで)
B領域:うるう秒挿入以後の時刻(2回目の8:59:59以降)
C領域:うるう秒削除の直前までの時刻(9:00:00まで)
D領域:うるう秒削除以後の時刻(9:00:00以降)
Area A: The time up until just before the leap second insertion (up to the first 8:59:59 range)
Area B: Time after leap second insertion (after the second 8:59:59)
C area: The time up to just before the leap second deletion (up to 9:00:00)
D area: Time after leap second deletion (after 9:00:00)
ステップS2201において、A領域であると判定された場合であって、MPUタイムスタンプが9:00:00以降を示す場合は、MPUタイムスタンプを-1秒補正し、補正したMPUタイムスタンプをMPUタイムスタンプ記述子に格納する(S2202)。 In step S2201, if it is determined that the area is A and the MPU timestamp indicates 9:00:00 or later, the MPU timestamp is corrected by -1 second and the corrected MPU timestamp is stored in the MPU timestamp descriptor (S2202).
そして、MPUタイムスタンプを補正したことを示す補正情報をシグナリングし、受信装置に送信する(S2203)。 Then, correction information indicating that the MPU timestamp has been corrected is signaled and transmitted to the receiving device (S2203).
また、ステップS2201において、C領域であると判定された場合であって、MPUタイムスタンプが8:59:59以降を示す場合は、MPUタイムスタンプを+1秒補正し、補正したMPUタイムスタンプをMPUタイムスタンプ記述子に格納する(S2205)。 Also, if it is determined in step S2201 that the area is C and the MPU timestamp indicates 8:59:59 or later, the MPU timestamp is corrected by +1 second, and the corrected MPU timestamp is stored in the MPU timestamp descriptor (S2205).
また、ステップS2201において、B領域またはD領域であると判定された場合、MPUタイムスタンプを補正せずにMPUタイムスタンプ記述子に格納する(S2204)。 Also, if it is determined in step S2201 that the area is B or D, the MPU timestamp is stored in the MPU timestamp descriptor without correction (S2204).
次に、受信装置の動作フローについて、図87を用いて説明する。 Next, the operation flow of the receiving device will be explained using Figure 87.
送信側からシグナリングされた情報に基づいて、MPUタイムスタンプが補正されているか否かを判定する(S2301)。 Based on the information signaled from the transmitting side, it is determined whether the MPU timestamp has been corrected (S2301).
MPUタイムスタンプが補正されていると判定された場合(S2301でYes)は、受信装置においてうるう秒調整が実施された後のNTP時刻における当該MPUタイムスタンプに基づいてMPUを提示する(S2302)。 If it is determined that the MPU timestamp has been corrected (Yes in S2301), the MPU is presented based on the MPU timestamp at the NTP time after the leap second adjustment was performed in the receiving device (S2302).
MPUタイムスタンプが補正されていないと判定された場合(S2301でNo)は、NTP時刻における当該MPUタイムスタンプに基づいてMPUを提示する。 If it is determined that the MPU timestamp has not been corrected (No in S2301), the MPU is presented based on the MPU timestamp at the NTP time.
なお、MPUタイムスタンプを補正する場合は、当該MPUタイムスタンプに対応するMPUをうるう秒が挿入される区間に提示する。 When correcting an MPU timestamp, the MPU corresponding to that MPU timestamp is presented in the section where leap seconds are inserted.
反対に、MPUタイムスタンプを補正しない場合は、当該MPUタイムスタンプに対応するMPUを、うるう秒が挿入される区間に提示することはなく、うるう秒が挿入されない区間に提示する。 Conversely, if the MPU timestamp is not corrected, the MPU corresponding to that MPU timestamp will not be presented in an interval where leap seconds are inserted, but will be presented in an interval where leap seconds are not inserted.
図85で説明した、受信装置においてMPUタイムスタンプを補正する場合の、送信側の動作フローを図88に、受信装置の動作フローを図89に示す。 Figure 88 shows the operational flow on the transmitting side when correcting the MPU timestamp in the receiving device, as described in Figure 85, and Figure 89 shows the operational flow of the receiving device.
まず、送信側(送信装置)の動作フローについて、図88を用いて説明する。 First, the operational flow on the sending side (sending device) will be explained using Figure 88.
NTPパケットのleap_indicatorに基づいて、うるう秒の調整(挿入や削除)が行われかを判定する(S2401)。 Based on the leap_indicator in the NTP packet, it is determined whether a leap second adjustment (insertion or deletion) has been made (S2401).
うるう秒の調整が行われると判定された場合(S2401でYes)、MPUタイムスタンプの付与のタイミングを判定し、識別情報をシグナリングし、受信装置に送信する(S2402)。 If it is determined that a leap second adjustment is to be performed (Yes in S2401), the timing for adding the MPU timestamp is determined, and the identification information is signaled and transmitted to the receiving device (S2402).
一方、うるう秒の調整が行われないと判定された場合(S2041でNo)、通常動作のまま処理を終了する。 On the other hand, if it is determined that leap second adjustment is not to be performed (No in S2041), processing ends with normal operation.
次に、受信装置の動作フローについて、図89を用いて説明する。 Next, the operation flow of the receiving device will be explained using Figure 89.
送信側(送信装置)によりシグナリングされた識別情報に基づいて、MPUタイムスタンプの付与のタイミングがA領域であるか、B領域であるか、C領域であるか、D領域であるかを判定する(S2501)。ここで、A領域~D領域は、上記で定義したものと同じであるため説明を省略する。なお、図87と同様に、うるう秒の挿入や削除が行われない場合については、図示しない。 Based on the identification information signaled by the transmitting side (transmitting device), it is determined whether the timing of the MPU timestamp assignment is in area A, area B, area C, or area D (S2501). Areas A to D are the same as those defined above, so their explanation is omitted. Note that, as with Figure 87, the case where leap seconds are not inserted or deleted is not shown.
ステップS2501において、A領域であると判定された場合であって、MPUタイムスタンプが9:00:00以降を示す場合は、MPUタイムスタンプを-1秒補正する(S2502)。 If it is determined in step S2501 that the area is A and the MPU timestamp indicates 9:00:00 or later, the MPU timestamp is corrected by -1 second (S2502).
ステップS2501において、C領域であると判定された場合であって、MPUタイムスタンプが8:59:59以降を示す場合は、MPUタイムスタンプを+1秒補正する(S2504)。 If it is determined in step S2501 that the area is C and the MPU timestamp indicates 8:59:59 or later, the MPU timestamp is corrected by +1 second (S2504).
ステップS2501において、B領域またはD領域であると判定された場合、MPUタイムスタンプを補正しない(S2503)。 If it is determined in step S2501 that the area is B or D, the MPU timestamp is not corrected (S2503).
受信装置は、さらに、図示しない処理において、補正されたMPUタイムスタンプに基づいてMPUを提示する。 The receiving device further presents the MPU based on the corrected MPU timestamp in a process not shown.
なお、MPUタイムスタンプを補正する場合は、うるう秒調整が実施された後のNTP時刻におけるMPUタイムスタンプに基づいて、当該MPUタイムスタンプに対応するMPUを提示する。 When correcting the MPU timestamp, the MPU corresponding to the MPU timestamp is presented based on the MPU timestamp at the NTP time after the leap second adjustment is performed.
反対に、MPUタイムスタンプを補正しない場合は、当該MPUタイムスタンプに対応するMPUを、うるう秒が挿入される区間に提示することはなく、うるう秒が挿入されない区間に提示する。 Conversely, if the MPU timestamp is not corrected, the MPU corresponding to that MPU timestamp will not be presented in an interval where leap seconds are inserted, but will be presented in an interval where leap seconds are not inserted.
要するに、送信側(送信装置)は、複数のMPUのそれぞれについて、当該MPUに対応するMPUタイムスタンプを付与するタイミングを判定する。そして、判定の結果、当該タイミングがうるう秒挿入の直前までの時刻の場合であって、当該MPUタイムスタンプが9:00:00以降を示す場合は、当該MPUタイムスタンプを-1秒補正する。また、MPUタイムスタンプを補正したことを示す補正情報をシグナリングし、受信装置に送信する。また、判定の結果、当該タイミングがうるう秒削除の直前までの時刻の場合であって、当該MPUタイムスタンプが8:59:59以降を示す場合は、当該MPUタイムスタンプを+1秒補正する。 In short, the transmitting side (transmitting device) determines, for each of multiple MPUs, the timing for assigning an MPU timestamp corresponding to that MPU. If the determination shows that the timing is a time up to just before the leap second insertion and the MPU timestamp indicates 9:00:00 or later, the MPU timestamp is corrected by -1 second. Correction information indicating that the MPU timestamp has been corrected is signaled and transmitted to the receiving device. If the determination shows that the timing is a time up to just before the leap second deletion and the MPU timestamp indicates 8:59:59 or later, the MPU timestamp is corrected by +1 second.
また、受信装置は、送信側(送信装置)によりシグナリングされた補正情報により示されるMPUタイムスタンプが補正されているか否かに基づいて、MPUタイムスタンプが補正されていることが示される場合には、うるう秒調整が実施された後のNTP時刻における当該MPUタイムスタンプに基づいてMPUを提示する。MPUタイムスタンプが補正されていない場合は、うるう秒調整前のNTP時刻における当該MPUタイムスタンプに基づいてMPUを提示する。 The receiving device also presents an MPU based on the MPU timestamp at the NTP time after the leap second adjustment has been performed, if it indicates that the MPU timestamp has been corrected based on whether the MPU timestamp indicated by the correction information signaled by the sending side (transmitting device) has been corrected. If the MPU timestamp has not been corrected, it presents an MPU based on the MPU timestamp at the NTP time before the leap second adjustment.
また、送信側(送信装置)は、複数のMPUのそれぞれについて、当該MPUに対応するMPUタイムスタンプを付与するタイミングを判定し、判定した結果をシグナリングする。受信装置はl、送信側によりシグナリングされた、MPUタイムスタンプを付与するタイミングを示す情報に基づき、以下の処理を行う。具体的には、当該タイミングを示す情報がうるう秒挿入の直前までの時刻であることを示す場合であって、MPUタイムスタンプが9:00:00以降を示す場合は、当該MPUタイムスタンプを-1秒補正する。また、当該タイミングを示す情報がうるう秒削除の直前までの時刻の場合であって、当該MPUタイムスタンプが8:59:59以降を示す場合は、当該MPUタイムスタンプを+1秒補正する。 The transmitting side (transmitting device) also determines the timing for assigning an MPU timestamp corresponding to each of multiple MPUs, and signals the result of the determination. The receiving device performs the following processing based on the information indicating the timing for assigning an MPU timestamp signaled by the transmitting side. Specifically, if the information indicating the timing indicates a time up to just before the leap second insertion and the MPU timestamp indicates 9:00:00 or later, the MPU timestamp is corrected by -1 second. If the information indicating the timing indicates a time up to just before the leap second deletion and the MPU timestamp indicates 8:59:59 or later, the MPU timestamp is corrected by +1 second.
受信装置は、MPUタイムスタンプが補正されている場合には、うるう秒調整が実施された後のNTP時刻における当該MPUタイムスタンプに基づいてMPUを提示する。MPUタイムスタンプが補正されていない場合は、うるう秒調整前のNTP時刻における当該MPUタイムスタンプに基づいてMPUを提示する。 If the MPU timestamp has been corrected, the receiving device presents the MPU based on the MPU timestamp at the NTP time after the leap second adjustment has been performed. If the MPU timestamp has not been corrected, the receiving device presents the MPU based on the MPU timestamp at the NTP time before the leap second adjustment.
このように、うるう秒調整における、MPUタイムスタンプの付与のタイミングを判定することにより、MPUタイムスタンプの補正が可能となり、受信装置は、どのMPUを提示すべきかの判断ができ、MPUタイムスタンプ記述子やMPU拡張タイムスタンプ記述子を用いた適切な受信処理が可能となる。つまり、NTP時刻にうるう秒調整が行われた場合であっても、受信装置において、MPUタイムスタンプ記述子に格納されているMPUタイムスタンプを用いて正常なMPUの提示が可能となる。 In this way, by determining the timing of adding the MPU timestamp during leap second adjustment, it becomes possible to correct the MPU timestamp, and the receiving device can determine which MPU to present, enabling appropriate reception processing using the MPU timestamp descriptor and MPU extended timestamp descriptor. In other words, even if a leap second adjustment is performed on the NTP time, the receiving device can present a normal MPU using the MPU timestamp stored in the MPU timestamp descriptor.
[補足:送信装置及び受信装置]
以上のように、符号化ストリームを構成するデータをMPUに格納して送信する送信装置は、図90のように構成することも可能である。また、符号化ストリームを構成するデータが格納されたMPUを受信する受信装置は、図91のように構成することも可能である。図90は、送信装置の具体的構成の例を示す図である。図91は、受信装置の具体的構成の例を示す図である。
[Supplementary Note: Transmitting Device and Receiving Device]
As described above, a transmitting device that stores data constituting an encoded stream in an MPU and transmits the stored data may be configured as shown in Fig. 90. Also, a receiving device that receives an MPU in which data constituting an encoded stream is stored may be configured as shown in Fig. 91. Fig. 90 is a diagram showing an example of a specific configuration of a transmitting device. Fig. 91 is a diagram showing an example of a specific configuration of a receiving device.
送信装置900は、生成部901と、送信部902とを備える。生成部901及び送信部902のそれぞれは、例えば、マイクロコンピュータ、プロセッサ、または、専用回路などによって実現される。
The transmitting
受信装置1000は、受信部1001と、再生部1002とを備える。受信部1001及び再生部1002のそれぞれは、例えば、マイクロコンピュータ、プロセッサ、または、専用回路などによって実現される。
The
送信装置900及び受信装置1000の各構成要素についての詳細な説明は、それぞれ、送信方法及び受信方法の説明において行う。
Detailed explanations of each component of the transmitting
まず、送信方法については、図92を用いて説明する。図92は、送信装置による動作フロー(送信方法)である。 First, the transmission method will be described using FIG. 92. FIG. 92 shows the operation flow (transmission method) of the transmitting device.
まず、送信装置900の生成部901は、外部から受信した基準時刻情報としてのNTP時刻に基づいて、第1のデータユニットとしてのMPUの提示時刻を示す提示時刻情報(MPUタイムスタンプ)を生成する(S2601)。
First, the
次に、送信装置900の送信部902は、MPUと、生成部901により生成された提示時刻情報と、当該提示時刻情報(MPUタイムスタンプ)がうるう秒調整前のNTP時刻に基づいて生成されたか否かを示す識別情報とを送信する(S2602)。
Next, the
これにより、送信装置900から送信された情報を受信した受信装置は、うるう秒調整が行われた場合であっても、識別情報に基づいてMPUを再生できるので、MPUを意図された時刻に再生できる。
As a result, the receiving device that receives the information transmitted from the transmitting
次に、受信方法について図93を用いて説明する。図93は、受信装置による動作フロー(受信方法)である。 Next, the reception method will be explained using Figure 93. Figure 93 shows the operation flow (reception method) of the receiving device.
まず、受信装置1000の受信部1001は、MPUと、MPUの提示時刻を示す提示時刻情報と、当該提示時刻情報(MPUタイムスタンプ)がうるう秒調整前のNTP時刻に基づいて生成されたか否かを示す識別情報とを、受信する(S2701)。
First, the receiving
次に、受信装置1000の再生部1002は、受信部1001により受信された提示時刻情報(MPUタイムスタンプ)及び識別情報に基づいて、受信部1001により受信されたMPUを再生する(S2702)。
Next, the
これにより、受信装置1000は、うるう秒調整が行われた場合であっても、MPUを意図された時刻に再生できる。
This allows the
なお、実施の形態6において、再生とは、復号及び提示の少なくとも一方の処理を含む処理を示す。 In the sixth embodiment, playback refers to a process that includes at least one of decoding and presentation.
(実施の形態6の変形例)
次に、図84及び図85で説明した、付加情報(識別情報)の具体的なシグナリング方法の具体例について説明する。
(Modification of the Sixth Embodiment)
Next, a specific example of a specific signaling method for the additional information (identification information) explained in Figures 84 and 85 will be described.
ここでは、図81の(a)に示すMPUタイムスタンプ記述子と、図81の(b)に示すMPU拡張タイムスタンプ記述子との組み合わせでシグナリングする方法について説明する。 Here, we explain a method of signaling using a combination of the MPU timestamp descriptor shown in Figure 81(a) and the MPU extended timestamp descriptor shown in Figure 81(b).
図94は、MPU拡張タイムスタンプ記述子の拡張例を示す図である。図94の下線で示したフィールドは、図81の(b)で示したMPU拡張タイムスタンプ記述子に対して新規に追加するフィールドである。 Figure 94 is a diagram showing an example of an extension of the MPU extended time stamp descriptor. The underlined fields in Figure 94 are new fields added to the MPU extended time stamp descriptor shown in Figure 81 (b).
図94におけるNTP_leap_indicatorは、第2制御情報としてのMPU拡張タイムスタンプ記述子に、NTPのうるう秒調整に係る付加情報(識別情報)を示すか否かのフラグを示す。このフラグが立っている場合、複数のMPU毎のループ内におけるmpu_presentation_time_typeが有効となる。 The NTP_leap_indicator in FIG. 94 indicates a flag indicating whether or not additional information (identification information) related to NTP leap second adjustment is indicated in the MPU extended timestamp descriptor as the second control information. If this flag is set, the mpu_presentation_time_type in the loop for each of multiple MPUs becomes valid.
図94におけるmpu_presentation_time_typeは、図84で説明したようなMPUタイムスタンプの補正を送信側(送信装置)において行う場合、MPUタイムスタンプスタンプ記述子に記載される同一シーケンス番号のmpu_presentation_timeが、補正されているかどうかを示す。また、mpu_presentation_time_typeは、図85で説明したようなMPUタイムスタンプの補正を受信装置において行う場合、MPUタイムスタンプスタンプ記述子に記載される同一シーケンス番号のmpu_presentation_timeが付与されるタイミングが、A領域であるか、B領域であるか、C領域であるか、D領域であるかを示す。 In FIG. 94, mpu_presentation_time_type indicates whether the mpu_presentation_time of the same sequence number described in the MPU timestamp stamp descriptor has been corrected when the correction of the MPU timestamp as described in FIG. 84 is performed on the transmitting side (transmitting device). Also, in the case where the correction of the MPU timestamp as described in FIG. 85 is performed on the receiving device, mpu_presentation_time_type indicates whether the timing at which the mpu_presentation_time of the same sequence number described in the MPU timestamp stamp descriptor is assigned is area A, area B, area C, or area D.
つまり、MPU拡張タイムスタンプ記述子は、MPUタイムスタンプがうるう秒調整前の時刻情報(NTP時刻)に基づいて生成されたか否かを示す識別情報が格納されている。また、MPU拡張タイムスタンプ記述子は、複数のMPUのそれぞれのループにおいて、当該MPUに対応する識別情報を格納している。 In other words, the MPU extended timestamp descriptor stores identification information indicating whether the MPU timestamp was generated based on time information (NTP time) before leap second adjustment. In addition, the MPU extended timestamp descriptor stores identification information corresponding to the MPU in each loop of multiple MPUs.
送信装置900の送信部902は、上記ステップS2602において、MPUと、生成部901により生成された提示時刻情報(MPUタイムスタンプ)が格納された第1制御情報としてのMPUタイムスタンプ記述子と、当該提示時刻情報がうるう秒調整前の時刻情報(NTP時刻)に基づいて生成されたか否かを示す識別情報が格納された第2制御情報としてのMPU拡張タイムスタンプ記述子と、を送信する。
In step S2602, the transmitting
受信装置1000の受信部1001は、ステップS2701において、MPUと、MPUタイムスタンプ記述子と、MPU拡張タイムスタンプ記述子とを受信する。そして、受信装置1000の再生部1002は、受信部1001により受信されたMPUタイムスタンプ記述子及びMPU拡張タイムスタンプ記述子に基づいて、受信部1001により受信されたMPUを再生する。このように、受信装置1000は、MPUタイムスタンプ記述子とMPU拡張タイムスタンプ記述子との両方を解析することで、うるう秒調整時、MPUタイムスタンプを用いた復号処理が可能となる。よって、受信装置1000は、うるう秒調整が行われた場合であっても、MPUを意図された時刻に再生できる。また、MPU拡張タイムスタンプ記述子に識別情報を格納しているため、MPUタイムスタンプ記述子を既存規格(MPEG)に対応した構成のまま、MPUタイムスタンプがうるう秒調整前の時刻情報(NTP時刻)に基づいて生成されたか否かをシグナリングする機能を拡張できる。このように、従来の構成を利用できるため、シグナリングする機能を拡張した場合であっても、設計変更を最小限にでき、送信側(送信装置)および受信装置の製造コストを低減することができる。
In step S2701, the receiving
なお、NTP_leap_indicatorを立てるタイミングは、NTPパケットにおけるleap_indicatorと同じでもよいし、leap_indicatorが立っている間における任意の時間としてもよい。つまり、NTP_leap_indicatorは、MPUタイムスタンプが生成された基準となるNTP時刻に対応するNTPパケットにおけるleap_indicatorの値に応じた値に決定される。 The timing at which the NTP_leap_indicator is set may be the same as the leap_indicator in the NTP packet, or may be any time while the leap_indicator is set. In other words, the NTP_leap_indicator is determined to a value according to the value of the leap_indicator in the NTP packet that corresponds to the reference NTP time at which the MPU timestamp was generated.
(実施の形態6の変形例2)
本実施の形態において説明した、うるう秒調整に係る課題は、NTP時刻に基づいた時刻を用いる場合に限らずに、UTC時刻に基づいた時刻を用いる場合であっても、同様に発生する課題である。
(
The issues relating to leap second adjustment described in this embodiment are not limited to cases where time based on NTP time is used, but arise similarly even when time based on UTC time is used.
時刻系が、UTCに基づいた時刻系であり、その時刻系に基づいて提示時刻情報(MPUタイムスタンプ)を生成し、付与する場合には、これまでに示した方法と同様の方法を用いることにより、うるう秒調整時にも、受信装置側で提示時刻情報及びシグナリング情報(付加情報、識別情報)を用いて、提示時刻情報を補正し、処理することが可能である。 If the time system is based on UTC and the presented time information (MPU timestamp) is generated and added based on that time system, by using a method similar to that described above, it is possible to correct and process the presented time information on the receiving device side using the presented time information and signaling information (additional information, identification information) even when adjusting for leap seconds.
例えば、ARIB STD-B60において、受信機で動作しているアプリケーションに対して、放送局から動作を指定する時刻(時刻指定情報)を通知する目的として、イベントメッセージを伝送する際、イベントメッセージ記述子をMMTPパケットに格納し、イベントメッセージ記述子においてイベントメッセージの発生する時刻が示されている。この場合、アプリケーションを構成するデータは、第1のデータユニットとしてのMPUに格納して送信される。イベントメッセージの発生する時刻については、複数の時刻の指定方法があり、time_modeで示される。time_modeにおいて、イベントメッセージの発生する時刻をUTCで表現する場合、そのUTC時刻が、うるう秒調整前の時刻情報に基づいて付与された時刻情報か、うるう秒調整後の時刻情報に基づいて付与された時刻情報かを示す識別情報をシグナリングする。つまり、識別情報は、本実施の形態で説明した識別情報と同様に、提示時刻情報がうるう秒調整前の時刻情報(NTP時刻)に基づいて生成されたか否かを示す情報である。このような識別情報(シグナリング情報)は、イベントメッセージ記述子内に示すことが望ましい。例えば、イベントメッセージ記述子のreserved_future_useフィールドを用いてシグナリングすることができる。 For example, in ARIB STD-B60, when an event message is transmitted in order to notify an application running on a receiver of the time (time designation information) at which the broadcasting station designates the operation, an event message descriptor is stored in an MMTP packet, and the time at which the event message occurs is indicated in the event message descriptor. In this case, the data constituting the application is stored in an MPU as the first data unit and transmitted. There are multiple ways to specify the time at which the event message occurs, and this is indicated by time_mode. In time_mode, when the time at which the event message occurs is expressed in UTC, identification information is signaled indicating whether the UTC time is time information assigned based on time information before the leap second adjustment or time information assigned based on time information after the leap second adjustment. In other words, the identification information is information indicating whether the presented time information was generated based on time information before the leap second adjustment (NTP time), similar to the identification information described in this embodiment. It is desirable to indicate such identification information (signaling information) in the event message descriptor. For example, this can be signaled using the reserved_future_use field in the event message descriptor.
つまり、送信装置900の生成部901は、上記ステップS2601において、外部から受信した基準時刻情報としてのNTP時刻に基づいて、アプリケーションの動作時刻を示す時刻指定情報を生成する。そして、送信装置900の送信部902は、上記ステップS2602において、MPUと、生成部901により生成された、アプリケーションの動作時刻(イベントメッセージの発生する時刻)を示す時刻指定情報と、当該時刻情報がうるう秒調整前の時刻情報であるか否かを示す識別情報とが格納された制御情報としてのイベントメッセージ記述子と、を送信する。
In other words, in step S2601, the
なお、送信側(送信装置)において、うるう秒調整の必要な時間帯や番組を判定し、うるう秒調整が必要な時間帯や番組では、UTCで表現するtime_modeの使用を禁止し、UTCに係らないtime_modeを使用すると規定してもよい。 The transmitting side (transmitting device) may determine the time periods and programs that require leap second adjustment, and may prohibit the use of time_mode expressed in UTC for those time periods and programs that require leap second adjustment, and may specify the use of time_mode that is not related to UTC.
或いは、送信側(送信装置)において、イベントメッセージの発生するUTC時刻を算出し、イベントメッセージを発生させる時刻がうるう秒調整後であるかどうかを判定し、うるう秒調整後の場合には、うるう秒調整後のUTC時刻を算出してイベントメッセージ記述子に格納してもよい。また、提示時刻情報がうるう秒調整されたかどうかを別途シグナリングしてもよい。 Alternatively, the sending side (sending device) may calculate the UTC time at which the event message is generated, determine whether the time at which the event message is generated is after a leap second adjustment, and if so, calculate the UTC time after the leap second adjustment and store it in the event message descriptor. Also, it may be possible to separately signal whether the presented time information has been leap second adjusted.
同様に、UTC(Universal Time Coordinated)-NPT(Normal Play Time)参照記述子は、UTCとNPTとの関係を、UTC_Referenceフィールド及びNPT_Referenceフィールドを用いて示す。UTC_ReferenceフィールドまたはNPT_Referenceフィールドに示す時刻情報が、うるう秒調整前の基準時刻情報(NTP時刻)に基づいて付与された時刻情報か、うるう秒調整後の基準時刻情報に基づいて付与された時刻情報かをシグナリングする。つまり、UTC-NPT参照記述子は、送信装置900の生成部901により生成された提示時刻情報と、当該提示時刻情報がうるう秒調整前の時刻情報(NTP時刻)か否かを示す識別情報とを格納している制御情報である。識別情報は、UTC-NPT参照記述子内のreservedフィールド等を用いてシグナリングすることができる。
Similarly, the UTC (Universal Time Coordinated)-NPT (Normal Play Time) reference descriptor indicates the relationship between UTC and NPT using the UTC_Reference field and the NPT_Reference field. It signals whether the time information indicated in the UTC_Reference field or the NPT_Reference field is time information assigned based on the reference time information before the leap second adjustment (NTP time) or time information assigned based on the reference time information after the leap second adjustment. In other words, the UTC-NPT reference descriptor is control information that stores the presented time information generated by the
また、ARIB STD-B60或いはARIB STD-B62に記載される字幕或いは文字スーパーの提示時刻の指定方法は、付加識別情報(Additional_Arib_Subtitle_Info)におけるTMD(時刻制御モード)で示される。付加識別情報は、MPTのアセットループに格納される。 The method of specifying the presentation time of subtitles or superimposed text described in ARIB STD-B60 or ARIB STD-B62 is indicated by the TMD (time control mode) in the additional identification information (Additional_Arib_Subtitle_Info). The additional identification information is stored in the asset loop of the MPT.
TMD(時刻制御モード)がMPUタイムスタンプやNPT(Normal Play
Time)を起点とした時刻であるモードの場合には、字幕或いは文字スーパーの提示時刻は、MPU拡張タイムスタンプ記述子或いはUTC-NPT参照記述子に示される。上記シグナリング情報により、うるう秒調整時にも、受信装置側で時刻情報及びシグナリング情報を用いて、時刻情報を補正し、処理することが可能である。
TMD (Time Control Mode) is MPU time stamp and NPT (Normal Play
In the case of a mode in which the time is based on the MPU Time, the presentation time of the subtitles or superimposed characters is indicated in the MPU extended time stamp descriptor or the UTC-NPT reference descriptor. The signaling information allows the receiving device to correct and process the time information using the time information and signaling information even during leap second adjustment.
時刻制御モード=’0000’(UTC_TTML記述)である場合は、ARIB-TTML字幕内のタイムコードをUTCに対応した提示時刻を示す。この場合は、当該タイムコードに示されるUTC時刻が、うるう秒調整前の時刻情報に基づいて付与された時刻情報か、うるう秒調整後の時刻情報に基づいて付与された時刻情報かをシグナリングする。このとき送信されるシグナリング情報は、ARIB-TTML字幕内に示すことが望ましい。 When the time control mode is '0000' (UTC_TTML description), the time code in the ARIB-TTML subtitles indicates the presentation time corresponding to UTC. In this case, it signals whether the UTC time indicated in the time code is time information assigned based on the time information before the leap second adjustment, or time information assigned based on the time information after the leap second adjustment. It is desirable that the signaling information sent at this time be indicated in the ARIB-TTML subtitles.
時刻制御モード=’0010’(UTC_TTML記述)である場合は、付加識別情報におけるreference_start_timeフィールドに示されるUTC時刻を起点とした時刻である。この場合は、付加識別情報内において、時刻制御モード=’0000’(UTC_TTML記述)である場合と同様にシグナリングする。この場合、送信側(送信装置)では、reference_start_timeフィールドに示されるUTC時刻が、うるう秒調整が行われる直前の時刻(例えば、9:00:00までの時刻)よりも予め定められた期間(例えば24時間)前の時刻(つまり、うるう秒調整が行われる前日の9:00:00)から当該直前の時刻までにおける時刻であるか否かを示す情報を識別情報として送信する。 When the time control mode is '0010' (UTC_TTML description), the time is based on the UTC time indicated in the reference_start_time field in the additional identification information. In this case, the additional identification information transmits the same signaling as when the time control mode is '0000' (UTC_TTML description). In this case, the transmitting side (transmitting device) transmits, as identification information, information indicating whether the UTC time indicated in the reference_start_time field is a time from a time a predetermined period (e.g., 24 hours) before the time immediately before the leap second adjustment (e.g., the time up to 9:00:00) (i.e., 9:00:00 on the day before the leap second adjustment) to the time immediately before the leap second adjustment is performed.
なお、送信側(送信装置)において、うるう秒調整の必要な時間帯や番組を判定し、UTCで表現する時刻制御モードの使用を禁止し、UTCに係らない時刻制御モードを使用すると規定してもよい。 In addition, the transmitting side (transmitting device) may determine the time periods and programs that require leap second adjustments, prohibit the use of the time control mode expressed in UTC, and specify that a time control mode not related to UTC should be used.
その他、MH-Expire記述子についても同様である。 The same applies to the MH-Expire descriptor.
(実施の形態7)
一般的な放送局設備は、複数の送出系統を有しており、1系統を通常設備として実際の放送サービスに、それ以外を冗長系設備としてバックアップ用に運用している。これにより、送出設備等の原因により、視聴者に提供するサービスにエラーが起こった場合などに、冗長系設備に切り替えることができる。ここで、MMT/TLV方式では、冗長系設備の切り替え時に、下記の現象が生じる。
(Seventh embodiment)
A typical broadcasting station has multiple transmission systems, one of which is used as normal equipment for the actual broadcasting service, and the other is used as redundant equipment for backup. This allows switching to the redundant equipment when an error occurs in the service provided to viewers due to a cause in the transmission equipment, etc. Here, in the MMT/TLV method, the following phenomenon occurs when switching to the redundant equipment.
1.MPUシーケンス番号の調整
冗長系設備を切り替える前処理として、MPUシーケンス番号の調整が実施される。図95に示すように、MPUシーケンス番号の調整が実施された場合、調整前と調整後とで、MPUシーケンス番号に不連続が生じる場合がある。図95では、MPUシーケンス番号が重複する例を示す。
1. Adjustment of MPU sequence number As a pre-processing for switching the redundant equipment, the MPU sequence number is adjusted. As shown in Fig. 95, when the MPU sequence number is adjusted, there may be a discontinuity in the MPU sequence number before and after the adjustment. Fig. 95 shows an example in which the MPU sequence number is duplicated.
アクセスユニットや、アクセスユニットに対するMPUタイムスタンプは、MPUシーケンス番号の調整前及び調整後で、同じであるが、異なるMPUに対して同一のMPUシーケンス番号が付与されていることにより、2つのMPUに渡って、同一のMPUシーケンス番号が付与される。 The access unit and the MPU timestamp for the access unit are the same before and after the MPU sequence number is adjusted, but because the same MPU sequence number is assigned to different MPUs, the same MPU sequence number is assigned across two MPUs.
これにより、MMTPパケットヘッダに格納されるMPUシーケンス番号と、MPUタイムスタンプ記述子及びMPU拡張タイムスタンプ記述子に格納されるMPUシーケンス番号とが、異なるMPUで重複する。また、同様に、MPUシーケンス番号がスキップしたり、戻ったりする場合もある。 As a result, the MPU sequence number stored in the MMTP packet header and the MPU sequence number stored in the MPU timestamp descriptor and MPU extended timestamp descriptor will overlap in different MPUs. Similarly, the MPU sequence number may skip or go back.
2.パケットシーケンス番号の不連続
通常設備と冗長系設備との間で、パケットシーケンス番号やパケットカウンタが異なっているために、通常設備から冗長系設備に切り替える際、パケットシーケンス番号やパケットカウンタが不連続になる場合がある。図96に示すように、通常動作ではパケットシーケンス番号は連続しているのに対して、スキップ、重複、戻る場合がある。なお、図96は、通常設備から冗長系設備に切り替えるタイミングで、パケットシーケンス番号が不連続になる場合について説明するための図である。
2. Discontinuity of packet sequence numbers Because packet sequence numbers and packet counters are different between normal equipment and redundant equipment, when switching from normal equipment to redundant equipment, packet sequence numbers and packet counters may become discontinuous. As shown in Figure 96, packet sequence numbers are continuous in normal operation, but may skip, overlap, or return. Note that Figure 96 is a diagram for explaining a case where packet sequence numbers become discontinuous at the timing of switching from normal equipment to redundant equipment.
上記、1または2のようにMPUシーケンス番号やパケットシーケンス番号が不連続になる場合、これらのシーケンス番号の連続性を信じて動作する受信装置は誤動作するおそれがあるという課題がある。 When the MPU sequence number or packet sequence number becomes discontinuous as in 1 or 2 above, there is a problem that a receiving device that operates by believing in the continuity of these sequence numbers may malfunction.
なお、アクセスユニット、及び、アクセスユニットに対するMPUタイムスタンプは、MPUシーケンス番号やパケットシーケンス番号の不連続が生じる場合においても、連続性は保たれており、連続なデータが受信装置に送出される。 In addition, even if discontinuities occur in the MPU sequence number or packet sequence number, the access unit and the MPU timestamp for the access unit maintain continuity, and continuous data is sent to the receiving device.
図95及び図96を用いて説明したようなMPUシーケンス番号やパケットシーケンス番号の不連続が起こった場合の受信処理について説明する。 This section explains the reception process when discontinuity occurs in the MPU sequence number or packet sequence number as described using Figures 95 and 96.
MPUシーケンス番号やパケットシーケンス番号の不連続が生じる場合、下記に示すようなMPUシーケンス番号やパケットシーケンス番号を用いる処理を行う受信装置は誤動作する可能性がある。 If discontinuities occur in the MPU sequence numbers or packet sequence numbers, a receiving device performing processing using MPU sequence numbers or packet sequence numbers as shown below may malfunction.
MPUシーケンス番号を用いる処理としては、例えば、MMTPパケットヘッダにおけるMPUシーケンス番号の切り替わりによってMPU境界を検出する処理がある。 An example of a process that uses the MPU sequence number is a process that detects an MPU boundary by switching the MPU sequence number in the MMTP packet header.
また、MPUシーケンス番号を用いる処理としては、例えば、MPUタイムスタンプ記述子やMPU拡張タイムスタンプ記述子には、MPUシーケンス番号に対するタイムスタンプが記載されており、当該タイムスタンプを用いて復号及び/又は提示する。 In addition, as a process that uses the MPU sequence number, for example, the MPU timestamp descriptor or the MPU extended timestamp descriptor describes a timestamp for the MPU sequence number, and the timestamp is used for decoding and/or presentation.
パケットシーケンス番号を用いる処理としては、例えば、パケットシーケンス番号をパケットロスの検出に用い、パケットシーケンス番号がスキップした場合にパケットロスと判定し、パケットシーケンス番号が戻った場合にパケットの入れ替わりと判定する処理がある。 As an example of a process that uses the packet sequence number, there is a process that uses the packet sequence number to detect packet loss, and determines that a packet loss has occurred if the packet sequence number is skipped, and that a packet replacement has occurred if the packet sequence number is returned.
これらのMPUシーケンス番号やパケットシーケンス番号を用いる処理を行うことによる誤動作を防ぐために、受信装置は、MPUシーケンス番号やパケットシーケンス番号の不連続を判定し、不連続と判定した場合には、MPUシーケンス番号やパケットシーケンス番号を用いない処理を実施する。 To prevent malfunctions caused by processing that uses these MPU sequence numbers and packet sequence numbers, the receiving device determines whether the MPU sequence numbers or packet sequence numbers are discontinuous, and if it determines that they are discontinuous, performs processing that does not use the MPU sequence numbers or packet sequence numbers.
ここで、MPUシーケンス番号やパケットシーケンス番号の不連続の判定方法として、例えば、下記の方法を用いることができる。 Here, the following methods can be used to determine whether the MPU sequence number or packet sequence number is discontinuous:
まず、上記判定方法の1つは、冗長系設備に切り替えることを示す付加情報をシグナリングすることが考えられる。これにより、受信装置は、付加情報に基づいてMPUシーケンス番号やパケットシーケンス番号を用いない受信処理を行うことができる。 First, one of the above-mentioned determination methods is to signal additional information indicating switching to redundant equipment. This allows the receiving device to perform reception processing without using the MPU sequence number or packet sequence number based on the additional information.
付加情報をシグナリングする方法としては、制御メッセージや記述子、テーブル、MPUメタデータ、MFメタデータ、MMTPパケットヘッダ、MMTPパケットの拡張ヘッダなどに当該付加情報を格納して伝送する方法がある。 Methods for signaling additional information include storing and transmitting the additional information in control messages, descriptors, tables, MPU metadata, MF metadata, MMTP packet headers, and MMTP packet extension headers.
次に、受信装置において、他の情報を用いて不連続を検出する方法について説明する。 Next, we explain how the receiving device can detect discontinuities using other information.
例えば、MPU境界を示す情報として、MMTPペイロードヘッダにおけるMPUシーケンス番号の切り替わりを検出する方法と、MMTPパケットヘッダにおいてランダムアクセスポイントであるか否かを示すフラグであるRAP_flagを用いる方法とがある。他にも、Sample_numberが0となるパケットの切り替わりや、フラグメントタイプの切り替わりなどでもMPU境界を検出することが可能である。また、アクセスユニットの数を数えてMPU境界を検出することもできる。 For example, there is a method of detecting a change in the MPU sequence number in the MMTP payload header as information indicating an MPU boundary, and a method of using the RAP_flag, which is a flag in the MMTP packet header that indicates whether or not it is a random access point. In addition, it is also possible to detect an MPU boundary by a change in a packet where the Sample_number becomes 0, or a change in fragment type. It is also possible to detect an MPU boundary by counting the number of access units.
ここで、冗長系設備の切り替えが実施される可能性がある場合には、MPUシーケンス番号の切り替わりを用いたMPU境界を判定せず、その他の方法を用いてMPU境界を判定する。例えば、RAP_flagが1であるパケットは、MPUにおける先頭のパケットと判定する。ここで、MPU境界の後のパケットのMPUシーケンス番号が前のパケットのMPUシーケンス番号と変わらない場合、MMTPパケットにおいてMPUシーケンス番号の重複が生じたと判定する。 Here, if there is a possibility that switching of redundant equipment will be performed, the MPU boundary is not determined using the switching of the MPU sequence number, but the MPU boundary is determined using another method. For example, a packet with RAP_flag set to 1 is determined to be the first packet in the MPU. Here, if the MPU sequence number of the packet after the MPU boundary is the same as the MPU sequence number of the previous packet, it is determined that an MPU sequence number duplication has occurred in the MMTP packet.
或いは、RAP_flagが1であるパケットは、MPUにおける先頭のパケットと判定する。ここで、先頭のパケットと判定されたパケットのMPUシーケンス番号がその前のパケットのMPUシーケンス番号からスキップ或いは戻った場合、MMTPパケットにおいてMPUシーケンス番号の不連続が生じたと判定する。 Alternatively, a packet with RAP_flag set to 1 is determined to be the first packet in the MPU. Here, if the MPU sequence number of the packet determined to be the first packet skips or goes back from the MPU sequence number of the previous packet, it is determined that a discontinuity in the MPU sequence numbers has occurred in the MMTP packet.
なお、MMTPペイロードヘッダにおけるMPUシーケンス番号の不連続が、MPUタイムスタンプ記述子やMPU拡張タイムスタンプ記述子におけるMPUシーケンス番号やパケットシーケンス番号の不連続より必ず前に生じる場合は、当該判定結果に基づいて、タイムスタンプを用いない受信処理やパケットシーケンス番号を用いない処理を実施してもよい。 In addition, if a discontinuity in the MPU sequence number in the MMTP payload header always occurs before a discontinuity in the MPU sequence number or packet sequence number in the MPU timestamp descriptor or MPU extended timestamp descriptor, reception processing that does not use a timestamp or processing that does not use a packet sequence number may be performed based on the result of the determination.
また、映像パケットのMMTPペイロードヘッダにおけるMPUシーケンス番号の不連続が、音声パケットのMMTPペイロードヘッダにおけるMPUシーケンス番号の不連続や、音声のMPUタイムスタンプ記述子やMPU拡張タイムスタンプ記述子におけるMPUシーケンス番号やパケットシーケンス番号の不連続より、必ず前に生じる場合には、映像パケットのMPUシーケンス番号の不連続の検出結果に基づいて、音声のタイムスタンプを用いない受信処理やパケットシーケンス番号を用いない処理を実施してもよい。当該判定結果を、冗長系設備への切り替えが開始するタイミングと判定してもよい。 In addition, if a discontinuity in the MPU sequence number in the MMTP payload header of a video packet always occurs before a discontinuity in the MPU sequence number in the MMTP payload header of an audio packet, or a discontinuity in the MPU sequence number or packet sequence number in the audio MPU timestamp descriptor or MPU extended timestamp descriptor, a receiving process that does not use an audio timestamp or a process that does not use a packet sequence number may be performed based on the detection result of the discontinuity in the MPU sequence number of the video packet. The result of this determination may be determined as the timing to start switching to the redundant equipment.
なお、受信装置は、冗長系設備に切り替えることを示す付加情報をシグナリングする方法を用いて、冗長系設備に切り替えることを示す付加情報が示される場合のみ、MPUシーケンス番号やパケットシーケンス番号を用いない処理をしてもよい。 The receiving device may use a method of signaling additional information indicating switching to redundant equipment, and perform processing without using the MPU sequence number or packet sequence number only when additional information indicating switching to redundant equipment is indicated.
なお、受信装置は、冗長系設備に切り替えることを示す付加情報をシグナリングする方法を用いて冗長系設備に切り替えることを示す付加情報が示される場合のみ、RAP_flagなどとMPUシーケンス番号の不連続の検出処理を実施してもよい。 The receiving device may perform the process of detecting discontinuity of the RAP_flag and the MPU sequence number only when additional information indicating switching to redundant equipment is indicated using a method of signaling additional information indicating switching to redundant equipment.
ここで、受信装置におけるタイムスタンプ記述子を用いた判定について説明する。通常、MPUシーケンス番号に対するタイムスタンプが記載され、複数回伝送されることが多いが、MPUシーケンス番号が同じであるにも関わらず、タイムスタンプ値が更新された場合、受信装置は、MPUシーケンス番号が重複したと判定する。 Here, we will explain the judgment using the timestamp descriptor in the receiving device. Normally, a timestamp is written for the MPU sequence number and is often transmitted multiple times, but if the timestamp value is updated even though the MPU sequence number is the same, the receiving device will judge that the MPU sequence number has been duplicated.
また、タイムスタンプ値が1つのMPUのプレゼンテーション時間分更新されたにもかかわらず、MPUシーケンス番号が2以上更新されるなど、タイムスタンプ値とMPUシーケンス番号との関係が対応していない場合、受信装置は、MPUシーケンス番号の不連続が生じたと判定する。 In addition, if the timestamp value is updated by the presentation time of one MPU but the MPU sequence number is updated by two or more, and there is no correspondence between the timestamp value and the MPU sequence number, the receiving device determines that a discontinuity in the MPU sequence number has occurred.
なお、MPUタイムスタンプやMPU拡張タイムスタンプの更新時には、MPテーブルにおけるversionを更新しないとしてもよい。また、別途version情報を定義し、タイムスタンプ情報のversionと、タイムスタンプ情報以外の情報のversionとを分けて送信してもよい。これにより、タイムスタンプ情報以外の情報のversion頻度を低減でき、受信処理を軽減できる。 Note that when updating the MPU timestamp or MPU extended timestamp, the version in the MP table may not be updated. Also, version information may be defined separately, and the version of the timestamp information and the version of information other than the timestamp information may be sent separately. This can reduce the frequency of version updates for information other than the timestamp information, and reduce the amount of reception processing.
なお、MPUシーケンス番号の不連続が生じる場合には、MPUタイムスタンプとタイムスタンプ情報との関係が信用できない。そのため、タイムスタンプ情報が信用できない情報であることを記述子にシグナリングしてもよい。例えば、図94で説明したNTP_leap_indicatorやmpu_presentation_time_typeと同様のフィールドを用いて、MPUタイムスタンプを付与するタイミングが冗長系切り替え前後のタイミングであり、タイムスタンプが信用できないことを示してもよい。また、MPUタイムスタンプ記述子と併用して使用することを前提として、MPU拡張タイムスタンプ記述子に示してもよい。 Note that if a discontinuity occurs in the MPU sequence number, the relationship between the MPU timestamp and the timestamp information cannot be trusted. Therefore, the fact that the timestamp information is unreliable may be signaled in the descriptor. For example, a field similar to the NTP_leap_indicator and mpu_presentation_time_type described in FIG. 94 may be used to indicate that the MPU timestamp is assigned before or after the redundant system switchover, and that the timestamp is unreliable. It may also be indicated in the MPU extended timestamp descriptor, assuming that it is used in conjunction with the MPU timestamp descriptor.
以上の方法を用いて、受信装置において、MPUシーケンス番号や、パケットシーケンス番号の不連続が生じると判定することにより、MPUシーケンス番号やパケットシーケンス番号を用いない処理が可能となり、同期再生における誤動作を防ぐことが可能となる。以上のように説明したようなMPUシーケンス番号やパケットシーケンス番号の不連続が起こった場合の受信装置の動作フローについて説明する。図97は、MPUシーケンス番号やパケットシーケンス番号の不連続が起こった場合の受信装置による動作フローである。 By using the above method, the receiving device can determine that a discontinuity in the MPU sequence number or packet sequence number has occurred, making it possible to perform processing without using the MPU sequence number or packet sequence number, and preventing malfunctions during synchronous playback. The following describes the operational flow of the receiving device when a discontinuity in the MPU sequence number or packet sequence number as described above occurs. Figure 97 shows the operational flow of the receiving device when a discontinuity in the MPU sequence number or packet sequence number has occurred.
受信装置では、MMTPパケットにおけるパケットヘッダ或いはペイロードヘッダなどから、MPU境界を判定する。具体的には、RAP_flagが1となるパケットをMPU先頭のパケットであると判定することで、MPU境界を判定する。さらに、MPUシーケンス番号を判定し、前のパケットのMPUシーケンス番号から1増加しているか否かを判定する(S2801)。 The receiving device determines the MPU boundary from the packet header or payload header in the MMTP packet. Specifically, the MPU boundary is determined by determining that a packet whose RAP_flag is 1 is the first packet in the MPU. Furthermore, the MPU sequence number is determined to determine whether it has increased by 1 from the MPU sequence number of the previous packet (S2801).
RAP_flagが1であり、かつ、MPUシーケンス番号が1増加したと判定した場合(S2801でYes)は、MPUシーケンス番号の不連続は発生していないものとし、MPUシーケンス番号を用いる受信処理を実施する(S2803)。 If RAP_flag is 1 and it is determined that the MPU sequence number has increased by 1 (Yes in S2801), it is determined that no discontinuity in the MPU sequence number has occurred, and reception processing is performed using the MPU sequence number (S2803).
一方、RAP_flagが0であるか、RAP_flagが1であっても前のパケットのMPUシーケンス番号から1増加していないと判定した場合(S2801でNo)は、MPUシーケンス番号の不連続が発生しているものとし、MPUシーケンス番号を用いない受信処理を実施する(S2802)。 On the other hand, if it is determined that RAP_flag is 0, or that RAP_flag is 1 but the MPU sequence number has not increased by 1 from the previous packet (No in S2801), it is determined that a discontinuity in the MPU sequence number has occurred, and reception processing is performed without using the MPU sequence number (S2802).
(実施の形態8)
実施の形態6では、主に、MPUタイムスタンプの補正に関して説明してきたが、MPU内に含まれるAU毎のPTSまたはDTSを受信装置において補正する方法について説明する。つまり、MPU内に含まれる複数のAUのうちの先頭AUを除く複数の他のAUそれぞれのPTSまたはDTSを示すタイムスタンプを受信装置において補正する補正方法について説明する。
(Embodiment 8)
In the sixth embodiment, the correction of the MPU timestamp has been mainly described, but a method for correcting the PTS or DTS of each AU included in the MPU in a receiving device will be described. That is, a correction method for correcting the timestamps indicating the PTS or DTS of each of the other AUs excluding the first AU among the AUs included in the MPU in a receiving device will be described.
図98は、うるう秒挿入時に受信装置においてタイムスタンプを補正する補正方法について説明するための図である。図98は、図85の(a)と同じケースである。 Figure 98 is a diagram to explain the method for correcting the timestamp in the receiving device when a leap second is inserted. Figure 98 shows the same case as Figure 85 (a).
ここで、送信側のNTP時刻は、NTPサーバと同期しており、また、受信側のNTP時刻は、送信側から伝送されるNTPパケットに格納されるタイムスタンプに基づいて再生されることで、送信側のNTP時刻と同期している場合を例に説明する。この場合、送信側のNTP時刻及び受信側のNTP時刻共に、うるう秒の挿入時は+1秒の調整がなされる。 Here, we will explain an example in which the NTP time on the sending side is synchronized with the NTP server, and the NTP time on the receiving side is synchronized with the NTP time on the sending side by regenerating it based on the timestamp stored in the NTP packet transmitted from the sending side. In this case, both the NTP time on the sending side and the NTP time on the receiving side are adjusted by +1 second when a leap second is inserted.
図98におけるNTP時刻は、送信側のNTP時刻及び受信側のNTP時刻で共通であるとする。なお、以下では、伝送遅延はないものとして説明する。また、以下ではMPU内のAUのPTSの補正方法のみ説明するが、MPU内のAUのDTSについても同様の方法を用いることにより補正することができる。なお、図98では、一つのMPUに含まれるAU数は5であるとして説明するが、MPUに含まれるAU数はこれに限るものではない。 The NTP time in Figure 98 is assumed to be the same for the NTP time on the sending side and the NTP time on the receiving side. In the following, it is assumed that there is no transmission delay. In the following, only the method for correcting the PTS of the AU in the MPU is explained, but the DTS of the AU in the MPU can also be corrected using a similar method. In the following, it is assumed that one MPU contains 5 AUs, but the number of AUs contained in an MPU is not limited to this.
図85の(a)で説明した送信方法と同様に、うるう秒挿入の直前までのNTP時刻(1回目の8:59:59台まで)をA領域、うるう秒挿入以後のNTP時刻(2回目の8:59:59以降)をB領域とする。 As with the transmission method described in (a) of Figure 85, the NTP time up until just before the leap second insertion (up to the first 8:59:59 range) is area A, and the NTP time after the leap second insertion (after the second 8:59:59) is area B.
送信側(送信装置)では、以下の処理を行う。 The sending side (transmitting device) performs the following processing:
・実施の形態6において図83を用いて説明したように、MPUの提示時刻情報(第1時刻情報)であるMPUタイムスタンプを生成する。
- As explained in
・生成したMPUタイムスタンプを補正せずに、当該MPUタイムスタンプをMPUタイムスタンプ記述子に格納して受信装置に送信する。つまり、第1時刻情報は、うるう秒調整時にMPUの送信側において補正されない時刻情報である。また、MPUタイムスタンプを付与したタイミングが、A領域であるか、B領域であるかを示す識別情報を受信装置に送信する。具体的には、複数のMPUが格納されたMMTPパケットを送信する。このMMTPパケットは、制御情報として、第1時刻情報としてのMPUタイムスタンプを含むMPUタイムスタンプ記述子と、第2時刻情報としての相対情報を含むMPU拡張タイムスタンプ記述子と、識別情報とを含む。 - The generated MPU timestamp is not corrected, but is stored in an MPU timestamp descriptor and transmitted to the receiving device. In other words, the first time information is time information that is not corrected on the transmitting side of the MPU when adjusting for leap seconds. In addition, identification information indicating whether the timing at which the MPU timestamp was added is in area A or area B is transmitted to the receiving device. Specifically, an MMTP packet containing multiple MPUs is transmitted. This MMTP packet contains, as control information, an MPU timestamp descriptor containing the MPU timestamp as the first time information, an MPU extended timestamp descriptor containing relative information as the second time information, and identification information.
なお、図98では、MPUのタイムスタンプを付与したタイミングは矢印の元で示される。 In Figure 98, the timing at which the MPU timestamp was added is indicated at the base of the arrow.
受信装置では、以下の処理を行う。 The receiving device performs the following process:
実施の形態6で説明したように、MPU拡張タイムスタンプ記述子には、AU毎のPTSまたはDTSを算出するための第2時刻情報が、MPUタイムスタンプ記述子に格納されるMPUの先頭AUのPTSからの相対情報として格納されている。このとき、MPU拡張タイムスタンプ記述子に格納される相対情報は、うるう秒の挿入を考慮した値ではない。 As described in the sixth embodiment, the MPU extended time stamp descriptor stores the second time information for calculating the PTS or DTS for each AU as relative information from the PTS of the first AU of the MPU stored in the MPU time stamp descriptor. At this time, the relative information stored in the MPU extended time stamp descriptor does not take into account the insertion of leap seconds.
受信装置は、まず、送信側(送信装置)により送信された、MPUと、第1時刻情報と、第2時刻情報と、識別情報とを含むMMTPパケットを受信し、図98の「AU毎のPTS」に示すように、MPUタイムスタンプ記述子に格納されている第1時刻情報及びMPU拡張タイムスタンプ記述子に格納されている第2時刻情報の両方に基づいてMPU内に含まれるすべてのAU毎のPTS(DTS)を算出する。 The receiving device first receives an MMTP packet including an MPU, first time information, second time information, and identification information transmitted by the transmitting side (transmitting device), and calculates the PTS (DTS) for each of all AUs contained in the MPU based on both the first time information stored in the MPU timestamp descriptor and the second time information stored in the MPU extended timestamp descriptor, as shown in "PTS for each AU" in Figure 98.
次に、受信装置は、AU毎のPTSを補正する。補正対象となるAUは、AUが属するMPUのMPUタイムスタンプの付与のタイミング(図98の矢印の元が示すタイミング)がA領域であり、かつ、補正前のAU毎のPTSが9:00:00以降を示すAUである。補正対象となるAUは、図98では、下線で示されるAUであり、MPU#1におけるAU#5、及び、MPU#2におけるAU#1-AU#5である。受信装置は、PTSの補正対象のAUに該当すると判断した場合には、当該AUのPTSを-1秒補正する。
Next, the receiving device corrects the PTS for each AU. The AUs to be corrected are those in which the timing of the assignment of the MPU timestamp of the MPU to which the AU belongs (the timing indicated by the origin of the arrow in Figure 98) is in area A, and the PTS for each AU before correction is 9:00:00 or later. The AUs to be corrected are the AUs indicated by underlines in Figure 98, namely
つまり、補正では、複数のAUそれぞれについて、当該AUを格納しているMPUのMPUタイムスタンプがうるう秒調整前の基準時刻情報に基づいて生成されており、かつ、算出された当該AUのPTSまたはDTSが所定の時刻(うるう秒挿入の場合には9:00:00)以降である補正条件を満たすか否かを判定する。そして、補正では、判定において、上記の補正条件を満たすと判定されたAUのPTSまたはDTSを補正する。 In other words, the correction determines whether or not the MPU timestamp of the MPU storing each of the multiple AUs is generated based on the reference time information before the leap second adjustment, and whether or not the calculated PTS or DTS of the AU satisfies the correction condition that it is after a specific time (9:00:00 in the case of leap second insertion).Then, the correction corrects the PTS or DTS of the AU that is determined to satisfy the above correction condition.
AUが属するMPUのMPUタイムスタンプの付与のタイミングがA領域であり、かつ、PTSが補正されていないAU(図98ではMPU#1におけるAU#4までのAU)は、うるう秒挿入前(1回目の8:59:59:台以前)のNTP時刻に一致した時刻にAUを提示する。また、PTSが補正されたAU或いはそれ以降のAU(図98ではMPU#1におけるAU#5以降のAU)は、うるう秒挿入後(2回目の8:59:59台以降)のNTP時刻に一致した時刻にAUを提示する。
AUs whose MPU timestamp assignment timing of the MPU to which they belong is in the A region and whose PTS has not been corrected (AUs up to
なお、MPUタイムスタンプの付与のタイミングを示す識別情報は、少なくとも、補正対象のAUを含むMPUに対して提示する必要がある。つまり、補正対象のAUを含まないMPUに対して識別情報を提示する必要は必ずしもない。 Note that the identification information indicating the timing of the assignment of the MPU timestamp must be presented at least to the MPU that contains the AU to be corrected. In other words, it is not necessarily necessary to present the identification information to MPUs that do not contain the AU to be corrected.
図99は、うるう秒削除時に受信装置においてタイムスタンプを補正する補正方法について説明するための図である。図99は、図85の(b)と同じケースである。 Figure 99 is a diagram to explain the method for correcting the timestamp in the receiving device when leap seconds are deleted. Figure 99 shows the same case as Figure 85 (b).
送信側のNTP時刻は、NTPサーバと同期しており、また、受信側のNTP時刻は、送信側から伝送されるNTPパケットに格納されるタイムスタンプに基づいて再生されることで、送信側のNTP時刻と同期している場合を例に説明する。この場合、送信側のNTP時刻及び受信側のNTP時刻共に、うるう秒の削除時は-1秒の調整がなされる。 The sending side's NTP time is synchronized with the NTP server, and the receiving side's NTP time is regenerated based on the timestamp stored in the NTP packet transmitted from the sending side, so we will explain the case where it is synchronized with the sending side's NTP time. In this case, both the sending side's NTP time and the receiving side's NTP time are adjusted by -1 second when a leap second is deleted.
図99におけるNTP時刻は、送信側のNTP時刻及び受信側のNTP時刻で共通であるとする。なお、以下では、伝送遅延はないものとして説明する。また、以下ではMPU内のAUのPTSの補正方法のみ説明するが、MPU内のすべてのAUのDTSについても同様の方法を用いることにより補正することができる。なお、図99では、一つのMPUに含まれるAU数は5であるとして説明するが、MPUに含まれるAU数はこれに限るものではない。 The NTP time in Figure 99 is assumed to be the same for the NTP time on the sending side and the NTP time on the receiving side. In the following, it is assumed that there is no transmission delay. In the following, only the method for correcting the PTS of the AU in the MPU is explained, but the DTS of all AUs in the MPU can also be corrected using a similar method. In the following, it is assumed that one MPU contains 5 AUs, but the number of AUs contained in an MPU is not limited to this.
図85で説明した送信方法と同様に、うるう秒削除の直前までのNTP時刻(8:59:58台まで)をC領域、うるう秒削除以後のNTP時刻(9:00:00以降)をD領域とする。 As with the transmission method described in Figure 85, the NTP time up to just before the leap second deletion (up to 8:59:58) is region C, and the NTP time after the leap second deletion (after 9:00:00) is region D.
送信側(送信装置)では、以下の処理を行う。 The sending side (transmitting device) performs the following processing:
・実施の形態6において図83を用いて説明したように、MPUの提示時刻情報(第1時刻情報)であるMPUタイムスタンプを生成する。
- As explained in
・生成したMPUタイムスタンプを補正せずに、当該MPUタイムスタンプをMPUタイムスタンプ記述子に格納して受信装置に送信する。つまり、第1時刻情報は、うるう秒調整時にMPUの送信側において補正されない時刻情報である。また、MPUタイムスタンプを付与したタイミングが、C領域であるか、D領域であるかを示す識別情報を受信装置に送信する。具体的には、複数のMPUが格納されたMMTPパケットを送信する。MMTPパケットは、図98で説明したMMTPパケットと同様の構成である。 - The generated MPU timestamp is not corrected, but is stored in an MPU timestamp descriptor and transmitted to the receiving device. In other words, the first time information is time information that is not corrected on the MPU transmitting side during leap second adjustment. In addition, identification information indicating whether the timing at which the MPU timestamp was added is in area C or area D is transmitted to the receiving device. Specifically, an MMTP packet containing multiple MPUs is transmitted. The MMTP packet has the same structure as the MMTP packet described in FIG. 98.
なお、図99では、MPUのタイムスタンプを付与したタイミングは矢印の元で示される。 In Figure 99, the timing at which the MPU timestamp was added is indicated at the base of the arrow.
受信装置では、以下の処理を行う。 The receiving device performs the following process:
実施の形態6で説明したように、MPU拡張タイムスタンプ記述子には、AU毎のPTSまたはDTSを算出するための第2時刻情報が、MPUタイムスタンプ記述子に格納されるMPUの先頭AUのPTSからの相対情報として格納されている。このとき、MPU拡張タイムスタンプ記述子に格納される相対情報は、うるう秒の挿入を考慮した値ではない。 As described in the sixth embodiment, the MPU extended time stamp descriptor stores the second time information for calculating the PTS or DTS for each AU as relative information from the PTS of the first AU of the MPU stored in the MPU time stamp descriptor. At this time, the relative information stored in the MPU extended time stamp descriptor does not take into account the insertion of leap seconds.
受信装置は、まず、送信側(送信装置)により送信された、MPUと、第1時刻情報と、第2時刻情報と、識別情報とを含むMMTPパケットを受信し、図99の「AU毎のPTS」に示すように、MPUタイムスタンプ記述子に格納されている第1時刻情報及びMPU拡張タイムスタンプ記述子に格納されている第2時刻情報の両方に基づいてMPU内に含まれるすべてのAU毎のPTS(DTS)を算出する。 The receiving device first receives an MMTP packet including an MPU, first time information, second time information, and identification information transmitted by the transmitting side (transmitting device), and calculates the PTS (DTS) for each of all AUs contained in the MPU based on both the first time information stored in the MPU timestamp descriptor and the second time information stored in the MPU extended timestamp descriptor, as shown in "PTS for each AU" in Figure 99.
次に、受信装置は、AU毎のPTSを補正する。補正対象となるAUは、AUが属するMPUのMPUタイムスタンプの付与のタイミング(図99の矢印の元が示すタイミング)がC領域であり、かつ、補正前のAU毎のPTSが8:59:59以降を示すAUである。補正対象となるAUは、図99では、下線で示されるAUであり、MPU#2におけるAU#5、及び、MPU#3におけるAU#1-AU#5である。受信装置は、PTSの補正対象のAUに該当すると判断した場合には、当該AUのPTSを+1秒補正する。
Next, the receiving device corrects the PTS for each AU. The AUs to be corrected are those for which the timing of the assignment of the MPU timestamp of the MPU to which the AU belongs (the timing indicated by the origin of the arrow in Figure 99) is in area C, and for which the PTS for each AU before correction is 8:59:59 or later. The AUs to be corrected are the AUs indicated by the underlines in Figure 99, namely
つまり、補正では、複数のAUそれぞれについて、当該AUを格納しているMPUのMPUタイムスタンプがうるう秒調整前の基準時刻情報に基づいて生成されており、かつ、算出された当該AUのPTSまたはDTSが所定の時刻(うるう秒削除の場合には8:59:59)以降である補正条件を満たすか否かを判定する。そして、補正では、判定において、上記の補正条件を満たすと判定されたAUのPTSまたはDTSを補正する。 In other words, the correction determines whether or not the MPU timestamp of the MPU storing each of the multiple AUs is generated based on the reference time information before the leap second adjustment, and whether or not the calculated PTS or DTS of the AU satisfies the correction condition that it is after a specific time (8:59:59 in the case of leap second deletion).Then, the correction corrects the PTS or DTS of the AU that is determined to satisfy the above correction condition.
受信装置では、うるう秒削除を実施したNTP時刻、及び、補正したPTSに基づいて、すべてのAUの同期再生を実施できる。 The receiving device can perform synchronized playback of all AUs based on the NTP time after leap second deletion and the corrected PTS.
なお、MPUタイムスタンプの付与のタイミングを示す識別情報は、少なくとも、補正対象のAUを含むMPUに対して提示する必要がある。つまり、補正対象のAUを含まないMPUに対して識別情報を提示する必要は必ずしもない。 Note that the identification information indicating the timing of the assignment of the MPU timestamp must be presented at least to the MPU that contains the AU to be corrected. In other words, it is not necessarily necessary to present the identification information to MPUs that do not contain the AU to be corrected.
図100は、図98及び図99で説明した受信装置の動作フローを示す図である。 Figure 100 shows the operation flow of the receiving device described in Figures 98 and 99.
なお、送信側の動作フローは、図88に示す動作フローと同じであるため説明を省略する。 Note that the operational flow on the sending side is the same as that shown in Figure 88, so a detailed explanation is omitted.
受信装置では、まず、MPUタイムスタンプ記述子、及び、MPU拡張タイムスタンプ記述子を用いて、すべてのAU毎のタイムスタンプ(PTS及びDTS)を算出する(S2901)。 First, the receiving device calculates timestamps (PTS and DTS) for each AU using the MPU timestamp descriptor and the MPU extended timestamp descriptor (S2901).
次に、送信側によりシグナリングされた識別情報に基づいて、AU毎に、当該AUの属するMPUのMPUタイムスタンプの付与のタイミングがA領域であるか、B領域であるか、C領域であるか、D領域であるかを判定する(S2902)。ここで、A領域~D領域は、上記で定義したものと同じであるため説明を省略する。なお、図89と同様に、うるう秒の挿入や削除が行われない場合については、図示しない。 Next, based on the identification information signaled by the transmitting side, it is determined for each AU whether the timing of the MPU timestamp assignment for the MPU to which the AU belongs is area A, area B, area C, or area D (S2902). Here, areas A to D are the same as those defined above, so their explanation is omitted. Note that, as with Figure 89, the case where leap seconds are not inserted or deleted is not shown.
ステップS2902において、AUの属するMPUのMPUタイムスタンプがA領域のNTP時刻に基づいて付与されたものと判定された場合、ステップS2901において算出されたAUのタイムスタンプが9:00:0:以降か否かを判定する(S2903)。 If it is determined in step S2902 that the MPU timestamp of the MPU to which the AU belongs was assigned based on the NTP time of area A, it is determined whether the AU timestamp calculated in step S2901 is 9:00:0: or later (S2903).
AUのタイムスタンプが9:00:00以降であると判定された場合(ステップS2903でYes)、AUのタイムスタンプ値を-1秒補正する(S2904)。 If it is determined that the AU timestamp is 9:00:00 or later (Yes in step S2903), the AU timestamp value is corrected by -1 second (S2904).
ステップS2902においてAUの属するMPUのMPUタイムスタンプがC領域のNTP時刻に基づいて付与されたものと判定された場合、ステップS2901において算出されたAUのタイムスタンプが8:59:59以降か否かを判定する(S2905)。 If it is determined in step S2902 that the MPU timestamp of the MPU to which the AU belongs was assigned based on the NTP time of the C area, it is determined whether the AU timestamp calculated in step S2901 is after 8:59:59 (S2905).
AUのタイムスタンプが8:59:59以降であると判定された場合(ステップS2905でYes)、AUのタイムスタンプ値を+1秒補正する(S2906)。 If it is determined that the AU timestamp is 8:59:59 or later (Yes in step S2905), the AU timestamp value is corrected by +1 second (S2906).
一方、ステップS2902においてAUの属するMPUのMPUタイムスタンプがB領域もしくはD領域のNTP時刻に基づいて付与されたものと判定された場合、または、ステップS2903においてAUのタイムスタンプ値が90000以降でないと判定された場合(ステップS2903でNo)、または、ステップS2905においてAUのタイムスタンプ値が8:59:59以降でないと判定された場合(ステップS2905でNo)、AUのタイムスタンプを補正せず(ステップS2907)、受信装置の動作を終了する。 On the other hand, if it is determined in step S2902 that the MPU timestamp of the MPU to which the AU belongs was assigned based on the NTP time of area B or area D, or if it is determined in step S2903 that the AU timestamp value is not 90000 or later (No in step S2903), or if it is determined in step S2905 that the AU timestamp value is not 8:59:59 or later (No in step S2905), the AU timestamp is not corrected (step S2907) and the operation of the receiving device is terminated.
以上のように、MPUタイムスタンプ記述子及びMPU拡張タイムスタンプ記述子に代表されるように、MPUのタイムスタンプの絶対値を示す第1時刻情報と、当該絶対値に対する相対値を示す第2時刻情報とがそれぞれ伝送される場合、送信側は、タイムスタンプの絶対値と共に、タイムスタンプの絶対値が付与される基となるNTP時刻の領域を示す識別情報を伝送する。 As described above, when first time information indicating the absolute value of the MPU timestamp and second time information indicating a relative value to the absolute value are transmitted, as represented by the MPU timestamp descriptor and the MPU extended timestamp descriptor, the transmitting side transmits, together with the absolute value of the timestamp, identification information indicating the NTP time domain to which the absolute value of the timestamp is assigned.
受信装置では、MPUのタイムスタンプの絶対値を示す第1時刻情報及び相対値を示す第2時刻情報に基づきすべてのAUのタイムスタンプ(PTSおよびDTS)を算出した後に、それぞれのタイムスタンプ、及び、タイムスタンプの基となるMPUタイムスタンプの絶対値が付与される基となるNTP時刻の領域を示す識別情報に基づき、タイムスタンプを補正するか否かを判定することで、タイムスタンプを補正する。 The receiving device calculates the timestamps (PTS and DTS) of all AUs based on the first time information indicating the absolute value of the MPU timestamp and the second time information indicating the relative value, and then corrects the timestamps by determining whether or not to correct the timestamps based on each timestamp and the identification information indicating the NTP time region to which the absolute value of the MPU timestamp that is the basis of the timestamps is assigned.
受信装置において各AUについてタイムスタンプを補正したか否かを示す情報や、各AUが属するMPUのMPUタイムスタンプを付与したタイミングがA領域であるか、B領域であるか、C領域であるか、D領域であるかを示す情報などの付加情報は、全てのMPUで示す必要はなく、最低限補正対象のAUを含むMPUを含む区間において示せばよい。 Additional information such as information indicating whether the timestamp for each AU was corrected in the receiving device and information indicating whether the timing of the MPU timestamp of the MPU to which each AU belongs was assigned in area A, area B, area C, or area D does not need to be indicated for all MPUs, but only needs to be indicated in the section that includes the MPU that contains the AU to be corrected.
例えば、任意のAUにおけるタイムスタンプ(PTSまたはDTS)、及び当該AUが属するMPUのMPUタイムスタンプを付与する基となるNTP時刻との時間差をN秒とした場合、うるう秒挿入時、または、うるう秒削除時に、補正対象のAUが存在する期間は、うるう秒調整前の少なくともN秒間である。そのため、うるう秒挿入時のA領域、または、うるう秒削除時におけるC領域は、少なくともうるう秒調整前のN秒間以上の期間を示す領域である必要がある。 For example, if the time difference between the timestamp (PTS or DTS) in any AU and the NTP time that is the basis for assigning the MPU timestamp of the MPU to which that AU belongs is N seconds, then when a leap second is inserted or deleted, the period in which the AU to be corrected exists is at least N seconds before the leap second adjustment. Therefore, area A when a leap second is inserted, or area C when a leap second is deleted, must be an area that indicates a period of at least N seconds before the leap second adjustment.
逆に、うるう秒挿入時におけるA領域、うるう秒削除時におけるC領域を示す時間をM秒と規定し、必ずN<Mとなるようにタイムスタンプを付与するよう制約を与えてもよい。 Conversely, the time indicating area A when a leap second is inserted and area C when a leap second is deleted can be defined as M seconds, and a constraint can be imposed so that the timestamp is always assigned such that N<M.
また、うるう秒挿入時におけるB領域、または、うるう秒削除時におけるD領域は、必ずしもシグナリングする必要はなく、うるう秒挿入時においてはA領域からB領域へ移行したことを示す情報を、うるう秒削除時においてはC領域からD領域へ移行したことを示す情報を最低限示せばよい。 In addition, it is not necessary to signal the B region when a leap second is inserted, or the D region when a leap second is deleted. It is sufficient to at least indicate information indicating a transition from the A region to the B region when a leap second is inserted, and information indicating a transition from the C region to the D region when a leap second is deleted.
要するに、受信装置は、まず、第1時刻情報(絶対的な時刻情報)及び第2時刻情報(相対的な時刻情報)に基づいて、すべてのアクセスユニットのタイムスタンプを算出し、すべてのアクセスユニットのそれぞれについて、当該アクセスユニットが属するMPUのMPUタイムスタンプの算出の基となるNTP時刻がうるう秒調整前であるか否かを示す識別情報に基づき、当該アクセスユニットのタイムスタンプを補正する。具体的には、識別情報がうるう秒挿入の直前までの時刻を示す場合、かつ、当該アクセスユニットのタイムスタンプが9:00:00以降を示す場合は、タイムスタンプを-1秒補正する。また、識別情報がうるう秒削除の直前までの時刻を示す場合、かつ、アクセスユニットのタイムスタンプが8:59:59以降を示す場合は、タイムスタンプを+1秒補正する。また、受信装置は、タイムスタンプが補正されているアクセスユニットの場合には、うるう秒調整が実施された後の基準時刻情報に基づいて当該アクセスユニットを提示する。 In short, the receiving device first calculates the timestamps of all access units based on the first time information (absolute time information) and the second time information (relative time information), and for each access unit, corrects the timestamp of that access unit based on the identification information indicating whether the NTP time on which the MPU timestamp of the MPU to which the access unit belongs is calculated is before the leap second adjustment. Specifically, if the identification information indicates the time immediately before the leap second insertion and the timestamp of the access unit indicates 9:00:00 or later, the timestamp is corrected by -1 second. Also, if the identification information indicates the time immediately before the leap second deletion and the timestamp of the access unit indicates 8:59:59 or later, the timestamp is corrected by +1 second. Also, in the case of an access unit whose timestamp has been corrected, the receiving device presents that access unit based on the reference time information after the leap second adjustment has been implemented.
このように、うるう秒調整時に、アクセスユニットが属するMPUのMPUタイムスタンプの付与のタイミングを判定することにより、すべてのアクセスユニットのタイムスタンプの補正が可能となり、MPUタイムスタンプ記述子やMPU拡張タイムスタンプ記述子を用いた適切な受信処理が可能となる。つまり、送信側及び受信装置の基準クロックの基準となる基準時刻情報に対してうるう秒調整が行なわれる場合であっても、MPUに格納されている複数のアクセスユニットを意図された時刻に再生できる。 In this way, by determining the timing of adding the MPU timestamp of the MPU to which the access unit belongs when making a leap second adjustment, it becomes possible to correct the timestamps of all access units, enabling appropriate reception processing using the MPU timestamp descriptor and MPU extended timestamp descriptor. In other words, even if a leap second adjustment is made to the reference time information that serves as the basis for the reference clocks of the transmitting and receiving devices, multiple access units stored in the MPU can be played back at the intended time.
[補足:送受信システム及び受信装置]
以上のように、符号化ストリームを構成するデータをMPUに格納して送信する送信装置と、送信されたMPUを受信する受信装置とを備える送受信システムは、図101のように構成することも可能である。また、当該受信装置は、図102のように構成することも可能である。図101は、送受信システムの具体的構成の例を示す図である。図102は、受信装置の具体的構成の例を示す図である。
[Additional Notes: Transmitting/receiving system and receiving device]
As described above, a transmission/reception system including a transmission device that stores data constituting an encoded stream in an MPU and transmits the stored data, and a reception device that receives the transmitted MPU, can be configured as shown in Fig. 101. The reception device can also be configured as shown in Fig. 102. Fig. 101 is a diagram showing an example of a specific configuration of the transmission/reception system. Fig. 102 is a diagram showing an example of a specific configuration of the reception device.
送受信システム1100は、送信装置1200と、受信装置1300とを備える。
The transmission/
送信装置1200は、生成部1201と、送信部1202とを備える。生成部1201及び送信部1202のそれぞれは、例えば、マイクロコンピュータ、プロセッサ、または、専用回路などによって実現される。
The
生成部1201は、外部から受信した基準時刻情報(NTP時刻)に基づいて、第1のデータユニット(MPU)の提示時刻を示す第1時刻情報(MPUタイムスタンプ)を生成する。
The
送信部1202は、第1のデータユニット(MPU)と、生成部1201により生成された第1時刻情報(MPUタイムスタンプ)と、第1時刻情報(MPUタイムスタンプ)とで複数の第2のデータユニット(AU)それぞれの提示時刻(PTS)または復号時刻(DTS)を示す第2時刻情報(相対情報)と、識別情報とを送信する。
The
受信装置1300は、受信部1301と、算出部1302と、補正部1303とを備える。受信部1301、算出部1302及び算出部1303のそれぞれは、例えば、マイクロコンピュータ、プロセッサ、または、専用回路などによって実現される。
The
受信装置1300の各構成要素についての詳細な説明は、受信方法の説明において行う。
A detailed explanation of each component of the
受信方法については、図103を用いて説明する。図103は、受信装置による動作フロー(受信方法)である。 The receiving method will be explained using FIG. 103. FIG. 103 shows the operation flow (receiving method) of the receiving device.
まず、受信装置1300の受信部1301は、第1のデータユニット(MPU)と、第1時刻情報(MPUタイムスタンプ)と、第2時刻情報(相対情報)と、識別情報とを受信する(S3001)。
First, the receiving
次に、受信装置1300の算出部1302は、受信部1301により受信された第1時刻情報(MPUタイムスタンプ)と第2時刻情報(相対情報)とを用いて、受信部1302により受信された複数の第2のデータユニット(AU)それぞれの提示時刻(PTS)または復号時刻(DTS)を産出する(S3002)。
Next, the
次に、受信装置1300の補正部1303は、受信部1301により受信された識別情報に基づいて、算出部1302により算出された複数の第2のデータユニット(AU)それぞれの提示時刻(PTS)または復号時刻(DTS)を補正する(S3003)。
Next, the
これにより、受信装置1300は、うるう秒調整が行われた場合であっても、第1のデータユニットに格納されている複数の第2のデータユニットを正常に再生できる。
This allows the
なお、実施の形態8において、再生とは、復号及び提示の少なくとも一方の処理を含む処理を示す。 In the eighth embodiment, playback refers to a process that includes at least one of the processes of decoding and presenting.
(実施の形態9)
実施の形態8では、MPU内に含まれるAU毎のPTSまたはDTSを受信装置において補正する方法について説明したが、実施の形態9では、当該PTSまたはDTSを送信装置においても補正する方法について説明する。つまり、MPU内に含まれる複数のAUのうちの先頭AUを除く複数の他のAUそれぞれのPTSまたはDTSを示すタイムスタンプを送信装置においても補正する補正方法について説明する。
(Embodiment 9)
In the eighth embodiment, a method for correcting the PTS or DTS for each AU included in an MPU in a receiving device is described, but in the ninth embodiment, a method for correcting the PTS or DTS in a transmitting device is described. That is, a correction method for correcting the timestamps indicating the PTS or DTS of each of the other AUs excluding the first AU among the multiple AUs included in an MPU in a transmitting device is described.
図104は、うるう秒挿入時に送信側(送信装置)においてタイムスタンプを補正する補正方法について説明するための図である。図104は、図84の(a)と同じケースである。 Figure 104 is a diagram to explain the method of correcting the timestamp on the sending side (sending device) when a leap second is inserted. Figure 104 shows the same case as Figure 84 (a).
ここで、送信側のNTP時刻は、NTPサーバと同期しており、また、受信側のNTP時刻は、送信側から伝送されるNTPパケットに格納されるタイムスタンプに基づいて再生されることで、送信側のNTP時刻と同期している場合を例に説明する。この場合、送信側のNTP時刻及び受信側のNTP時刻共に、うるう秒の挿入時は+1秒の調整がなされる。 Here, we will explain an example in which the NTP time on the sending side is synchronized with the NTP server, and the NTP time on the receiving side is synchronized with the NTP time on the sending side by regenerating it based on the timestamp stored in the NTP packet transmitted from the sending side. In this case, both the NTP time on the sending side and the NTP time on the receiving side are adjusted by +1 second when a leap second is inserted.
図104におけるNTP時刻は、送信側のNTP時刻及び受信側のNTP時刻で共通であるとする。なお、以下では、伝送遅延はないものとして説明する。また、以下ではMPU内のAUのPTSの補正方法のみ説明するが、MPU内のAUのDTSについても同様の方法を用いることにより補正することができる。なお、図104では、一つのMPUに含まれるAU数は5であるとして説明するが、MPUに含まれるAU数はこれに限るものではない。 The NTP time in Figure 104 is assumed to be the same for the NTP time on the sending side and the NTP time on the receiving side. In the following, it is assumed that there is no transmission delay. In the following, only the method for correcting the PTS of the AU in the MPU is explained, but the DTS of the AU in the MPU can also be corrected using a similar method. In the following, it is assumed that one MPU contains 5 AUs, but the number of AUs contained in an MPU is not limited to this.
送信側(送信装置)では、以下の処理を行う。 The sending side (transmitting device) performs the following processing:
1.実施の形態6において図83を用いて説明したように、MPUの提示時刻情報(第1時刻情報)であるMPUタイムスタンプを生成する生成処理を行う。
1. As described in
2.MPUタイムスタンプの付与のタイミング(図104の矢印の元が示すタイミング)がA領域に含まれ、かつ、MPUタイムスタンプ(補正前のMPUタイムスタンプ値)が9:00:00以降を示す場合は、MPUタイムスタンプ値を-1秒補正して、補正後のMPUタイムスタンプをMPUタイムスタンプ記述子に格納する補正処理を行う。つまり、A領域に含まれるNTP時刻に基づいて生成されたMPUタイムスタンプであり、かつ、当該MPUタイムスタンプが9:00:00以降を示す場合は、当該MPUタイムスタンプを-1秒補正する。なお、ここでの「9:00:00」とはうるう秒調整が行われる基準となる時刻を日本時間に対応させた時刻(つまり、UTC時刻に9時間を加算することにより算出される時刻)である。 2. If the timing of the MPU timestamp assignment (the timing indicated by the origin of the arrow in Figure 104) is included in area A and the MPU timestamp (the MPU timestamp value before correction) indicates 9:00:00 or later, a correction process is performed in which the MPU timestamp value is corrected by -1 second and the corrected MPU timestamp is stored in the MPU timestamp descriptor. In other words, if the MPU timestamp was generated based on the NTP time included in area A and indicates 9:00:00 or later, the MPU timestamp is corrected by -1 second. Note that "9:00:00" here refers to the time that corresponds to Japan time as the reference time for leap second adjustment (in other words, the time calculated by adding 9 hours to UTC time).
また、MPUタイムスタンプを付与するタイミング(図104の矢印の元が示すタイミング)がB領域の場合、MPUタイムスタンプを補正しない。つまり、B領域に含まれるNTP時刻に基づいて生成されたMPUタイムスタンプである場合は、当該MPUタイムスタンプを補正しない。 In addition, if the timing at which the MPU timestamp is assigned (the timing indicated by the origin of the arrow in Figure 104) is in area B, the MPU timestamp is not corrected. In other words, if the MPU timestamp is generated based on the NTP time included in area B, the MPU timestamp is not corrected.
なお、MPU拡張タイムスタンプ記述子には、AU毎のPTSまたはDTSを算出するための第2時刻情報が、MPUタイムスタンプ記述子に格納されるMPUの先頭AUのPTSからの相対情報として格納されている。このとき、MPU拡張タイムスタンプ記述子に格納される相対情報は、うるう秒の挿入を考慮した値ではない。 The MPU extended time stamp descriptor stores the second time information for calculating the PTS or DTS for each AU as relative information from the PTS of the first AU of the MPU stored in the MPU time stamp descriptor. At this time, the relative information stored in the MPU extended time stamp descriptor does not take into account the insertion of leap seconds.
したがって、上記1の生成処理では、第1時刻情報としてのMPUタイムスタンプが補正条件を満たす場合に、MPUタイムスタンプを補正する。このため、第1時刻情報は、うるう秒調整時に補正の対象となる時刻情報である。そして、補正条件とは、MPUタイムスタンプが、うるう秒調整前のNTP時刻に基づいて生成されており、かつ、9:00:00以降であることである。 Therefore, in the generation process of 1 above, if the MPU timestamp as the first time information satisfies the correction condition, the MPU timestamp is corrected. Therefore, the first time information is the time information that is subject to correction when adjusting for leap seconds. The correction condition is that the MPU timestamp is generated based on the NTP time before the leap second adjustment and is after 9:00:00.
3.複数のMPUが格納されたMMTPパケットを受信装置に送信する送信処理を行う。MMTPパケットは、制御情報として、第1時刻情報としてのMPUタイムスタンプを含むMPUタイムスタンプ記述子と、第2時刻情報としての相対情報を含むMPU拡張タイムスタンプ記述子と、識別情報とを含む。 3. A transmission process is performed to transmit an MMTP packet containing multiple MPUs to a receiving device. The MMTP packet includes, as control information, an MPU timestamp descriptor including an MPU timestamp as the first time information, an MPU extended timestamp descriptor including relative information as the second time information, and identification information.
ここで識別情報は、MPUタイムスタンプが、上記1の生成処理におけるMPUタイムスタンプの補正条件に該当せず、送信側でMPUタイムスタンプを補正しない場合において、当該MPUタイムスタンプ及び相対情報を用いてMPU内のAU毎のPTSまたはDTSを受信装置が算出する際に、当該PTSまたは当該DTSに対してうるう秒挿入による補正が必要となるAUを含むMPUを受信装置が識別するための情報である。 The identification information here is information that allows a receiving device to identify an MPU that includes an AU that requires correction by inserting leap seconds to the PTS or DTS when the receiving device calculates the PTS or DTS for each AU in the MPU using the MPU timestamp and relative information in the case where the MPU timestamp does not meet the correction conditions for the MPU timestamp in the generation process described above in 1 and the MPU timestamp is not corrected on the transmitting side.
つまり、識別情報は、基準時刻情報に対してうるう秒調整が行われることにより、補正が必要となったPTSで提示される、または、補正が必要となったDTSで提示されるAUであって、先頭AU以外の他のAU(以下、「補正要AU」と言う。)がMPUに含まれる可能性があることを示す情報である。なお、識別情報は、言い換えると、補正要AUがMPUに含まれるか否かの判断を受信装置に行わせるか否かを示す情報とも言える。 In other words, the identification information is information that indicates that an AU other than the first AU (hereinafter referred to as an "AU requiring correction") may be included in the MPU, which is an AU presented in a PTS that requires correction due to a leap second adjustment being made to the reference time information, or an AU presented in a DTS that requires correction. In other words, the identification information can also be said to be information that indicates whether or not the receiving device is to determine whether or not an AU requiring correction is included in the MPU.
識別情報は、例えば、MPUタイムスタンプが、上記1の生成処理においてうるう秒調整前のNTP時刻に基づいて生成され、かつ、上記2の補正処理において補正されていない情報であるか否かを示す情報である。つまり、識別情報は、MPUタイムスタンプがうるう秒調整前のNTP時刻に基づいて生成されたか否かを示す第1識別情報と、MPUタイムスタンプを補正したことを示す第2識別情報とを含む。 The identification information is, for example, information indicating whether the MPU timestamp is information that was generated based on the NTP time before the leap second adjustment in the generation process described above in 1 and has not been corrected in the correction process described above in 2. In other words, the identification information includes first identification information indicating whether the MPU timestamp was generated based on the NTP time before the leap second adjustment, and second identification information indicating that the MPU timestamp has been corrected.
このように、識別情報は、MPUタイムスタンプが、生成処理においてうるう秒調整前のNTP時刻に基づいて生成され、かつ、補正処理において補正されていない情報であることを示す場合、補正要AUがMPUに含まれる可能性があることを示す。反対に、識別情報は、MPUタイムスタンプが、生成処理においてうるう秒調整前のNTP時刻に基づいて生成されていない、または、補正処理において補正されている情報であることを示す場合、補正要AUがMPUに含まれる可能性がない(つまり、補正要AUがMPUに含まれるか否かの判断を受信装置に行わせない)ことを示す。 In this way, when the identification information indicates that the MPU timestamp is information that was generated based on the NTP time before the leap second adjustment in the generation process and has not been corrected in the correction process, it indicates that an AU that needs correction may be included in the MPU. Conversely, when the identification information indicates that the MPU timestamp is information that was not generated based on the NTP time before the leap second adjustment in the generation process or has been corrected in the correction process, it indicates that an AU that needs correction is not likely to be included in the MPU (i.e., the receiving device is not allowed to determine whether or not an AU that needs correction is included in the MPU).
送信側(送信装置)の処理について図104を用いて具体的に説明する。 The processing on the sending side (sending device) is explained in detail using Figure 104.
図104で示した例では、上記2の補正処理における補正条件に該当するのはMPU#2であり、下線で示すように、送信側でMPU#2のMPUタイムスタンプを-1秒補正し、それ以外のMPUのMPUタイムスタンプは補正しない。以上のように算出したMPUタイムスタンプをMPUタイムスタンプ記述子に示し、一方、図示しないMPU拡張タイムスタンプ記述子には、従来どおり、当該MPUにおけるAU毎のPTS(DTS)をMPUタイムスタンプからの相対情報により示す。
In the example shown in Figure 104,
また、図104におけるMPU#1は、補正要AUを含むMPUである。ここで、図104に、MPUタイムスタンプ記述子及びMPU拡張タイムスタンプ記述子に基づいて算出したAU毎のPTSを示す。MPU#1におけるAU#5のPTSは、9:00:00.1と算出されるものの、実際にはうるう秒挿入後の2回目の8:59:59台に提示すべきAUであり、-1秒の補正が必要である。つまり、MPU#1におけるAU#5は、補正要AUである。
Also,
以上のように、送信装置においては、MPUタイムスタンプの付与のタイミング(図104の矢印の元が示すタイミング)がA領域であり、かつ、補正条件を満たさない(つまり、補正前のMPUタイムスタンプが所定の時刻としての9:00:00より前であり、かつ、補正前のMPUタイムスタンプ及び相対情報を用いて算出されるMPU内のすべてのAUのPTS(DTS)のうち、少なくとも1つ以上の値が9:00:00以降となる)条件に該当するMPUを、補正要AUを含むMPUであると判定でき、補正要AUを含むMPUであることを示す情報を送信装置から受信装置にシグナリングする。当該MPUは、言い換えれば、MPUタイムスタンプを補正しない場合において、MPU内に1回目の8:59:59台に提示すべきAU、及び、2回目の8:59:59台に提示すべきAUの両方が存在するMPUということもできる。 As described above, in the transmitting device, an MPU that satisfies the conditions that the timing of the assignment of the MPU timestamp (the timing indicated by the origin of the arrow in FIG. 104) is in the A region and does not satisfy the correction condition (i.e., the MPU timestamp before correction is before 9:00:00 as a specified time, and at least one of the PTS (DTS) values of all AUs in the MPU calculated using the MPU timestamp before correction and relative information is after 9:00:00) can be determined to be an MPU that contains an AU that needs correction, and information indicating that the MPU contains an AU that needs correction is signaled from the transmitting device to the receiving device. In other words, the MPU can be said to be an MPU that contains both an AU that should be presented at 8:59:59 for the first time and an AU that should be presented at 8:59:59 for the second time when the MPU timestamp is not corrected.
受信装置では、以下の処理を行う。 The receiving device performs the following process:
1.送信側(送信装置)により送信されたMMTPパケットを受信する受信処理を行う。 1. Performs reception processing to receive MMTP packets sent by the sender (transmitter).
2.MMTPパケットの制御情報に含まれるMPUタイムスタンプ記述子及びMPU拡張タイムスタンプ記述子に基づいて、すべてのAUのPTS(DTS)を算出する算出処理を行う。 2. A calculation process is performed to calculate the PTS (DTS) of all AUs based on the MPU timestamp descriptor and MPU extended timestamp descriptor contained in the control information of the MMTP packet.
3.送信側(送信装置)によりシグナリングされた、補正要AUを含む可能性があるMPUであるか否かを示す識別情報に基づき、補正要AUを含む可能性があることが識別情報により示されているMPUについて、補正要AUが含まれるか否かを判断する判断処理を行う。具体的には、当該MPUに含まれるすべてのAUのPTS(DTS)が9:00:00以降であるか否かを判断し、PTS(DTS)が9:00:00以降であるAUを補正要AUであると判断することで、MPUに補正要AUが含まれるか否かを判断する。そして、補正要AUのPTS(DTS)に対して、-1秒補正を実施する。 3. Based on the identification information signaled by the transmitting side (transmitting device) indicating whether an MPU may contain an AU that requires correction, a determination process is performed to determine whether an MPU that is indicated by the identification information to be likely to contain an AU that requires correction contains an AU that requires correction. Specifically, it is determined whether the PTS (DTS) of all AUs contained in the MPU is 9:00:00 or later, and an AU with a PTS (DTS) of 9:00:00 or later is determined to be an AU that requires correction, thereby determining whether the MPU contains an AU that requires correction. Then, a -1 second correction is performed on the PTS (DTS) of the AU that requires correction.
受信装置の処理について図104を用いて具体的に説明する。 The processing of the receiving device is explained in detail using Figure 104.
図104においては、MPU#1が補正要AUを含む可能性があるMPUであると送信側からシグナリングされるため、MPU#1においてタイムスタンプ記述子に基づいて算出されるPTSが9:00:00以降を示すAU#5が補正の対象となり、-1秒補正を実施する。これにより、補正後において、MPU#1におけるAU#5のPTSは、8:59:59.1となる。
In FIG. 104, the transmitting side signals that
なお、補正要AUを含む可能性がないMPUであると送信側からシグナリングされる場合、受信装置において、上記の判断処理を行わない。このため、当該MPUに格納されている複数のAUについては、MPUタイムスタンプ記述子及びMPU拡張タイムスタンプ記述子に基づいて算出される当該複数のAUのPTS(DTS)を補正しない。以上のようにすることで、すべてのAUのPTS(DTS)を算出できる。 Note that if the transmitting side signals that an MPU is unlikely to contain an AU that requires correction, the receiving device does not perform the above-mentioned judgment process. Therefore, for the multiple AUs stored in the MPU, the PTS (DTS) of the multiple AUs calculated based on the MPU timestamp descriptor and the MPU extended timestamp descriptor are not corrected. By doing the above, the PTS (DTS) of all AUs can be calculated.
なお、受信装置は、送信側においてMPUタイムスタンプが補正されたか否か、または、受信装置においてPTS(DTS)を補正したか否かを示す情報に基づき、送信装置及び受信装置のいずれかで補正されたタイムスタンプを用いて提示または復号を行う場合は、必ずうるう秒挿入が実施された後(2回目の8:59:59台以降)のNTP時刻に基づいて提示または復号を行う。一方で、補正される前のタイムスタンプを用いて提示または復号を行う場合は、うるう秒挿入が実施される前(1回目の8:59:59台以前)のNTP時刻に基づいて、提示または復号を行う。図104の例では、MPU#1におけるAU#4までのAUを、うるう秒挿入が実施される前(1回目の8:59:59台以前)のNTP時刻に基づいて提示し、MPU#1におけるAU#5以降のAUはうるう秒挿入が実施された後(2回目の8:59:59台以降)のNTP時刻に基づいて提示する。
When the receiving device presents or decodes using a timestamp corrected by either the transmitting device or the receiving device based on information indicating whether the MPU timestamp was corrected on the transmitting side or whether the PTS (DTS) was corrected on the receiving device, the receiving device always presents or decodes based on the NTP time after the leap second insertion (after the second 8:59:59 time). On the other hand, when presenting or decoding using a timestamp before correction, the receiving device presents or decodes based on the NTP time before the leap second insertion (before the first 8:59:59 time). In the example of FIG. 104, the AUs up to
なお、本実施の形態では、送信側において、MPU拡張タイムスタンプ記述子には、従来どおりうるう秒挿入を考慮せず、MPUタイムスタンプからの相対値を格納すると説明したが、うるう秒挿入による補正も考慮し、MPU#1におけるAU#5のタイムスタンプを-1秒補正した後の相対値を格納してもよい。このとき、当該AUが補正されており、うるう秒挿入後(2回目の8:59:59秒以降)のNTP時刻に基づいて提示または復号するAUであることを別途シグナリングする。
In this embodiment, it has been explained that on the transmitting side, the MPU extended timestamp descriptor stores a relative value from the MPU timestamp without taking leap second insertion into account as in the past. However, it is also possible to take into account the correction due to leap second insertion and store a relative value after correcting the timestamp of
受信装置は、MPUタイムスタンプ記述子及びMPU拡張タイムスタンプ記述子に基づきすべてのAUのPTSまたはDTSを算出する。このとき、相対値がすでに補正されているため、受信装置でAUのタイムスタンプを補正する必要はなく、MPUタイムスタンプが補正されたか否かを示す情報、及び、MPU内のAUのPTSまたはDTSが補正されたか否かを示す情報に基づき、すべてのAUを提示または復号できる。 The receiving device calculates the PTS or DTS of all AUs based on the MPU timestamp descriptor and the MPU extended timestamp descriptor. At this time, since the relative values have already been corrected, there is no need for the receiving device to correct the timestamps of the AUs, and all AUs can be presented or decoded based on information indicating whether the MPU timestamp has been corrected and information indicating whether the PTS or DTS of the AUs in the MPU has been corrected.
図105は、うるう秒削除時に送信側(送信装置)においてタイムスタンプを補正する補正方法について説明するための図である。図105は、図84の(b)と同じケースである。 Figure 105 is a diagram to explain the method of correcting the timestamp on the sending side (sending device) when leap seconds are deleted. Figure 105 shows the same case as Figure 84 (b).
ここで、送信側のNTP時刻は、NTPサーバと同期しており、また、受信側のNTP時刻は、送信側から伝送されるNTPパケットに格納されるタイムスタンプに基づいて再生されることで、送信側のNTP時刻と同期している場合を例に説明する。この場合、送信側のNTP時刻及び受信側のNTP時刻共に、うるう秒の挿入時は-1秒の調整がなされる。 Here, we will explain an example in which the sending side's NTP time is synchronized with the NTP server, and the receiving side's NTP time is synchronized with the sending side's NTP time by regenerating it based on the timestamp stored in the NTP packet transmitted from the sending side. In this case, both the sending side's NTP time and the receiving side's NTP time are adjusted by -1 second when a leap second is inserted.
図105におけるNTP時刻は、送信側のNTP時刻及び受信側のNTP時刻で共通であるとする。なお、以下では、伝送遅延はないものとして説明する。また、以下ではMPU内のAUのPTSの補正方法のみ説明するが、MPU内のAUのDTSについても同様の方法を用いることにより補正することができる。なお、図104では、一つのMPUに含まれるAU数は5であるとして説明するが、MPUに含まれるAU数はこれに限るものではない。 The NTP time in Figure 105 is assumed to be the same for the NTP time on the sending side and the NTP time on the receiving side. In the following, it is assumed that there is no transmission delay. In the following, only the method for correcting the PTS of the AU in the MPU is explained, but the DTS of the AU in the MPU can also be corrected using a similar method. In the explanation of Figure 104, it is assumed that one MPU contains 5 AUs, but the number of AUs contained in an MPU is not limited to this.
送信側(送信装置)では、以下の処理を行う。 The sending side (transmitting device) performs the following processing:
1.実施の形態6において図83を用いて説明したように、MPUの提示時刻情報(第1時刻情報)であるMPUタイムスタンプを生成する生成処理を行う。
1. As described in
2.MPUタイムスタンプの付与のタイミング(図105の矢印の元が示すタイミング)がC領域に含まれ、かつ、MPUタイムスタンプ(補正前のMPUタイムスタンプ値)が8:59:59以降を示す場合は、MPUタイムスタンプ値を+1秒補正して、補正後のMPUタイムスタンプをMPUタイムスタンプ記述子に格納する補正処理を行う。つまり、C領域に含まれるNTP時刻に基づいて生成されたMPUタイムスタンプであり、かつ、当該MPUタイムスタンプが8:59:59以降を示す場合は、当該MPUタイムスタンプを+1秒補正する。なお、ここでの「8:59:59」とはうるう秒調整が行われる基準となる時刻を日本時間に対応させた時刻(つまり、UTC時刻に9時間を加算することにより算出される時刻)から-1秒減算することで得られた時刻である。 2. If the timing of the MPU timestamp assignment (the timing indicated by the origin of the arrow in Figure 105) is included in the C area and the MPU timestamp (the MPU timestamp value before correction) indicates 8:59:59 or later, a correction process is performed in which the MPU timestamp value is corrected by +1 second and the corrected MPU timestamp is stored in the MPU timestamp descriptor. In other words, if the MPU timestamp was generated based on the NTP time included in the C area and indicates 8:59:59 or later, the MPU timestamp is corrected by +1 second. Note that "8:59:59" here is the time obtained by subtracting -1 second from the time that corresponds the reference time for leap second adjustment to Japan time (in other words, the time calculated by adding 9 hours to UTC time).
また、MPUタイムスタンプを付与するタイミング(図105の矢印の元が示すタイミング)がD領域の場合、MPUタイムスタンプを補正しない。つまり、D領域に含まれるNTP時刻に基づいて生成されたMPUタイムスタンプである場合は、当該MPUタイムスタンプを補正しない。 In addition, if the timing at which the MPU timestamp is assigned (the timing indicated by the origin of the arrow in Figure 105) is in area D, the MPU timestamp is not corrected. In other words, if the MPU timestamp is generated based on the NTP time included in area D, the MPU timestamp is not corrected.
なお、MPU拡張タイムスタンプ記述子には、AU毎のPTSまたはDTSを算出するための第2時刻情報が、MPUタイムスタンプ記述子に格納されるMPUの先頭AUのPTSからの相対情報として格納されている。このとき、MPU拡張タイムスタンプ記述子に格納される相対情報は、うるう秒の削除を考慮した値ではない。 In addition, the MPU extended time stamp descriptor stores the second time information for calculating the PTS or DTS for each AU as relative information from the PTS of the first AU of the MPU stored in the MPU time stamp descriptor. At this time, the relative information stored in the MPU extended time stamp descriptor does not take into account the deletion of leap seconds.
したがって、上記1の生成処理では、第1時刻情報としてのMPUタイムスタンプが補正条件を満たす場合に、MPUタイムスタンプを補正する。このため、第1時刻情報は、うるう秒調整時に補正の対象となる時刻情報である。そして、補正条件とは、MPUタイムスタンプが、うるう秒調整前のNTP時刻に基づいて生成されており、かつ、8:59:59以降であることである。 Therefore, in the generation process of 1 above, if the MPU timestamp as the first time information satisfies the correction condition, the MPU timestamp is corrected. Therefore, the first time information is the time information that is subject to correction when adjusting for leap seconds. The correction condition is that the MPU timestamp is generated based on the NTP time before the leap second adjustment and is 8:59:59 or later.
3.複数のMPUが格納されたMMTPパケットを受信装置に送信する送信処理を行う。MMTPパケットは、制御情報として、第1時刻情報としてのMPUタイムスタンプを含むMPUタイムスタンプ記述子と、第2時刻情報としての相対情報を含むMPU拡張タイムスタンプ記述子と、識別情報とを含む。 3. A transmission process is performed to transmit an MMTP packet containing multiple MPUs to a receiving device. The MMTP packet includes, as control information, an MPU timestamp descriptor including an MPU timestamp as the first time information, an MPU extended timestamp descriptor including relative information as the second time information, and identification information.
ここで識別情報は、MPUタイムスタンプが、上記1の生成処理におけるMPUタイムスタンプの補正条件に該当せず、送信側でMPUタイムスタンプを補正しない場合において、当該MPUタイムスタンプ及び相対情報を用いてMPU内のAU毎のPTSまたはDTSを受信装置が算出する際に、当該PTSまたは当該DTSに対してうるう秒削除による補正が必要となるAUを含むMPUを受信装置が識別するための情報である。 The identification information here is information that allows a receiving device to identify an MPU that includes an AU that requires correction by removing leap seconds for the PTS or DTS when the receiving device calculates the PTS or DTS for each AU in the MPU using the MPU timestamp and relative information in a case where the MPU timestamp does not meet the correction conditions for the MPU timestamp in the generation process described above in 1 and the MPU timestamp is not corrected on the transmitting side.
ここで、識別情報は、うるう秒挿入で説明した識別情報と同様であるため、説明を省略する。 The identification information here is the same as the identification information explained in leap second insertion, so we will not explain it here.
送信側(送信装置)の処理について図105を用いて具体的に説明する。 The processing on the sending side (sending device) is explained in detail using Figure 105.
図105で示した例では、上記2の補正処理におけるMPUタイムスタンプを補正する条件に該当するのはMPU#3であり、下線で示すように、送信側でMPU#3のMPUタイムスタンプを+1秒補正し、それ以外のMPUのMPUタイムスタンプは補正しない。以上のように算出したMPUタイムスタンプをMPUタイムスタンプ記述子に示し、一方、図示しないMPU拡張タイムスタンプ記述子には、従来どおり、当該MPUにおけるAU毎のPTS(DTS)をMPUタイムスタンプからの相対情報で示す。
In the example shown in Figure 105,
また、図105におけるMPU#2は、補正要AUを含むMPUである。
Also,
ここで、105に、MPUタイムスタンプ記述子及びMPU拡張タイムスタンプ記述子に基づいて算出したAU毎のPTSを示す。MPU#2におけるAU#5のPTSは、8:59:59.1と算出されるものの、実際にはうるう秒削除後の9:00:00台に提示すべきAUであり、+1秒の補正が必要である。つまり、MPU#2におけるAU#5は、補正要AUである。
Here, 105 shows the PTS for each AU calculated based on the MPU timestamp descriptor and the MPU extended timestamp descriptor. Although the PTS for
以上のように、送信装置においては、MPUタイムスタンプの付与のタイミング(図105の矢印の元が示すタイミング)がC領域であり、かつ、補正条件を満たさない(つまり、補正前のMPUタイムスタンプが所定の時刻としての8:59:59より前であり、かつ、補正前のMPUタイムスタンプ及び相対情報を用いて算出されるMPU内のすべてのAUのPTS(DTS)のうち、少なくとも1つ以上の値が8:59:59以降となる)条件に該当するMPUを、補正要AUを含むMPUであると判定でき、補正要AUを含むMPUであることを示す情報を送信装置から受信装置にシグナリングする。当該MPUは、言い換えれば、MPUタイムスタンプを補正しない場合において、MPU内にうるう秒削除前の8:59:58台に提示すべきAU、及び、うるう秒削除後の9:00:00台に提示すべきAUの両方が存在するMPUということもできる。 As described above, in the transmitting device, an MPU that satisfies the conditions that the timing of the assignment of the MPU timestamp (the timing indicated by the origin of the arrow in FIG. 105) is in the C region and does not satisfy the correction condition (i.e., the MPU timestamp before correction is before the specified time of 8:59:59, and at least one of the PTS (DTS) values of all AUs in the MPU calculated using the MPU timestamp before correction and relative information is after 8:59:59) can be determined to be an MPU that contains an AU that needs correction, and information indicating that the MPU contains an AU that needs correction is signaled from the transmitting device to the receiving device. In other words, the MPU in question can be said to be an MPU that contains both an AU that should be presented around 8:59:58 before the leap second deletion and an AU that should be presented around 9:00:00 after the leap second deletion when the MPU timestamp is not corrected.
受信装置では、以下の処理を行う。 The receiving device performs the following process:
1.送信側(送信装置)により送信されたMMTPパケットを受信する受信処理を行う。 1. Performs reception processing to receive MMTP packets sent by the sender (transmitter).
2.MMTPパケットの制御情報に含まれるMPUタイムスタンプ記述子及びMPU拡張タイムスタンプ記述子に基づいて、すべてのAUのPTS(DTS)を算出する算出処理を行う。 2. A calculation process is performed to calculate the PTS (DTS) of all AUs based on the MPU timestamp descriptor and MPU extended timestamp descriptor contained in the control information of the MMTP packet.
3.送信側(送信装置)によりシグナリングされた、補正要AUを含む可能性があるMPUであるか否かを示す識別情報に基づき、補正要AUを含む可能性があることが識別情報により示されているMPUについて、補正要AUが含まれるか否かを判断する判断処理を行う。具体的には、当該MPUに含まれるすべてのAUのPTS(DTS)が8:59:59以降であるか否かを判断し、PTS(DTS)が8:59:59以降であるAUを補正要AUであると判断することで、MPUに補正要AUが含まれるか否かを判断する。そして、補正要AUのPTS(DTS)に対して、+1秒補正を実施する。 3. Based on the identification information signaled by the transmitting side (transmitting device) indicating whether an MPU may contain an AU that requires correction, a determination process is performed to determine whether an MPU that is indicated by the identification information to possibly contain an AU that requires correction contains an AU that requires correction. Specifically, it is determined whether the PTS (DTS) of all AUs contained in the MPU is 8:59:59 or later, and an AU with a PTS (DTS) of 8:59:59 or later is determined to be an AU that requires correction, thereby determining whether the MPU contains an AU that requires correction. Then, a +1 second correction is performed on the PTS (DTS) of the AU that requires correction.
図105においては、MPU#2が補正要AUを含む可能性があるMPUであると送信側からシグナリングされるため、MPU#2においてタイムスタンプ記述子に基づいて算出されるPTSが8:59:59以降を示すAU#5が補正の対象となり、+1秒補正を実施する。これにより、補正後において、MPU#2におけるAU#5のPTSは、9:00:00.1となる。
In FIG. 105, the transmitting side signals that
なお、補正要AUを含む可能性がないMPUであると送信側からシグナリングされる場合、受信装置において、上記の判断処理を行わない。このため、当該MPUに格納されている複数のAUについては、MPUタイムスタンプ記述子及びMPU拡張タイムスタンプ記述子に基づいて算出される当該複数のAUのPTS(DTS)を補正しない。以上のようにすることで、すべてのAUのPTS(DTS)を算出できる。 Note that if the transmitting side signals that an MPU is unlikely to contain an AU that requires correction, the receiving device does not perform the above-mentioned judgment process. Therefore, for the multiple AUs stored in the MPU, the PTS (DTS) of the multiple AUs calculated based on the MPU timestamp descriptor and the MPU extended timestamp descriptor are not corrected. By doing the above, the PTS (DTS) of all AUs can be calculated.
なお、受信装置は、補正されたPTS(DTS)を用いてAUを提示または復号できる。 The receiving device can present or decode the AU using the corrected PTS (DTS).
なお、本実施の形態では、送信側において、MPU拡張タイムスタンプ記述子には、従来どおりうるう秒削除を考慮せず、MPUタイムスタンプからの相対値を格納すると説明したが、うるう秒削除による補正も考慮し、MPU#1におけるAU#5のタイムスタンプを+1秒補正した後の相対値を格納してもよい。
In this embodiment, it has been explained that on the transmitting side, the MPU extended timestamp descriptor stores a relative value from the MPU timestamp without taking leap second deletion into account as in the past, but it is also possible to take into account the correction due to leap second deletion and store a relative value after correcting the timestamp of
受信装置は、MPUタイムスタンプ記述子及びMPU拡張タイムスタンプ記述子に基づきすべてのAUのPTSまたはDTSを算出する。このとき、相対値がすでに補正されているため、受信装置でAUのタイムスタンプを補正する必要はなく、すべてのAUを提示または復号できる。 The receiving device calculates the PTS or DTS of all AUs based on the MPU timestamp descriptor and the MPU extended timestamp descriptor. At this time, since the relative values have already been corrected, the receiving device does not need to correct the AU timestamps, and all AUs can be presented or decoded.
なお、これまで説明した、うるう秒挿入またはうるう秒削除における補正方法の中で、送信側(送信装置)は、どの補正方法を用いるかを選択できてもよい。送信側(送信装置)が補正方法を選択する場合には、送信側がどの方法を用いて補正したかを、受信装置にシグナリングする。受信装置はシグナリングされた情報に基づいて、受信装置における補正或いは、提示動作または復号動作を切り替えることができる。 The transmitting side (transmitting device) may be able to select which correction method to use from among the correction methods for leap second insertion or leap second deletion described above. When the transmitting side (transmitting device) selects a correction method, it signals the receiving device which method it used for correction. Based on the signaled information, the receiving device can switch the correction in the receiving device or the presentation operation or decoding operation.
図106は、図104で説明した送信装置の動作フローを示す図である。図107は、図104で説明した受信装置の動作フローを示す図である。 Figure 106 is a diagram showing the operation flow of the transmitting device described in Figure 104. Figure 107 is a diagram showing the operation flow of the receiving device described in Figure 104.
図106において、送信装置は、MPUのタイムスタンプの付与のタイミングがA領域であるか、B領域であるかを判定する(S3101)。ここで、A領域およびB領域は、上記で定義したものと同じであるため説明を省略する。なお、図89と同様に、うるう秒の挿入が行われない場合については、図示しない。 In FIG. 106, the transmitting device determines whether the timing of the MPU's timestamp assignment is in area A or area B (S3101). Here, area A and area B are the same as those defined above, so the explanation is omitted. Note that, as with FIG. 89, the case where leap seconds are not inserted is not shown.
ステップS3101においてB領域であると判定された場合、MPUタイムスタンプを補正せず(S3102)、処理を終了する。 If it is determined in step S3101 that it is area B, the MPU timestamp is not corrected (S3102) and the process ends.
一方、ステップS3101においてA領域であると判定された場合、当該MPUタイムスタンプが9:00:00秒以降であるか否かを判定する(S3103)。 On the other hand, if it is determined in step S3101 that the area is A, it is determined whether the MPU timestamp is after 9:00:00 seconds (S3103).
MPUタイムスタンプが9:00:00以降であると判定された場合(ステップS3103でYes)、MPUタイムスタンプを-1秒補正し、MPUタイムスタンプを補正したことを受信装置へシグナリングし(S3104)、処理を終了する。 If it is determined that the MPU timestamp is 9:00:00 or later (Yes in step S3103), the MPU timestamp is corrected by -1 second, the receiving device is signaled that the MPU timestamp has been corrected (S3104), and the processing ends.
一方、MPUタイムスタンプが9:00:00以降でないと判定された場合(ステップS3103でNo)、MPUタイムスタンプ記述子、及び、MPU拡張タイムスタプ記述子を用いてMPU内に含まれるすべてのAUのタイムスタンプ(PTS及びDTS)を算出する(S3105)。 On the other hand, if it is determined that the MPU timestamp is not after 9:00:00 (No in step S3103), the timestamps (PTS and DTS) of all AUs contained in the MPU are calculated using the MPU timestamp descriptor and the MPU extended timestamp descriptor (S3105).
次に、算出されたタイムスタンプが9:00:00以降であるAUがMPUに含まれるか否かを判定する(S3106)。 Next, it is determined whether the MPU includes an AU whose calculated timestamp is after 9:00:00 (S3106).
算出されたタイムスタンプが9:00:00以降であるAUが含まれると判定された場合(S3106でYes)、受信装置でMPU内のAUのタイムスタンプの補正が必要であることを受信装置にシグナリングする(S3107)。 If it is determined that the calculated timestamp includes an AU that is after 9:00:00 (Yes in S3106), the receiving device signals that the timestamp of the AU in the MPU needs to be corrected (S3107).
一方、算出されたタイムスタンプが9:00:00以降であるAUがMPUに含まれないと判定された場合(S3106でNo)、処理を終了する。 On the other hand, if it is determined that the MPU does not include an AU whose calculated timestamp is after 9:00:00 (No in S3106), the processing is terminated.
図107において、受信装置は、MPUタイムスタンプ記述子及びMPU拡張タイムスタンプ記述子を用いてすべてのAUのタイムスタンプを算出する(S3201)。 In FIG. 107, the receiving device calculates timestamps for all AUs using the MPU timestamp descriptor and the MPU extended timestamp descriptor (S3201).
次に、シグナリングされた識別情報に基づいて、MPU内のAUのタイムスタンプの補正が必要か否かを判定する(S3202)。 Next, based on the signaled identification information, it is determined whether or not the timestamp of the AU in the MPU needs to be corrected (S3202).
MPU内のAUのタイムスタンプの補正が必要であると判定された場合(ステップS3202でYes)、タイムスタンプが9:00:00以降を示すAUのタイムスタンプを-1秒補正する(S3205)。 If it is determined that the timestamp of an AU in the MPU needs to be corrected (Yes in step S3202), the timestamp of the AU indicating a timestamp after 9:00:00 is corrected by -1 second (S3205).
一方、MPU内のAUのタイムスタンプの補正が必要ないと判定された場合(ステップS3202でNo)、シグナリングされた識別情報に基づいて、MPUタイムスタンプが補正されているか否かを判定する(S3203)。 On the other hand, if it is determined that the timestamp of the AU in the MPU does not need to be corrected (No in step S3202), it is determined whether the MPU timestamp has been corrected based on the signaled identification information (S3203).
MPUタイムスタンプが補正されていないと判定された場合(ステップS3203でNo)、補正されるタイムスタンプ以前のタイムスタンプについてはうるう秒挿入以前のNTP時刻に基づいてAUを提示し、補正されるタイムスタンプ以降のタイムスタンプについてはうるう秒挿入以降のNTP時刻に基づいてAUを提示する(S3204)。 If it is determined that the MPU timestamp has not been corrected (No in step S3203), for timestamps before the timestamp to be corrected, the AU is presented based on the NTP time before the leap second insertion, and for timestamps after the timestamp to be corrected, the AU is presented based on the NTP time after the leap second insertion (S3204).
ステップS3205の後、または、ステップS3203においてタイムスタンプが補正されたと判定された場合(ステップS3203でYes)、うるう秒挿入が実施された後のNTP時刻に基づいてAUを提示する(S3206)。 After step S3205, or if it is determined in step S3203 that the timestamp has been corrected (Yes in step S3203), the AU is presented based on the NTP time after the leap second insertion has been performed (S3206).
図108は、図105で説明した送信装置の動作フローを示す図である。図109は、図105で説明した受信装置の動作フローをに示す図である。 Figure 108 shows the operation flow of the transmitting device described in Figure 105. Figure 109 shows the operation flow of the receiving device described in Figure 105.
図108において、送信装置は、MPUのタイムスタンプの付与のタイミングがC領域であるか、D領域であるかを判定する(S3301)。ここで、C領域およびD領域は、上記で定義したものと同じであるため説明を省略する。なお、図89と同様に、うるう秒の削除が行われない場合については、図示しない。 In FIG. 108, the transmitting device determines whether the timing of the MPU's timestamp assignment is in region C or region D (S3301). Here, region C and region D are the same as those defined above, so the explanation is omitted. Note that, as with FIG. 89, the case where leap seconds are not deleted is not shown.
ステップS3301において、D領域であると判定された場合、MPUタイムスタンプを補正せず(S3302)、処理を終了する。 If it is determined in step S3301 that the area is D, the MPU timestamp is not corrected (S3302) and the process ends.
一方、ステップS3301においてC領域であると判定された場合、当該MPUタイムスタンプが8:59:59以降であるか否かを判定する(S3303)。 On the other hand, if it is determined in step S3301 that the area is C, it is determined whether the MPU timestamp is after 8:59:59 (S3303).
MPUタイムスタンプが8:59:59以降であると判定された場合(ステップS3303でYes)、MPUタイムスタンプを+1秒補正し(S3304)、処理を終了する。 If it is determined that the MPU timestamp is 8:59:59 or later (Yes in step S3303), the MPU timestamp is corrected by +1 second (S3304) and the process ends.
一方、MPUタイムスタンプが8:59:59以降でないと判定された場合(ステップS3303でNo)、MPUタイムスタンプ記述子、及び、MPU拡張タイムスタプ記述子を用いてMPU内に含まれるすべてのAUのタイムスタンプ(PTS及びDTS)を算出する(S3305)。 On the other hand, if it is determined that the MPU timestamp is not 8:59:59 or later (No in step S3303), the timestamps (PTS and DTS) of all AUs contained in the MPU are calculated using the MPU timestamp descriptor and the MPU extended timestamp descriptor (S3305).
次に、算出されたタイムスタンプが8:59:59以降であるAUが含まれるか否かを判定する(S3306)。 Next, it is determined whether the calculated timestamp includes an AU after 8:59:59 (S3306).
算出されたタイムスタンプが8:59:59以降であるがAUが含まれると判定された場合(S3306でYes)、受信装置でMPU内のAUのタイムスタンプの補正が必要であることを受信装置にシグナリングする(S3307)。 If the calculated timestamp is after 8:59:59 but is determined to include an AU (Yes in S3306), the receiving device signals that the timestamp of the AU in the MPU needs to be corrected (S3307).
一方、算出されたタイムスタンプが8:59:59以降であるAUがMPUに含まれないと判定された場合(S3306でNo)、処理を終了する。 On the other hand, if it is determined that the MPU does not include an AU whose calculated timestamp is after 8:59:59 (No in S3306), the process ends.
図109において、受信装置は、MPUタイムスタンプ記述子及びMPU拡張タイムスタンプ記述子を用いてすべてのAUのタイムスタンプを算出する(S3401)。 In FIG. 109, the receiving device calculates timestamps for all AUs using the MPU timestamp descriptor and the MPU extended timestamp descriptor (S3401).
次に、シグナリングされた識別情報に基づいて、MPU内のAUのタイムスタンプの補正が必要か否かを判定する(S3402)。 Next, based on the signaled identification information, it is determined whether or not the timestamp of the AU in the MPU needs to be corrected (S3402).
MPU内のAUのタイムスタンプの補正が必要であると判定された場合(ステップS3402でYes)、タイムスタンプが8:59:59以降を示すAUのタイムスタンプを+1秒補正する(S3403)。 If it is determined that the timestamp of an AU in the MPU needs to be corrected (Yes in step S3402), the timestamp of the AU whose timestamp indicates 8:59:59 or later is corrected by +1 second (S3403).
ステップS3403の後、または、ステップS3402においてMPU内のAUのタイムスタンプの補正が必要ないと判定された場合(ステップS3402でNo)、NTP時刻に基づいてAUを提示する。 After step S3403, or if it is determined in step S3402 that correction of the timestamp of the AU in the MPU is not necessary (No in step S3402), the AU is presented based on the NTP time.
これによれば、(i)MPUと、(ii)MPUタイムスタンプと、(iii)補正が必要な提示時刻で提示される、または、補正が必要な復号時刻で復号される第2のデータユニットであって、複数の第2のデータユニットのうちの提示順で先頭の第2のデータユニット以外の他の第2のデータユニットが第1のデータユニットに含まれる可能性があることを示す識別情報とを送信する。このため、送信側及び受信装置の基準クロックの基準となる基準時刻情報に対してうるう秒調整が行なわれる場合であっても、受信装置は、第1のデータユニットに格納されている複数の第2のデータユニットを意図された時刻に再生できる。 According to this, (i) an MPU, (ii) an MPU timestamp, and (iii) identification information indicating that a second data unit is presented at a presentation time that requires correction or is decoded at a decode time that requires correction, and that a second data unit other than the first second data unit in the presentation order among the multiple second data units may be included in the first data unit, are transmitted. Therefore, even if leap second adjustment is performed on the reference time information that is the basis for the reference clocks of the transmitting side and receiving device, the receiving device can play back the multiple second data units stored in the first data unit at the intended time.
[補足:送信装置及び受信装置]
以上のように、符号化ストリームを構成するデータをMPUに格納して送信する送信装置は、図110のように構成することも可能である。また、符号化ストリームを構成するデータが格納されたMPUを受信する受信装置は、図111のように構成することも可能である。図110は、送信装置の具体的構成の例を示す図である。図111は、受信装置の具体的構成の例を示す図である。
[Supplementary Note: Transmitting Device and Receiving Device]
As described above, a transmitting device that stores data constituting an encoded stream in an MPU and transmits the stored data may be configured as shown in Fig. 110. Also, a receiving device that receives an MPU in which data constituting an encoded stream is stored may be configured as shown in Fig. 111. Fig. 110 is a diagram showing an example of a specific configuration of a transmitting device. Fig. 111 is a diagram showing an example of a specific configuration of a receiving device.
送信装置1400は、生成部1401と、送信部1402とを備える。生成部1401及び送信部1402のそれぞれは、例えば、マイクロコンピュータ、プロセッサ、または、専用回路などによって実現される。
The
受信装置1500は、受信部1501と、判断部1502とを備える。受信部1501及び判断部1502のそれぞれは、例えば、マイクロコンピュータ、プロセッサ、または、専用回路などによって実現される。
The
送信装置1400及び受信装置1500の各構成要素についての詳細な説明は、それぞれ、送信方法及び受信方法の説明において行う。
Detailed explanations of each component of the
まず、送信方法については、図112を用いて説明する。図112は、送信装置による動作フロー(送信方法)である。 First, the transmission method will be described with reference to FIG. 112. FIG. 112 shows the operation flow (transmission method) of the transmitting device.
まず、送信装置1400の生成部1401は、外部から受信した基準時刻情報に基づいて、第1のデータユニットとしてのMPU]の提示時刻を示す第1時刻情報を生成する(S3501)。
First, the
次に、送信装置1400の送信部1402は、第1のデータユニット(MPU)と、第1時刻情報(MPUタイムスタンプ)と、識別情報とを送信する(S3502)。ここで、第1時刻情報(MPUタイムスタンプ)は、生成部1401により生成された情報である。また、識別情報は、補正が必要な提示時刻(PTS)で提示される、または、補正が必要な復号時刻(DTS)で復号される第2のデータユニット(アクセスユニット)であって、複数の第2のデータユニット(アクセスユニット)のうちの提示順で先頭の第2のデータユニット(アクセスユニット)以外の他の第2のデータユニット(アクセスユニット)が第1のデータユニット(MPU)に含まれる可能性があることを示す情報である。
Next, the
これにより、送信装置1400から送信された情報を受信した受信装置は、うるう秒調整が行われた場合であっても、識別情報に基づいてMPU内のAUを再生できるので、MPU内のAUを意図された時刻に再生できる。
As a result, the receiving device that receives the information transmitted from the
次に受信方法について図113を用いて説明する。図113は、受信装置による動作フロー(受信方法)である。 Next, the receiving method will be explained using FIG. 113. FIG. 113 shows the operation flow (receiving method) of the receiving device.
まず、受信装置1500の受信部1501は、第1のデータユニット(MPU)と、第1時刻情報(MPUタイムスタンプ)と、識別情報とを受信する(S3601)。第1時刻情報及び識別情報は、送信装置1400で説明した第1時刻情報及び識別情報と同様である。
First, the receiving
次に、受信装置1500の判断部1502は、他の第2のデータユニット(アクセスユニット)が含まれる可能性があることを、受信部1501により受信された識別情報が示している第1のデータユニット(MPU)に対して、他の第2のデータユニット(アクセスユニット)が含まれるか否かを判断する(S3602)。
Next, the
これにより、受信装置1500は、うるう秒調整が行われた場合であっても、MPU内のAUを意図された時刻に再生できる。
This allows the
(その他の実施の形態)
以上、実施の形態に係る送信装置、受信装置、送信方法及び受信方法ついて説明したが、本発明は、この実施の形態に限定されるものではない。
Other Embodiments
Although the transmitting device, receiving device, transmitting method and receiving method according to the embodiment have been described above, the present invention is not limited to these embodiments.
また、上記実施の形態に係る送信装置及び受信装置に含まれる各処理部は典型的には集積回路であるLSIとして実現される。これらは個別に1チップ化されてもよいし、一部又は全てを含むように1チップ化されてもよい。 Furthermore, each processing unit included in the transmitting device and receiving device according to the above-mentioned embodiment is typically realized as an LSI, which is an integrated circuit. These may be individually implemented as single chips, or may be integrated into a single chip to include some or all of them.
また、集積回路化はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後にプログラムすることが可能なFPGA(Field Programmable Gate Array)、又はLSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。 In addition, the integrated circuit is not limited to LSI, but may be realized by a dedicated circuit or a general-purpose processor. It is also possible to use an FPGA (Field Programmable Gate Array) that can be programmed after LSI manufacturing, or a reconfigurable processor that can reconfigure the connections and settings of circuit cells inside the LSI.
上記各実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPU又はプロセッサなどのプログラム実行部が、ハードディスク又は半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。 In each of the above embodiments, each component may be configured with dedicated hardware, or may be realized by executing a software program suitable for each component. Each component may be realized by a program execution unit such as a CPU or processor reading and executing a software program recorded on a recording medium such as a hard disk or semiconductor memory.
言い換えると、送信装置及び受信装置は、処理回路(processing circuitry)と、当該処理回路に電気的に接続された(当該制御回路からアクセス可能な)記憶装置(storage)とを備える。処理回路は、専用のハードウェア及びプログラム実行部の少なくとも一方を含む。また、記憶装置は、処理回路がプログラム実行部を含む場合には、当該プログラム実行部により実行されるソフトウェアプログラムを記憶する。処理回路は、記憶装置を用いて、上記実施の形態に係る送信方法又は受信方法を実行する。 In other words, the transmitting device and the receiving device include a processing circuit and a storage device electrically connected to the processing circuit (accessible from the processing circuit). The processing circuit includes at least one of dedicated hardware and a program execution unit. In addition, when the processing circuit includes a program execution unit, the storage device stores a software program to be executed by the program execution unit. The processing circuit uses the storage device to execute the transmitting method or the receiving method according to the above embodiment.
さらに、本発明は上記ソフトウェアプログラムであってもよいし、上記プログラムが記録された非一時的なコンピュータ読み取り可能な記録媒体であってもよい。また、上記プログラムは、インターネット等の伝送媒体を介して流通させることができるのは言うまでもない。 Furthermore, the present invention may be the above software program, or a non-transitory computer-readable recording medium on which the above program is recorded. Needless to say, the above program can be distributed via a transmission medium such as the Internet.
また、上記で用いた数字は、全て本発明を具体的に説明するために例示するものであり、本発明は例示された数字に制限されない。 Furthermore, all the numbers used above are examples to specifically explain the present invention, and the present invention is not limited to the exemplified numbers.
また、ブロック図における機能ブロックの分割は一例であり、複数の機能ブロックを一つの機能ブロックとして実現したり、一つの機能ブロックを複数に分割したり、一部の機能を他の機能ブロックに移してもよい。また、類似する機能を有する複数の機能ブロックの機能を単一のハードウェア又はソフトウェアが並列又は時分割に処理してもよい。 The division of functional blocks in the block diagram is one example, and multiple functional blocks may be realized as one functional block, one functional block may be divided into multiple blocks, or some functions may be transferred to other functional blocks. In addition, the functions of multiple functional blocks having similar functions may be processed in parallel or in a time-sharing manner by a single piece of hardware or software.
また、上記の送信方法又は受信方法に含まれるステップが実行される順序は、本発明を具体的に説明するために例示するためのものであり、上記以外の順序であってもよい。また、上記ステップの一部が、他のステップと同時(並列)に実行されてもよい。 The order in which the steps included in the above-mentioned transmission method or reception method are executed is merely an example to specifically explain the present invention, and the steps may be executed in an order other than the above. Also, some of the steps may be executed simultaneously (in parallel) with other steps.
以上、本発明の一つ又は複数の態様に係る送信装置、受信装置、送信方法及び受信方法について、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、本発明の一つ又は複数の態様の範囲内に含まれてもよい。 The transmitting device, receiving device, transmitting method, and receiving method according to one or more aspects of the present invention have been described above based on the embodiments, but the present invention is not limited to these embodiments. As long as they do not deviate from the spirit of the present invention, various modifications conceived by those skilled in the art to the present embodiments, and forms constructed by combining components of different embodiments, may also be included within the scope of one or more aspects of the present invention.
本発明は、ビデオデータ及びオーディオデータなどのメディアトランスポートを行う装置又は機器に適用できる。 The present invention can be applied to devices or equipment that transport media such as video data and audio data.
15、100、300、500、700、900、1200、1400 送信装置
16、101、301 符号化部
17、102 多重化部
18、104 送信部
20、200、400、600、800、1000、1300、1500 受信装置
21 パケットフィルタリング部
22 送信順序タイプ判別部
23 ランダムアクセス部
24、212 制御情報取得部
25 データ取得部
26 算出部
27 初期化情報取得部
28、206 復号命令部
29、204A、204B、204C、204D、402 復号部
30 提示部
201 チューナー
202 復調部
203 逆多重化部
205 表示部
211 タイプ判別部
213 スライス情報取得部
214 復号データ生成部
302 付与部
303、503、702、902、1202、1402 送信部
401、601、801、1001、1301、1501 受信部
501 分割部
502、603 構成部
602 判定部
701、901、1201、1401 生成部
802 第1のバッファ
803 第2のバッファ
804 第3のバッファ
805 第4のバッファ
806 復号部
1002 再生部
1302 算出部
1303 補正部
1502 判断部
15, 100, 300, 500, 700, 900, 1200, 1400
Claims (4)
外部から受信した時刻情報に基づいて、前記所定のデータユニットの提示時刻を示す提示時刻情報を生成し、
前記所定のデータユニットと、生成した前記提示時刻情報と、当該提示時刻情報がうるう秒調整前の前記時刻情報に基づいて生成されたか否かを示す識別情報とを送信し、
前記識別情報は、(i)制御情報である制御メッセージに格納され、(ii)前記提示時刻情報が、うるう秒調整が行われる直前の時刻よりも予め定められた期間前の時刻から当該直前の時刻までにおける前記時刻情報に基づいて生成されたかを示し、
前記提示時刻情報は、前記時刻情報から予め定められた時間を加算することで生成された時刻情報であり、
前記制御情報は、UTC(Universal Time Coordinated)時刻とNPT(Normal Play Time)時刻との関係を示すUTC-NPT参照記述子を含む
送信方法。 A transmission method for storing data constituting an encoded stream in a predetermined data unit and transmitting the data, comprising the steps of:
generating presentation time information indicating a presentation time of the predetermined data unit based on time information received from an external device;
Transmitting the predetermined data unit, the generated presentation time information, and identification information indicating whether the presentation time information was generated based on the time information before leap second adjustment;
The identification information (i) is stored in a control message that is control information, and (ii) indicates whether the presented time information was generated based on the time information from a time that is a predetermined period before the time immediately before a leap second adjustment is performed to the time immediately before the leap second adjustment is performed,
the presentation time information is time information generated by adding a predetermined time to the time information,
The control information includes a UTC-NPT reference descriptor indicating a relationship between a Universal Time Coordinated (UTC) time and a Normal Play Time (NPT) time.
前記所定のデータユニットと、前記所定のデータユニットの提示時刻を示す提示時刻情報と、当該提示時刻情報がうるう秒調整前の時刻情報に基づいて生成されたか否かを示す識別情報とを、受信し、
受信した前記提示時刻情報及び前記識別情報に基づいて、受信した前記所定のデータユニットを再生し、
前記識別情報は、(i)制御情報である制御メッセージに格納され、(ii)前記提示時刻情報が、うるう秒調整が行われる直前の時刻よりも予め定められた期間前の時刻から当該直前の時刻までにおける前記時刻情報に基づいて生成されたかを示し、
前記提示時刻情報は、前記時刻情報から予め定められた時間を加算することで生成された時刻情報であり、
前記制御情報は、UTC(Universal Time Coordinated)時刻とNPT(Normal Play Time)時刻との関係を示すUTC-NPT参照記述子を含む
受信方法。 A method for receiving a predetermined data unit in which data constituting an encoded stream is stored, comprising the steps of:
receiving the predetermined data unit, presentation time information indicating a presentation time of the predetermined data unit, and identification information indicating whether the presentation time information was generated based on time information before leap second adjustment;
Reproducing the received predetermined data unit based on the received presentation time information and the received identification information;
The identification information (i) is stored in a control message that is control information, and (ii) indicates whether the presented time information was generated based on the time information from a time that is a predetermined period before the time immediately before a leap second adjustment is performed to the time immediately before the leap second adjustment is performed,
the presentation time information is time information generated by adding a predetermined time to the time information,
The control information includes a UTC-NPT reference descriptor indicating a relationship between a Universal Time Coordinated (UTC) time and a Normal Play Time (NPT) time.
外部から受信した時刻情報に基づいて、当該所定のデータユニットの提示時刻を示す提示時刻情報を生成する生成部と、
前記所定のデータユニットと、前記生成部により生成された前記提示時刻情報と、当該提示時刻情報がうるう秒調整前の前記時刻情報に基づいて生成されたか否かを示す識別情報とを送信する送信部と、を備え、
前記識別情報は、(i)制御情報である制御メッセージに格納され、(ii)前記提示時刻情報が、うるう秒調整が行われる直前の時刻よりも予め定められた期間前の時刻から当該直前の時刻までにおける前記時刻情報に基づいて生成されたかを示し、
前記提示時刻情報は、前記時刻情報から予め定められた時間を加算することで生成された時刻情報であり、
前記制御情報は、UTC(Universal Time Coordinated)時刻とNPT(Normal Play Time)時刻との関係を示すUTC-NPT参照記述子を含む
送信装置。 A transmitting device that transmits data constituting an encoded stream by storing the data in a predetermined data unit, comprising:
a generating unit that generates presentation time information indicating a presentation time of the predetermined data unit based on time information received from an external device;
a transmission unit that transmits the predetermined data unit, the presentation time information generated by the generation unit, and identification information indicating whether the presentation time information was generated based on the time information before leap second adjustment,
The identification information (i) is stored in a control message that is control information, and (ii) indicates whether the presented time information was generated based on the time information from a time that is a predetermined period before the time immediately before a leap second adjustment is performed to the time immediately before the leap second adjustment is performed,
the presentation time information is time information generated by adding a predetermined time to the time information,
The control information includes a UTC-NPT reference descriptor indicating a relationship between a Universal Time Coordinated (UTC) time and a Normal Play Time (NPT) time.
前記所定のデータユニットと、前記所定のデータユニットの提示時刻を示す提示時刻情報と、当該提示時刻情報がうるう秒調整前の時刻情報に基づいて生成されたか否かを示す識別情報とを、受信する受信部と、
前記受信部により受信された前記提示時刻情報及び前記識別情報に基づいて、前記受信部により受信された前記所定のデータユニットを再生する再生部と、を備え、
前記識別情報は、(i)制御情報である制御メッセージに格納され、(ii)前記提示時刻情報が、うるう秒調整が行われる直前の時刻よりも予め定められた期間前の時刻から当該直前の時刻までにおける前記時刻情報に基づいて生成されたかを示し、
前記提示時刻情報は、前記時刻情報から予め定められた時間を加算することで生成された時刻情報であり、
前記制御情報は、UTC(Universal Time Coordinated)時刻とNPT(Normal Play Time)時刻との関係を示すUTC-NPT参照記述子を含む
受信装置。 A receiving device for receiving a predetermined data unit in which data constituting an encoded stream is stored, comprising:
a receiving unit that receives the predetermined data unit, presentation time information indicating a presentation time of the predetermined data unit, and identification information indicating whether the presentation time information was generated based on time information before leap second adjustment;
a reproduction unit that reproduces the predetermined data unit received by the receiving unit based on the presentation time information and the identification information received by the receiving unit,
The identification information (i) is stored in a control message that is control information, and (ii) indicates whether the presented time information was generated based on the time information from a time that is a predetermined period before the time immediately before a leap second adjustment is performed to the time immediately before the leap second adjustment is performed,
the presentation time information is time information generated by adding a predetermined time to the time information,
The control information includes a UTC-NPT reference descriptor indicating a relationship between UTC (Universal Time Coordinated) time and NPT (Normal Play Time) time.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2025108501A JP2025129256A (en) | 2015-04-02 | 2025-06-26 | Transmission method and transmission device |
Applications Claiming Priority (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201562142010P | 2015-04-02 | 2015-04-02 | |
| US62/142,010 | 2015-04-02 | ||
| JP2020185412A JP7116137B2 (en) | 2015-04-02 | 2020-11-05 | Transmission method, reception method, transmission device and reception device |
| JP2022120564A JP7323684B2 (en) | 2015-04-02 | 2022-07-28 | Transmission method, reception method, transmission device and reception device |
| JP2023122229A JP7525705B2 (en) | 2015-04-02 | 2023-07-27 | Transmission method, reception method, transmission device, and reception device |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2023122229A Division JP7525705B2 (en) | 2015-04-02 | 2023-07-27 | Transmission method, reception method, transmission device, and reception device |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2025108501A Division JP2025129256A (en) | 2015-04-02 | 2025-06-26 | Transmission method and transmission device |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2024138044A JP2024138044A (en) | 2024-10-07 |
| JP7704938B2 true JP7704938B2 (en) | 2025-07-08 |
Family
ID=57358571
Family Applications (7)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2016000732A Active JP6585508B2 (en) | 2015-03-31 | 2016-01-05 | Transmission method, reception method, transmission device, and reception device |
| JP2019162380A Active JP6792038B2 (en) | 2015-04-02 | 2019-09-05 | Receiving method and receiving device |
| JP2020185412A Active JP7116137B2 (en) | 2015-04-02 | 2020-11-05 | Transmission method, reception method, transmission device and reception device |
| JP2022120564A Active JP7323684B2 (en) | 2015-04-02 | 2022-07-28 | Transmission method, reception method, transmission device and reception device |
| JP2023122229A Active JP7525705B2 (en) | 2015-04-02 | 2023-07-27 | Transmission method, reception method, transmission device, and reception device |
| JP2024114905A Active JP7704938B2 (en) | 2015-04-02 | 2024-07-18 | Transmission method, reception method, transmission device, and reception device |
| JP2025108501A Pending JP2025129256A (en) | 2015-04-02 | 2025-06-26 | Transmission method and transmission device |
Family Applications Before (5)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2016000732A Active JP6585508B2 (en) | 2015-03-31 | 2016-01-05 | Transmission method, reception method, transmission device, and reception device |
| JP2019162380A Active JP6792038B2 (en) | 2015-04-02 | 2019-09-05 | Receiving method and receiving device |
| JP2020185412A Active JP7116137B2 (en) | 2015-04-02 | 2020-11-05 | Transmission method, reception method, transmission device and reception device |
| JP2022120564A Active JP7323684B2 (en) | 2015-04-02 | 2022-07-28 | Transmission method, reception method, transmission device and reception device |
| JP2023122229A Active JP7525705B2 (en) | 2015-04-02 | 2023-07-27 | Transmission method, reception method, transmission device, and reception device |
Family Applications After (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2025108501A Pending JP2025129256A (en) | 2015-04-02 | 2025-06-26 | Transmission method and transmission device |
Country Status (1)
| Country | Link |
|---|---|
| JP (7) | JP6585508B2 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2024041111A (en) | 2022-09-14 | 2024-03-27 | キヤノン株式会社 | Communication devices, communication systems, control methods and programs |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2010272071A (en) | 2009-05-25 | 2010-12-02 | Hitachi Kokusai Electric Inc | Terminal device |
| US20140282791A1 (en) | 2013-03-13 | 2014-09-18 | Johannes P. Schmidt | Leap second support in content timestamps |
| JP2015005977A (en) | 2013-06-18 | 2015-01-08 | パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America | Transmission method and reception method |
| WO2016129413A1 (en) | 2015-02-10 | 2016-08-18 | ソニー株式会社 | Transmission apparatus, transmission method, reception apparatus, and reception method |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP5641090B2 (en) * | 2013-03-14 | 2014-12-17 | ソニー株式会社 | Transmitting apparatus, transmitting method, receiving apparatus, and receiving method |
| WO2014196189A1 (en) * | 2013-06-05 | 2014-12-11 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | Data decoding method, data decoding apparatus, and data transmitting method |
| JP6264501B2 (en) * | 2015-03-02 | 2018-01-24 | 日本電気株式会社 | Decoding device, decoding method, and decoding program |
| JP6219330B2 (en) * | 2015-03-11 | 2017-10-25 | 株式会社東芝 | Transmission system, multiplexing apparatus, and leap second correction support method |
-
2016
- 2016-01-05 JP JP2016000732A patent/JP6585508B2/en active Active
-
2019
- 2019-09-05 JP JP2019162380A patent/JP6792038B2/en active Active
-
2020
- 2020-11-05 JP JP2020185412A patent/JP7116137B2/en active Active
-
2022
- 2022-07-28 JP JP2022120564A patent/JP7323684B2/en active Active
-
2023
- 2023-07-27 JP JP2023122229A patent/JP7525705B2/en active Active
-
2024
- 2024-07-18 JP JP2024114905A patent/JP7704938B2/en active Active
-
2025
- 2025-06-26 JP JP2025108501A patent/JP2025129256A/en active Pending
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2010272071A (en) | 2009-05-25 | 2010-12-02 | Hitachi Kokusai Electric Inc | Terminal device |
| US20140282791A1 (en) | 2013-03-13 | 2014-09-18 | Johannes P. Schmidt | Leap second support in content timestamps |
| JP2015005977A (en) | 2013-06-18 | 2015-01-08 | パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America | Transmission method and reception method |
| WO2016129413A1 (en) | 2015-02-10 | 2016-08-18 | ソニー株式会社 | Transmission apparatus, transmission method, reception apparatus, and reception method |
Also Published As
| Publication number | Publication date |
|---|---|
| JP6792038B2 (en) | 2020-11-25 |
| JP2024138044A (en) | 2024-10-07 |
| JP6585508B2 (en) | 2019-10-02 |
| JP7116137B2 (en) | 2022-08-09 |
| JP2016197852A (en) | 2016-11-24 |
| JP2023138586A (en) | 2023-10-02 |
| JP7525705B2 (en) | 2024-07-30 |
| JP2021040322A (en) | 2021-03-11 |
| JP2022145755A (en) | 2022-10-04 |
| JP2025129256A (en) | 2025-09-04 |
| JP2019213223A (en) | 2019-12-12 |
| JP7323684B2 (en) | 2023-08-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN107431845B (en) | Transmission method, reception method, transmission device, and reception device | |
| JP7693907B2 (en) | Transmission method, reception method, transmission device, and reception device | |
| JP7538294B2 (en) | Receiving method, transmitting method, receiving device, and transmitting device | |
| CN112954435A (en) | Receiving apparatus and receiving method | |
| JP7588362B2 (en) | Transmission method, reception method, transmission device, and reception device | |
| JP2025129256A (en) | Transmission method and transmission device | |
| WO2016157817A1 (en) | Transmission method, reception method, transmission device and reception device | |
| JP2016152620A (en) | Transmission method, reception method transmitter and receiver | |
| CN113038188A (en) | Transmission method, reception method, transmission device, and reception device | |
| JP2016111690A (en) | Transmission method, reception method, transmission device and reception device | |
| JP2016100892A (en) | Transmission method, reception method, transmitter and receiver |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240718 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20250527 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20250626 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7704938 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |