JP4074019B2 - Multiplexer - Google Patents
Multiplexer Download PDFInfo
- Publication number
- JP4074019B2 JP4074019B2 JP00432999A JP432999A JP4074019B2 JP 4074019 B2 JP4074019 B2 JP 4074019B2 JP 00432999 A JP00432999 A JP 00432999A JP 432999 A JP432999 A JP 432999A JP 4074019 B2 JP4074019 B2 JP 4074019B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- multiplexing
- buffer
- time
- delay time
- 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.)
- Expired - Lifetime
Links
Images
Landscapes
- Television Systems (AREA)
- Time-Division Multiplex Systems (AREA)
- Communication Control (AREA)
Description
【0001】
【発明の属する技術分野】
この発明は、例えばディジタル化されたビデオデータ、オーディオデータ、および汎用データなどのマルチメディアデータを多重化する多重化装置に関するものである。
【0002】
【従来の技術】
従来、多重化装置として、例えば特開平9−116520号公報に示すものがある。
図10は特開平9−116520号公報に示された従来の多重化装置を示す構成図である。
図10において、10a〜10nはビデオ、オーディオなどの各種メディア情報20a〜20nの符号化を行うn個の符号化部、11a〜11nはこの符号化部10a〜10nから出力される符号化データ21a〜21nを蓄積するn個の多重化バッファ手段としての多重化バッファ、12はこの多重化バッファ11a〜11nに蓄積された符号化データ22a〜22nを多重し、多重化ストリームとして出力する多重手段としての多重部、13は上記各多重化バッファ11a〜11nにおける符号化データ21a〜21nのバッファ蓄積量23a〜23nの情報に基づき、上記多重部13により多重して出力する符号化データを上記複数の多重化バッファ11a〜11nに蓄積された符号化データから選択する多重制御手段としての多重制御部である。
【0003】
次に動作について説明する。
符号化部10a〜10nは、メディア情報20a〜20nの符号化を行い、符号化データ21a〜21nとして多重化バッファ11a〜11nに出力する。多重化制御部13は、各多重化バッファ11a〜11nのバッファ蓄積量23a〜23n情報により、多重化すべき符号化データを選択し、多重部12に通知する。多重部12は、その通知により、選択すべき多重化バッファ11より符号化データ22を取り出し、多重化ストリームとして出力する。
【0004】
また、符号化部10a〜10nは、それぞれ対応する多重化バッファ11a〜11nのバッファ蓄積量23a〜23nにより、符号化データ21a〜21nの情報発生量の制御を行う。
【0005】
図10に示す構成では、多重化バッファ11a〜11nのバッファ蓄積量23a〜23nが多いものから多重されるため、各多重化バッファがオーバーフローせず、また、符号化部10a〜10nで発生させた情報発生量に比例して多重化を行うことができる。さらに、多重化バッファ11a〜11nの残量により、符号化部10a〜10nの情報発生量を制御するため、各多重化バッファ11a〜11nがオーバーフローやアンダーフローせずに、多重化部12で多重化を行うことができる。
【0006】
【発明が解決しようとする課題】
しかしながら、上述した従来の多重化装置では、バッファ蓄積量により多重化するメディアを選択していたため、多重化されるまでに多重化バッファに蓄積されている時間(多重時の遅延時間)に関して考慮されていない。
例えば情報発生量が可変のメディアにおいて、一時的に情報発生量が少なくなった時、バッファ蓄積量が増えないため、なかなか多重化されるデータとして選択されず、そのデータの多重時の遅延時間は大きいものとなる。このように、多重時の遅延時間に制限がないため、極端に多重されるのが遅れるという問題点がある。
【0007】
また、バッファ蓄積量によって符号化部の情報発生量を制御するため、常にバッファはある程度満たされた状態となり、バッファからの読み出し量が少ない場合に、バッファ内に蓄積されたデータの遅延時間が増大するという問題点がある。
【0008】
この発明は上記のような問題点を解決するためになされたもので、メディア毎にバッファ内に蓄積される遅延時間を考慮して、多重化部の多重化制御及び符号化部の情報発生量の制御を行うことができる多重化装置を提供することを目的とする。
【0009】
【課題を解決するための手段】
この発明に係る多重化装置は、複数の情報源からのデータを蓄積する複数の多重化バッファ手段と、これら多重化バッファ手段に蓄積されるデータを多重して出力する多重化手段と、上記多重化バッファに蓄積される各データの蓄積時間を測定する遅延測定手段と、データ毎に設定した最大遅延可能時間から上記遅延測定手段によって測定された各多重化バッファにおける遅延時間を引いた値の大小に基づくデータ優先度評価値により、上記多重化手段により多重するデータを選択する多重化制御手段とを備え、上記多重化制御手段で用いられるデータ優先度評価値は、データ毎の最大遅延可能時間から現在までのバッファにおける遅延時間を引いたものを変数xとおいた場合、Ax+Bで表され、Aは正数でレート制御が可能なほど大きく、Bはゼロもしくは正数でデータ廃棄が可能なほど値が大きくなるように設定し、データ優先度評価値が小さいデータより優先的に多重送出するものである。
また、上記遅延測定手段は、各データの符号化単位を認識し、最大遅延可能時間を超過したデータおよび、そのデータと同一の符号化単位のデータを多重化バッファ手段から廃棄することを特徴とするものである。
また、上記多重化制御手段は、各情報源のデータの多重化バッファ手段における遅延時間を基に、各情報源の情報発生量を制御することを特徴とするものである。
さらに、上記多重化制御手段は、複数の情報源を複数のグループに分割し、そのグループ内でn番目に優先度の高いデータのデータ優先度評価値を各グループ間で比較し、優先度の最も高いグループから、n個のデータを選択送出することを特徴とするものである。
【0027】
【発明の実施の形態】
実施の形態1.
図1はこの発明の実施の形態1に係る多重化装置を示す構成図である。
図1において、1aから1cはメディアデータ100a〜100cを蓄積する多重化バッファ手段、2a〜2cはこれら多重化バッファ手段1a〜1cに蓄積されているデータの遅延時間を測定する遅延測定手段、3は各遅延測定手段2a〜2cで検出した遅延時間を基に多重するメディアデータを選択する多重化制御手段、4は多重化制御手段3で選択したメディアデータの蓄積されている多重化バッファ手段1よりデータを読み出し、多重化データ101として出力する多重化手段である。なお、本実施の形態では3系統の入力しか記述していないが、複数系統の入力であればいくつでもよい。
【0028】
次に動作について説明する。
メディアデータ100a〜100cは、対応する多重化バッファ手段1a〜1cに蓄積され多重化されるのを待つ。
遅延測定手段2a〜2cは、各メディアデータ100a〜100cの多重化バッファ手段1a〜1cでの遅延時間を検出し多重化制御手段3に通知する。
【0029】
多重化制御手段3では、遅延測定手段2a〜2cで測定した遅延時間をもとに多重するメディアデータを選択し、多重化部4でそのメディアデータを多重化データとして送出する。
【0030】
多重化時には、複数のメディアデータを選択しながら多重送出するため、各メディアデータ毎に遅延が発生する。
その複数のメディアデータが多重化されたデータを受信する受信装置では、各メディア毎に復号を行う。その際、メディアデータ毎に受信装置で許容できる遅延時間が異なるため、多重化装置では、各メディア毎に多重化の際に発生する遅延時間に限度を設けて、必ず受信装置で許容できる遅延時間以内に各メディアデータを転送する必要がある。
【0031】
そのため、各メディアデータが多重化の際に許容される遅延時間(データ毎の最大遅延可能時間)から、現在までに多重化バッファ内でそのデータが留まっていた時間(現在までのバッファにおける遅延時間)を引いたものが、そのメディアデータの多重化までに残された時間となる。
この残された時間が小さいメディアデータほど優先的に多重する必要がある。
【0032】
多重化制御手段3では、このメディアデータ毎に残された時間を計算し、これを遅延時間変数xとおき、この遅延時間変数xを用いて多重化の際のメディアデータの選択を行う。遅延時間変数xは式(1)の通りである。
【0033】
遅延時間変数xは、各メディアデータの多重化処理での残された時間を示すため、メディアデータが多重化バッファ手段1に到着してから徐々に減っていき、この値が0になった時点でそのメディアデータは受信装置にとって不要となる。そのため、値が0となったメディアデータは多重化の必要はなくなり、多重化装置内で廃棄するのが適当である。
データを廃棄しないためにも、遅延時間変数が0に近いものから多重化データとして選択すべきである。
【0034】
以上のように、多重化制御手段3において、遅延時間変数の小さいメディアデータから多重化にすることによって、各メディアデータの最大遅延可能時間を超えないように多重化を行うことができるという効果がある。
【0035】
図2は、あるメディアデータの遅延時間変数の時間的経過を示した説明図である。
あるメディアデータが多重化バッファ手段1に到着した時点で、遅延時間変数はそのメディアの最大遅延可能時間を示す。
その後、時間経過と共に遅延時間変数は、経過した時間分だけ値が減じられ、最大遅延可能時間経過後に値は0となる。
【0036】
遅延時間変数をそのまま多重の優先順位の評価基準とすることで、一意に多重化の優先順位は決定する。しかしながら、遅延時間変数を用いた関数を評価基準にすることで、遅延時間だけでないメディア独特の優先順位付けも考慮することが可能となる。
【0037】
多重化制御手段3では、遅延時間変数xの関数をデータ優先度評価値f(x)とし、多重化の優先度をこのデータ優先度評価値f(x)により決定する。
データ優先度評価値f(x)を与える関数は、基本的に遅延時間変数xが0に近づくにつれデータ優先度評価値f(x)の値を小さくするものであり、多重化制御手段3は、データ優先度評価値f(x)が小さいものから優先的に多重を行うものとする。
【0038】
多重化制御部3は、データ優先度評価値f(x)の小さいものから多重していくことにより、最大遅延可能時間が迫ってきたメディアデータから多重される。これにより、各メディアデータの許容される遅延時間を使い切らないように、多重化が行われる。
【0039】
以上のように、遅延時間変数xを関数としたデータ優先度評価値f(x)を用いて多重制御を行うことにより、各メディアデータの許容遅延時間を超えないような多重化制御が行えるいう効果がある。
【0040】
また、多重化制御部3では、データ優先度評価値f(x)だけで多重するメディアデータを選択するのではなく、各メディアに依存した情報優先度評価値と併用することでさらに多彩な多重制御が行える。
ここで、情報優先度評価値とは、各メディア(情報源)に固有の多重のための優先度を付与したものである。
【0041】
例として、情報優先度評価値とデータ優先度評価値の2種類の評価値を使用した多重化制御について示す。
オーディオ、ビデオ、汎用データの3種類のメディアが存在し、汎用データのみ情報優先度評価値による優先度が低いとする。多重化制御部3は、まず、ビデオとオーディオのデータ優先度評価値により優先度の高いメディアデータを多重化データとして選択する。その後もビデオとオーディオでデータ優先度評価値により優先度の高いデータを多重化データとして選択し続け、ビデオ、オーディオとも選択できるデータが多重化バッファ手段の中に存在しない場合に、汎用データを多重化データとして選択する。
これにより、ビデオとオーディオは、常に優先されると共に遅延時間を考慮した多重が行える。
【0042】
また、逆に、汎用データのみ情報優先度評価値による優先後が高い場合には、まず、汎用データ用の多重化バッファ手段が空になるまで、汎用データが多重化データとして選択され、その後、ビデオとオーディオがデータ優先度評価値により遅延時間を考慮した多重化データの選択が行われる。
これにより、汎用データは常に優先的に多重化され、残った時間をビデオとオーディオで遅延時間を考慮しながら多重化が行われる。
【0043】
以上のように、情報優先度評価値及びデータ優先度評価値を併用することにより、メディアによる優先度と遅延時間による優先度の2つの優先度を考慮した多重化制御が行えるという効果がある。
【0044】
次に、データ優先度評価値の関数を決定するための手段を以下に示す。例として、遅延時間変数xの1次関数をデータ優先度評価値f(x)とした場合について式(2)に示す。
f(x)=Ax+B ・・・(2)
ここで、A,B:メディア別変数
【0045】
許容可能な遅延時間を越えたものは、その情報に利用価値がないものとして廃棄されるべきである。そのため、遅延時間変数xは負にはならない。
メディアデータの中に廃棄可能なものが存在する場合、それ以外のメディアデータの許容可能な遅延時間を超える前に、廃棄可能なメディアデータを廃棄し、それ以外のメディアデータを多重する割合を増やすことによって、それ以外のメディアデータを許容時間以内に多重化することが可能となる。
そこで、廃棄可能なメディアデータの優先度をある程度以上高くならないようにする。
【0046】
データ優先度評価値f(x)が式(2)で表される場合、廃棄可能なメディアの優先度をある程度以上高くしないためには、データ優先度評価値の値がある程度以上小さくならなければよい。
式(2)の変数Bに正数を設定することで、データ優先度評価値f(x)は常にB(>0)以上となり、そのメディアの優先度が最高(データ優先度評価値=0)となることはない。
【0047】
他のメディアデータのデータ優先度評価値f(x)が常にB以下の場合、つまり多重化のために許容されている遅延時間の残りが少ない場合、廃棄可能なメディアは送信されず廃棄される。一方、他のメディアデータの許容される遅延時間の残りが多いとき、データ優先度評価値はBを超えているため、廃棄可能なメディアは多重化され送信される。
つまり、式(2)の変数Bは、メディア別のデータ廃棄可能な度合いを表す係数、すなわちゼロもしくは正数で、0は廃棄不可を示し、値が大きくなるにつれて、データ廃棄の可能性が高くなる。
【0048】
以上のように、廃棄可能なデータの優先度を定められた値以上高くならないようにすることによって、他のデータの廃棄の可能性が減るような多重化制御、すなわちデータ優先度評価値が小さいデータより優先的に多重伝送が行えるという効果がある。
【0049】
ところで、従来例では、情報発生量を多重化バッファのバッファ蓄積量で行っている。蓄積量が多い場合には情報発生量を減らし、蓄積量が少ない場合には情報発生量を増やして、多重化データ全体の出力レートに個々のメディアデータの入力レートとの合計が一致するようにしている。
【0050】
レート制御を有効に行うためには、レート制御が行えるメディアに対して割り与えられる帯域(レート)を顕著に表すようなバッファ蓄積量の変動が必要である。そのために、レート制御が行えないメディアの優先度を高くして、優先的に多重させ、残った帯域(時間)でレート制御可能なメディアを多重すれば、レート制御可能なメディアに割り与えられるレートと現在の発生レートとの差分が顕著に多重化バッファ手段1の蓄積量に表れる。
【0051】
ただし、レート制御可能なメディアにも、最大遅延可能時間が設定されるため、その時間を超えることは避けなければならず、そのために遅延時間変数xが0に近づいた場合は優先度が最高(データ優先度評価値f(x)=0)となる必要がある。
【0052】
よって、情報源で発生するデータ量を制御可能なデータに対しては、通常優先度を低くし、遅延時間が大きくなる、つまり遅延時間変数xが0に近づくにつれて優先度が最高になるようにする。
【0053】
データ優先度評価値f(x)が式(2)で表される場合、レート制御可能なメディアに対しては、遅延時間変数xが0の時データ優先度評価値f(x)が0になり、かつ他のメディアより通常はデータ優先度評価値f(x)が大きくなる必要がある。
【0054】
式(2)の変数Aの値を大きくすることで、データ優先度評価値f(x)は他のメディアより比較的大きくなり、変数Bが0の場合は遅延時間変数xが0に近づくにつれてデータ優先度評価値f(x)も0に近づき最高の優先度になりうる。つまり、式(2)の変数Aは、メディア別の情報発生量の制御可能な、すなわちレート制御が可能な度合いを表す正数で、値が大きくなるにつれて、制御可能な情報量の範囲が広くなる。
【0055】
以上のように、情報源で発生するデータ量を制御可能なデータに対して、通常優先度を低くし、遅延時間変数xが0に近づくにつれて優先度が最高になるようにすることによって、レート制御をダイナミックに行えるという効果がある。
【0056】
また、遅延時間に制約(制限)のないメディアデータは、いつ多重してもよいため、優先度を最低にして、他のメディアで多重するデータがない場合に、この遅延時間に制約のないメディアデータを多重送信する。
そのため、最大遅延可能時間を考慮したデータ優先度評価値による優先度付けは行わず、情報優先度評価値を用いて、常に優先度を低くする。
【0057】
以上のように、遅延時間に制約のないメディアは、情報優先度評価値による優先度を最低にすることによって、他のメディアの多重すべきデータがない場合だけ選択多重されるため、他のメディアの送出に制限を加えずに多重化が行えるという効果がある。
【0058】
一般に、メディアデータは、ある符号化単位で符号化されている。受信装置では符号化データの一部が廃棄されると、その符号化単位全てが復号できなくなる場合がある。
そこで、多重化装置で、遅延時間超過等により廃棄されるメディアデータ、すなわち、最大遅延可能時間を超過したデータと同一の符号化単位であるメディアデータを同時に廃棄することにより、受信装置で復号不可能なデータを受信せずに済み、また、多重化装置では復号不可能なその同一の符号化単位のデータの伝送時間を他のメディアの伝送に使用できる。
【0059】
以上のように、廃棄するメディアデータと同一の符号化単位のメディアデータも同時に廃棄することによって、受信装置で不要なデータを受信せず、また、多重化装置ではその代わりに他のメディアデータを多重できるため、多重化装置出力の伝送容量を効率的に使用できるという効果がある。
【0060】
さらに、多重化されるのを待っているメディアデータとその同一符号化単位であるメディアデータ全てを送出するために必要な時間を、そのメディアに割り与えられる可能性のある最大レートとから算出し、その同一符号化単位のメディアデータ全てが各々最大遅延可能時間内に遅れそうもない場合、その同一符号化単位のメディアデータ全てを廃棄する。
【0061】
以上のように、同一符号化単位のメディアデータを全て最大遅延可能時間内に送信できない状況を認識し、最大遅延可能時間になる前に廃棄することによって、すなわち、各データの符号化単位をすべて送信するために必要な時間が遅延可能時間より大きい場合に、その符号化単位すべてを多重化バッファ手段から廃棄することによって、受信装置で不要なデータを受信せず、また、多重化装置ではその代わりに他のメディアデータを多重できるため、多重化装置出力の伝送容量を効率的に使用できるという効果がある。
【0062】
また、多重化バッファ手段1内のメディアデータの遅延時間を計測する手段として、符号化単位を検出し、符号化単位の先頭のデータが、多重化バッファ手段1に到着した時にその時刻を記憶し、同一符号化単位の最終データがバッファから出力される時刻までを、それらの同一符号化単位全体の共通の遅延時間として計算する。
このようにすることで、1符号化単位データで1つの時間管理をすればよいので、1バイトずつ時間管理をする必要がなく簡易な装置構成が実現できる。
【0063】
以上のように、遅延時間を測定する単位を符号化単位とすることにより、時間管理を行うデータ数が減り、簡易に遅延時間を測定できるという効果がある。
【0064】
次に、多重化バッファ手段1内のメディアデータの遅延時間を計測する別の手段を示す。
多重化バッファ手段は、1バイト毎に書き込み・読み出しが行えると共に、1バイトのデータに対して1ビットのデータの有無を示すフラグを具備する。
各情報源毎に最大情報発生レートのクロックで多重化バッファ手段1にメディアデータを書きこむ。しかし、必ずしも書きこむデータがあるわけではないため、実際受信したデータを書きこんだ時には上記データの有無を示すフラグを「有」にし、受信したデータがない場合にはこのフラグを「無」にする。
【0065】
多重化バッファ手段1よりデータを読み出す場合には、このフラグが「有」となっているデータのみを読み出す。これにより、有効なデータのみを読み出すことができる。
多重化バッファ手段1には、データを一定レートで書き込みを行っているため、書き込み後まだ読み出しが行われていない部分、つまりバッファ残量(フラグが「無」となっているデータも含む)を計測し、それを書き込みを行ったレート(最大情報発生レート)で除算することにより、先頭のデータの遅延時間を計測することができる。
【0066】
図3は、多重化バッファ手段1の構造の一例を示した説明図である。
多重化バッファの上部より読み込んだ受信データ(8bit)を入れると共に、1ビットのデータ有無のフラグを設定する。バッファの読み出しはバッファ下部より行い、データ有無フラグが「有」となっているデータのみ有効とする。
この時データの書き込みが行われているバッファ残量によって、最も古い(図では最下部に位置する)データの遅延時間が計算できる。
【0067】
以上のように、多重化バッファ手段1に1バイトのデータ書き込み領域に対して1ビットのデータ有無のフラグを具備し、常に各情報源の最大情報発生レートでデータの書き込みを行い、実際に受信データがある場合にのみフラグを「有」にすることによって、バッファ残量を書き込みレートで割ることによりデータの遅延時間を容易に計測できるという効果がある。
【0068】
多重化バッファ手段1内のメディアデータの遅延時間を計測する別の手段を示す。
多重化バッファ手段1には、1バイトのデータを書きこむ領域と、データの書き込みを行った時刻を書きこむ領域が存在する。多重化バッファ手段1は、情報源よりメディアデータを受信したら、1バイトずつ受信データをバッファに書き込みを行うと同時に、書き込みを行った時刻を一緒にバッファへ書き込む。
多重化バッファ手段1よりメディアデータが読み出される時は、読み出されるデータに付随する時刻情報と現在の時刻を比較することによって遅延時間が計算できる。
【0069】
図4は、多重化バッファ手段1の構造の例を示した説明図である。
多重化バッファの上部より読み込んだ受信データ(8bit)を入れると共に、現在の時刻(つまりデータの書き込み時刻)を書き込む。バッファの読み出しはバッファ下部よりデータ部分のみを読み出す。
この時、バッファからデータを読み出す際に、データの書き込みが行われた時刻を参照し、現在の時刻と比較することで、そのデータのバッファにおける遅延時間が算出できる。
【0070】
以上のように、多重化バッファ手段1に1バイトのデータ書き込み領域に対して、時刻情報を書き込む領域を具備することによって、データ読み出し時に時刻情報領域を参照し現在の時刻と比較することによってデータの遅延時間を容易に計測できるという効果がある。
【0071】
さらに、多重化バッファ手段1内のメディアデータの遅延時間を計測する別の手段を示す。
多重化バッファ手段1には、データを書き込む領域と、データN(Nは整数)バイト毎に時刻情報を書き込む領域が存在する。
多重化バッファ手段1は、情報源よりメディアデータを受信したら、1バイトずつ受信データをバッファに書き込みを行うと同時に、データをNバイト書き込む度に現在の時刻を時刻情報領域に書き込む。
多重化バッファ手段1よりメディアデータが読み出される時は、読み出されるデータからNバイト以内に存在する時刻情報と現在の時刻を比較することによって遅延時間が計算できる。
【0072】
図5は、多重化バッファ手段1の構造の別の例を示した説明図である。
多重化バッファの上部より読み込んだ受信データ(8bit)を入れる。データをNバイト書き込んだら、現在の時刻(つまりデータの書き込み時刻)を時刻情報領域に書き込む。バッファの読み出しはバッファ下部よりデータ部分のみを読み出す。
この時、バッファからデータを読み出す際に、読み出すデータのNバイト以内に存在する時刻情報を照し、現在の時刻と比較することで、そのデータのバッファにおける遅延時間が算出できる。
【0073】
以上のように、多重化バッファ手段1にN(Nは整数)バイトのデータ書き込み領域に対して、時刻情報を書き込む領域を具備することによって、データ読み出し時に時刻情報領域を参照し現在の時刻と比較することによってデータの遅延時間を容易に計測できるという効果がある。
【0074】
実施の形態2.
上述した実施の形態1では、多重するデータを選択するための手段についてのものであるが、次に情報源の情報発生量を制御する実施の形態を示す。
図6は、このような場合の多重化装置を示す構成図である。
図において、6は遅延測定手段2a〜2cにより通知されるデータの遅延時間を基に、多重するメディアデータを選択し多重化手段4に通知し、さらに同遅延時間を基に情報源(図示せず)に対して情報量制御データ200a〜200cを用いて情報発生量の制御を行う多重化制御手段である。図6において、図1と同一の参照番号は図1と同一または同等の要素であるので、詳細説明を省略する。
【0075】
次に動作について説明する。
メディアデータ100a〜100cは、対応する多重化バッファ手段1a〜1cに蓄積され多重化されるのを待つ。
遅延測定手段2a〜2cは、各メディアデータ100a〜100cの多重化バッファ手段1a〜1cでの遅延時間を検出し、遅延時間を多重化制御手段3に通知する。
【0076】
多重化制御手段3では、遅延測定手段6a〜6cで検出した遅延時間をもとに多重するメディアデータを選択し、さらにこの遅延時間を基に、情報源(図示せず)に対して情報量制御データ200a〜200cを用いて情報発生量を制御する。多重化部4では多重化制御手段6の選択したメディアデータを多重化データとして送出する。
【0077】
多重化制御手段6では、情報量制御データ200a〜200cを用いて、検出した遅延時間が大きい場合には情報発生量を少なくするように、遅延時間が小さい場合には情報発生量を多くするような情報を通知する。
これにより、多重化バッファ手段1で蓄積されているデータの遅延時間が小さい場合、情報発生量を増加することにより、データ遅延時間が増加し、多重化バッファ手段のアンダーフローを避けることができる。逆に多重化バッファ手段1で蓄積されているデータの遅延時間が大きい場合、情報発生量を減少することにより、データ遅延時間が減少し、多重化バッファ手段のオーバーフローを避けることができる。
【0078】
また、バッファ蓄積量が少なくてもバッファからの出力量が少ないと、バッファにおける遅延時間が増大してしまうが、バッファでの遅延時間を基に情報発生量を決定するためバッファでの遅延時間が大きくなることはなくなる。
【0079】
ここでの情報発生量の制御とは、純粋に情報源で発生させる情報量を制御する場合と、情報源における量子化ステップ等を制御する場合がある。前者は各メディア単位に情報発生量を所望の値に近づけるために、後者は各メディア間の量子化ステップサイズを共通にしさらに全体の情報発生量を制御するために利用できる。
【0080】
以上のように、情報源の情報発生量を各多重化バッファ手段1でのメディアデータの遅延時間によって制御するために、多重化バッファ手段のオーバーフローやアンダーフローおよびバッファ内での遅延時間の増大を防ぐことができるという効果がある。
【0081】
実施の形態3.
以上の実施の形態1、2では、1つの多重化装置について示したものであるが、ここでは多重化装置を多段接続する実施の形態を示す。
図7は、このような場合の多重化装置を示す構成図である。
図7において、7は伝送レートデータ201により出力レートを制御しながら、多重制御手段6で選択したメディアデータの蓄積されている多重化バッファ手段1よりデータを読み出し、多重化データ101として出力する多重化手段である。なお、図7において、図6と同一の参照番号は図6と同一または同等の要素であるので、詳細説明を省略する。
【0082】
次に動作について説明する。
メディアデータ100a〜100cは、対応する多重化バッファ手段1a〜1cに蓄積され多重化されるのを待つ。
遅延測定手段2a〜2cは、各メディアデータ100a〜100cの多重化バッファ手段1a〜1cでの遅延時間を検出し、遅延時間を多重化制御手段6に通知する。
【0083】
多重化制御手段6では、遅延測定手段2a〜2cで検出した遅延時間を基に多重するメディアデータを選択する。さらに、この遅延時間を基に、情報源(図示せず)に対して情報量制御データ200a〜200cを用いて情報発生量を制御する。多重化部7は、出力レートデータ201により出力レートを外部より制御されながら、多重化制御手段3で選択したメディアデータを多重化データとして送出する。
【0084】
多重化制御手段6では、情報量制御データ200a〜200cを用いて、検出した遅延時間が大きい場合には情報発生量を少なくするように、遅延時間が小さい場合には情報発生量を多くするような情報を通知する。
多重化手段7において、出力レートの制御とは、純粋に多重化手段で発生させる出力レートを制御する場合と、情報源における量子化ステップ等を制御する場合がある。前者は出力レートを所望の値に近づけるために、後者は各メディア間の量子化ステップサイズを共通にしさらに出力レートを制御するために利用できる。
【0085】
以上のように、出力レートを外部からの制御データにより制御できるようにしたため、多重化装置の出力データを受信する装置が必要とするだけのデータ量を受信することができるという効果がある。
【0086】
図8は、多重化装置の多段接続の例を示した説明図である。
図8において、9は、図7に示される多重化装置であり、複数段木構造状に多段接続されている。なお、図8において、図7と同一の参照番号は図7と同一または同等の要素であるので、詳細説明を省略する。
【0087】
次に動作について説明する。
メディアデータ100a〜100dは、情報量制御データ200a〜200dにより出力情報量を制御された状態で、多重化装置9a、9cに入力される。多重化装置9a、9cはそれぞれ出力レートデータ201a、201cにより出力レートを制御しながら、メディアデータ100a〜100dを多重して、多重化データ101a、101cを出力する。
【0088】
多重化装置9eでは、この多重化データ101a、101cを受信データ(メディアデータ)100e、100fとして扱い、さらにその情報量の制御を行う出力レートデータ201a、201cを情報量制御データ200eと扱うことで、多重化装置9eは多重化装置9a、9cの出力を多重する多重化装置となる。そしてこの多重化データ101eは出力レートデータ201eにより制御される。
【0089】
多重化装置9eで多重化を行う多重化データの出力情報量は、出力レートデータ201eにより制御される。この出力レートの制御により、受信データ100e、100fを受信するバッファが破綻しないように、情報量制御データ200e、200fを用いて入力レートの制限を行う。
【0090】
多重化装置9a、9cでは、情報量制御データ200e、200fを出力レートデータ201a、201cとみなし、多重化データ101a、101cの出力レートを制限する。またこの出力レートに応じて、メディアデータ100a〜100dの入力レートの制限も行う。
【0091】
このようにすることで、多段に接続された各多重化装置内の受信バッファが破綻することなく多重が行える。
例えば、ディジタル放送などで、ビデオ、オーディオ等を多重して1つの番組を作成し、さらにこれらの番組を複数多重して放送する場合などに、このような多段の多重を用いることができる。
【0092】
以上のように、多重化装置を木構造状に多段に接続しても、入出力のレート制御を適正に行うことができるようにしたので、多重化を複数回繰り返す場合でも多重化装置内のバッファの破綻をきたすことなく多重化を行うことができるという効果がある。
【0093】
実施の形態4.
以上の実施の形態1、2、3では、通信プロトコルにおける1つのレイヤの多重化機能の実現について示したものであるが、ここでは複数のレイヤにおける多重化を一度に行う実施の形態を示す。
このような場合の多重化装置を示す構成図は、図1、図6もしくは図7と同様である。
【0094】
次に動作について説明する。
多重化制御手段は、特定の情報源の中か多重化されるデータを選択する。この場合選択する方法については上記の通り。また、特定の情報源とは、外部から選択されたり、時々刻々と変化するようなものであってもよい。
【0095】
一般に、下位レイヤにおける多重化制御は、ある一定間隔で多重される対象を変更することがある。例えば時分割多重などでは、複数の多重対象をある時間間隔で切り替えて多重を行っている。
【0096】
図9は、このような複数レイヤの同時多重化を行う際の多重化のタイミングを示す説明図である。
図9では、このような時分割多重を用いて2つの番組の多重を行う下位レイヤの多重と、ビデオ、オーディオなどのメディア多重を行う上位レイヤの多重を同時に行う例を示す。
【0097】
2つの番組は、それぞれ複数のメディアからなる。ここでは、番組1はメディアa,b,c、番組2はメディアd,e,fからなるものとする。また下位レイヤの多重化の制約により、番組1と番組2はある一定間隔で交互に送信されるものとする。
【0098】
多重化制御手段は、多重化パターンが番組1を送信する時間であれば、メディアa、b、cの中から、データ優先度評価値などにより多重すべきメディアを選択する。同様に番組2を送信する時間であればメディアd,e,fの中から多重すべきメディアを選択する。
これにより、2つの番組を一定間隔で交互に送るような多重化機能を実現できる。
【0099】
以上のように、多重化制御手段で選択するメディアに制限をつけるようにしたため、時分割多重等の機能も実現でき、複数回の多重化を1度に行えるという効果がある。
【0100】
時分割多重の対象が固定的でない場合、つまり時分割多重の最小多重時間は一定であるが、選択される対象が不定の場合について説明する。
図9において、番組多重パターンは番組1と番組2が交互になっているが、この多重パターンを多重化装置で任意に変更できる場合、多重化装置は送りたい番組を選択して送る。
【0101】
番組にはそれぞれ3つのメディアが多重されており、これらのメディアの中(重複可能)で送信可能なデータのデータ優先度評価値を算出する。
3つのデータ単位に番組多重パターンを変更する場合、それぞれの番組に含まれるメディアグループの中で3番目に優先度の高いデータのデータ優先度評価値を検出する。
そして、番組1と2のそれぞれの3番目のデータ優先度評価値を比較し、優先度の高い方を次回の番組多重パターンに選択し、最小時分割多重時間(図では3)が終了するまでその番組内のメディア(重複可能)の中から優先度の高いデータを3つ選択する。
この動作は最小時分割多重時間単位毎に行われ、その都度どの番組を多重するかを選定する。
【0102】
以上のように、複数の情報源を複数のグループに分割し、そのグループ内でn番目に優先度の高いデータのデータ優先度評価値を各グループ間で比較し、優先度の最も高いグループから、n個のデータを選択送出することにより、グループの効率的な多重化を行うことができるという効果がある。
【0103】
【発明の効果】
以上のように、この発明に係る多重化装置よれば、メディア毎にバッファ内に蓄積される遅延時間を考慮して、多重化部の多重制御及び符号化部の情報発生量の制御を行うことができる。
【図面の簡単な説明】
【図1】 この発明の実施の形態1に係る多重化装置を示す構成図である。
【図2】 あるメディアデータの遅延時間変数の時間的経過を示した説明図である。
【図3】 多重化バッファ手段1の構造の一例を示した説明図である。
【図4】 多重化バッファ手段1の構造の他の例を示した説明図である。
【図5】 多重化バッファ手段1の構造のさらに他の例を示した説明図である。
【図6】 この発明の実施の形態2に係る多重化装置を示す構成図である。
【図7】 この発明の実施の形態3に係る多重化装置を示す構成図である。
【図8】 多重化装置の多段接続の例を示した説明図である。
【図9】 この発明の実施の形態4に係るもので、複数レイヤの同時多重化を行う際の多重化のタイミングを示す説明図である。
【図10】 特開平9−116520号公報に示された従来の多重化装置を示す構成図である。
【符号の説明】
1a,1b,1c 多重化バッファ装置、2a,2b,2c 遅延測定手段、3,6 多重化制御手段、4,7 多重化手段、9a,9c,9e 多重化装置。[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a multiplexing device that multiplexes multimedia data such as digitized video data, audio data, and general-purpose data.
[0002]
[Prior art]
Conventionally, as a multiplexing apparatus, there is one disclosed in, for example, Japanese Patent Laid-Open No. 9-116520.
FIG. 10 is a block diagram showing a conventional multiplexing apparatus disclosed in Japanese Patent Laid-Open No. 9-116520.
In FIG. 10, 10a to 10n are n encoding units for encoding
[0003]
Next, the operation will be described.
The
[0004]
Also, the
[0005]
In the configuration shown in FIG. 10, the multiplexing buffers 11a to 11n are multiplexed starting from the one with the largest
[0006]
[Problems to be solved by the invention]
However, in the above-described conventional multiplexing apparatus, since the medium to be multiplexed is selected according to the buffer accumulation amount, the time accumulated in the multiplexing buffer before multiplexing (delay time at the time of multiplexing) is considered. Not.
For example, in media with variable information generation amount, when the amount of information generation temporarily decreases, the buffer storage amount does not increase, so it is not easily selected as data to be multiplexed, and the delay time when multiplexing the data is It will be big. As described above, since there is no limit on the delay time at the time of multiplexing, there is a problem that the multiplexing is extremely delayed.
[0007]
Also, since the information generation amount of the encoding unit is controlled by the buffer accumulation amount, the buffer is always filled to some extent, and the delay time of the data accumulated in the buffer increases when the read amount from the buffer is small There is a problem of doing.
[0008]
The present invention has been made in order to solve the above-described problems. In consideration of the delay time accumulated in the buffer for each medium, the multiplexing control of the multiplexing unit and the information generation amount of the encoding unit. An object of the present invention is to provide a multiplexing device capable of controlling the above.
[0009]
[Means for Solving the Problems]
The multiplexing apparatus according to the present invention comprises a plurality of multiplexing buffer means for storing data from a plurality of information sources, a multiplexing means for multiplexing and outputting the data stored in the multiplexing buffer means, and the multiplexing Delay measuring means for measuring the accumulation time of each data accumulated in the data buffer, and the value obtained by subtracting the delay time in each multiplexing buffer measured by the delay measuring means from the maximum delay possible time set for each data And multiplexing control means for selecting data to be multiplexed by the multiplexing means based on the data priority evaluation value based onThe data priority evaluation value used in the multiplexing control means is expressed as Ax + B, where A is a value obtained by subtracting the delay time in the buffer from the maximum possible delay time for each data to the current time, and A is a positive value. The number is set to be as large as possible to control the rate, and B is set to a value that is zero or positive so that the data can be discarded. Multiple data is preferentially transmitted over data with a low data priority evaluation value. .
The delay measuring means recognizes the coding unit of each data, and discards data exceeding the maximum delay possible time and data of the same coding unit as the data from the multiplexing buffer means. To do.
The multiplexing control means controls the information generation amount of each information source based on the delay time in the multiplexing buffer means of the data of each information source.
Further, the multiplexing control means divides the plurality of information sources into a plurality of groups, compares the data priority evaluation values of the n-th highest priority data within the group, and compares the priority levels. It is characterized in that n pieces of data are selectively transmitted from the highest group.
[0027]
DETAILED DESCRIPTION OF THE INVENTION
1 is a block diagram showing a multiplexing apparatus according to
In FIG. 1, 1a to 1c are multiplexing buffer means for storing
[0028]
Next, the operation will be described.
The
The delay measuring means 2a to 2c detect the delay time of the
[0029]
The multiplexing control unit 3 selects media data to be multiplexed based on the delay times measured by the
[0030]
At the time of multiplexing, a plurality of media data are selected and transmitted while being multiplexed, so that a delay occurs for each media data.
In a receiving apparatus that receives data obtained by multiplexing the plurality of media data, decoding is performed for each medium. At that time, since the delay time allowable in the receiving device differs for each media data, the multiplexing device sets a limit on the delay time generated when multiplexing for each medium, and the delay time that is always allowed in the receiving device. Within each media data must be transferred within.
[0031]
Therefore, from the delay time allowed when each media data is multiplexed (maximum delay possible time for each data), the time that the data has remained in the multiplexing buffer up to the present (delay time in the buffer up to now) ) Is the time remaining until the media data is multiplexed.
It is necessary to preferentially multiplex the media data having a small remaining time.
[0032]
The multiplexing control means 3 calculates the remaining time for each media data, puts this time as a delay time variable x, and selects the media data at the time of multiplexing using this delay time variable x. The delay time variable x is as shown in Equation (1).
[0033]
Since the delay time variable x indicates the remaining time in the multiplexing process of each media data, it gradually decreases after the media data arrives at the multiplexing buffer means 1, and when this value becomes 0 The media data becomes unnecessary for the receiving apparatus. For this reason, it is not necessary to multiplex media data having a value of 0, and it is appropriate to discard the media data in the multiplexing device.
In order not to discard the data, the multiplexed data should be selected from those whose delay time variable is close to zero.
[0034]
As described above, in the multiplexing control means 3, by multiplexing from media data with a small delay time variable, it is possible to perform multiplexing so as not to exceed the maximum delay possible time of each media data. is there.
[0035]
FIG. 2 is an explanatory diagram showing a time course of a delay time variable of certain media data.
When a certain media data arrives at the multiplexing buffer means 1, the delay time variable indicates the maximum delay possible time of the media.
Thereafter, the value of the delay time variable is reduced by the elapsed time with the passage of time, and the value becomes 0 after the maximum delay time has elapsed.
[0036]
By using the delay time variable as it is as an evaluation criterion for multiple priorities, the priorities for multiplexing are uniquely determined. However, by using a function using a delay time variable as an evaluation criterion, it is possible to consider not only delay time but also a unique prioritization of media.
[0037]
In the multiplexing control means 3, the function of the delay time variable x is set as the data priority evaluation value f (x), and the multiplexing priority is determined by the data priority evaluation value f (x).
The function that gives the data priority evaluation value f (x) basically decreases the value of the data priority evaluation value f (x) as the delay time variable x approaches 0. The multiplexing control means 3 It is assumed that multiplexing is performed preferentially from the data with the smaller data priority evaluation value f (x).
[0038]
The multiplexing control unit 3 multiplexes from the media data whose maximum delay time is approaching by multiplexing from the data priority evaluation value f (x) starting from the smallest. As a result, multiplexing is performed so that the allowable delay time of each media data is not used up.
[0039]
As described above, by performing multiplexing control using the data priority evaluation value f (x) with the delay time variable x as a function, multiplexing control that does not exceed the allowable delay time of each media data can be performed. effective.
[0040]
In addition, the multiplexing control unit 3 does not select media data to be multiplexed based only on the data priority evaluation value f (x), but uses it in combination with information priority evaluation values depending on each medium, thereby further increasing the variety of multiplexing. Control is possible.
Here, the information priority evaluation value is a value given to each medium (information source) with a priority for multiplexing.
[0041]
As an example, multiplexing control using two types of evaluation values, that is, an information priority evaluation value and a data priority evaluation value will be described.
Assume that there are three types of media: audio, video, and general-purpose data, and only the general-purpose data has a low priority based on the information priority evaluation value. The multiplexing control unit 3 first selects media data having high priority as multiplexed data based on the data priority evaluation values of video and audio. After that, if video and audio continue to select data with high priority according to the data priority evaluation value as multiplexed data, and there is no data that can be selected for both video and audio in the multiplexing buffer means, general-purpose data is multiplexed. Select as digitized data.
As a result, video and audio are always prioritized and can be multiplexed in consideration of the delay time.
[0042]
On the other hand, when the priority after the information priority evaluation value is high only for general data, first, the general data is selected as multiplexed data until the multiplexing buffer means for general data is empty, and then For video and audio, multiplexed data is selected in consideration of the delay time based on the data priority evaluation value.
As a result, the general-purpose data is always multiplexed with priority, and the remaining time is multiplexed with video and audio taking into account the delay time.
[0043]
As described above, by using the information priority evaluation value and the data priority evaluation value in combination, there is an effect that multiplexing control can be performed in consideration of two priorities, that is, a medium priority and a delay time priority.
[0044]
Next, means for determining the function of the data priority evaluation value will be shown below. As an example, Equation (2) shows a case where a linear function of the delay time variable x is a data priority evaluation value f (x).
f (x) = Ax + B (2)
Where A, B: Media-specific variables
[0045]
Anything beyond an acceptable delay should be discarded as the information has no utility value. For this reason, the delay time variable x is not negative.
If some media data can be discarded, discard the discardable media data and increase the rate of multiplexing other media data before exceeding the allowable delay time of other media data. As a result, other media data can be multiplexed within an allowable time.
Therefore, the priority of media data that can be discarded should not be increased to a certain degree.
[0046]
When the data priority evaluation value f (x) is expressed by the equation (2), in order not to raise the priority of the medium that can be discarded more than a certain level, the value of the data priority evaluation value must be decreased to a certain degree. Good.
By setting a positive number to the variable B in the expression (2), the data priority evaluation value f (x) is always B (> 0) or more, and the priority of the medium is the highest (data priority evaluation value = 0). ).
[0047]
When the data priority evaluation value f (x) of other media data is always B or less, that is, when the remaining delay time allowed for multiplexing is small, the discardable media is discarded without being transmitted. . On the other hand, when the remaining delay time of other media data is large, since the data priority evaluation value exceeds B, the discardable media is multiplexed and transmitted.
In other words, the variable B in the equation (2) is a coefficient representing the degree of data discard by medium, that is, zero or a positive number. 0 indicates that the data cannot be discarded. Become.
[0048]
As described above, by making the priority of discardable data not higher than a predetermined value, multiplexing control that reduces the possibility of discarding other data, that is, the data priority evaluation value is small. There is an effect that multiplex transmission can be performed with priority over data.
[0049]
Incidentally, in the conventional example, the information generation amount is performed by the buffer accumulation amount of the multiplexing buffer. If the accumulated amount is large, the information generation amount is reduced, and if the accumulated amount is small, the information generation amount is increased so that the total output rate of the multiplexed data matches the input rate of each media data. ing.
[0050]
In order to effectively perform the rate control, it is necessary to change the buffer accumulation amount so as to remarkably represent the band (rate) allocated to the medium capable of rate control. For this reason, if the priority of media that cannot be rate-controlled is increased and multiplexed preferentially, and the rate-controllable media is multiplexed in the remaining bandwidth (time), the rate assigned to the rate-controllable media The difference between the current generation rate and the current generation rate appears remarkably in the accumulation amount of the multiplexing buffer means 1.
[0051]
However, since the maximum delay possible time is set for the rate-controllable medium, it is necessary to avoid exceeding that time. For this reason, when the delay time variable x approaches 0, the priority is the highest ( The data priority evaluation value f (x) = 0) is required.
[0052]
Therefore, for data that can control the amount of data generated at the information source, the normal priority is lowered and the delay time is increased, that is, the priority is maximized as the delay time variable x approaches 0. To do.
[0053]
When the data priority evaluation value f (x) is expressed by Expression (2), the data priority evaluation value f (x) is set to 0 when the delay time variable x is 0 for a rate-controllable medium. In general, the data priority evaluation value f (x) needs to be larger than other media.
[0054]
By increasing the value of the variable A in the expression (2), the data priority evaluation value f (x) becomes relatively larger than other media. When the variable B is 0, the delay time variable x approaches 0. The data priority evaluation value f (x) approaches 0 and can be the highest priority. That is, the variable A in Expression (2) is a positive number that represents the degree of control of the amount of information generated for each medium, that is, the rate controllable, and the range of controllable information amount increases as the value increases. Become.
[0055]
As described above, for data that can control the amount of data generated at the information source, the normal priority is lowered so that the priority becomes the highest as the delay time variable x approaches 0, thereby increasing the rate. There is an effect that the control can be performed dynamically.
[0056]
In addition, media data without any restriction (limitation) on the delay time may be multiplexed at any time. Therefore, when there is no data to be multiplexed with other media with the lowest priority, this medium with no restriction on the delay time. Multiplex data transmission.
For this reason, prioritization based on the data priority evaluation value in consideration of the maximum delay possible time is not performed, and the priority is always lowered using the information priority evaluation value.
[0057]
As described above, media with no restriction on delay time are selectively multiplexed only when there is no data to be multiplexed on other media by minimizing the priority based on the information priority evaluation value. There is an effect that multiplexing can be performed without restricting the transmission of the message.
[0058]
In general, media data is encoded in a certain encoding unit. If a part of the encoded data is discarded in the receiving apparatus, all the encoding units may not be decoded.
Therefore, the media data that is discarded by the multiplexing device when the delay time is exceeded, that is, the media data that is in the same encoding unit as the data that exceeds the maximum delay time is discarded at the same time. It is not necessary to receive possible data, and the transmission time of data of the same coding unit that cannot be decoded by the multiplexing apparatus can be used for transmission of other media.
[0059]
As described above, media data in the same encoding unit as media data to be discarded is discarded at the same time, so that the receiving device does not receive unnecessary data, and the multiplexing device substitutes other media data instead. Since multiplexing is possible, there is an effect that the transmission capacity of the multiplexer output can be used efficiently.
[0060]
In addition, the media data waiting to be multiplexed and the time required to send all the media data in the same encoding unit are calculated from the maximum rate that can be allocated to the media. If all the media data of the same coding unit is unlikely to be delayed within the maximum delay possible time, all the media data of the same coding unit is discarded.
[0061]
As described above, by recognizing the situation where all the media data of the same coding unit cannot be transmitted within the maximum delay possible time and discarding it before reaching the maximum delay possible time, that is, all the coding units of each data When the time required for transmission is larger than the delay possible time, all the coding units are discarded from the multiplexing buffer means, so that the receiving device does not receive unnecessary data. Instead, since other media data can be multiplexed, the transmission capacity of the multiplexer output can be used efficiently.
[0062]
Further, as means for measuring the delay time of the media data in the multiplex buffer means 1, the encoding unit is detected, and when the head data of the encoding unit arrives at the multiplex buffer means 1, the time is stored. The time until the last data of the same coding unit is output from the buffer is calculated as a common delay time of the entire same coding unit.
In this way, since one time management may be performed with one encoding unit data, it is not necessary to perform time management for each byte, and a simple device configuration can be realized.
[0063]
As described above, by setting the unit for measuring the delay time as the encoding unit, the number of data for time management is reduced, and the delay time can be easily measured.
[0064]
Next, another means for measuring the delay time of the media data in the multiplexing buffer means 1 will be shown.
The multiplexing buffer means can perform writing / reading for each byte and includes a flag indicating the presence / absence of 1-bit data for 1-byte data.
The media data is written into the multiplexing buffer means 1 at the maximum information generation rate clock for each information source. However, since there is not necessarily data to be written, the flag indicating the presence / absence of the above data is set to “Yes” when the actually received data is written, and this flag is set to “None” when there is no received data. To do.
[0065]
When data is read from the multiplexing buffer means 1, only data for which this flag is “read” is read. Thereby, only valid data can be read.
Since data is written to the multiplexing buffer means 1 at a constant rate, the portion that has not yet been read after writing, that is, the remaining buffer capacity (including data for which the flag is “none”) is included. The delay time of the head data can be measured by measuring and dividing by the rate at which the data was written (maximum information generation rate).
[0066]
FIG. 3 is an explanatory diagram showing an example of the structure of the multiplexing buffer means 1.
The received data (8 bits) read from the upper part of the multiplexing buffer is entered and a 1-bit data presence / absence flag is set. Reading of the buffer is performed from the bottom of the buffer, and only data for which the data presence flag is “present” is valid.
At this time, the delay time of the oldest data (located at the bottom in the figure) can be calculated according to the remaining buffer capacity in which data is written.
[0067]
As described above, the multiplexing buffer means 1 is provided with a 1-bit data presence / absence flag for the 1-byte data write area, and data is always written at the maximum information generation rate of each information source and actually received. By setting the flag to “present” only when there is data, there is an effect that the data delay time can be easily measured by dividing the remaining buffer capacity by the write rate.
[0068]
Another means for measuring the delay time of the media data in the multiplexing buffer means 1 is shown.
The multiplexing buffer means 1 has an area for writing 1-byte data and an area for writing the time when data was written. When receiving the media data from the information source, the multiplexing buffer means 1 writes the received data into the buffer byte by byte, and at the same time writes the writing time to the buffer.
When media data is read from the multiplexing buffer means 1, the delay time can be calculated by comparing the current time with the time information associated with the read data.
[0069]
FIG. 4 is an explanatory view showing an example of the structure of the multiplexing buffer means 1.
The received data (8 bits) read from the upper part of the multiplexing buffer is entered and the current time (that is, the data write time) is written. When reading the buffer, only the data portion is read from the bottom of the buffer.
At this time, when reading data from the buffer, the delay time of the data in the buffer can be calculated by referring to the time when the data was written and comparing it with the current time.
[0070]
As described above, by providing the multiplexing buffer means 1 with an area for writing time information with respect to a 1-byte data writing area, data is obtained by referring to the time information area at the time of data reading and comparing it with the current time. The delay time can be easily measured.
[0071]
Furthermore, another means for measuring the delay time of the media data in the multiplexing buffer means 1 is shown.
The multiplexing buffer means 1 has an area for writing data and an area for writing time information for each data N (N is an integer) bytes.
When receiving the media data from the information source, the multiplexing buffer means 1 writes the received data into the buffer byte by byte, and at the same time writes the current time in the time information area every time N bytes of data are written.
When media data is read from the multiplexing buffer means 1, the delay time can be calculated by comparing the current time with the time information existing within N bytes from the read data.
[0072]
FIG. 5 is an explanatory view showing another example of the structure of the multiplexing buffer means 1.
The received data (8 bits) read from the upper part of the multiplexing buffer is entered. After writing N bytes of data, the current time (that is, the data write time) is written in the time information area. When reading the buffer, only the data portion is read from the bottom of the buffer.
At this time, when data is read from the buffer, the time information existing within N bytes of the read data is referred to and compared with the current time, whereby the delay time of the data in the buffer can be calculated.
[0073]
As described above, the multiplexing buffer means 1 has an area for writing time information with respect to an N (N is an integer) byte data writing area, so that the time information area can be referred to by referring to the time information area at the time of data reading. By comparing, the delay time of data can be easily measured.
[0074]
The first embodiment described above relates to a means for selecting data to be multiplexed. Next, an embodiment in which the information generation amount of the information source is controlled will be described.
FIG. 6 is a block diagram showing a multiplexing device in such a case.
In the figure,
[0075]
Next, the operation will be described.
The
The delay measuring means 2a to 2c detect the delay time of the
[0076]
The multiplexing control means 3 selects media data to be multiplexed based on the delay times detected by the delay measuring means 6a to 6c, and further, based on this delay time, the amount of information with respect to an information source (not shown). The amount of information generation is controlled using the
[0077]
The multiplexing control means 6 uses the information
As a result, when the delay time of the data stored in the multiplexing buffer means 1 is small, increasing the amount of information generated increases the data delay time and avoids underflow of the multiplexing buffer means. Conversely, when the delay time of the data stored in the multiplexing
[0078]
Even if the buffer accumulation amount is small, if the output amount from the buffer is small, the delay time in the buffer will increase, but the delay time in the buffer will be determined to determine the amount of information generated based on the delay time in the buffer. It will never grow.
[0079]
The control of the amount of information generated here includes the case of controlling the amount of information generated purely by the information source and the case of controlling the quantization step in the information source. The former can be used to bring the information generation amount close to a desired value for each media unit, and the latter can be used to control the overall information generation amount by making the quantization step size between the media common.
[0080]
As described above, in order to control the information generation amount of the information source by the delay time of the media data in each multiplexing buffer means 1, the overflow and underflow of the multiplexing buffer means and the delay time in the buffer are increased. There is an effect that can be prevented.
[0081]
Embodiment 3 FIG.
In the first and second embodiments described above, one multiplexer is shown. Here, an embodiment in which the multiplexers are connected in multiple stages is shown.
FIG. 7 is a block diagram showing a multiplexing device in such a case.
In FIG. 7,
[0082]
Next, the operation will be described.
The
The delay measuring means 2a to 2c detect the delay time of the
[0083]
The multiplexing control means 6 selects media data to be multiplexed based on the delay times detected by the delay measuring means 2a to 2c. Furthermore, based on this delay time, the information generation amount is controlled using information
[0084]
The multiplexing control means 6 uses the information
In the multiplexing means 7, the output rate control includes a case where the output rate generated purely by the multiplexing means is controlled and a case where the quantization step in the information source is controlled. The former can be used to bring the output rate closer to a desired value, and the latter can be used to make the quantization step size between the media common and further control the output rate.
[0085]
As described above, since the output rate can be controlled by the control data from the outside, there is an effect that it is possible to receive the data amount necessary for the device that receives the output data of the multiplexing device.
[0086]
FIG. 8 is an explanatory diagram showing an example of multi-stage connection of multiplexing devices.
In FIG. 8, reference numeral 9 denotes the multiplexing device shown in FIG. 7, which is connected in multiple stages in a multi-stage tree structure. In FIG. 8, the same reference numerals as those in FIG. 7 are the same as or equivalent to those in FIG.
[0087]
Next, the operation will be described.
The
[0088]
In the multiplexing device 9e, the multiplexed
[0089]
The output information amount of the multiplexed data that is multiplexed by the multiplexing device 9e is controlled by the
[0090]
The
[0091]
In this way, multiplexing can be performed without failure of the reception buffer in each multiplexing apparatus connected in multiple stages.
For example, such multi-stage multiplexing can be used when a single program is created by multiplexing video, audio, and the like in digital broadcasting, and a plurality of these programs are broadcast.
[0092]
As described above, since the input / output rate control can be appropriately performed even when the multiplexers are connected in a multi-stage in a tree structure, even when multiplexing is repeated a plurality of times, There is an effect that multiplexing can be performed without causing a buffer failure.
[0093]
In the first, second, and third embodiments described above, the implementation of the multiplexing function of one layer in the communication protocol has been described. Here, an embodiment in which multiplexing in a plurality of layers is performed at once is shown.
The configuration diagram showing the multiplexing device in such a case is the same as that of FIG. 1, FIG. 6, or FIG.
[0094]
Next, the operation will be described.
The multiplexing control means selects data to be multiplexed from among specific information sources. In this case, the method of selection is as described above. The specific information source may be selected from the outside or may change every moment.
[0095]
In general, the multiplexing control in the lower layer may change the target to be multiplexed at a certain interval. For example, in time division multiplexing, multiplexing is performed by switching a plurality of multiplexing targets at a certain time interval.
[0096]
FIG. 9 is an explanatory diagram showing multiplexing timing when performing simultaneous multiplexing of a plurality of layers.
FIG. 9 shows an example in which multiplexing of a lower layer that multiplexes two programs using such time division multiplexing and multiplexing of an upper layer that multiplexes media such as video and audio are performed simultaneously.
[0097]
Each of the two programs consists of a plurality of media. Here, it is assumed that
[0098]
If the multiplexing pattern is a time for transmitting the
This makes it possible to realize a multiplexing function that alternately sends two programs at regular intervals.
[0099]
As described above, since the media to be selected by the multiplexing control means are limited, functions such as time division multiplexing can be realized, and there is an effect that multiplexing can be performed a plurality of times at once.
[0100]
A case where the target of time division multiplexing is not fixed, that is, the minimum multiplexing time of time division multiplexing is constant but the target to be selected is indefinite will be described.
In FIG. 9, the program multiplex pattern is alternated between
[0101]
Three media are multiplexed in each program, and a data priority evaluation value of data that can be transmitted in these media (which can be duplicated) is calculated.
When the program multiplex pattern is changed in units of three data, the data priority evaluation value of the third highest priority data is detected in the media group included in each program.
Then, the third data priority evaluation values of the
This operation is performed for each minimum time division multiplexing time unit, and which program is to be multiplexed is selected each time.
[0102]
As described above, a plurality of information sources are divided into a plurality of groups, and the data priority evaluation values of the nth highest priority data in the group are compared between the groups. By selectively transmitting n pieces of data, there is an effect that the group can be efficiently multiplexed.
[0103]
【The invention's effect】
As described above, according to the multiplexing device of the present invention, the multiplexing control of the multiplexing unit and the information generation amount of the encoding unit are controlled in consideration of the delay time accumulated in the buffer for each medium. Can do.
[Brief description of the drawings]
FIG. 1 is a configuration diagram showing a multiplexing device according to
FIG. 2 is an explanatory diagram showing a time course of a delay time variable of certain media data.
FIG. 3 is an explanatory diagram showing an example of the structure of the multiplexing buffer means 1;
4 is an explanatory diagram showing another example of the structure of the multiplexing buffer means 1. FIG.
FIG. 5 is an explanatory view showing still another example of the structure of the multiplexing buffer means 1;
FIG. 6 is a block diagram showing a multiplexing apparatus according to
FIG. 7 is a block diagram showing a multiplexing apparatus according to Embodiment 3 of the present invention.
FIG. 8 is an explanatory diagram showing an example of multistage connection of a multiplexing device.
FIG. 9 is an explanatory diagram illustrating multiplexing timing when performing simultaneous multiplexing of a plurality of layers according to the fourth embodiment of the present invention.
FIG. 10 is a block diagram showing a conventional multiplexing apparatus disclosed in Japanese Patent Laid-Open No. 9-116520.
[Explanation of symbols]
1a, 1b, 1c Multiplexing buffer device, 2a, 2b, 2c Delay measuring means, 3, 6 Multiplexing control means, 4, 7 Multiplexing means, 9a, 9c, 9e Multiplexing device.
Claims (4)
これら多重化バッファ手段に蓄積されるデータを多重して出力する多重化手段と、
上記多重化バッファに蓄積される各データの蓄積時間を測定する遅延測定手段と、
データ毎に設定した最大遅延可能時間から上記遅延測定手段によって測定された各多重化バッファにおける遅延時間を引いた値の大小に基づくデータ優先度評価値により、上記多重化手段により多重するデータを選択する多重化制御手段と
を備え、
上記多重化制御手段で用いられるデータ優先度評価値は、データ毎の最大遅延可能時間から現在までのバッファにおける遅延時間を引いたものを変数xとおいた場合、Ax+Bで表され、Aは正数でレート制御が可能なほど大きく、Bはゼロもしくは正数でデータ廃棄が可能なほど値が大きくなるように設定し、データ優先度評価値が小さいデータより優先的に多重送出する多重化装置。A plurality of multiplexing buffer means for storing data from a plurality of information sources;
Multiplexing means for multiplexing and outputting data stored in these multiplexing buffer means;
A delay measuring means for measuring an accumulation time of each data accumulated in the multiplexing buffer;
Select the data to be multiplexed by the multiplexing means based on the data priority evaluation value based on the value obtained by subtracting the delay time in each multiplexing buffer measured by the delay measuring means from the maximum delay possible time set for each data. and a multiplexing control means for,
The data priority evaluation value used in the multiplexing control means is represented by Ax + B when a value obtained by subtracting the delay time in the buffer up to the present from the maximum delay time for each data is represented by Ax + B, and A is a positive number. Is a value that is large enough to enable rate control, and B is set to a value that is zero or a positive number and large enough to allow data discard, and multiplex-transmits preferentially over data with a low data priority evaluation value .
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP00432999A JP4074019B2 (en) | 1999-01-11 | 1999-01-11 | Multiplexer |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP00432999A JP4074019B2 (en) | 1999-01-11 | 1999-01-11 | Multiplexer |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2000209177A JP2000209177A (en) | 2000-07-28 |
| JP4074019B2 true JP4074019B2 (en) | 2008-04-09 |
Family
ID=11581418
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP00432999A Expired - Lifetime JP4074019B2 (en) | 1999-01-11 | 1999-01-11 | Multiplexer |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4074019B2 (en) |
Families Citing this family (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP5197910B2 (en) | 2002-09-26 | 2013-05-15 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | Device for receiving digital information signals |
| US7924711B2 (en) * | 2004-10-20 | 2011-04-12 | Qualcomm Incorporated | Method and apparatus to adaptively manage end-to-end voice over internet protocol (VolP) media latency |
| WO2006077621A1 (en) * | 2005-01-18 | 2006-07-27 | Mitsubishi Denki Kabushiki Kaisha | Multiplexing apparatus and receiving apparatus |
| JP5199219B2 (en) * | 2009-11-17 | 2013-05-15 | 株式会社日立国際電気 | Digital broadcast apparatus, digital broadcast method, and digital broadcast program |
| JP2011223269A (en) * | 2010-04-08 | 2011-11-04 | Central Res Inst Of Electric Power Ind | Monitoring control method and monitoring control system |
| US11863500B2 (en) | 2021-02-25 | 2024-01-02 | Sony Semiconductor Solutions Corporation | Communication apparatus, communications system, and communication method |
-
1999
- 1999-01-11 JP JP00432999A patent/JP4074019B2/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JP2000209177A (en) | 2000-07-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CA2182296C (en) | Multimedia multiplexing device and method using dynamic packet segmentation | |
| CA2255418C (en) | Ring interface and ring network bus flow control system | |
| JP6676731B2 (en) | Entropy encoding and decoding scheme | |
| JP2648418B2 (en) | Method for controlling a variable rate encoder | |
| CN1097913C (en) | ATM flow regulation | |
| US5991265A (en) | Asynchronous transfer mode system and method | |
| KR100920195B1 (en) | Information transmission apparatus and information transmission method | |
| US20220417161A1 (en) | Head-of-queue blocking for multiple lossless queues | |
| US8310934B2 (en) | Method and device for controlling information channel flow | |
| CN1234934A (en) | Multiplex transmission system and band control method | |
| CN118568042B (en) | A data processing method, a first chip, a second chip and a chip | |
| JP4074019B2 (en) | Multiplexer | |
| AU2003211615B2 (en) | Data transmission method for a multi-user, multipoint-to-multipoint digital data transmission system | |
| CN1057416C (en) | A method and a device for monitoring channel split data packet transmission | |
| EP2599309A1 (en) | Improved bitrate distribution | |
| JP3698079B2 (en) | DATA TRANSFER METHOD, DATA TRANSFER DEVICE, AND PROGRAM | |
| JP4423301B2 (en) | Multiplexer and transmitter / receiver | |
| CN116112829A (en) | Mapping and multiplexing method, device, electronic equipment and storage medium for optical transport network | |
| KR100463698B1 (en) | Digital broadcast signal multiplex transmitting apparatus | |
| JP5481923B2 (en) | Image coding apparatus, image coding method, and image coding program | |
| JP3911960B2 (en) | Multiplexing system | |
| JP5604919B2 (en) | Packet transfer apparatus and packet transfer method | |
| JP2007208555A (en) | Transmission apparatus and line speed changing method | |
| US6944160B1 (en) | Method and apparatus for multiplexing voice over ATM or IP data communication channels | |
| JPH04157844A (en) | Buffer constitution system of atm multiplexing device |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041117 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060807 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060815 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060915 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070306 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070703 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070925 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071025 |
|
| A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20071205 |
|
| 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: 20071225 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080124 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110201 Year of fee payment: 3 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120201 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130201 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130201 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140201 Year of fee payment: 6 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| EXPY | Cancellation because of completion of term |