JP5625776B2 - Program, multiplexing apparatus and multiplexing method - Google Patents

Program, multiplexing apparatus and multiplexing method Download PDF

Info

Publication number
JP5625776B2
JP5625776B2 JP2010252414A JP2010252414A JP5625776B2 JP 5625776 B2 JP5625776 B2 JP 5625776B2 JP 2010252414 A JP2010252414 A JP 2010252414A JP 2010252414 A JP2010252414 A JP 2010252414A JP 5625776 B2 JP5625776 B2 JP 5625776B2
Authority
JP
Japan
Prior art keywords
multiplexing
upper limit
value
multiplexing section
priority
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
Application number
JP2010252414A
Other languages
Japanese (ja)
Other versions
JP2012105105A (en
Inventor
真喜子 此島
真喜子 此島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2010252414A priority Critical patent/JP5625776B2/en
Publication of JP2012105105A publication Critical patent/JP2012105105A/en
Application granted granted Critical
Publication of JP5625776B2 publication Critical patent/JP5625776B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、プログラム、多重化装置及び多重化方法に関する。   The present invention relates to a program, a multiplexing device, and a multiplexing method.

動画像や音声など各メディアのデータを伝送する際、これらを符号化してビットストリームを生成し、各ビットストリームを多重化して、1つのストリームで伝送することが行われている。   When transmitting data of each medium such as a moving image and sound, these are encoded to generate a bit stream, and each bit stream is multiplexed and transmitted in one stream.

従来、受信側のデコーダモデルを規定し、このデコーダモデルにおける仮想バッファが、オーバーフローまたはアンダーフローによる破綻を起こさないように多重化処理が行われている。たとえば、デコーダモデルの仮想バッファ推移をフレームごとに検証して、フレームデコード時間ごとに、デコーダモデルの仮想バッファから各フレームの符号化データ量を減じて、設定ビットレートに応じたバッファ量を増分する手法が知られている。この手法は、デコーダモデルの仮想バッファがオーバーフローしないように、バッファ増分量を調整し、バッファ増分量に基づき、多重化比率を制御するものである。   Conventionally, a decoder model on the receiving side is defined, and a multiplexing process is performed so that a virtual buffer in this decoder model does not fail due to overflow or underflow. For example, the transition of the virtual buffer of the decoder model is verified for each frame, and the encoded data amount of each frame is subtracted from the virtual buffer of the decoder model at each frame decoding time, and the buffer amount corresponding to the set bit rate is incremented. Techniques are known. In this method, the buffer increment is adjusted so that the virtual buffer of the decoder model does not overflow, and the multiplexing ratio is controlled based on the buffer increment.

特開2001−339718号公報JP 2001-339718 A 特開平8−256329号公報JP-A-8-256329 特開平9−139720号公報JP-A-9-139720 国際公開第98/32252号International Publication No. 98/32252

しかしながら、複数種類のメディアのビットストリームを多重化する際、伝送路の容量などを考慮して多重化後のビットレートに上限を設けている場合、その上限を守り、なおかつ、仮想バッファが破綻を起こさないように多重化することが困難であった。   However, when multiplexing bit streams of multiple types of media, if an upper limit is set for the bit rate after multiplexing in consideration of the capacity of the transmission path, the upper limit is observed, and the virtual buffer fails. It was difficult to multiplex so as not to occur.

発明の一観点によれば、以下のようなプログラムが提供される。このプログラムは、多重化対象の複数のビットストリームそれぞれに対して多重化における優先度を算出し、多重化区間内の前記複数のビットストリームの情報量の積算値と所定の上限値とを比較し、前記積算値と前記上限値との比較結果及び前記優先度をもとに、前記複数のビットストリームから多重化するビットストリームを選択する、処理をコンピュータに実行させる。   According to one aspect of the invention, the following program is provided. This program calculates the priority in multiplexing for each of a plurality of bit streams to be multiplexed, and compares the integrated value of the information amount of the plurality of bit streams in a multiplexing section with a predetermined upper limit value. The computer executes a process of selecting a bitstream to be multiplexed from the plurality of bitstreams based on a comparison result between the integrated value and the upper limit value and the priority.

開示のプログラム、多重化装置及び多重化方法によれば、デコーダ側のバッファの破綻を防止できるとともに、ビットレートの上限に応じた多重化が可能となる。   According to the disclosed program, multiplexing apparatus, and multiplexing method, it is possible to prevent the decoder buffer from failing and to perform multiplexing according to the upper limit of the bit rate.

本実施の形態の多重化装置の一例を示す図である。It is a figure which shows an example of the multiplexing apparatus of this Embodiment. 多重化装置の動作の一例を示す図である。It is a figure which shows an example of operation | movement of a multiplexing apparatus. ビットストリームの多重化区間とアクセスユニットの一例を示す図である。It is a figure which shows an example of the multiplexing area and access unit of a bit stream. 優先度算出処理の一例の流れを示すフローチャートである。It is a flowchart which shows the flow of an example of a priority calculation process. Bdiffminの計算例を示す図である。It is a figure which shows the example of calculation of Bdiffmin. 複数のメディアのビットストリームと多重化区間の一例を示す図である。It is a figure which shows an example of the bit stream of a some media, and a multiplexing area. 多重化するビットストリームの選択処理及び多重化処理の一例を示すフローチャートである(その1)。12 is a flowchart illustrating an example of selection processing and multiplexing processing of a bit stream to be multiplexed (part 1). 多重化するビットストリームの選択処理及び多重化処理の一例を示すフローチャートである(その2)。12 is a flowchart illustrating an example of selection processing and multiplexing processing of a bit stream to be multiplexed (part 2). データの多重化における、時間と送信残りビット数の関係の一例を示す図である。It is a figure which shows an example of the relationship between time and the number of remaining transmission bits in data multiplexing. 本実施の形態に用いるコンピュータのハードウェアの一例を示す図である。It is a figure which shows an example of the hardware of the computer used for this Embodiment.

以下、本発明の実施の形態を、図面を参照しつつ説明する。
図1は、本実施の形態の多重化装置の一例を示す図である。
多重化装置10は、多重化部11、優先度計算部12−1,12−2,…,12−n、選択部13、記憶部14を有している。
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
FIG. 1 is a diagram illustrating an example of a multiplexing apparatus according to the present embodiment.
The multiplexing apparatus 10 includes a multiplexing unit 11, priority calculation units 12-1, 12-2, ..., 12-n, a selection unit 13, and a storage unit 14.

多重化部11は、符号化部20−1,20−2,…,20−nで符号化されて、メモリ21−1,21−2,…,21−nに一旦蓄えられた複数種類のメディアのビットストリームを多重化する。メディアは、音声、動画などである。   The multiplexing unit 11 is encoded by the encoding units 20-1, 20-2,..., 20-n and is stored in a plurality of types once stored in the memories 21-1, 21-2,. Multiplex media bitstreams. The media is audio, video, etc.

優先度計算部12−1〜12−nは、多重化対象の複数のビットストリームそれぞれに対して、多重化における優先度を算出する。優先度計算部12−1〜12−nは、たとえば、メディアごとに規格で定められたデコーダモデルのデコーダバッファサイズ、デコード単位(以下アクセスユニットという)、またはデコード開始時刻を示すDTS(Decoding Time Stamp)に応じて優先度を算出する。優先度は、デコーダモデルにおいて、実際のデコーダバッファを仮想した仮想バッファが破綻する危険性のある度合いを意味する。   The priority calculation units 12-1 to 12-n calculate the priority in multiplexing for each of a plurality of bit streams to be multiplexed. The priority calculation units 12-1 to 12-n, for example, a decoder buffer size, a decoding unit (hereinafter referred to as an access unit) of a decoder model defined by a standard for each medium, or a DTS (Decoding Time Stamp) indicating a decoding start time. ) To calculate the priority. The priority means a degree of risk that a virtual buffer that is an actual decoder buffer may fail in the decoder model.

選択部13は、ある多重化区間内の複数種類のメディアのビットストリームの情報量の積算値を求め、その積算値(たとえば、単位はビット数)と、所定の上限値(たとえば、単位はビット数)とを比較する。そして、選択部13は、積算値と上限値との比較結果と、算出された優先度をもとに、複数のビットストリームから多重化するビットストリームを選択する。上限値は、たとえば、多重化したビットストリームを流す伝送路の容量などを考慮して設定されるビットレートの上限の値に、多重化区間の時間を乗じた値となる。   The selection unit 13 obtains an integrated value of the information amount of bit streams of a plurality of types of media in a certain multiplexing section, and calculates the integrated value (for example, the unit is the number of bits) and a predetermined upper limit value (for example, the unit is the bit). Number). Then, the selection unit 13 selects a bit stream to be multiplexed from a plurality of bit streams based on the comparison result between the integrated value and the upper limit value and the calculated priority. The upper limit value is, for example, a value obtained by multiplying the upper limit value of the bit rate set in consideration of the capacity of the transmission path through which the multiplexed bit stream flows, and the time of the multiplexing section.

詳細は後述するが、たとえば、選択部13は、優先度の高い順に多重化するビットストリームを選択していく。
また、選択部13は前述の積算値が上限値を超える場合、多重化を行わなくても次の多重化区間での仮想バッファの破綻が起こらないメディアのビットストリームのうち、優先度が最も低いものを選択しない、などの処理を行う。または、選択部13は、前述の積算値が上限値を超える場合、優先度に応じて、多重化区間の終了境界を跨ぐアクセスユニットを有するビットストリームを選択して、選択したビットストリームのアクセスユニットを多重化対象から除外するなどの処理を行う。これにより、多重化後のビットストリームが上限値を超えることが抑制されるとともに、デコードバッファの破綻が防止される。
Although details will be described later, for example, the selection unit 13 selects bit streams to be multiplexed in descending order of priority.
In addition, when the integrated value exceeds the upper limit value, the selection unit 13 has the lowest priority among the bitstreams of media in which the virtual buffer does not fail in the next multiplexing section without multiplexing. Processes such as not selecting one. Alternatively, when the above integrated value exceeds the upper limit value, the selection unit 13 selects a bitstream having an access unit straddling the end boundary of the multiplexing section according to the priority, and the access unit of the selected bitstream Is excluded from the multiplexing target. This suppresses the multiplexed bit stream from exceeding the upper limit value and prevents the decoding buffer from failing.

記憶部14は、各メディアのデコーダバッファサイズ、アクセスユニットの情報(ビット数など)、DTSなどの規格値や、前述の上限値などを記憶する。記憶部14は、たとえば、ROM(Read Only Memory)などである。記憶部14は、多重化装置10外に設けられていてもよい。   The storage unit 14 stores the decoder buffer size of each medium, access unit information (number of bits, etc.), standard values such as DTS, the above-described upper limit value, and the like. The storage unit 14 is, for example, a ROM (Read Only Memory). The storage unit 14 may be provided outside the multiplexing apparatus 10.

なお、図1の例では、ビットストリームごとに、優先度計算部12−1〜12−nを設けているが、1つの優先度計算部が、各ビットストリームの優先度を算出するようにしてもよい。   In the example of FIG. 1, priority calculation units 12-1 to 12-n are provided for each bitstream. However, one priority calculation unit calculates the priority of each bitstream. Also good.

また、音声や動画などのメディア以外で、バッファモデルを持たないデータ情報(たとえば、字幕放送用のデータなど)や、時刻情報の情報量を考慮して、多重化を行うようにしてもよい。   Further, multiplexing may be performed in consideration of the information amount of time information and data information (for example, data for subtitle broadcasting) other than media such as audio and moving images.

以下、多重化装置10の動作を説明する。
図2は、多重化装置の動作の一例を示す図である。
ステップS1:優先度計算部12−1〜12−nは、ビットストリームごとに多重化における優先度を算出する。
Hereinafter, the operation of the multiplexing apparatus 10 will be described.
FIG. 2 is a diagram illustrating an example of the operation of the multiplexing apparatus.
Step S1: The priority calculation units 12-1 to 12-n calculate the priority in multiplexing for each bitstream.

ステップS2:選択部13は、多重化区間内の複数種類のメディアのビットストリームの情報量の積算値を求め、その積算値と、所定の上限値とを比較する。
ステップS3:そして、選択部13は、積算値と上限値との比較結果と、ステップS1の処理で算出された優先度をもとに、多重化するビットストリームを選択する。
Step S2: The selection unit 13 obtains an integrated value of the information amount of bit streams of a plurality of types of media in the multiplexing section, and compares the integrated value with a predetermined upper limit value.
Step S3: The selection unit 13 selects a bitstream to be multiplexed based on the comparison result between the integrated value and the upper limit value and the priority calculated in the process of step S1.

ステップS4:多重化部11は、選択部13で選択された複数のビットストリームを多重化して出力する。
このような、上限値と優先度を考慮した多重化処理を行うことで、多重化後のビットストリームがビットレートの上限を超えることが抑制されるとともに、デコードバッファの破綻が防止される。
Step S4: The multiplexing unit 11 multiplexes and outputs a plurality of bit streams selected by the selection unit 13.
By performing such multiplexing processing in consideration of the upper limit value and priority, it is possible to prevent the multiplexed bit stream from exceeding the upper limit of the bit rate and to prevent the decoding buffer from failing.

次に、上記の各処理の一例を、より詳細に説明する。
(優先度算出処理の一例)
図3は、ビットストリームの多重化区間とアクセスユニットの一例を示す図である。
Next, an example of each of the above processes will be described in more detail.
(Example of priority calculation processing)
FIG. 3 is a diagram illustrating an example of bit stream multiplexing sections and access units.

横軸は時間を表している。ビットストリームに含まれるアクセスユニットU1,U2,U3,U4,U5は、フレームやピクチャなどの同期単位であり、前述のようにデコード単位となる。   The horizontal axis represents time. Access units U1, U2, U3, U4, and U5 included in the bitstream are synchronization units such as frames and pictures, and are decoding units as described above.

多重化区間Gcは、必ずしも各アクセスユニットU1〜U5の切れ目で区切られているわけではなく、図3の例では、アクセスユニットU2の途中から、アクセスユニットU5の途中までの範囲で設定されている。   The multiplexing section Gc is not necessarily divided by the breaks between the access units U1 to U5. In the example of FIG. 3, the multiplexing section Gc is set in the range from the middle of the access unit U2 to the middle of the access unit U5. .

なお、以下では、多重化区間Gcは、運用規定などで定められたPCR(Program Clock Reference)の挿入間隔以下の適当な時間単位で設定されるものとする。また、アクセスユニットU1〜U5ごとに、DTSが付加されているとする。このため、どのアクセスユニットU1〜U5が多重化区間Gcに含まれるかどうかは、判別可能である。   In the following, it is assumed that the multiplexing section Gc is set in an appropriate time unit equal to or less than the insertion interval of the PCR (Program Clock Reference) defined by the operation regulations. Further, it is assumed that a DTS is added to each of the access units U1 to U5. For this reason, it is possible to determine which access units U1 to U5 are included in the multiplexing section Gc.

図4は、優先度算出処理の一例の流れを示すフローチャートである。
ステップS10:各アクセスユニットは発生情報量が一定とは限らない。そのため、優先度計算部12−1〜12−nは、ある多重化区間Gcにおいて、メモリ21−1〜21−nから読み出される各ビットストリームに対して、アクセスユニットごとの仮想バッファ量を算出する。たとえば、あるビットストリームにおいて、多重化区間Gcに、i個のアクセスユニットがある場合、仮想バッファ量Buff1〜Buffiが算出される。
FIG. 4 is a flowchart illustrating an exemplary flow of priority calculation processing.
Step S10: The amount of generated information is not always constant in each access unit. Therefore, the priority calculation units 12-1 to 12-n calculate the virtual buffer amount for each access unit for each bit stream read from the memories 21-1 to 21-n in a certain multiplexing section Gc. . For example, when there are i access units in the multiplexing section Gc in a certain bitstream, the virtual buffer amounts Buff1 to Buffi are calculated.

このとき、優先度計算部12−1〜12−nは、前回の多重化区間において、多重化対象とされなかったアクセスユニットがある場合については、今回の多重化区間の最初のアクセスユニットにその情報量を加算する。   At this time, when there are access units that are not targeted for multiplexing in the previous multiplexing section, the priority calculation units 12-1 to 12-n determine the priority access unit as the first access unit in the current multiplexing section. Add information.

ステップS11:優先度計算部12−1〜12−nは、多重化区間Gcで最大の仮想バッファ量BuffMAXと、最小の仮想バッファ量BuffMINを算出する。
ステップS11の処理において、優先度計算部12−1〜12−nは、多重化区間の境界を跨ぐアクセスユニットに対しては、仮想バッファ量が単純増加で推移するとして計算を行う。
Step S11: The priority calculation units 12-1 to 12-n calculate the maximum virtual buffer amount BuffMAX and the minimum virtual buffer amount BuffMIN in the multiplexing section Gc.
In the process of step S11, the priority calculation units 12-1 to 12-n perform calculations for the access units straddling the boundaries of the multiplexed sections, assuming that the virtual buffer amount changes with a simple increase.

また、各アクセスユニットでのバッファ引き抜き量をBuffoff1〜Buffoffiとすると、多重化区間Gc内のn番目のアクセスユニットの最後では、仮想バッファ量の積算値BUFFnは、以下の式のようになる。 Further, assuming that the buffer extraction amount in each access unit is Buffoff1 to Buffoffi, the integrated value BUFFn of the virtual buffer amount at the end of the nth access unit in the multiplexing section Gc is expressed by the following equation.

BUFFn=BUFFn-1+Buffn−Buffoffn
上式で、Buffnは、n番目のアクセスユニット自体の仮想バッファ量、Buffoffnはn番目のアクセスユニットでのバッファ引き抜き量である。すなわち、n−1番目のアクセスユニットまでの間に算出した仮想バッファ量の積算値BUFFn-1に、n番目の仮想バッファ量Buffnを加算し、バッファ引き抜き量Buffoffnを減算したものが、新たな仮想バッファ量の積算値BUFFnとなる。
BUFF n = BUFF n-1 + Buffn-Buffoffn
In the above equation, Buffn is the virtual buffer amount of the nth access unit itself, and Buffoffn is the buffer extraction amount of the nth access unit. That is, a value obtained by adding the nth virtual buffer amount Buffn and subtracting the buffer extraction amount Buffoffn to the virtual buffer amount integrated value BUFF n−1 calculated up to the (n−1) th access unit is a new one. The integrated value BUFF n of the virtual buffer amount.

そして、優先度計算部12−1〜12−nは、BuffMAX=MAX(BuffMAX,BUFFn)により、BuffMAXを算出する。MAX()は、括弧内の値から、最大値を出力する関数である。アクセスユニットごとに、それまでのBuffMAXと、仮想バッファ量の積算値BUFFnのうち大きい方が新たなBuffMAXとして算出される。 Then, the priority calculation unit 12-1 to 12-n is, BuffMAX = MAX (BuffMAX, BUFF n) by, calculating the BuffMAX. MAX () is a function that outputs the maximum value from the values in parentheses. For each access unit, the larger BuffMAX so far and the integrated value BUFF n of the virtual buffer amount are calculated as a new BuffMAX.

また、優先度計算部12−1〜12−nは、BuffMIN=MIN(BuffMIN,BUFFn)により、BuffMINを算出する。MIN()は、括弧内の値から、最小値を出力する関数である。アクセスユニットごとに、それまでのBuffMINと、仮想バッファ量の積算値BUFFnのうち小さい方が新たなBuffMINとして算出される。 Further, the priority calculation unit 12-1 to 12-n is, BuffMIN = MIN (BuffMIN, BUFF n) by, calculating the BuffMIN. MIN () is a function that outputs the minimum value from the values in parentheses. For each access unit, and BuffMIN until then, the smaller of the integrated value BUFF n of the virtual buffer amount is calculated as a new BuffMIN.

なお、仮想バッファ量として0を許容する場合には、BuffMIN=BMAXとする。BMAXは、メディアごとに規格で定められた仮想バッファ量の許容値(最大値)である。   If 0 is allowed as the virtual buffer amount, BuffMIN = BMAX. BMAX is an allowable value (maximum value) of the virtual buffer amount defined by the standard for each medium.

ステップS12:優先度計算部12−1〜12−nは、多重化区間GcにおけるBMAX−BuffMAXとBuffMINとを比較し、小さい方の計算結果をBdiffminとする。   Step S12: The priority calculation units 12-1 to 12-n compare BMAX-BuffMAX and BuffMIN in the multiplexing section Gc, and set the smaller calculation result as Bdiffmin.

図5は、Bdiffminの計算例を示す図である。
横軸は時間、縦軸は仮想バッファ量を示している。図5では、あるビットストリームにおいて、アクセスユニットU10,U11,U12に多重化区間が設定された場合が示されている。図5に示すように仮想バッファ量が推移する場合、BMAX−BuffMAXより、BuffMINの方が小さい。従って、この場合は、BuffMINがBdiffminとして選択される。なお、BuffMINが小さいということは、この多重化区間においては、多重化を行わないと、仮想バッファのアンダーフローが発生する可能性があることが示される。一方、BMAX−BuffMAXが小さい場合には、その多重化区間においては、多重化を行わないと、仮想バッファからのデータの引き抜きが発生せず、オーバーフローが発生する可能性がある。
FIG. 5 is a diagram illustrating a calculation example of Bdiffmin.
The horizontal axis represents time, and the vertical axis represents the virtual buffer amount. FIG. 5 shows a case where a multiplexing section is set in access units U10, U11, and U12 in a certain bit stream. When the virtual buffer amount changes as shown in FIG. 5, BuffMIN is smaller than BMAX-BuffMAX. Therefore, in this case, BuffMIN is selected as Bdiffmin. Note that a small BuffMIN indicates that there is a possibility that an underflow of the virtual buffer may occur in this multiplexing section if no multiplexing is performed. On the other hand, when BMAX-BuffMAX is small, in the multiplexing section, if multiplexing is not performed, data is not extracted from the virtual buffer, and overflow may occur.

ステップS13:優先度計算部12−1〜12−nは、多重化区間Gcにおける優先度E=Bdiffmin/BMAXを算出する。優先度計算部12−1〜12−nは、各メディアのビットストリームのBdiffminを、各メディアの仮想バッファ量の許容値BMAXで割ることによって規格化し、優先度を求める。これにより、メディアごとのビットストリームの多重化の優先度を示す統一的な指標を得ることができる。   Step S13: The priority calculation units 12-1 to 12-n calculate the priority E = Bdiffmin / BMAX in the multiplexing section Gc. The priority calculation units 12-1 to 12-n normalize by dividing Bdiffmin of the bit stream of each medium by the allowable value BMAX of the virtual buffer amount of each medium, and obtain the priority. As a result, it is possible to obtain a unified index indicating the priority of multiplexing bitstreams for each medium.

次に、選択部13での選択処理及び多重化部11での多重化処理の詳細を説明する。
(多重化するビットストリームの選択処理及び多重化処理の一例)
図6は、複数のメディアのビットストリームと多重化区間の一例を示す図である。
Next, details of the selection process in the selection unit 13 and the multiplexing process in the multiplexing unit 11 will be described.
(Example of selection process and multiplexing process of bit stream to be multiplexed)
FIG. 6 is a diagram illustrating an example of bit streams of a plurality of media and multiplexing sections.

横軸は時間方向を示している。図6ではメディアM1,M2,…,Mnのビットストリームと多重化区間Gc1が示されている。メディアM1のビットストリームは、アクセスユニットU20,U21,U22,U23,U24を含んでいる。メディアM2のビットストリームはアクセスユニットU30,U31,U32,U33,U34,U35,U36を含んでいる。また、メディアMnのビットストリームはアクセスユニットU40を含んでいる。   The horizontal axis indicates the time direction. FIG. 6 shows a bit stream of media M1, M2,..., Mn and a multiplexing section Gc1. The bit stream of the medium M1 includes access units U20, U21, U22, U23, and U24. The bit stream of the medium M2 includes access units U30, U31, U32, U33, U34, U35, and U36. The bit stream of the media Mn includes an access unit U40.

図6に示すように、各メディアM1〜Mnのアクセスユニットの大きさや位置は、メディアによってまちまちである。
図7及び図8は、多重化するビットストリームの選択処理及び多重化処理の一例を示すフローチャートである。
As shown in FIG. 6, the sizes and positions of the access units of the media M1 to Mn vary depending on the media.
7 and 8 are flowcharts showing an example of selection processing and multiplexing processing of a bit stream to be multiplexed.

ステップS20:選択部13は、ある多重化区間内の最大ビット数Bmaxから時刻情報のビット数を減算する。
最大ビット数Bmaxは、多重化区間Gc1の時間をGct1、多重化区間Gc1でのビットレートの上限をRmax1とすると、Bmax=Rmax1×Gct1、と表される。ここで、時刻情報の減算後の最大ビット数をBmaxsとすると、Bmaxs=Bmax−Btime×(多重化区間Gc1の終了時刻−STCb)/STCgとなる。Btimeは、時刻情報の多重化に要するビット数、STCbは、前回の多重化区間での時刻情報の挿入時刻、STCgは、時刻情報の挿入間隔を示す。
Step S20: The selection unit 13 subtracts the number of bits of time information from the maximum number of bits Bmax in a certain multiplexing section.
The maximum bit number Bmax is represented as Bmax = Rmax1 × Gct1, where Gct1 is the time of the multiplexing section Gc1 and Rmax1 is the upper limit of the bit rate in the multiplexing section Gc1. Here, if the maximum number of bits after subtraction of time information is Bmaxs, Bmaxs = Bmax−Btime × (end time of multiplexed section Gc1−STCb) / STCg. Btime is the number of bits required for multiplexing time information, STCb is the time information insertion time in the previous multiplexing section, and STCg is the time information insertion interval.

これにより、ビットストリームに時刻情報が挿入された場合に、ビットレートが上限を超えることを防止できる。
ステップS21:次に選択部13は、多重化区間Gc1の途中から開始または途中で完了となるアクセスユニットがあるか否かを調べ、時刻比でそれらのアクセスユニットのビット数を算出する。たとえば、図6に示した例において、アクセスユニットU21,U24,U36,U40は、多重化区間Gc1の境界を跨いでいる。このようなアクセスユニットに対して、選択部13は、伝送ビットレートが一定であると仮定して、各アクセスユニットのDTSを、DTS=DTS−多重化区間Gc1の開始時刻と更新して、時間比でビット数を算出する。
This prevents the bit rate from exceeding the upper limit when time information is inserted into the bit stream.
Step S21: Next, the selection unit 13 checks whether there is an access unit starting from the middle of the multiplexing section Gc1 or completing in the middle, and calculates the number of bits of those access units by the time ratio. For example, in the example shown in FIG. 6, the access units U21, U24, U36, and U40 straddle the boundary of the multiplexing section Gc1. For such an access unit, the selector 13 assumes that the transmission bit rate is constant and updates the DTS of each access unit with the start time of DTS = DTS−multiplexing section Gc1 to obtain the time. The number of bits is calculated by the ratio.

ステップS22:選択部13は、前の多重化区間で、最大ビット数を超えたなどの理由で伝送していないアクセスユニットがあれば、そのビット数を前の多重化区間からの持ち越しとして現在の多重化区間の先頭のアクセスユニットのビット数に加算する。これにより、前の多重化区間では、上限値(最大ビット数)を超えないような多重化を行うことが可能になっている。   Step S22: If there is an access unit that is not transmitting in the previous multiplexing section because the maximum number of bits has been exceeded, the selection unit 13 sets the bit number as a carry-over from the previous multiplexing section. Add to the number of bits of the first access unit in the multiplexing section. Thereby, it is possible to perform multiplexing so as not to exceed the upper limit value (maximum number of bits) in the previous multiplexing section.

ステップS23:選択部13は、ステップS22の処理によって修正後の各アクセスユニットのビット数の積算値と、時刻情報のビット数の減算後の最大ビット数Bmaxsを比較する。   Step S23: The selection unit 13 compares the integrated value of the number of bits of each access unit after the correction in step S22 with the maximum number of bits Bmaxs after subtraction of the number of bits of time information.

修正後の各アクセスユニットのビット数の積算値が、Bmaxs以下の場合にはステップS24が行われる。また、修正後の各アクセスユニットのビット数の積算値が、Bmaxsを超える場合には、図8のステップS29の処理が行われる。   Step S24 is performed when the integrated value of the number of bits of each access unit after correction is equal to or less than Bmaxs. In addition, when the integrated value of the number of bits of each access unit after correction exceeds Bmaxs, the process of step S29 in FIG. 8 is performed.

ステップS24:選択部13は、Bmaxsと修正後の各アクセスユニットのビット数の積算値との差分に応じて多重化するデータ情報のビット量を決定し、多重化区間の総ビットレートを修正する。   Step S24: The selection unit 13 determines the bit amount of data information to be multiplexed according to the difference between Bmaxs and the integrated value of the number of bits of each corrected access unit, and corrects the total bit rate of the multiplexed section. .

たとえば、多重化区間Gc1の全てのメディアの総ビットレートをRG1とした場合、RG1=RG1+MIN((Bmaxs1−修正された各アクセスユニットのビット数の積算値,データ情報のビット量))/Gct1と修正する。   For example, when the total bit rate of all the media in the multiplexing section Gc1 is RG1, RG1 = RG1 + MIN ((Bmaxs1−integrated value of the number of bits of each access unit modified, bit amount of data information)) / Gct1 Correct it.

この式によれば、多重化区間Gc1の最大ビット数Bmaxs1と、修正された各アクセスユニットのビット数の積算値との差分より、データ情報のビット量が小さい場合には、データ情報のビット量分だけビットレートが増加する。また、差分よりもデータ情報のビット量が大きい場合には、その差分に相当するデータ情報のビット量分だけビットレートが増加する。   According to this equation, if the bit amount of the data information is smaller than the difference between the maximum bit number Bmaxs1 of the multiplexing section Gc1 and the integrated value of the bit number of each modified access unit, the bit amount of the data information The bit rate increases by the amount. Further, when the bit amount of the data information is larger than the difference, the bit rate is increased by the bit amount of the data information corresponding to the difference.

Bmaxsと修正後の各アクセスユニットのビット数の積算値との差分に応じて多重化するデータ情報のビット量を決定することで、データ情報によりビットレートが上限を超えることが防止される。   By determining the bit amount of the data information to be multiplexed according to the difference between Bmaxs and the integrated value of the number of bits of each access unit after correction, the bit rate is prevented from exceeding the upper limit by the data information.

ステップS25:選択部13は、時刻情報を多重化するか否か判定する。時刻情報を多重化する場合にはステップS26の処理が行われ、時刻情報を多重化しない場合にはステップS27の処理が行われる。たとえば、選択部13は、現在のシステムの時刻情報であるSTCが、STC−STCb>STCgである場合には、時刻情報を多重化すると判定する。   Step S25: The selection unit 13 determines whether or not to multiplex time information. If the time information is multiplexed, the process of step S26 is performed. If the time information is not multiplexed, the process of step S27 is performed. For example, when the STC that is time information of the current system is STC-STCb> STCg, the selection unit 13 determines to multiplex time information.

また、選択部13は、(STCb+STCg−STC)/STCgが所定の閾値よりも小さければ多重化すると判定するようにしてもよい。
ステップS26:選択部13は、時刻情報を多重化するビットストリームに挿入する。
Alternatively, the selection unit 13 may determine that multiplexing is performed if (STCb + STCg−STC) / STCg is smaller than a predetermined threshold.
Step S26: The selection unit 13 inserts the time information into the bit stream to be multiplexed.

ステップS27:選択部13は、優先度の高いメディアのビットストリームから順に、多重化するビットストリームとして選択する。そして、選択部13は、たとえば、DTS−STC<Bufferdelayであれば、多重化部11に多重化処理を行わせる。   Step S27: The selection unit 13 selects the bit streams to be multiplexed in order from the bit stream of the medium with the highest priority. For example, if DTS-STC <Bufferdelay, the selection unit 13 causes the multiplexing unit 11 to perform multiplexing processing.

ここで、Bufferdelayは、たとえば、メディアごとのバッファモデルにより規定された、デコーダバッファから最初のアクセスユニットが引き抜かれる時間である。上式のようなタイミングで多重化を行うことで、デコーダバッファの破綻を防ぐことができる。   Here, Bufferdelay is the time when the first access unit is extracted from the decoder buffer, which is defined by the buffer model for each medium, for example. By performing multiplexing at the timing shown in the above equation, it is possible to prevent the decoder buffer from failing.

選択部13は、多重化を行うと、STCをSTC=STC+多重化したビット数/RG1と更新する。
ステップS28:たとえば、文字放送用などで用いられるデータ情報は、バッファ規定はないものの、運用規定などにより、一定時刻以内に送りきることが望ましい。
When multiplexing is performed, the selection unit 13 updates STC with STC = STC + number of multiplexed bits / RG1.
Step S28: For example, data information used for teletext etc. is preferably sent within a certain time according to operation regulations, although there are no buffer regulations.

図9は、データの多重化における、時間と送信残りビット数の関係の一例を示す図である。横軸は時間、縦軸は送信残りビット数を示している。
図9では、現在時刻STCc、送信完了予定時刻STCe、全データ情報のビット数Db、既に送信済みのビット数Ddの一例が示されている。ここで、全データ情報を送信完了予定時刻STCeに送信し終わる平均ビットレートをRgすると、Rg=Db/STCeと表せる。また、現在時刻STCcにおいてデータ情報の残りを送信完了予定時刻STCeに送信し終わる平均ビットレートをRrとすると、Rr=(Db−Dd)/(STCe−STCc)と表せる。このとき、たとえば、選択部13は、Rr−Rg>Th(所定の閾値)である場合には、データ情報を多重化する。
FIG. 9 is a diagram illustrating an example of the relationship between time and the number of remaining transmission bits in data multiplexing. The horizontal axis represents time, and the vertical axis represents the number of remaining transmission bits.
FIG. 9 shows an example of the current time STCc, the scheduled transmission completion time STCe, the number of bits Db of all data information, and the number of already transmitted bits Dd. Here, Rg = Db / STCe can be expressed as Rg, which is the average bit rate at which all data information is transmitted at the scheduled transmission completion time STCe. Further, if the average bit rate at which the rest of the data information is transmitted at the scheduled transmission completion time STCe at the current time STCc is Rr, Rr = (Db−Dd) / (STCe−STCc). At this time, for example, when Rr−Rg> Th (predetermined threshold), the selection unit 13 multiplexes the data information.

データ情報を多重化すると、選択部13は、STCをSTC=STC+多重化したビット数/RG1と更新する。その後、次の多重化区間の処理が行われる。
ステップS29:修正後の各アクセスユニットのビット数の積算値が、Bmaxsを超える場合、選択部13は、多重化区間の終了境界を跨ぐアクセスユニットがあるか否か判定する。多重化区間の終了境界を跨ぐアクセスユニットがある場合には、ステップS30の処理が行われ、多重化区間の終了境界を跨ぐアクセスユニットがない場合には、ビットレートの上限を超えることを許容して前述のステップS24の処理が行われる。
When the data information is multiplexed, the selection unit 13 updates STC with STC = STC + number of multiplexed bits / RG1. Thereafter, the next multiplexing section is processed.
Step S29: If the integrated value of the number of bits of each access unit after correction exceeds Bmaxs, the selection unit 13 determines whether there is an access unit straddling the end boundary of the multiplexing section. If there is an access unit straddling the end boundary of the multiplexed section, the process of step S30 is performed, and if there is no access unit straddling the end boundary of the multiplexed section, it is allowed to exceed the upper limit of the bit rate. Then, the process of step S24 described above is performed.

たとえば、図6に示した例の場合、アクセスユニットU24,U36,U40が、多重化区間Gc1の終了境界を跨ぐ。
ステップS30:選択部13は、多重化区間の終了境界を跨ぐアクセスユニットがある場合、該当するアクセスユニットの中から、多重化対象から除外する(ビット数を0にする)候補を優先度に応じて選択する。該当するアクセスユニットが複数ある場合、選択部13は、たとえば、優先度計算部12−1〜12−nで計算された優先度の最も低いビットストリームのアクセスユニットを1つ選択する。
For example, in the example shown in FIG. 6, the access units U24, U36, U40 straddle the end boundary of the multiplexing section Gc1.
Step S30: When there is an access unit straddling the end boundary of the multiplexing section, the selection unit 13 selects a candidate to be excluded from the multiplexing target (set the number of bits to 0) from the corresponding access units according to the priority. To select. When there are a plurality of corresponding access units, the selection unit 13 selects, for example, one access unit of the bit stream having the lowest priority calculated by the priority calculation units 12-1 to 12-n.

ステップS31:選択部13は、ステップS30の処理で選択したアクセスユニットのビット数を0にして、そのアクセスユニットを次の多重化区間で多重化する場合、最大ビット数Bmaxsを超えてしまわないか否かを判定する。   Step S31: When the number of bits of the access unit selected in the process of step S30 is set to 0 and the access unit is multiplexed in the next multiplexing section, does the selection unit 13 exceed the maximum number of bits Bmaxs? Determine whether or not.

次の多重化区間で最大ビット数を超える場合には、選択部13は、選択したアクセスユニットのビット数の修正は行わずに、ステップS34の処理に進み、最大ビット数を超えない場合にはステップS32の処理を行う。   When the maximum number of bits is exceeded in the next multiplexing section, the selection unit 13 proceeds to the process of step S34 without correcting the number of bits of the selected access unit, and when the maximum number of bits is not exceeded. The process of step S32 is performed.

ステップS32:選択部13は、ビット数を0にする候補として選択したアクセスユニットのビット数を0に修正する。これにより、選択されたアクセスユニットは、現在の多重化区間では多重化が行われず、たとえば、次の多重化区間で多重化されることになる。   Step S32: The selection unit 13 corrects the number of bits of the access unit selected as a candidate for setting the number of bits to 0. As a result, the selected access unit is not multiplexed in the current multiplexing section, and is multiplexed in the next multiplexing section, for example.

ステップS33:選択部13は、ステップS32の処理でビット数を修正した後の、各アクセスユニットのビット数の積算値と、時刻情報のビット数の減算後の最大ビット数Bmaxsを比較する。   Step S33: The selection unit 13 compares the integrated value of the number of bits of each access unit after correcting the number of bits in the process of step S32 with the maximum number of bits Bmaxs after subtraction of the number of bits of time information.

修正後の各アクセスユニットのビット数の積算値が、Bmaxs以下の場合にはステップS24が行われる。修正後の各アクセスユニットのビット数の積算値が、まだBmaxsを超える場合には、ステップS34の処理が行われる。   Step S24 is performed when the integrated value of the number of bits of each access unit after correction is equal to or less than Bmaxs. If the integrated value of the number of bits of each access unit after correction still exceeds Bmaxs, the process of step S34 is performed.

ステップS34:選択部13は、ステップS30の処理で選択されなかった、ビット数を0にするアクセスユニットの他の候補があるか否かを判定する。他の候補がある場合には、ステップS30からの処理が繰り返され、ステップS30の処理では、多重化区間の終了境界を跨ぐアクセスユニットのうち、次に優先度が低いビットストリームのアクセスユニットが選択される。他の候補がない場合には、修正を行わずビットレートが上限を超えることを許容して、図7のステップS24の処理が行われる。   Step S34: The selection unit 13 determines whether there is another candidate for an access unit that has not been selected in the process of Step S30 and whose bit number is 0. If there are other candidates, the processing from step S30 is repeated, and in the processing of step S30, the access unit of the bit stream having the next lowest priority is selected from the access units straddling the end boundary of the multiplexing section. Is done. If there is no other candidate, the correction is not performed and the bit rate is allowed to exceed the upper limit, and the process of step S24 in FIG. 7 is performed.

以上のようにビットレートの上限値と優先度を考慮した多重化処理を行うことで、多重化後のビットストリームが上限値を超えることが抑制されるとともに、デコードバッファの破綻が防止される。   As described above, by performing the multiplexing process in consideration of the upper limit value and priority of the bit rate, it is possible to prevent the multiplexed bit stream from exceeding the upper limit value and to prevent the decoding buffer from failing.

なお、上記の図7、図8で示した処理フローは、あくまで一例であり、たとえば、適宜処理ステップを入れ替えるようにしてもよい。
たとえば、上記では、多重化区間のアクセスユニットの情報量の積算値が、Bmaxsを超える場合には、多重化しないアクセスユニットを決定するようにしたが、これに限定されない。たとえば、上記積算値からビットレートを計算し、そのビットレートが、多重化区間におけるビットレートの上限を超える場合には、多重化しないアクセスユニットを選択するようにしてもよい。
Note that the processing flows shown in FIGS. 7 and 8 are merely examples, and for example, the processing steps may be appropriately switched.
For example, in the above description, when the integrated value of the information amount of the access unit in the multiplexing section exceeds Bmaxs, the access unit that is not multiplexed is determined. However, the present invention is not limited to this. For example, the bit rate may be calculated from the integrated value, and if the bit rate exceeds the upper limit of the bit rate in the multiplexing section, an access unit that is not multiplexed may be selected.

以上のような多重化装置10の処理内容は、たとえば、LSI(Large Scale Integrated circuit)に搭載されるファームウェアとして適用されてもよい。
また、多重化装置10の各機能を、以下のようなコンピュータで実行されるプログラムにより実現するようにしてもよい。
The processing content of the multiplexing apparatus 10 as described above may be applied as firmware mounted on an LSI (Large Scale Integrated circuit), for example.
Further, each function of the multiplexing apparatus 10 may be realized by a program executed by a computer as follows.

図10は、本実施の形態に用いるコンピュータのハードウェアの一例を示す図である。
コンピュータ100は、CPU(Central Processing Unit)101によって装置全体が制御されている。CPU101には、バス109を介してRAM(Random Access Memory)102、ROM103及び複数の周辺機器が接続されている。
FIG. 10 is a diagram illustrating an example of computer hardware used in this embodiment.
The computer 100 is entirely controlled by a CPU (Central Processing Unit) 101. A random access memory (RAM) 102, a ROM 103, and a plurality of peripheral devices are connected to the CPU 101 via a bus 109.

RAM102は、コンピュータ100の主記憶装置として使用される。RAM102には、CPU101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、CPU101による処理に用いる各種データが格納される
また、ROM103には、CPU101が実行する基本的なプログラムやデータを格納する。前述した、バッファモデルの各種の規格値なども、たとえば、ROM103に格納される。
The RAM 102 is used as a main storage device of the computer 100. The RAM 102 temporarily stores at least part of an OS (Operating System) program and application programs to be executed by the CPU 101. The RAM 102 stores various data used for processing by the CPU 101. The ROM 103 stores basic programs and data executed by the CPU 101. Various standard values of the buffer model described above are also stored in the ROM 103, for example.

バス109に接続されている周辺機器としては、ハードディスクドライブ(HDD:Hard Disk Drive)104、グラフィック処理装置105、入力インタフェース106、光学ドライブ装置107、及び通信インタフェース108がある。   Peripheral devices connected to the bus 109 include a hard disk drive (HDD) 104, a graphic processing device 105, an input interface 106, an optical drive device 107, and a communication interface 108.

HDD104は、内蔵したディスクに対して、磁気的にデータの書き込み及び読み出しを行う。HDD104は、コンピュータ100の二次記憶装置として使用される。HDD104には、OSのプログラム、アプリケーションプログラム、及び各種データが格納される。なお、二次記憶装置としては、フラッシュメモリなどの半導体記憶装置を使用することもできる。   The HDD 104 magnetically writes data to and reads data from a built-in disk. The HDD 104 is used as a secondary storage device of the computer 100. The HDD 104 stores an OS program, application programs, and various data. Note that a semiconductor storage device such as a flash memory can also be used as the secondary storage device.

グラフィック処理装置105には、モニタ105aが接続されている。グラフィック処理装置105は、CPU101からの命令に従って、画像をモニタ105aの画面に表示させる。モニタ105aとしては、CRT(Cathode Ray Tube)を用いた表示装置や液晶表示装置などがある。   A monitor 105 a is connected to the graphic processing device 105. The graphic processing device 105 displays an image on the screen of the monitor 105a in accordance with a command from the CPU 101. Examples of the monitor 105a include a display device using a CRT (Cathode Ray Tube) and a liquid crystal display device.

入力インタフェース106には、キーボード106aとマウス106bとが接続されている。入力インタフェース106は、キーボード106aやマウス106bから送られてくる信号をCPU101に送信する。なお、マウス106bは、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。   A keyboard 106 a and a mouse 106 b are connected to the input interface 106. The input interface 106 transmits signals sent from the keyboard 106a and the mouse 106b to the CPU 101. Note that the mouse 106b is an example of a pointing device, and other pointing devices can also be used. Examples of other pointing devices include a touch panel, a tablet, a touch pad, and a trackball.

光学ドライブ装置107は、レーザ光などを利用して、光ディスク107aに記録されたデータの読み取りを行う。光ディスク107aは、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク107aには、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。   The optical drive device 107 reads data recorded on the optical disc 107a using a laser beam or the like. The optical disc 107a is a portable recording medium on which data is recorded so that it can be read by reflection of light. The optical disc 107a includes a DVD (Digital Versatile Disc), a DVD-RAM, a CD-ROM (Compact Disc Read Only Memory), a CD-R (Recordable) / RW (ReWritable), and the like.

通信インタフェース108は、ネットワーク108aに接続されている。通信インタフェース108は、ネットワーク108aを介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。   The communication interface 108 is connected to the network 108a. The communication interface 108 transmits and receives data to and from other computers or communication devices via the network 108a.

以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。
上記のように、本実施の形態の処理機能は、コンピュータによって実現することができる。その場合、多重化装置10が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、HDD、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD、DVD−RAM、CD−ROM/RWなどがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。
With the hardware configuration as described above, the processing functions of the present embodiment can be realized.
As described above, the processing functions of the present embodiment can be realized by a computer. In that case, a program describing the processing contents of the functions that the multiplexing apparatus 10 should have is provided. By executing the program on a computer, the above processing functions are realized on the computer. The program describing the processing contents can be recorded on a computer-readable recording medium. Examples of the computer-readable recording medium include a magnetic storage device, an optical disk, a magneto-optical recording medium, and a semiconductor memory. Magnetic storage devices include HDDs, flexible disks (FD), and magnetic tapes. Optical discs include DVD, DVD-RAM, CD-ROM / RW, and the like. Magneto-optical recording media include MO (Magneto-Optical disk).

プログラムを流通させる場合には、たとえば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。   When distributing the program, for example, portable recording media such as a DVD and a CD-ROM in which the program is recorded are sold. It is also possible to store the program in a storage device of a server computer and transfer the program from the server computer to another computer via a network.

プログラムを実行するコンピュータは、たとえば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。   The computer that executes the program stores, for example, the program recorded on the portable recording medium or the program transferred from the server computer in its own storage device. Then, the computer reads the program from its own storage device and executes processing according to the program. The computer can also read the program directly from the portable recording medium and execute processing according to the program. In addition, each time a program is transferred from a server computer connected via a network, the computer can sequentially execute processing according to the received program.

また、上記の処理機能の少なくとも一部を、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)などの電子回路で実現することもできる。   In addition, at least a part of the above processing functions can be realized by an electronic circuit such as a DSP (Digital Signal Processor), an ASIC (Application Specific Integrated Circuit), or a PLD (Programmable Logic Device).

以上、実施の形態に基づき、本発明のプログラム、多重化装置及び多重化方法の一観点について説明してきたが、これらは一例にすぎず、上記の記載に限定されるものではない。   As described above, one aspect of the program, the multiplexing apparatus, and the multiplexing method of the present invention has been described based on the embodiments. However, these are merely examples, and the present invention is not limited to the above description.

以上説明した複数の実施の形態に関し、さらに以下の付記を開示する。
(付記1) 多重化対象の複数のビットストリームそれぞれに対して多重化における優先度を算出し、
多重化区間内の前記複数のビットストリームの情報量の積算値と所定の上限値とを比較し、
前記積算値と前記上限値との比較結果及び前記優先度をもとに、前記複数のビットストリームから多重化するビットストリームを選択する、
処理をコンピュータに実行させるプログラム。
The following additional notes are further disclosed with respect to the plurality of embodiments described above.
(Supplementary note 1) The priority in multiplexing is calculated for each of a plurality of bit streams to be multiplexed,
Comparing the integrated value of the information amount of the plurality of bitstreams in the multiplexing section with a predetermined upper limit value,
Based on a comparison result between the integrated value and the upper limit value and the priority, a bit stream to be multiplexed is selected from the plurality of bit streams.
A program that causes a computer to execute processing.

(付記2) 前記積算値が前記上限値を超える場合、前記優先度に応じて、前記多重化区間の終了境界を跨ぐアクセスユニットを有する前記ビットストリームを選択して、選択した前記ビットストリームの当該アクセスユニットを多重化対象から除外することを特徴とする付記1記載のプログラム。   (Supplementary note 2) When the integrated value exceeds the upper limit value, the bit stream having an access unit straddling the end boundary of the multiplexing section is selected according to the priority, and the bit stream of the selected bit stream is selected. The program according to appendix 1, wherein an access unit is excluded from multiplexing targets.

(付記3) 前記終了境界を跨ぐ前記アクセスユニットを次の多重化区間内で多重化すると、前記次の多重化区間内における前記積算値が前記上限値を超える場合、前記終了境界を跨ぐ他のビットストリームの他のアクセスユニットを、前記優先度に応じて選択し、当該他のアクセスユニットを前記多重化対象から除外することを特徴とする付記2記載のプログラム。   (Supplementary Note 3) When the access unit straddling the end boundary is multiplexed in the next multiplexing section, if the integrated value in the next multiplexing section exceeds the upper limit value, The program according to claim 2, wherein another access unit of the bit stream is selected according to the priority, and the other access unit is excluded from the multiplexing target.

(付記4) 前記積算値は、前の多重化区間において、前記多重化対象から除外された前記アクセスユニットの情報量を含むことを特徴とする付記2または3に記載のプログラム。   (Additional remark 4) The said integrated value contains the information content of the said access unit excluded from the said multiplexing object in the previous multiplexing area, The program of Additional remark 2 or 3 characterized by the above-mentioned.

(付記5) 各前記ビットストリームの前記優先度は、前記複数のビットストリームそれぞれに対応して設定される仮想バッファ量の、前記多重化区間内における最大値と前記仮想バッファ量の上限値との差分と、前記多重化区間における前記仮想バッファ量の最小値のうち、小さい方の値を前記仮想バッファ量の前記上限値で規格化した値であることを特徴とする付記1乃至4の何れか一項に記載のプログラム。   (Supplementary Note 5) The priority of each bitstream is the maximum value of the virtual buffer amount set corresponding to each of the plurality of bitstreams in the multiplexing section and the upper limit value of the virtual buffer amount. Any one of Supplementary notes 1 to 4, wherein the difference is a value obtained by normalizing a smaller value of the minimum value of the virtual buffer amount in the multiplexing section with the upper limit value of the virtual buffer amount. The program according to one item.

(付記6) 前記上限値は、前記多重化区間のビットレートの上限に前記多重化区間の時間を乗じた値から、前記ビットストリームに含ませる時刻情報の情報量を差し引いた値であることを特徴とする付記1乃至5の何れか一項に記載のプログラム。   (Supplementary note 6) The upper limit value is a value obtained by subtracting the amount of time information included in the bitstream from a value obtained by multiplying the upper limit of the bit rate of the multiplexing section by the time of the multiplexing section. The program according to any one of appendices 1 to 5, which is characterized.

(付記7) 前記上限値と前記積算値との差分に応じて、多重化するデータ情報の情報量を決定することを特徴とする付記1乃至6の何れか一項に記載のプログラム。
(付記8) 前記優先度の高い順に選択された前記ビットストリームにおいて、デコード開始時刻と、現在時刻の差が所定値以内である場合に、多重化を行うことを特徴とする付記1乃至7の何れか一項に記載のプログラム。
(Supplementary note 7) The program according to any one of supplementary notes 1 to 6, wherein an information amount of data information to be multiplexed is determined according to a difference between the upper limit value and the integrated value.
(Supplementary note 8) In the bitstreams selected in descending order of priority, multiplexing is performed when the difference between the decoding start time and the current time is within a predetermined value. The program as described in any one.

(付記9) 多重化対象の複数の前記ビットストリームは、異なる複数のメディアのビットストリームであることを特徴とする付記1乃至8の何れか一項に記載のプログラム。
(付記10) 現在時刻と、前回時刻情報を挿入した時刻の差に応じて、前記時刻情報を多重化するか否かを選択することを特徴とする付記1乃至9の何れか一項に記載のプログラム。
(Supplementary note 9) The program according to any one of supplementary notes 1 to 8, wherein the plurality of bit streams to be multiplexed are bit streams of a plurality of different media.
(Supplementary note 10) According to any one of Supplementary notes 1 to 9, wherein whether or not to multiplex the time information is selected according to a difference between the current time and the time when the previous time information is inserted. Program.

(付記11) 送信完了予定時刻に全データ情報を送信し終わる平均ビットレートと、現在時刻において前記データ情報の残りを前記送信完了予定時刻に送信し終わる平均ビットレートとの差に応じて、前記データ情報を多重化するか否かを選択することを特徴とする付記1乃至10の何れか一項に記載のプログラム。   (Supplementary Note 11) According to the difference between the average bit rate at which all data information is transmitted at the scheduled transmission completion time and the average bit rate at which the rest of the data information is transmitted at the scheduled transmission completion time at the current time, 11. The program according to any one of appendices 1 to 10, wherein whether to multiplex data information is selected.

(付記12) 前記積算値が前記上限値を超えない場合、前記優先度の高いビットストリームから順に多重化を行うことを特徴とする付記1乃至11の何れか一項に記載のプログラム。   (Supplementary note 12) The program according to any one of Supplementary notes 1 to 11, wherein when the integrated value does not exceed the upper limit value, multiplexing is performed in order from the bit stream with the highest priority.

(付記13) 多重化対象の複数のビットストリームそれぞれに対して多重化における優先度を算出する優先度計算部と、
多重化区間内の前記複数のビットストリームの情報量の積算値と所定の上限値とを比較し、前記積算値と前記上限値との比較結果及び前記優先度をもとに、前記複数のビットストリームから多重化するビットストリームを選択する選択部と、
を有することを特徴とする多重化装置。
(Supplementary note 13) A priority calculation unit that calculates a priority in multiplexing for each of a plurality of bit streams to be multiplexed;
The integrated value of the information amount of the plurality of bit streams in the multiplexing section is compared with a predetermined upper limit value, and the plurality of bits are based on the comparison result between the integrated value and the upper limit value and the priority. A selector for selecting a bitstream to be multiplexed from the stream;
A multiplexing apparatus comprising:

(付記14) 多重化対象の複数のビットストリームそれぞれに対して多重化における優先度を算出し、
多重化区間内の前記複数のビットストリームの情報量の積算値と所定の上限値とを比較し、
前記積算値と前記上限値との比較結果及び前記優先度をもとに、前記複数のビットストリームから多重化するビットストリームを選択する、ことを特徴とする多重化方法。
(Additional remark 14) The priority in multiplexing is calculated for each of a plurality of bit streams to be multiplexed,
Comparing the integrated value of the information amount of the plurality of bitstreams in the multiplexing section with a predetermined upper limit value,
2. A multiplexing method, comprising: selecting a bit stream to be multiplexed from the plurality of bit streams based on a comparison result between the integrated value and the upper limit value and the priority.

10 多重化装置
11 多重化部
12−1,12−2,…,12−n 優先度計算部
13 選択部
14 記憶部
20−1,20−2,…,20−n 符号化部
21−1,21−2,…,21−n メモリ
DESCRIPTION OF SYMBOLS 10 Multiplexer 11 Multiplexer 12-1, 12-2, ..., 12-n Priority calculator 13 Selector 14 Storage unit 20-1, 20-2, ..., 20-n Encoder 21-1 , 21-2,..., 21-n memory

Claims (5)

多重化対象の複数のビットストリームそれぞれに対して多重化における優先度を算出し、
多重化区間内の前記複数のビットストリームの情報量の積算値と第1の上限値とを比較し、
前記積算値と前記第1の上限値との比較結果及び前記優先度をもとに、前記複数のビットストリームから多重化するビットストリームを選択する際に
前記積算値が前記第1の上限値を超える場合、前記優先度に応じて、前記多重化区間の終了境界を跨ぐ、受信側のデコーダでのデコード単位を有する前記ビットストリームを選択して、選択した前記ビットストリームの当該デコード単位を多重化対象から除外し、
前記終了境界を跨ぐ前記デコード単位を次の多重化区間内で多重化すると、前記次の多重化区間内における前記積算値が前記第1の上限値を超える場合、前記終了境界を跨ぐ他のビットストリームの他のデコード単位を、前記優先度に応じて選択し、当該他のデコード単位を前記多重化対象から除外し、
前記積算値は、前の多重化区間において、前記多重化対象から除外された前記デコード単位の情報量を含み、
各前記ビットストリームの前記優先度は、前記複数のビットストリームそれぞれに対応して設定される前記デコーダのバッファ量の、前記多重化区間内における最大値と前記バッファ量の第2の上限値との差分と、前記多重化区間における前記バッファ量の最小値のうち、小さい方の値を前記バッファ量の前記第2の上限値で規格化した値であり、
前記第1の上限値は、前記多重化区間のビットレートの上限に前記多重化区間の時間を乗じた値から、前記ビットストリームに含ませる時刻情報の情報量を差し引いた値である、
処理をコンピュータに実行させるプログラム。
A priority in multiplexing is calculated for each of a plurality of bit streams to be multiplexed,
Comparing the integrated value of the information amount of the plurality of bitstreams in the multiplexing section with the first upper limit value,
When selecting a bitstream to be multiplexed from the plurality of bitstreams based on a comparison result between the integrated value and the first upper limit value and the priority,
When the integrated value exceeds the first upper limit value, the bit stream having a decoding unit at the receiving side decoder across the end boundary of the multiplexing section is selected and selected according to the priority. And excluding the decoding unit of the bitstream from being multiplexed,
When the decoding unit straddling the end boundary is multiplexed in the next multiplexing section, if the integrated value in the next multiplexing section exceeds the first upper limit value, other bits straddling the end boundary Select another decoding unit of the stream according to the priority, exclude the other decoding unit from the multiplexing target,
The integrated value includes the information amount of the decoding unit excluded from the multiplexing target in the previous multiplexing section,
The priority of each bitstream is a maximum value in the multiplexing section and a second upper limit value of the buffer amount of the buffer amount of the decoder set corresponding to each of the plurality of bitstreams. Of the difference and the minimum value of the buffer amount in the multiplexing section, the smaller value is normalized by the second upper limit value of the buffer amount,
The first upper limit value is a value obtained by subtracting the amount of time information included in the bitstream from a value obtained by multiplying the upper limit of the bit rate of the multiplexing section by the time of the multiplexing section.
A program that causes a computer to execute processing.
前記第1の上限値と前記積算値との差分に応じて、多重化するデータ情報の情報量を決定することを特徴とする請求項1に記載のプログラム。 The program according to claim 1, wherein an information amount of data information to be multiplexed is determined according to a difference between the first upper limit value and the integrated value. 前記優先度の高い順に選択された前記ビットストリームにおいて、デコード開始時刻と、現在時刻の差が所定値以内である場合に、多重化を行うことを特徴とする請求項1または2に記載のプログラム。 3. The program according to claim 1, wherein multiplexing is performed when a difference between a decoding start time and a current time is within a predetermined value in the bitstreams selected in order of priority. 4. . 多重化対象の複数のビットストリームそれぞれに対して多重化における優先度を算出する優先度計算部と、
多重化区間内の前記複数のビットストリームの情報量の積算値と第1の上限値とを比較し、前記積算値と前記第1の上限値との比較結果及び前記優先度をもとに、前記複数のビットストリームから多重化するビットストリームを選択する選択部と、を有し、
前記選択部は、
前記積算値が前記第1の上限値を超える場合、前記優先度に応じて、前記多重化区間の終了境界を跨ぐ、受信側のデコーダでのデコード単位を有する前記ビットストリームを選択して、選択した前記ビットストリームの当該デコード単位を多重化対象から除外し、
前記終了境界を跨ぐ前記デコード単位を次の多重化区間内で多重化すると、前記次の多重化区間内における前記積算値が前記第1の上限値を超える場合、前記終了境界を跨ぐ他のビットストリームの他のデコード単位を、前記優先度に応じて選択し、当該他のデコード単位を前記多重化対象から除外し、
前記積算値は、前の多重化区間において、前記多重化対象から除外された前記デコード単位の情報量を含み、
各前記ビットストリームの前記優先度は、前記複数のビットストリームそれぞれに対応して設定される前記デコーダのバッファ量の、前記多重化区間内における最大値と前記バッファ量の第2の上限値との差分と、前記多重化区間における前記バッファ量の最小値のうち、小さい方の値を前記バッファ量の前記第2の上限値で規格化した値であり、
前記第1の上限値は、前記多重化区間のビットレートの上限に前記多重化区間の時間を乗じた値から、前記ビットストリームに含ませる時刻情報の情報量を差し引いた値である、
ことを特徴とする多重化装置。
A priority calculation unit for calculating a priority in multiplexing for each of a plurality of bit streams to be multiplexed;
Comparing the integrated value of the information amount of the plurality of bitstreams in the multiplexing section and the first upper limit value, based on the comparison result of the integrated value and the first upper limit value and the priority, A selection unit that selects a bitstream to be multiplexed from the plurality of bitstreams ,
The selection unit includes:
When the integrated value exceeds the first upper limit value, the bit stream having a decoding unit at the receiving side decoder across the end boundary of the multiplexing section is selected and selected according to the priority. And excluding the decoding unit of the bitstream from being multiplexed,
When the decoding unit straddling the end boundary is multiplexed in the next multiplexing section, if the integrated value in the next multiplexing section exceeds the first upper limit value, other bits straddling the end boundary Select another decoding unit of the stream according to the priority, exclude the other decoding unit from the multiplexing target,
The integrated value includes the information amount of the decoding unit excluded from the multiplexing target in the previous multiplexing section,
The priority of each bitstream is a maximum value in the multiplexing section and a second upper limit value of the buffer amount of the buffer amount of the decoder set corresponding to each of the plurality of bitstreams. Of the difference and the minimum value of the buffer amount in the multiplexing section, the smaller value is normalized by the second upper limit value of the buffer amount,
The first upper limit value is a value obtained by subtracting the amount of time information included in the bitstream from a value obtained by multiplying the upper limit of the bit rate of the multiplexing section by the time of the multiplexing section.
A multiplexing device characterized by the above.
多重化対象の複数のビットストリームそれぞれに対して多重化における優先度を算出し、
多重化区間内の前記複数のビットストリームの情報量の積算値と第1の上限値とを比較し、
前記積算値と前記第1の上限値との比較結果及び前記優先度をもとに、前記複数のビットストリームから多重化するビットストリームを選択する際に
前記積算値が前記第1の上限値を超える場合、前記優先度に応じて、前記多重化区間の終了境界を跨ぐ、受信側のデコーダでのデコード単位を有する前記ビットストリームを選択して、選択した前記ビットストリームの当該デコード単位を多重化対象から除外し、
前記終了境界を跨ぐ前記デコード単位を次の多重化区間内で多重化すると、前記次の多重化区間内における前記積算値が前記第1の上限値を超える場合、前記終了境界を跨ぐ他のビットストリームの他のデコード単位を、前記優先度に応じて選択し、当該他のデコード単位を前記多重化対象から除外し、
前記積算値は、前の多重化区間において、前記多重化対象から除外された前記デコード単位の情報量を含み、
各前記ビットストリームの前記優先度は、前記複数のビットストリームそれぞれに対応して設定される前記デコーダのバッファ量の、前記多重化区間内における最大値と前記バッファ量の第2の上限値との差分と、前記多重化区間における前記バッファ量の最小値のうち、小さい方の値を前記バッファ量の前記第2の上限値で規格化した値であり、
前記第1の上限値は、前記多重化区間のビットレートの上限に前記多重化区間の時間を乗じた値から、前記ビットストリームに含ませる時刻情報の情報量を差し引いた値である、ことを特徴とする多重化方法。

A priority in multiplexing is calculated for each of a plurality of bit streams to be multiplexed,
Comparing the integrated value of the information amount of the plurality of bitstreams in the multiplexing section with the first upper limit value,
When selecting a bitstream to be multiplexed from the plurality of bitstreams based on a comparison result between the integrated value and the first upper limit value and the priority,
When the integrated value exceeds the first upper limit value, the bit stream having a decoding unit at the receiving side decoder across the end boundary of the multiplexing section is selected and selected according to the priority. And excluding the decoding unit of the bitstream from being multiplexed,
When the decoding unit straddling the end boundary is multiplexed in the next multiplexing section, if the integrated value in the next multiplexing section exceeds the first upper limit value, other bits straddling the end boundary Select another decoding unit of the stream according to the priority, exclude the other decoding unit from the multiplexing target,
The integrated value includes the information amount of the decoding unit excluded from the multiplexing target in the previous multiplexing section,
The priority of each bitstream is a maximum value in the multiplexing section and a second upper limit value of the buffer amount of the buffer amount of the decoder set corresponding to each of the plurality of bitstreams. Of the difference and the minimum value of the buffer amount in the multiplexing section, the smaller value is normalized by the second upper limit value of the buffer amount,
The first upper limit value is a value obtained by subtracting the amount of time information included in the bitstream from a value obtained by multiplying the upper limit of the bit rate of the multiplexing section by the time of the multiplexing section. Feature multiplexing method.

JP2010252414A 2010-11-11 2010-11-11 Program, multiplexing apparatus and multiplexing method Active JP5625776B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010252414A JP5625776B2 (en) 2010-11-11 2010-11-11 Program, multiplexing apparatus and multiplexing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010252414A JP5625776B2 (en) 2010-11-11 2010-11-11 Program, multiplexing apparatus and multiplexing method

Publications (2)

Publication Number Publication Date
JP2012105105A JP2012105105A (en) 2012-05-31
JP5625776B2 true JP5625776B2 (en) 2014-11-19

Family

ID=46394986

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010252414A Active JP5625776B2 (en) 2010-11-11 2010-11-11 Program, multiplexing apparatus and multiplexing method

Country Status (1)

Country Link
JP (1) JP5625776B2 (en)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3364335B2 (en) * 1994-09-27 2003-01-08 日本放送協会 Multi-program encoder / transmitter with bit rate control function
JP3216503B2 (en) * 1995-10-20 2001-10-09 三菱電機株式会社 Multiplexing device and multiplexing method
JPH11331248A (en) * 1998-05-08 1999-11-30 Sony Corp Transmitter, transmission method, receiver, reception method and provision medium
WO2006077621A1 (en) * 2005-01-18 2006-07-27 Mitsubishi Denki Kabushiki Kaisha Multiplexing apparatus and receiving apparatus
JP4814950B2 (en) * 2006-09-29 2011-11-16 富士通セミコンダクター株式会社 Transmission / reception system, node, and communication method

Also Published As

Publication number Publication date
JP2012105105A (en) 2012-05-31

Similar Documents

Publication Publication Date Title
US10097878B2 (en) Video playback method and control terminal thereof
US20180191868A1 (en) Method and System for Downloading Multiple Resolutions Bitrate for Virtual Reality (VR) Video Streaming Optimization
US9781183B2 (en) Accelerated playback of streaming media
US9648385B2 (en) Adaptive streaming for digital content distribution
US9521354B2 (en) Adaptive streaming for digital content distribution
US10091269B2 (en) Buffering in HTTP streaming client
EP2629476A1 (en) Adaptive display streams
US20110176496A1 (en) On-the-fly video quality switching for video distribution networks and methods therefor
US20110307900A1 (en) Changing streaming media quality level based on current device resource usage
US8655148B2 (en) Picture overlay of captions on video via out of band communication
US20240155171A1 (en) Methods and systems for managing content quality in a storage medium
KR101947726B1 (en) Image processing apparatus and Method for processing image thereof
CN108200470A (en) A kind of video code rate method of adjustment and equipment
US20080049036A1 (en) Multimedia Playback System, FIFO Memory System, and Method for Storing Multimedia Data
JP5625776B2 (en) Program, multiplexing apparatus and multiplexing method
US20220256215A1 (en) Systems and methods for adaptive output
US20060280484A1 (en) Recording/playback apparatus and recording/playback method
US20120140119A1 (en) Multimedia device and play mode determination method of the same
CN108352172B (en) Method and control server for mitigating offsets in audiovisual resources
JP2008180932A (en) Display control device, display, display control method and program
KR101086434B1 (en) Method and apparatus for displaying video data
Akgul et al. Automated adaptive playback for encoder-adjudicated live sports
US9094696B2 (en) System and method to ensure buffer compliance in a MPEG2 transport stream system
JP2010197957A (en) Image and sound supplying device, image and sound output device, image and sound supplying method, image and sound output method and program
US20170324967A1 (en) Method for controlling bitstream decoding and associated bitstream decoding circuit

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130805

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140327

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140408

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140606

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: 20140902

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140915

R150 Certificate of patent (=grant) or registration of utility model

Ref document number: 5625776

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150