JP7570877B2 - Packet generation device and program - Google Patents
Packet generation device and program Download PDFInfo
- Publication number
- JP7570877B2 JP7570877B2 JP2020171591A JP2020171591A JP7570877B2 JP 7570877 B2 JP7570877 B2 JP 7570877B2 JP 2020171591 A JP2020171591 A JP 2020171591A JP 2020171591 A JP2020171591 A JP 2020171591A JP 7570877 B2 JP7570877 B2 JP 7570877B2
- Authority
- JP
- Japan
- Prior art keywords
- packet
- packets
- video frame
- adjustment
- slice
- 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 packet generation device and program that compresses video signals of video frames and packetizes the compressed signals.
従来、映像信号をIPパケット化して汎用のイーサネット(登録商標)ネットワーク上を伝送させるIP番組制作システムの標準化が、SMPTE(米国映画テレビ技術者協会)において進展している。 The Society of Motion Picture and Television Engineers (SMPTE) has been working on standardizing IP program production systems that convert video signals into IP packets and transmit them over general-purpose Ethernet (registered trademark) networks.
SMPTEにより標準化された映像信号のIPパケット化規格において、圧縮した映像信号をIPパケット化して伝送するための規格が知られている(例えば非特許文献1を参照)。また、IP番組制作システムに適応する映像信号の圧縮方式に関する国際規格が標準化されている(例えば非特許文献2を参照)。 In the IP packetization standard for video signals standardized by SMPTE, a standard for IP packetizing and transmitting compressed video signals is known (see, for example, Non-Patent Document 1). In addition, an international standard for a video signal compression method suitable for IP program production systems has been standardized (see, for example, Non-Patent Document 2).
図9は、非特許文献2のJPEG-XS規格を用いたパケット化処理を説明する図である。図9に示すように、N番目の映像フレームは、ピクチャヘッダ、及び複数の映像ライン(以下、「ライン」という。)を圧縮単位とした領域(以下、「スライス」という。)に分けられ、圧縮処理が行われる。Nは1以上の整数である。
Figure 9 is a diagram explaining the packetization process using the JPEG-XS standard of
そして、ピクチャヘッダ及び圧縮信号がパケット化されることで、パケットと呼ばれるデータ系列に変換される。具体的には、ピクチャヘッダ及び圧縮信号は、RTPパケットのペイロードにマッピングされる。 The picture header and compressed signal are then packetized and converted into a data sequence called a packet. Specifically, the picture header and compressed signal are mapped into the payload of an RTP packet.
前述の非特許文献1のSMPTE ST2110-22規格では、1つの映像フレームから生成される圧縮信号及びパケットのデータ量、並びにパケット数(RTPパケット数)が一定となるように、圧縮化及びパケット化の制約を設けている。この制約を満たすために、パケット化処理においてはパディングを付加することでデータ量(及びパケット数)を調整することを許容している。
The SMPTE ST2110-22 standard in the aforementioned
前述の非特許文献1のSMPTE ST2110-22規格では、N番目の映像フレームから生成されたパケットの数と、N+1番目の映像フレームから生成されたパケットの数とは、同一でなければならない。
In the SMPTE ST2110-22 standard in the aforementioned
しかしながら、SMPTE ST2110-22規格には、異なる映像フレームから生成されたそれぞれのパケットの数を同一にするための具体的な手法が何ら規定されていない。 However, the SMPTE ST2110-22 standard does not prescribe any specific method for ensuring that the number of packets generated from different video frames is the same.
そこで、映像フレーム毎に生成されるパケットの数を一定にするための手法が提案されている(特許文献1を参照)。この手法はスライスマッピング法といい、映像フレームのスライスを単位として、圧縮データをRTPペイロードにマッピングするものである。 Therefore, a method has been proposed to keep the number of packets generated for each video frame constant (see Patent Document 1). This method is called slice mapping, and it maps compressed data into the RTP payload in units of slices of video frames.
しかしながら、前述の特許文献1の手法では、圧縮データは、スライスを単位とした場合、データ量がスライス毎に変わることがある。スライスマッピング法では、スライス毎にパケット化を行うため、スライス毎にデータ量が変わる場合には、前述の非特許文献1のSMPTE ST2110-22規格を満たすために、パディングを付加することでデータ量を適切に調整する必要がある。
However, in the method of
そこで、パディングを付加してデータ量を調整する手法として、本件特許出願の同一の出願人によりなされた、本件特許出願時に未公開の特願2019-219809号公報に記載の手法が提案されている。 As a method for adjusting the amount of data by adding padding, a method has been proposed by the same applicant as this patent application, described in Japanese Patent Application No. 2019-219809, which was unpublished at the time of filing this patent application.
この手法は、映像フレーム毎のデータ量及びパケット数を一定に調整するために、送信する映像フレームの最初の映像フレームから生成されたスライスデータのパケット化後のパケット数を基準にして、映像フレーム毎にパケット数を調整するものである。具体的には、この手法は、最初の映像フレームのパケット数に、一定の調整値を加えた値を目標値(Npacket_first)として設定し、パケット数が当該目標値と一致するように、2番目以降の映像フレームのパケット数を、調整用パケットを用いて調整する。 This method adjusts the number of packets for each video frame based on the number of packets after packetization of slice data generated from the first video frame to be transmitted, in order to adjust the amount of data and number of packets for each video frame to a constant amount. Specifically, this method sets the number of packets for the first video frame plus a fixed adjustment value as a target value (Npacket_first), and uses adjustment packets to adjust the number of packets for the second and subsequent video frames so that the number of packets matches the target value.
これにより、各映像フレームから生成されるパケット化後のパケット数を目標値に一致させ、映像フレーム毎に一定のパケット数とすることができる。しかし、映像フレームの一定のパケット数である目標値は、最初の映像フレームによって変動してしまう。 This allows the number of packets generated from each video frame after packetization to match a target value, resulting in a constant number of packets for each video frame. However, the target value, which is a constant number of packets per video frame, varies depending on the first video frame.
スライスマッピング法の適用により生成される1スライスあたりのパケット数は、各スライスのデータ量によって変動する。そして、スライスのデータ量は、圧縮する映像の中身によって変化する。一般的に、映像が複雑な場合にはデータ量が多く、映像が単調な場合にはデータ量が少なくなる傾向がある。 The number of packets per slice generated by applying the slice mapping method varies depending on the amount of data in each slice. The amount of data in a slice, in turn, varies depending on the content of the video being compressed. In general, complex video tends to have a large amount of data, while monotonous video tends to have a small amount of data.
このため、この手法では、映像フレームあたりのパケット数の目標値が、最初の映像フレームがどのような映像であるかによって変化してしまう。言い換えると、目標値は目標とする伝送レートであるが、映像フレームに対する圧縮率が同じであるにも関わらず、映像が複雑であるか、または単調であるかによって、伝送レートが変化してしまう。 As a result, with this method, the target number of packets per video frame changes depending on the type of video the first video frame is. In other words, the target value is the target transmission rate, but even if the compression rate for each video frame is the same, the transmission rate changes depending on whether the video is complex or monotonous.
目標値が映像によって変化する場合、伝送帯域の制約がある環境での運用を想定したときには、必要な伝送レートを事前に検討することが難しくなる。また、例えば最初の映像フレームが複雑な映像の場合には、目標値が大きくなってしまい、後に単調な映像フレームを伝送する際に、調整用パケットの数が増え、無駄な伝送レートが増大してしまう。 If the target value changes depending on the video, it becomes difficult to determine the necessary transmission rate in advance when operating in an environment with transmission bandwidth constraints. Also, for example, if the first video frame is a complex video, the target value will be large, and when transmitting a later monotonous video frame, the number of adjustment packets will increase, resulting in an unnecessary increase in transmission rate.
そこで、本発明は前記課題を解決するためになされたものであり、その目的は、スライスマッピング法において、映像フレーム毎に生成されるパケットのデータ量及び数を一定にし、かつ、映像フレームあたりのパケット数の目標値を最初の映像フレームに依存することなく一定にすることで、無駄な伝送レートの増大を抑えることが可能なパケット生成装置及びプログラムを提供することにある。 The present invention has been made to solve the above problems, and its purpose is to provide a packet generation device and program that can prevent unnecessary increases in transmission rate by making the amount of data and number of packets generated for each video frame constant in the slice mapping method and by making the target value for the number of packets per video frame constant and independent of the first video frame.
前記課題を解決するために、請求項1のパケット生成装置は、映像フレームを圧縮した圧縮信号をパケット化するパケット生成装置において、前記映像フレームをスライス毎に圧縮し、前記スライス毎の前記圧縮信号を生成する圧縮信号生成部と、前記映像フレーム毎に、前記圧縮信号生成部により生成された前記スライス毎の前記圧縮信号をパケット化して生成パケットを生成すると共に、所定の調整用パケット基準数Adjの調整用パケットを生成し、前記映像フレームについての前記生成パケット及び前記調整用パケットの総数が、所定のパケット総数目標値Npacket_targetと同一になるように、前記調整用パケットの数を増減させるパケット生成部と、を備え、前記パケット生成部が、前記映像フレームあたりの前記圧縮信号のデータ量Lcodであって、前記映像フレーム間で一定の前記データ量Lcodから得られる前記映像フレームあたりの前記生成パケットの数を生成パケット基準数Npとし、前記映像フレームあたりの前記スライスの数を前記調整用パケット基準数Adjとして、前記生成パケット基準数Npに前記調整用パケット基準数Adjを加算することで、前記パケット総数目標値Npacket_targetを求める、ことを特徴とする。
In order to solve the above problem, the packet generation device of
また、請求項2のパケット生成装置は、請求項1に記載のパケット生成装置において、前記パケット生成部が、前記映像フレームあたりの前記圧縮信号のデータ量Lcodを、予め設定された前記生成パケットのペイロード長で除算することで、前記生成パケット基準数Npを求め、前記映像フレームの垂直方向のライン数Hfを、前記スライスのライン数Hslで除算することで、前記調整用パケット基準数Adjを求め、前記生成パケット基準数Npに前記調整用パケット基準数Adjを加算することで、前記パケット総数目標値Npacket_targetを求める、ことを特徴とする。
The packet generating device of
また、請求項3のパケット生成装置は、請求項1に記載のパケット生成装置において、前記圧縮信号生成部が、前記映像フレーム毎に、前記映像フレームから前記映像フレームあたりの前記圧縮信号のデータ量Lcod、前記映像フレームの垂直方向のライン数Hf、及び前記スライスのライン数Hslを含むピクチャヘッダを生成し、前記映像フレームの前記スライス毎に、スライスヘッダを生成すると共に前記圧縮信号を生成し、前記パケット生成部が、前記圧縮信号生成部により生成された前記ピクチャヘッダから、前記映像フレームあたりの前記圧縮信号のデータ量Lcod、前記映像フレームの垂直方向のライン数Hf、及び前記スライスのライン数Hslを取得し、前記映像フレームあたりの前記圧縮信号のデータ量Lcodを、予め設定された前記生成パケットのペイロード長で除算することで、前記生成パケット基準数Npを求め、前記映像フレームの垂直方向のライン数Hfを、前記スライスのライン数Hslで除算することで、前記調整用パケット基準数Adjを求め、前記生成パケット基準数Npに前記調整用パケット基準数Adjを加算することで、前記パケット総数目標値Npacket_targetを求め、前記映像フレーム毎に、前記圧縮信号生成部により生成された前記ピクチャヘッダ、並びに前記スライス毎の前記スライスヘッダ及び前記圧縮信号をパケット化して前記生成パケットを生成すると共に、前記調整用パケット基準数Adjの前記調整用パケットを生成し、前記映像フレームについての前記生成パケット及び前記調整用パケットの総数が、前記パケット総数目標値Npacket_targetと同一になるように、前記調整用パケットの数を増減させる、ことを特徴とする。
The packet generation device of
さらに、請求項4のプログラムは、コンピュータを、請求項1から3までのいずれか一項に記載のパケット生成装置として機能させることを特徴とする。
Furthermore, the program of
以上のように、本発明によれば、スライスマッピング法において、映像フレーム毎に生成されるパケットのデータ量及び数を一定にし、かつ、映像フレームあたりのパケット数の目標値を最初の映像フレームに依存することなく一定にすることができる。 As described above, according to the present invention, in the slice mapping method, the amount and number of packets generated for each video frame can be made constant, and the target value for the number of packets per video frame can be made constant, independent of the first video frame.
以下、本発明を実施するための形態について図面を用いて詳細に説明する。本発明は、複雑または単調な映像に関わることなく、圧縮パラメータ(圧縮率、映像画素数等)が変更されない限り、映像フレームあたりの圧縮信号のデータ量Lcodが映像フレーム間で一定(同一)であることに着目したものである。 The following describes in detail the embodiments of the present invention with reference to the drawings. The present invention focuses on the fact that the amount of data Lcod of the compressed signal per video frame is constant (the same) between video frames, regardless of whether the video is complex or monotonous, as long as the compression parameters (compression rate, number of video pixels, etc.) are not changed.
本発明は、映像フレームあたりの圧縮信号のデータ量Lcodに、映像フレームあたりのスライス数(調整用パケットの数)を加算することで、映像フレームあたりのパケット数の目標値(パケット総数目標値Npacket_target)を求め、映像フレーム毎のパケット数がパケット総数目標値Npacket_targetと同一になるように、調整用パケットの数を増減させることを特徴とする。 The present invention is characterized in that it calculates a target number of packets per video frame (target total number of packets Npacket_target) by adding the number of slices per video frame (number of adjustment packets) to the amount of data Lcod of the compressed signal per video frame, and then increases or decreases the number of adjustment packets so that the number of packets per video frame is the same as the target total number of packets Npacket_target.
これにより、複雑な映像から単調な映像に変化した場合、またはその逆の場合であっても、パケット総数目標値Npacket_targetは変わらず一定である。 As a result, the total packet count target value Npacket_target remains constant even when the image changes from complex to monotonous, or vice versa.
したがって、スライスマッピング法において、映像フレーム毎に生成されるパケットのデータ量及び数を一定にし、かつ、パケット総数目標値Npacket_targetを最初の映像フレームに依存することなく一定にすることができる。 Therefore, in the slice mapping method, the amount of data and number of packets generated for each video frame can be kept constant, and the target value for the total number of packets, Npacket_target, can be kept constant and independent of the first video frame.
〔パケット生成装置〕
図1は、本発明の実施形態によるパケット生成装置の構成を示すブロック図である。このパケット生成装置1は、圧縮信号生成部10及びパケット生成部11を備えている。
[Packet Generation Device]
1 is a block diagram showing the configuration of a packet generating device according to an embodiment of the present invention. The
圧縮信号生成部10は、例えばカメラから、映像フレームを単位として映像データを入力する。そして、圧縮信号生成部10は、映像フレーム毎に、当該映像フレームに基づいてピクチャヘッダを生成すると共に、映像フレームをスライス毎の映像データ(以下、「スライスデータ」という。)に分ける。
The compressed
圧縮信号生成部10は、スライス毎に、JPEG-XS規格に従い、スライスデータを圧縮し、当該スライスのスライスデータに基づいたスライスヘッダを生成すると共に、当該スライスのスライスデータに基づいた圧縮信号を生成する。
The compressed
圧縮信号生成部10は、映像フレーム毎に、ピクチャヘッダ並びにスライス毎のスライスヘッダ及び圧縮信号をパケット生成部11に出力する。
The compressed
パケット生成部11は、圧縮信号生成部10から映像フレーム毎に、ピクチャヘッダ並びにスライス毎のスライスヘッダ及び圧縮信号を入力する。そして、パケット生成部11は、映像フレーム毎に、ピクチャヘッダをパケット化すると共に、当該映像フレームにおけるスライス毎に、スライスヘッダ及び圧縮信号をパケット化し、パケット(生成パケット)を生成する。また、パケット生成部11は、所定の調整データをパケット化し、調整用パケットを生成する。
The
ここで、パケット生成部11は、SMPTE ST2110-22規格の制約に従うように、当該パケット生成部11の処理を監視する。すなわち、パケット生成部11は、映像フレーム毎に、映像フレームから生成されたパケットの数が同一であるか否かを監視する。パケット生成部11は、パケット数が同一でないと判定した場合、パケット数が同一になるように、当該映像フレームについて、その差分に相当する調整用パケットの数を調整する。
Here, the
具体的には、パケット生成部11は、ピクチャヘッダに含まれる所定データ等に基づいて、映像フレームあたりの圧縮信号に対応するRTPパケット数を、映像フレームにおける生成パケットの基準数(生成パケット基準数Np)として算出すると共に、映像フレームのスライス数を、映像フレームにおける調整用パケットの基準数(調整用パケット基準数Adj)として算出する。そして、パケット生成部11は、生成パケット基準数Npに調整用パケット基準数Adjを加算することで、パケット総数目標値Npacket_targetを求める。
Specifically, based on predetermined data included in the picture header, the
パケット生成部11は、映像フレーム毎に、当該映像フレームから生成される生成パケット及び調整用パケットの数の合計(パケット総数Npacket)がパケット総数目標値Npacket_targetと同一になるように、調整用パケットの数を増減させる。
The
映像フレーム毎のパケット総数Npacketをパケット総数目標値Npacket_targetと同一にすることで、SMPTE ST2110-22規格の制約に従うことができる。 By making the total number of packets per video frame, Npacket, the same as the target value for the total number of packets, Npacket_target, it is possible to comply with the constraints of the SMPTE ST2110-22 standard.
尚、ピクチャヘッダを含む生成パケットの数は、全ての映像フレームにおいて同一であるため、ここでは計算から除外してある。パケット生成部11は、映像フレーム毎に、ピクチャヘッダを含む生成パケット、スライスヘッダ及び圧縮信号を含む生成パケット、圧縮信号を含むパケット、並びに調整用パケットの総数がパケット総数目標値Npacket_targetと同一になるように、調整用パケットの数を増減させるようにしてもよい。
Note that the number of generated packets including picture headers is the same for all video frames, and is therefore excluded from the calculation here. The
パケット生成部11は、映像フレーム毎に、生成パケット及び調整用パケットを送信する。生成パケットには、ピクチャヘッダを含むパケット、スライスヘッダ及び圧縮信号を含むパケット、並びに圧縮信号を含むパケットの3種類がある。
The
(圧縮信号生成部10)
次に、図1に示した圧縮信号生成部10の詳細について説明する。図2は、圧縮信号生成部10の処理例を説明するフローチャートである。
(Compressed signal generator 10)
Next, a detailed description will be given of the compressed
圧縮信号生成部10は、映像フレームを構成する映像データを順次入力し(ステップS201)、映像フレームを単位として、以下のステップS202~S208の処理を行う。
The
圧縮信号生成部10は、順次入力した映像フレームの映像データが、映像フレームの先頭であるか否かを判定する(ステップS202)。
The
圧縮信号生成部10は、ステップS202において、映像データが映像フレームの先頭でないと判定した場合(ステップS202:N)、当該処理を終了し、次の映像フレームにおける先頭の映像データを入力するまで待つ。
If the
圧縮信号生成部10は、ステップS202において、映像データが映像フレームの先頭であると判定した場合(ステップS202:Y)、映像フレームの先頭を検出したとして、当該映像フレームに基づいて、ピクチャヘッダを生成する。そして、圧縮信号生成部10は、ピクチャヘッダをパケット生成部11に出力する(ステップS203)。
If the
図3は、ピクチャヘッダの構成を示す図である。このピクチャヘッダの構成は、以下の文献のテーブルA.6(第18頁及び第19頁)に記載されている。
[非特許文献] INTERNATIONAL STANDARD ISO/IEC21122-1, Information technology-JPEG XS low-latency lightweight image coding system-Part1:Core coding system, Reference number ISO/IEC21122-1:2019(E)
3 is a diagram showing the structure of a picture header, which is described in Table A.6 (pages 18 and 19) of the following document:
[Non-patent literature] INTERNATIONAL STANDARD ISO/IEC21122-1, Information technology-JPEG XS low-latency lightweight image coding system-Part1:Core coding system, Reference number ISO/IEC21122-1:2019(E)
ピクチャヘッダは、(1)映像フレームあたりの圧縮信号のデータ量(Lcod)、(2)映像フレームの垂直方向のライン数(Hf)、(3)スライスのライン数(Hsl)等により構成される。映像フレームあたりの圧縮信号のデータ量Lcod、映像フレームの垂直方向のライン数Hf及びスライスのライン数Hslは、複雑または単調な映像に関わることなく、圧縮パラメータが変更されない限り、同じ値である。ピクチャヘッダを構成する他のデータについても同様である。 The picture header is composed of (1) the amount of compressed signal data per video frame (Lcod), (2) the number of vertical lines in the video frame (Hf), (3) the number of lines in a slice (Hsl), etc. The amount of compressed signal data per video frame Lcod, the number of vertical lines in the video frame Hf, and the number of lines in a slice Hsl are the same values regardless of whether the video is complex or monotonous, as long as the compression parameters are not changed. The same is true for the other data that make up the picture header.
パケット生成装置1から送信されたパケットを受信する受信装置は、このピクチャヘッダを構成する各種のデータに基づいて、映像フレームを復元する。
The receiving device that receives the packets sent from the
図2に戻って、圧縮信号生成部10は、ステップS203から移行して、映像フレーム内の所定数のライン毎に、映像データをスライス化する(ステップS204)。つまり、圧縮信号生成部10は、所定数のラインを1スライスとして、スライス毎に、ステップS204~S208の処理を行う。スライス化した所定数のラインの映像データをスライスデータとする。
Returning to FIG. 2, the
圧縮信号生成部10は、JPEG-XS規格に従い、スライス毎のスライスデータを圧縮する(ステップS205)。そして、圧縮信号生成部10は、当該スライスのスライスデータに基づいたスライスヘッダを生成すると共に、当該スライスのスライスデータに基づいた圧縮信号を生成する(ステップS206)。
The compressed
圧縮信号生成部10は、スライスヘッダ及び圧縮信号をパケット生成部11に出力する(ステップS207)。
The compressed
圧縮信号生成部10は、入力した映像フレームについて、全スライスの処理が完了したか否かを判定する(ステップS208)。圧縮信号生成部10は、ステップS208において、全スライスの処理が完了していないと判定した場合(ステップS208:N)、ステップS204へ移行し、次のスライスについてステップS204~S208の処理を行う。
The
一方、圧縮信号生成部10は、ステップS208において、全スライスの処理が完了したと判定した場合(ステップS208:Y)、当該映像フレームの処理を終了する。そして、圧縮信号生成部10は、次の映像フレームの処理を行う。
On the other hand, if the
このように、映像フレームを単位としてステップS201~S208の処理が行われ、スライスを単位としてステップS204~S208の処理が行われる。また、圧縮処理はスライスを単位として行われ、圧縮信号が生成される。そして、1映像フレーム内において、そのピクチャヘッダ並びにスライス毎の(全てのスライスの)スライスヘッダ及び圧縮信号がパケット生成部11に出力される。
In this way, the processing of steps S201 to S208 is performed for each video frame, and the processing of steps S204 to S208 is performed for each slice. Furthermore, the compression processing is performed for each slice, and a compressed signal is generated. Then, within one video frame, the picture header and the slice headers and compressed signals for each slice (for all slices) are output to the
(パケット生成部11)
次に、図1に示したパケット生成部11の詳細について説明する。図4は、パケット生成部11の構成例を示すブロック図であり、図5は、パケット生成部11の処理例を示すフローチャートである。
(Packet Generation Unit 11)
Next, a detailed description will be given of the
このパケット生成部11は、ピクチャヘッダ処理部20、スライスヘッダ及びデータ処理部21及び調整部22を備えている。調整部22は、調整用パケット処理部23及び調整用パケット増減部24を備えている。
The
前述のとおり、パケット生成部11は、SMPTE ST2110-22規格の制約に従うように、当該パケット生成部11の処理を監視する。前述の圧縮信号生成部10は、映像フレームのスライス毎に、スライスデータを圧縮して圧縮信号を生成する。この場合、圧縮信号のデータ量は、スライス毎に異なることがあり得る。そうすると、パケット数が映像フレーム毎に変化することとなり、SMPTE ST2110-22規格の制約に従うためには、映像フレーム間でパケット数の調整が必要となる。
As mentioned above, the
そこで、パケット生成部11は、映像フレーム毎に、スライスマッピング法にて生成するパケット数を一定にすべく、調整用パケットの数を調整する。具体的には、パケット生成部11は、映像フレーム間で共通の調整用パケットの数を基準にして、映像フレーム毎に、調整用パケットの数を増減させる。
Therefore, the
パケット生成部11は、圧縮信号生成部10からピクチャヘッダ、スライスヘッダ及び圧縮信号を入力する(ステップS501)。パケット生成部11は、ステップS501にて入力したデータがピクチャヘッダであるか否かを判定する(ステップS502)。
The
パケット生成部11は、ステップS502において、入力したデータがピクチャヘッダであると判定した場合(ステップS502:Y)、ステップS503へ移行し、ピクチャヘッダ処理部20がステップS503~S510の処理を行う。
If the
一方、パケット生成部11は、ステップS502において、入力したデータがピクチャヘッダでないと判定した場合(ステップS502:N)、ステップS511へ移行し、スライスヘッダ及びデータ処理部21がステップS511~S515の処理を行い、調整部22がステップS516~S520の処理を行う。
On the other hand, if the
ピクチャヘッダ処理部20は、ステップS502(Y)から移行して、ピクチャヘッダから映像フレームの垂直方向のライン数Hf、スライスのライン数Hsl及び映像フレームあたりの圧縮信号のデータ量Lcodを取得する(ステップS503)。
The picture
ピクチャヘッダ処理部20は、以下の式にて、映像フレームの垂直方向のライン数Hfをスライスのライン数Hslで除算することで、映像フレームのスライス数を求め、これを調整用パケット基準数Adjとする(ステップS504)。
[数1]
Adj=ceil(Hf/Hsl) ・・・(1)
The picture
[Equation 1]
Adj=ceil(Hf/Hsl)...(1)
この調整用パケット基準数Adjを基準にして、後述のステップS518にて調整用パケット化処理が行われ、後述のステップS519にて、当該映像フレームにて送信される調整用パケットが増減することとなる。 Based on this adjustment packet reference number Adj, the adjustment packetization process is performed in step S518, which will be described later, and the number of adjustment packets transmitted in the video frame is increased or decreased in step S519, which will be described later.
ここで、圧縮信号生成部10によるJPEG-XS規格を用いた圧縮処理では、スライス毎に圧縮処理が行われるため、圧縮信号の長さはスライス毎に異なることとなるが、その差は1パケット分となる。つまり、映像フレーム毎に生成されるパケットの数の差は、最大で映像フレームのスライス数、すなわち調整用パケット基準数Adjとなる。
Here, in the compression process using the JPEG-XS standard by the compressed
したがって、後述するステップS518,S519の処理において、調整用パケット基準数Adjを基準にして調整用パケットが増減し、最大で、映像フレームのスライス数である調整用パケット基準数Adjの調整用パケットを増減することができる。 Therefore, in the processing of steps S518 and S519 described below, the adjustment packets are increased or decreased based on the adjustment packet reference number Adj, and it is possible to increase or decrease the adjustment packets up to the adjustment packet reference number Adj, which is the number of slices in a video frame.
このように、ステップS504にて映像フレームのスライス数を示す調整用パケット基準数Adjを算出し、調整用パケット基準数Adjを調整用パケットの増減処理の基準として用いるようにした。これにより、SMPTE ST2110-22規格の制約を満たすための最小数の調整用パケットの生成処理、調整処理及び送信処理が行われることとなる。つまり、パケット生成装置1による処理及び伝送の効率化を図ることができる。
In this way, in step S504, the adjustment packet reference number Adj, which indicates the number of slices in a video frame, is calculated, and the adjustment packet reference number Adj is used as a reference for increasing or decreasing the number of adjustment packets. This results in the generation, adjustment, and transmission of the minimum number of adjustment packets that satisfies the constraints of the SMPTE ST2110-22 standard. In other words, the efficiency of processing and transmission by the
前記式(1)はceil関数を用いた式であるが、floor関数を用いるようにしてもよいし、他の関数を用いるようにしてもよい。 The above formula (1) uses the ceil function, but it is also possible to use the floor function or other functions.
ピクチャヘッダ処理部20は、ステップS504の処理の後、予め設定されたRTPペイロード長RTPlenを入力する(ステップS505)。そして、ピクチャヘッダ処理部20は、以下の式にて、映像フレームあたりの圧縮信号のデータ量LcodをRTPペイロード長RTPlenで除算することで、映像フレームあたりの圧縮後の映像信号に対応するRTPパケット数を求め、これを生成パケット基準数Npとする(ステップS506)。ここで、映像フレームあたりの圧縮信号のデータ量Lcodは、映像フレーム間で一定である。
[数2]
Np=ceil(Lcod/RTPlen) ・・・(2)
After the process of step S504, the picture
[Equation 2]
Np=ceil(Lcod/RTPlen)...(2)
前記式(2)はceil関数を用いた式であるが、floor関数を用いるようにしてもよいし、他の関数を用いるようにしてもよい。 The above formula (2) uses the ceil function, but it is also possible to use the floor function or another function.
ピクチャヘッダ処理部20は、以下の式にて、ステップS506にて算出した生成パケット基準数Npに、ステップS504にて算出した調整用パケット基準数Adjを加算することで、1映像フレームにて生成されるパケットの総数の目標値を示すパケット総数目標値Npacket_targetを求める(ステップS507)。
[数3]
Npacket_target=Np+Adj ・・・(3)
The picture
[Equation 3]
Npacket_target=Np+Adj...(3)
このパケット総数目標値Npacket_targetは、全ての映像フレームにおけるパケット数の目標値として用いられる。 This total packet count target value, Npacket_target, is used as the target number of packets for all video frames.
尚、ステップS506において、生成パケット基準数Npを算出する際に用いる映像フレームあたりの圧縮信号のデータ量Lcod及びRTPペイロード長RTPlenは、圧縮パラメータが変更されない限り、変化しない値である。同様に、ステップS504において、調整用パケット基準数Adjを算出する際に用いる映像フレームの垂直方向のライン数Hf及びスライスのライン数Hslも、圧縮パラメータが変更されない限り、変化しない値である。このため、ステップS507にて算出されるパケット総数目標値Npacket_targetも、圧縮パラメータが変更されない限り、変化しない値である。 In step S506, the amount of compressed signal data per video frame Lcod and the RTP payload length RTPlen used in calculating the reference number of packets to be generated Np are values that do not change unless the compression parameters are changed. Similarly, in step S504, the number of vertical lines Hf and the number of lines Hsl in a slice used in calculating the reference number of adjustment packets Adj are values that do not change unless the compression parameters are changed. For this reason, the target value Npacket_target for the total number of packets calculated in step S507 is also a value that does not change unless the compression parameters are changed.
つまり、パケット総数目標値Npacket_targetは、映像が複雑であっても、単調であっても、複雑さの程度に関わることなく、圧縮パラメータが変更されない限り、変化しない一定値となる。これにより、パケット総数目標値Npacket_targetを用いることにより、事前に必要な伝送レートを検討することができ、従来の課題を解決することができる。 In other words, the total packet count target value Npacket_target is a constant value that does not change unless the compression parameters are changed, regardless of whether the video is complex or monotonous, and regardless of the level of complexity. As a result, by using the total packet count target value Npacket_target, the required transmission rate can be considered in advance, solving the conventional problem.
ピクチャヘッダ処理部20は、ピクチャヘッダをRTPペイロードにマッピングし(ステップS508)、UDP、IP及びMAC処理によるパケット化処理を行うことで、パケットを生成する(ステップS509)。ピクチャヘッダ処理部20は、生成したパケットを生成パケットとして送信し(ステップS510)、ステップS502へ移行する。
The picture
ここで、ピクチャヘッダ処理部20は、映像フレーム毎に、ステップS504,S506,S507の処理にて、調整用パケット基準数Adj、生成パケット基準数Np及びパケット総数目標値Npacket_targetを算出する。つまり、調整用パケット基準数Adj、生成パケット基準数Np及びパケット総数目標値Npacket_targetは、映像フレームの圧縮パラメータが変更されたか否かに関わることなく、映像フレーム毎に算出される。これにより、パケット生成装置1は、映像フレームの圧縮パラメータが変更された場合であっても、パケット生成処理を中断することなく、連続した処理を実現することができる。
Here, the picture
スライスヘッダ及びデータ処理部21は、入力したデータがピクチャヘッダでない場合にステップS502(N)から移行して、当該スライスのスライスヘッダ及び圧縮信号をRTPペイロードにマッピングする(ステップS511)。そして、スライスヘッダ及びデータ処理部21は、UDP、IP及びMAC処理によるパケット化処理を行うことで、パケットを生成する(ステップS512)。スライスヘッダ及びデータ処理部21は、生成したパケットを生成パケットとして送信する(ステップS513)。
If the input data is not a picture header, the slice header and
スライスヘッダ及びデータ処理部21は、当該映像フレームについて、全スライスの処理が完了したか否かを判定する(ステップS514)。スライスヘッダ及びデータ処理部21は、ステップS514において、全スライスの処理が完了していないと判定した場合(ステップS514:N)、次のスライスについて(ステップS515)、ステップS511~S514の処理を行う。
The slice header and
一方、スライスヘッダ及びデータ処理部21は、当該映像フレームについて、全スライスの処理が完了したと判定した場合(ステップS514:Y)、ステップS516へ移行する。
On the other hand, if the slice header and
調整部22の調整用パケット処理部23は、ステップS514(Y)から移行して、当該映像フレームについてステップS512にて生成されたスライスヘッダ及び圧縮信号のパケットの数を示す生成パケット数Npacket_tmpを取得する(ステップS516)。
The adjustment
調整用パケット処理部23は、以下の式にて、ステップS516にて取得した生成パケット数Npacket_tmpに、ステップS504にて算出した調整用パケット基準数Adjを加算することで、1映像フレームにて生成されるパケットの総数(生成パケット及び調整用パケットの総数)を示すパケット総数Npacketを求める(ステップS517)。
[数4]
Npacket=Npacket_tmp+Adj ・・・(4)
The adjustment
[Equation 4]
Npacket=Npacket_tmp+Adj...(4)
調整用パケット処理部23は、予め設定された調整データをRTPペイロードにマッピングする。そして、調整用パケット処理部23は、UDP、IP及びMAC処理により、ステップS504にて算出した調整用パケット基準数Adj個分のパケット化処理を行い、調整用パケット基準数Adj個分の調整用パケットを生成する(ステップS518)。
The adjustment
予め設定された調整データは、RFC3550規格に示される0の値のパディングデータの集合(パディングデータ群)とする。調整用パケット処理部23は、調整用パケットを生成する際に、当該調整用パケットであるRTPパケットにパディングデータが含まれることを示すために、RTPヘッダのパディングフラグPを1に設定する。
The preset adjustment data is a set of padding data (padding data group) with a value of 0 as specified in the RFC3550 standard. When generating an adjustment packet, the adjustment
尚、本発明の実施形態を前述の特許文献1の技術に適用した場合、パディングフラグPが1に設定されるパケットには、同一パケットに圧縮信号及びパディングデータを含むパケットと、パディングデータのみを含む調整用パケットの2種類が存在することになる。
When an embodiment of the present invention is applied to the technology of
この場合、受信装置がこれらの2種類のパケットを識別できるようにするため、パディングデータ群の末尾には、当該パディングデータの数が設定される。 In this case, the number of padding data is set at the end of the padding data group so that the receiving device can distinguish between these two types of packets.
受信装置は、パディングデータの末尾に設定された数が、RTPペイロードにマッピングされた全パディングデータの数(予め設定された数)に一致する場合、受信したパケットが調整用パケットであると識別する。一方、受信装置は、前記数が一致しない場合、圧縮信号及びパディングデータを含むパケットであると識別する。 If the number set at the end of the padding data matches the total number of padding data mapped to the RTP payload (a preset number), the receiving device identifies the received packet as a calibration packet. On the other hand, if the numbers do not match, the receiving device identifies the packet as containing a compressed signal and padding data.
調整部22の調整用パケット増減部24は、ステップS518から移行して、調整用パケット増減処理を行う(ステップS519)。ステップS519の調整用パケット増減処理の詳細については後述する。
The adjustment packet increase/
調整用パケット増減部24は、調整用パケット増減処理の後、増減後の調整用パケットを送信する(ステップS520)。
After performing the adjustment packet increase/decrease process, the adjustment packet increase/
(調整用パケット増減処理/ステップS519)
図6は、調整用パケット増減処理(ステップS519)を示すフローチャートである。調整用パケット増減部24は、ステップS517にて算出されたパケット総数Npacketと、ステップS507にて算出されたパケット総数目標値Npacket_targetとを比較する(ステップS601)。
(Adjustment packet increase/decrease process/step S519)
6 is a flowchart showing the adjustment packet increase/decrease process (step S519). The adjustment packet increase/
調整用パケット増減部24は、ステップS601において、パケット総数Npacketがパケット総数目標値Npacket_targetよりも小さいと判定した場合(ステップS601:Npacket<Npacket_target)、ステップS602,S603にて、調整用パケットを増加させる処理を行う。
If the adjustment packet increase/
具体的には、調整用パケット増減部24は、予め設定された調整データをRTPペイロードにマッピングし、UDP、IP及びMAC処理により、1個分のパケット化処理を行い、生成済みの調整用パケットに対して1個分の調整用パケットを追加する(ステップS602)。調整用パケット増減部24は、パケット総数Npacketを1つだけインクリメントし(ステップS603)、ステップS601へ移行する。これにより、図5のステップS520にて送信される調整用パケットの数が増加する。
Specifically, the adjustment packet adding/reducing
一方、調整用パケット増減部24は、ステップS601において、パケット総数Npacketがパケット総数目標値Npacket_targetよりも大きいと判定した場合(ステップS601:Npacket>Npacket_target)、ステップS604,S605にて、調整用パケットを減少させる処理を行う。
On the other hand, if the adjustment packet increase/
具体的には、調整用パケット増減部24は、生成済みの調整用パケットから1個分の調整用パケットを削減し(ステップS604)、パケット総数Npacketを1つだけデクリメントし(ステップS605)、ステップS601へ移行する。これにより、図5のステップS520にて送信される調整用パケットの数が減少する。
Specifically, the adjustment packet increase/
一方、調整用パケット増減部24は、ステップS601において、パケット総数Npacket及びパケット総数目標値Npacket_targetが等しいと判定した場合(ステップS601:Npacket_target=Npacket)、当該処理を終了する。
On the other hand, if the adjustment packet increase/
このように、図5のステップS518にて生成済みの調整用パケット基準数Adj個分の調整用パケットを基準にして、パケット総数Npacket及びパケット総数目標値Npacket_targetが等しいと判定されるまで、調整用パケットの増減処理が行われる。そして、パケット総数Npacket及びパケット総数目標値Npacket_targetが等しいと判定されたときの増減処理後の数の調整用パケットが、図5のステップS520にて送信される。 In this way, the adjustment packets are increased or decreased based on the adjustment packet reference number Adj already generated in step S518 of FIG. 5 until it is determined that the total number of packets Npacket and the target value for the total number of packets Npacket_target are equal. Then, the number of adjustment packets after the increase or decrease process when it is determined that the total number of packets Npacket and the target value for the total number of packets Npacket_target are equal is transmitted in step S520 of FIG. 5.
次に、図6に示した調整用パケット増減処理において、パケット総数目標値Npacket_target、パケット総数Npacket、調整用パケット基準数Adj及び実際に送信される調整用パケットの数について説明する。図7(1)は、パケット総数目標値Npacket_targetを説明する図であり、(2)は、パケット総数Npacketがパケット総数目標値Npacket_targetよりも小さい場合を説明する図であり、(3)は、パケット総数Npacketがパケット総数目標値Npacket_targetよりも大きい場合を説明する図である。 Next, the total packet count target value Npacket_target, the total packet count Npacket, the adjustment packet reference number Adj, and the number of adjustment packets actually sent in the adjustment packet increase/decrease process shown in Figure 6 will be explained. Figure 7 (1) is a diagram explaining the total packet count target value Npacket_target, (2) is a diagram explaining a case where the total packet count Npacket is smaller than the total packet count target value Npacket_target, and (3) is a diagram explaining a case where the total packet count Npacket is larger than the total packet count target value Npacket_target.
(1)を参照して、パケット総数目標値Npacket_targetは、生成パケットの数に対応する生成パケット基準数Np、及び調整用パケットの数に対応する調整用パケット基準数Adjからなる。 Referring to (1), the target value for the total number of packets, Npacket_target, consists of a reference number of packets to be generated, Np, which corresponds to the number of packets to be generated, and a reference number of adjustment packets, Adj, which corresponds to the number of adjustment packets.
前述のとおり、図1に示した圧縮信号生成部10は、映像フレームをスライス毎のスライスデータに分け、スライス毎に、前述の非特許文献2のJPEG-XS規格に従い、スライスデータを圧縮して圧縮信号を生成する。
As mentioned above, the
ここで、JPEG-XS規格により、スライス毎の圧縮信号のデータ量であるスライスデータ量は、スライス毎に可変であるが、1映像フレームにおけるスライス毎の圧縮信号の合計量であるフレームデータ量は、映像フレーム間で一定である。つまり、映像フレームあたりの圧縮信号のデータ量Lcodは、映像フレーム間で一定である。このため、映像フレームあたりの圧縮信号のデータ量Lcod等を用いて算出される生成パケット基準数Np及びパケット総数目標値Npacket_targetも、映像フレーム間で一定となる。 Here, according to the JPEG-XS standard, the slice data amount, which is the amount of data in the compressed signal for each slice, varies for each slice, but the frame data amount, which is the total amount of compressed signal for each slice in one video frame, is constant between video frames. In other words, the amount of data Lcod of the compressed signal per video frame is constant between video frames. For this reason, the reference number of packets to be generated Np and the target value for the total number of packets Npacket_target, which are calculated using the amount of data Lcod of the compressed signal per video frame, etc., are also constant between video frames.
このように、フレームデータ量は映像フレーム間で一定であるが、スライスデータ量はスライス毎に可変であるため、映像フレームにおいて全てのスライスデータから生成される生成パケット数Npacket_tmpは、映像フレーム毎に可変となる。 Thus, the amount of frame data is constant between video frames, but the amount of slice data varies from slice to slice, so the number of generated packets Npacket_tmp generated from all slice data in a video frame varies from video frame to video frame.
つまり、(2)に示すように、生成パケット数Npacket_tmpが生成パケット基準数Npよりも小さい場合もあるし、(3)に示すように、生成パケット数Npacket_tmpが生成パケット基準数Npよりも大きい場合もある。 In other words, as shown in (2), the number of generated packets Npacket_tmp may be smaller than the reference number of generated packets Np, and as shown in (3), the number of generated packets Npacket_tmp may be larger than the reference number of generated packets Np.
(2)を参照して、パケット総数Npacketがパケット総数目標値Npacket_targetよりも小さい場合(ステップS601:Npacket<Npacket_target)、その差分に相当する数だけ調整用パケットが増加する。これにより、当該映像フレームにおいて送信される調整用パケットの数は、調整用パケット基準数Adjに対して差分を加えた数となる。 Referring to (2), if the total number of packets Npacket is smaller than the target value for the total number of packets Npacket_target (step S601: Npacket < Npacket_target), the number of adjustment packets is increased by the number equivalent to the difference. As a result, the number of adjustment packets transmitted in the video frame is the number obtained by adding the difference to the adjustment packet reference number Adj.
(3)を参照して、パケット総数Npacketがパケット総数目標値Npacket_targetよりも大きい場合(ステップS601:Npacket>Npacket_target)、その差分に相当する数だけ調整用パケットが減少する。これにより、当該映像フレームにおいて送信される調整用パケットの数は、調整用パケット基準数Adjに対して差分を減算した数となる。 Referring to (3), if the total number of packets Npacket is greater than the target value for the total number of packets Npacket_target (step S601: Npacket>Npacket_target), the number of adjustment packets is reduced by the number equivalent to the difference. As a result, the number of adjustment packets transmitted in the video frame becomes the number obtained by subtracting the difference from the adjustment packet reference number Adj.
〔シミュレーション結果〕
次に、計算機によるシミュレーション結果について説明する。図8は、シミュレーション結果を示す図であり、本件特許出願時に未公開の特願2019-219809号公報に記載の手法(最初の映像フレームにて目標値を決定する手法)による結果、及び本発明の実施形態による結果を示している。
[Simulation results]
Next, the results of a computer simulation will be described. Fig. 8 is a diagram showing the results of the simulation, which shows the results of the method described in Japanese Patent Application No. 2019-219809 (a method for determining a target value in the first video frame) that was not yet published at the time of filing this patent application, and the results of an embodiment of the present invention.
図8の下部の左側のグラフにおいて、横軸はフレーム番号を示し、縦軸は、特願2019-219809号公報に記載の手法を用いた場合のパケット総数の目標値Npacket_firstと生成パケット数Npacket_first_tmpの差、すなわち調整用パケットの数を示す。 In the graph on the left at the bottom of Figure 8, the horizontal axis indicates the frame number, and the vertical axis indicates the difference between the target value Npacket_first for the total number of packets and the number of generated packets Npacket_first_tmp when using the method described in Japanese Patent Application No. 2019-219809, i.e., the number of adjustment packets.
また、図8の下部の右側のグラフにおいて、横軸はフレーム番号を示し、縦軸は、本発明の実施形態を用いた場合のパケット総数目標値Npacket_targetと生成パケット数Npacket_tmpの差、すなわち調整用パケットの数を示す。 In addition, in the graph on the lower right side of Figure 8, the horizontal axis indicates the frame number, and the vertical axis indicates the difference between the target value for the total number of packets Npacket_target and the number of generated packets Npacket_tmp when an embodiment of the present invention is used, i.e., the number of adjustment packets.
aは、RTPペイロード長RTPlen=64バイト、特願2019-219809号公報に記載の手法の目標値Npacket_first=16303、及び本発明の実施形態のパケット総数目標値Npacket_target=16267の場合の特性を示す。b,c,dは、図8の上部の表のとおり、RTPペイロード長RTPlen、特願2019-219809号公報に記載の手法の目標値Npacket_first、及び本発明の実施形態のパケット総数目標値Npacket_targetの場合の特性をそれそれ示す。 a shows the characteristics when the RTP payload length RTPlen = 64 bytes, the target value Npacket_first = 16303 of the method described in Japanese Patent Application No. 2019-219809, and the target value Npacket_target of the total number of packets in the embodiment of the present invention = 16267. b, c, and d show the characteristics when the RTP payload length RTPlen, the target value Npacket_first of the method described in Japanese Patent Application No. 2019-219809, and the target value Npacket_target of the total number of packets in the embodiment of the present invention are respectively as shown in the table at the top of Figure 8.
図8から、a,b,c,dの全ての特性において、本発明の実施形態におけるパケット総数目標値Npacket_targetと生成パケット数Npacket_tmpの差の方が、特願2019-219809号公報に記載の手法における目標値Npacket_firstと生成パケット数Npacket_first_tmpの差よりも小さいことがわかる。 From Figure 8, it can be seen that for all characteristics a, b, c, and d, the difference between the target value Npacket_target for the total number of packets and the number of generated packets Npacket_tmp in the embodiment of the present invention is smaller than the difference between the target value Npacket_first and the number of generated packets Npacket_first_tmp in the method described in Japanese Patent Application No. 2019-219809.
これらの差は、生成される調整用パケットの数に相当するため、映像フレーム毎に生成される調整用パケットの数は、本発明の実施形態の方が特願2019-219809号公報に記載の手法よりも小さい。これにより、本発明の実施形態の方が特願2019-219809号公報に記載の手法よりも、低伝送レートにて、生成パケット及び調整用パケットを送信することができる。したがって、本発明の実施形態では、特願2019-219809号公報に記載の手法に対して、無駄な伝送レートの増大を抑えることができる。 These differences correspond to the number of adjustment packets generated, so the number of adjustment packets generated for each video frame is smaller in the embodiment of the present invention than in the method described in Japanese Patent Application No. 2019-219809. As a result, the embodiment of the present invention can transmit generated packets and adjustment packets at a lower transmission rate than the method described in Japanese Patent Application No. 2019-219809. Therefore, the embodiment of the present invention can suppress unnecessary increases in transmission rate compared to the method described in Japanese Patent Application No. 2019-219809.
以上のように、本発明の実施形態のパケット生成装置1によれば、圧縮信号生成部10は、映像フレーム毎に、当該映像フレームに基づいてピクチャヘッダを生成する。また、圧縮信号生成部10は、映像フレームをスライス毎のスライスデータに分け、JPEG-XS規格に従ってスライスデータを圧縮し、当該スライスのスライスデータに基づいたスライスヘッダ及び圧縮信号を生成する。
As described above, according to the
パケット生成部11は、ピクチャヘッダに含まれる映像フレームの垂直方向のライン数Hfをスライスのライン数Hslで除算することで、映像フレームのスライス数を示す調整用パケット基準数Adjを求め、ピクチャヘッダに含まれる映像フレームあたりの圧縮信号のデータ量Lcodを予め設定されたRTPペイロード長RTPlenで除算することで、生成パケット基準数Npを求め、生成パケット基準数Npに調整用パケット基準数Adjを加算することで、パケット総数目標値Npacket_targetを求める。
The
パケット生成部11は、映像フレーム毎に、当該映像フレームから生成される生成パケット及び調整用パケットの数の合計(パケット総数Npacket)がパケット総数目標値Npacket_targetと同一になるように、調整用パケットの数を増減させる。
The
これにより、複雑な映像から単調な映像に変化した場合、またはその逆の場合であっても、圧縮パラメータが変更されない限り、パケット総数目標値Npacket_targetは変化することがない。つまり、スライスマッピング法において、映像フレーム毎に生成されるパケットのデータ量及び数を一定にし、かつ、映像フレームあたりのパケット数の目標値を最初の映像フレームに依存することなく一定にすることができる。 As a result, even if the image changes from complex to monotonous, or vice versa, the target value for the total number of packets, Npacket_target, will not change unless the compression parameters are changed. In other words, in the slice mapping method, the amount and number of packets generated for each video frame can be kept constant, and the target value for the number of packets per video frame can be kept constant, independent of the first video frame.
また、スライスマッピング法において生成される映像フレーム毎のパケット数が一定となるため、前述の非特許文献1のSMPTE ST2110-22規格の制約を満足する圧縮信号のパケット伝送を実現することができる。そして、映像の複雑さの程度に関わることなく、映像フレーム毎にパケットのデータ量及び数が一定になるため、伝送レートを固定にすることができ、当該伝送レートを事前に検討することができる。
In addition, because the number of packets generated for each video frame in the slice mapping method is constant, it is possible to realize packet transmission of a compressed signal that satisfies the constraints of the SMPTE ST2110-22 standard in the aforementioned
例えば、特願2019-219809号公報に記載の手法(最初の映像フレームにて目標値を決定する手法)では、最初の映像が複雑な場合に、目標値が大きくなってしまい、後に単調な映像を伝送する際に、調整用パケットの数が増え、無駄な伝送レートが増大してしまうという問題があった。本発明の実施形態では、映像の複雑さの程度に関わることなく、映像フレーム毎に生成されるパケットの数が一定となるため、無駄な調整用パケットの数が増えることがなく、伝送レートが増大することがない。 For example, in the method described in Japanese Patent Application No. 2019-219809 (a method of determining a target value in the first video frame), when the first video is complex, the target value becomes large, and when a monotonous video is transmitted later, the number of adjustment packets increases, resulting in an unnecessary increase in the transmission rate. In an embodiment of the present invention, the number of packets generated for each video frame is constant regardless of the degree of complexity of the video, so the number of unnecessary adjustment packets does not increase, and the transmission rate does not increase.
以上、実施形態を挙げて本発明を説明したが、本発明は前記実施形態に限定されるものではなく、その技術思想を逸脱しない範囲で種々変形可能である。 The present invention has been described above using embodiments, but the present invention is not limited to the above embodiments and can be modified in various ways without departing from the technical concept thereof.
尚、本発明の実施形態によるパケット生成装置1のハードウェア構成としては、通常のコンピュータを使用することができる。パケット生成装置1は、CPU、RAM等の揮発性の記憶媒体、ROM等の不揮発性の記憶媒体、及びインターフェース等を備えたコンピュータによって構成される。
The hardware configuration of the
パケット生成装置1に備えた圧縮信号生成部10及びパケット生成部11(ピクチャヘッダ処理部20、スライスヘッダ及びデータ処理部21及び調整部22)の各機能は、これらの機能を記述したプログラムをCPUに実行させることによりそれぞれ実現される。
The functions of the
これらのプログラムは、前記記憶媒体に格納されており、CPUに読み出されて実行される。また、これらのプログラムは、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスク等)、光ディスク(CD-ROM、DVD等)、半導体メモリ等の記憶媒体に格納して頒布することもでき、ネットワークを介して送受信することもできる。 These programs are stored in the storage medium and are read and executed by the CPU. In addition, these programs can be distributed by storing them on storage media such as magnetic disks (floppy disks, hard disks, etc.), optical disks (CD-ROMs, DVDs, etc.), and semiconductor memories, and can also be transmitted and received via a network.
1 パケット生成装置
10 圧縮信号生成部
11 パケット生成部
20 ピクチャヘッダ処理部
21 スライスヘッダ及びデータ処理部
22 調整部
23 調整用パケット処理部
24 調整用パケット増減部
Lcod 映像フレームあたりの圧縮信号のデータ量
Hf 映像フレームの垂直方向のライン数
Hsl スライスのライン数
RTPlen RTPペイロード長
Np 生成パケット基準数(映像フレームあたりの圧縮信号に対応するRTPパケット数)
Adj 調整用パケット基準数(映像フレームのスライス数)
Npacket_target パケット総数目標値
Npacket_tmp 生成パケット数
Npacket パケット総数
REFERENCE SIGNS
Lcod Data volume of compressed signal per video frame
Hf The number of vertical lines in a video frame
Number of lines in the Hsl slice
RTPlen RTP payload length
Np: Reference number of packets generated (number of RTP packets corresponding to the compressed signal per video frame)
Adj: Adjustment packet reference number (number of slices in a video frame)
Npacket_target Total number of packets target value
Npacket_tmp Number of packets generated
Npacket Total number of packets
Claims (4)
前記映像フレームをスライス毎に圧縮し、前記スライス毎の前記圧縮信号を生成する圧縮信号生成部と、
前記映像フレーム毎に、前記圧縮信号生成部により生成された前記スライス毎の前記圧縮信号をパケット化して生成パケットを生成すると共に、所定の調整用パケット基準数Adjの調整用パケットを生成し、
前記映像フレームについての前記生成パケット及び前記調整用パケットの総数が、所定のパケット総数目標値Npacket_targetと同一になるように、前記調整用パケットの数を増減させるパケット生成部と、を備え、
前記パケット生成部は、
前記映像フレームあたりの前記圧縮信号のデータ量Lcodであって、前記映像フレーム間で一定の前記データ量Lcodから得られる前記映像フレームあたりの前記生成パケットの数を生成パケット基準数Npとし、前記映像フレームあたりの前記スライスの数を前記調整用パケット基準数Adjとして、
前記生成パケット基準数Npに前記調整用パケット基準数Adjを加算することで、前記パケット総数目標値Npacket_targetを求める、ことを特徴とするパケット生成装置。 A packet generation device for packetizing a compressed signal obtained by compressing a video frame, comprising:
a compressed signal generating unit that compresses the video frame for each slice and generates the compressed signal for each slice;
packetizing the compressed signal for each slice generated by the compressed signal generating unit for each video frame to generate generated packets, and generating adjustment packets of a predetermined adjustment packet reference number Adj;
a packet generation unit that increases or decreases the number of the adjustment packets so that a total number of the generated packets and the adjustment packets for the video frame becomes equal to a predetermined total packet number target value Npacket_target,
The packet generation unit
The data amount Lcod of the compressed signal per video frame is a constant data amount Lcod between the video frames, and the number of generated packets per video frame obtained from the data amount Lcod is a generated packet reference number Np, and the number of slices per video frame is the adjustment packet reference number Adj,
A packet generating device, comprising: a packet generating unit that calculates the target value Npacket_target for the total number of packets by adding the adjustment packet reference number Adj to the generated packet reference number Np.
前記パケット生成部は、
前記映像フレームあたりの前記圧縮信号のデータ量Lcodを、予め設定された前記生成パケットのペイロード長で除算することで、前記生成パケット基準数Npを求め、
前記映像フレームの垂直方向のライン数Hfを、前記スライスのライン数Hslで除算することで、前記調整用パケット基準数Adjを求め、
前記生成パケット基準数Npに前記調整用パケット基準数Adjを加算することで、前記パケット総数目標値Npacket_targetを求める、ことを特徴とするパケット生成装置。 2. The packet generating device according to claim 1,
The packet generation unit
obtain the generated packet reference number Np by dividing the data amount Lcod of the compressed signal per video frame by a preset payload length of the generated packets;
The adjustment packet reference number Adj is obtained by dividing the number of lines Hf in the vertical direction of the video frame by the number of lines Hsl of the slice;
A packet generating device, comprising: a packet generating unit that calculates the target value Npacket_target for the total number of packets by adding the adjustment packet reference number Adj to the generated packet reference number Np.
前記圧縮信号生成部は、
前記映像フレーム毎に、前記映像フレームから前記映像フレームあたりの前記圧縮信号のデータ量Lcod、前記映像フレームの垂直方向のライン数Hf、及び前記スライスのライン数Hslを含むピクチャヘッダを生成し、前記映像フレームの前記スライス毎に、スライスヘッダを生成すると共に前記圧縮信号を生成し、
前記パケット生成部は、
前記圧縮信号生成部により生成された前記ピクチャヘッダから、前記映像フレームあたりの前記圧縮信号のデータ量Lcod、前記映像フレームの垂直方向のライン数Hf、及び前記スライスのライン数Hslを取得し、
前記映像フレームあたりの前記圧縮信号のデータ量Lcodを、予め設定された前記生成パケットのペイロード長で除算することで、前記生成パケット基準数Npを求め、
前記映像フレームの垂直方向のライン数Hfを、前記スライスのライン数Hslで除算することで、前記調整用パケット基準数Adjを求め、
前記生成パケット基準数Npに前記調整用パケット基準数Adjを加算することで、前記パケット総数目標値Npacket_targetを求め、
前記映像フレーム毎に、前記圧縮信号生成部により生成された前記ピクチャヘッダ、並びに前記スライス毎の前記スライスヘッダ及び前記圧縮信号をパケット化して前記生成パケットを生成すると共に、前記調整用パケット基準数Adjの前記調整用パケットを生成し、
前記映像フレームについての前記生成パケット及び前記調整用パケットの総数が、前記パケット総数目標値Npacket_targetと同一になるように、前記調整用パケットの数を増減させる、ことを特徴とするパケット生成装置。 2. The packet generating device according to claim 1,
The compressed signal generation unit
generating a picture header from the video frame, the picture header including a data amount Lcod of the compressed signal per video frame, a vertical line number Hf of the video frame, and a line number Hsl of the slice, and generating a slice header and the compressed signal for each slice of the video frame;
The packet generation unit
obtain, from the picture header generated by the compressed signal generation unit, a data amount Lcod of the compressed signal per video frame, a vertical line number Hf of the video frame, and a line number Hsl of the slice;
obtain the generated packet reference number Np by dividing the data amount Lcod of the compressed signal per video frame by a preset payload length of the generated packets;
The adjustment packet reference number Adj is obtained by dividing the number of lines Hf in the vertical direction of the video frame by the number of lines Hsl of the slice;
The total packet number target value Npacket_target is calculated by adding the adjustment packet reference number Adj to the generated packet reference number Np;
packetizing the picture header generated by the compressed signal generating unit, and the slice header and the compressed signal for each slice, to generate the generated packets, and generating the adjustment packets of the adjustment packet reference number Adj;
A packet generating device, comprising: a packet generating unit configured to increase or decrease the number of the adjustment packets so that the total number of the generated packets and the adjustment packets for the video frame becomes equal to the total packet number target value Npacket_target.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2020171591A JP7570877B2 (en) | 2020-10-10 | 2020-10-10 | Packet generation device and program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2020171591A JP7570877B2 (en) | 2020-10-10 | 2020-10-10 | Packet generation device and program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2022063178A JP2022063178A (en) | 2022-04-21 |
| JP7570877B2 true JP7570877B2 (en) | 2024-10-22 |
Family
ID=81255102
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2020171591A Active JP7570877B2 (en) | 2020-10-10 | 2020-10-10 | Packet generation device and program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP7570877B2 (en) |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2010136220A (en) | 2008-12-05 | 2010-06-17 | Panasonic Corp | Communication terminal device, communication volume control method, and integrated circuit |
| JP2017034664A (en) | 2015-08-03 | 2017-02-09 | パナソニックIpマネジメント株式会社 | Transmission method, reception method, transmission device, and reception device. |
| JP2018050242A (en) | 2016-09-23 | 2018-03-29 | 沖電気工業株式会社 | Information distribution device, relay device, information distribution program, relay program, information distribution method, relay method, and information distribution system |
| JP2021090150A (en) | 2019-12-04 | 2021-06-10 | 日本放送協会 | Packet generating device and program |
-
2020
- 2020-10-10 JP JP2020171591A patent/JP7570877B2/en active Active
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2010136220A (en) | 2008-12-05 | 2010-06-17 | Panasonic Corp | Communication terminal device, communication volume control method, and integrated circuit |
| JP2017034664A (en) | 2015-08-03 | 2017-02-09 | パナソニックIpマネジメント株式会社 | Transmission method, reception method, transmission device, and reception device. |
| JP2018050242A (en) | 2016-09-23 | 2018-03-29 | 沖電気工業株式会社 | Information distribution device, relay device, information distribution program, relay program, information distribution method, relay method, and information distribution system |
| JP2021090150A (en) | 2019-12-04 | 2021-06-10 | 日本放送協会 | Packet generating device and program |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2022063178A (en) | 2022-04-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR101399509B1 (en) | Data streaming through time-varying transport media | |
| US10686693B2 (en) | Method and system for optimized routing of data streams in telecommunication networks | |
| US8675728B2 (en) | Transmitting apparatus and method, and receiving apparatus and method | |
| US20150172680A1 (en) | Producing an Output Need Parameter for an Encoder | |
| CN106411565A (en) | Estimating processor load | |
| JP5434570B2 (en) | Stream distribution device | |
| CN108540827A (en) | Data processing method and device | |
| CN111741248A (en) | A data transmission method, device, terminal device and storage medium | |
| US8867628B2 (en) | Transmission apparatus and transmission method | |
| US7274742B2 (en) | Model and model update technique in a system for modeling the relationship of the bit rate of a transport stream and the bit rate of an elementary stream carried therein | |
| JP7525045B2 (en) | Coding parameter derivation device, coding parameter derivation method, and program | |
| US11197044B2 (en) | Communication apparatus, media distribution system, media distribution method, and non-transitory computer readable medium | |
| JP7570877B2 (en) | Packet generation device and program | |
| JP2017139521A (en) | Stream distributing device, stream receiving device, stream distributing system, stream distributing method, and stream distributing program | |
| JP7396881B2 (en) | Packet generator and program | |
| US7342968B2 (en) | Method and system for modeling the relationship of the bit rate of a transport stream and the bit rate of an elementary stream carried therein | |
| US11910033B2 (en) | Streaming server, transmission method, and program | |
| JP7121584B2 (en) | Image encoding device and its control method and program | |
| US12483519B2 (en) | Transmission system, transmission method and transmission program | |
| JP4604851B2 (en) | Transmission device, reception device, transmission processing method, reception processing method, and program thereof | |
| US10772010B2 (en) | Transmission apparatus, method for controlling transmission, and recording medium | |
| US10348507B2 (en) | Data processing system, data processing apparatus, and data processing method | |
| JP4544528B2 (en) | Data transmission equipment | |
| JP2016149770A (en) | Minimization system of streaming latency and method of using the same | |
| JP4612820B2 (en) | Communication control apparatus and method |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230901 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20240903 |
|
| 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: 20240912 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20241009 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7570877 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |