JP5625776B2 - プログラム、多重化装置及び多重化方法 - Google Patents

プログラム、多重化装置及び多重化方法 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.)
Expired - Fee Related
Application number
JP2010252414A
Other languages
English (en)
Other versions
JP2012105105A (ja
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/ja
Publication of JP2012105105A publication Critical patent/JP2012105105A/ja
Application granted granted Critical
Publication of JP5625776B2 publication Critical patent/JP5625776B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Time-Division Multiplex Systems (AREA)

Description

本発明は、プログラム、多重化装置及び多重化方法に関する。
動画像や音声など各メディアのデータを伝送する際、これらを符号化してビットストリームを生成し、各ビットストリームを多重化して、1つのストリームで伝送することが行われている。
従来、受信側のデコーダモデルを規定し、このデコーダモデルにおける仮想バッファが、オーバーフローまたはアンダーフローによる破綻を起こさないように多重化処理が行われている。たとえば、デコーダモデルの仮想バッファ推移をフレームごとに検証して、フレームデコード時間ごとに、デコーダモデルの仮想バッファから各フレームの符号化データ量を減じて、設定ビットレートに応じたバッファ量を増分する手法が知られている。この手法は、デコーダモデルの仮想バッファがオーバーフローしないように、バッファ増分量を調整し、バッファ増分量に基づき、多重化比率を制御するものである。
特開2001−339718号公報 特開平8−256329号公報 特開平9−139720号公報 国際公開第98/32252号
しかしながら、複数種類のメディアのビットストリームを多重化する際、伝送路の容量などを考慮して多重化後のビットレートに上限を設けている場合、その上限を守り、なおかつ、仮想バッファが破綻を起こさないように多重化することが困難であった。
発明の一観点によれば、以下のようなプログラムが提供される。このプログラムは、多重化対象の複数のビットストリームそれぞれに対して多重化における優先度を算出し、多重化区間内の前記複数のビットストリームの情報量の積算値と所定の上限値とを比較し、前記積算値と前記上限値との比較結果及び前記優先度をもとに、前記複数のビットストリームから多重化するビットストリームを選択する、処理をコンピュータに実行させる。
開示のプログラム、多重化装置及び多重化方法によれば、デコーダ側のバッファの破綻を防止できるとともに、ビットレートの上限に応じた多重化が可能となる。
本実施の形態の多重化装置の一例を示す図である。 多重化装置の動作の一例を示す図である。 ビットストリームの多重化区間とアクセスユニットの一例を示す図である。 優先度算出処理の一例の流れを示すフローチャートである。 Bdiffminの計算例を示す図である。 複数のメディアのビットストリームと多重化区間の一例を示す図である。 多重化するビットストリームの選択処理及び多重化処理の一例を示すフローチャートである(その1)。 多重化するビットストリームの選択処理及び多重化処理の一例を示すフローチャートである(その2)。 データの多重化における、時間と送信残りビット数の関係の一例を示す図である。 本実施の形態に用いるコンピュータのハードウェアの一例を示す図である。
以下、本発明の実施の形態を、図面を参照しつつ説明する。
図1は、本実施の形態の多重化装置の一例を示す図である。
多重化装置10は、多重化部11、優先度計算部12−1,12−2,…,12−n、選択部13、記憶部14を有している。
多重化部11は、符号化部20−1,20−2,…,20−nで符号化されて、メモリ21−1,21−2,…,21−nに一旦蓄えられた複数種類のメディアのビットストリームを多重化する。メディアは、音声、動画などである。
優先度計算部12−1〜12−nは、多重化対象の複数のビットストリームそれぞれに対して、多重化における優先度を算出する。優先度計算部12−1〜12−nは、たとえば、メディアごとに規格で定められたデコーダモデルのデコーダバッファサイズ、デコード単位(以下アクセスユニットという)、またはデコード開始時刻を示すDTS(Decoding Time Stamp)に応じて優先度を算出する。優先度は、デコーダモデルにおいて、実際のデコーダバッファを仮想した仮想バッファが破綻する危険性のある度合いを意味する。
選択部13は、ある多重化区間内の複数種類のメディアのビットストリームの情報量の積算値を求め、その積算値(たとえば、単位はビット数)と、所定の上限値(たとえば、単位はビット数)とを比較する。そして、選択部13は、積算値と上限値との比較結果と、算出された優先度をもとに、複数のビットストリームから多重化するビットストリームを選択する。上限値は、たとえば、多重化したビットストリームを流す伝送路の容量などを考慮して設定されるビットレートの上限の値に、多重化区間の時間を乗じた値となる。
詳細は後述するが、たとえば、選択部13は、優先度の高い順に多重化するビットストリームを選択していく。
また、選択部13は前述の積算値が上限値を超える場合、多重化を行わなくても次の多重化区間での仮想バッファの破綻が起こらないメディアのビットストリームのうち、優先度が最も低いものを選択しない、などの処理を行う。または、選択部13は、前述の積算値が上限値を超える場合、優先度に応じて、多重化区間の終了境界を跨ぐアクセスユニットを有するビットストリームを選択して、選択したビットストリームのアクセスユニットを多重化対象から除外するなどの処理を行う。これにより、多重化後のビットストリームが上限値を超えることが抑制されるとともに、デコードバッファの破綻が防止される。
記憶部14は、各メディアのデコーダバッファサイズ、アクセスユニットの情報(ビット数など)、DTSなどの規格値や、前述の上限値などを記憶する。記憶部14は、たとえば、ROM(Read Only Memory)などである。記憶部14は、多重化装置10外に設けられていてもよい。
なお、図1の例では、ビットストリームごとに、優先度計算部12−1〜12−nを設けているが、1つの優先度計算部が、各ビットストリームの優先度を算出するようにしてもよい。
また、音声や動画などのメディア以外で、バッファモデルを持たないデータ情報(たとえば、字幕放送用のデータなど)や、時刻情報の情報量を考慮して、多重化を行うようにしてもよい。
以下、多重化装置10の動作を説明する。
図2は、多重化装置の動作の一例を示す図である。
ステップS1:優先度計算部12−1〜12−nは、ビットストリームごとに多重化における優先度を算出する。
ステップS2:選択部13は、多重化区間内の複数種類のメディアのビットストリームの情報量の積算値を求め、その積算値と、所定の上限値とを比較する。
ステップS3:そして、選択部13は、積算値と上限値との比較結果と、ステップS1の処理で算出された優先度をもとに、多重化するビットストリームを選択する。
ステップS4:多重化部11は、選択部13で選択された複数のビットストリームを多重化して出力する。
このような、上限値と優先度を考慮した多重化処理を行うことで、多重化後のビットストリームがビットレートの上限を超えることが抑制されるとともに、デコードバッファの破綻が防止される。
次に、上記の各処理の一例を、より詳細に説明する。
(優先度算出処理の一例)
図3は、ビットストリームの多重化区間とアクセスユニットの一例を示す図である。
横軸は時間を表している。ビットストリームに含まれるアクセスユニットU1,U2,U3,U4,U5は、フレームやピクチャなどの同期単位であり、前述のようにデコード単位となる。
多重化区間Gcは、必ずしも各アクセスユニットU1〜U5の切れ目で区切られているわけではなく、図3の例では、アクセスユニットU2の途中から、アクセスユニットU5の途中までの範囲で設定されている。
なお、以下では、多重化区間Gcは、運用規定などで定められたPCR(Program Clock Reference)の挿入間隔以下の適当な時間単位で設定されるものとする。また、アクセスユニットU1〜U5ごとに、DTSが付加されているとする。このため、どのアクセスユニットU1〜U5が多重化区間Gcに含まれるかどうかは、判別可能である。
図4は、優先度算出処理の一例の流れを示すフローチャートである。
ステップS10:各アクセスユニットは発生情報量が一定とは限らない。そのため、優先度計算部12−1〜12−nは、ある多重化区間Gcにおいて、メモリ21−1〜21−nから読み出される各ビットストリームに対して、アクセスユニットごとの仮想バッファ量を算出する。たとえば、あるビットストリームにおいて、多重化区間Gcに、i個のアクセスユニットがある場合、仮想バッファ量Buff1〜Buffiが算出される。
このとき、優先度計算部12−1〜12−nは、前回の多重化区間において、多重化対象とされなかったアクセスユニットがある場合については、今回の多重化区間の最初のアクセスユニットにその情報量を加算する。
ステップS11:優先度計算部12−1〜12−nは、多重化区間Gcで最大の仮想バッファ量BuffMAXと、最小の仮想バッファ量BuffMINを算出する。
ステップS11の処理において、優先度計算部12−1〜12−nは、多重化区間の境界を跨ぐアクセスユニットに対しては、仮想バッファ量が単純増加で推移するとして計算を行う。
また、各アクセスユニットでのバッファ引き抜き量をBuffoff1〜Buffoffiとすると、多重化区間Gc内のn番目のアクセスユニットの最後では、仮想バッファ量の積算値BUFFnは、以下の式のようになる。
BUFFn=BUFFn-1+Buffn−Buffoffn
上式で、Buffnは、n番目のアクセスユニット自体の仮想バッファ量、Buffoffnはn番目のアクセスユニットでのバッファ引き抜き量である。すなわち、n−1番目のアクセスユニットまでの間に算出した仮想バッファ量の積算値BUFFn-1に、n番目の仮想バッファ量Buffnを加算し、バッファ引き抜き量Buffoffnを減算したものが、新たな仮想バッファ量の積算値BUFFnとなる。
そして、優先度計算部12−1〜12−nは、BuffMAX=MAX(BuffMAX,BUFFn)により、BuffMAXを算出する。MAX()は、括弧内の値から、最大値を出力する関数である。アクセスユニットごとに、それまでのBuffMAXと、仮想バッファ量の積算値BUFFnのうち大きい方が新たなBuffMAXとして算出される。
また、優先度計算部12−1〜12−nは、BuffMIN=MIN(BuffMIN,BUFFn)により、BuffMINを算出する。MIN()は、括弧内の値から、最小値を出力する関数である。アクセスユニットごとに、それまでのBuffMINと、仮想バッファ量の積算値BUFFnのうち小さい方が新たなBuffMINとして算出される。
なお、仮想バッファ量として0を許容する場合には、BuffMIN=BMAXとする。BMAXは、メディアごとに規格で定められた仮想バッファ量の許容値(最大値)である。
ステップS12:優先度計算部12−1〜12−nは、多重化区間GcにおけるBMAX−BuffMAXとBuffMINとを比較し、小さい方の計算結果をBdiffminとする。
図5は、Bdiffminの計算例を示す図である。
横軸は時間、縦軸は仮想バッファ量を示している。図5では、あるビットストリームにおいて、アクセスユニットU10,U11,U12に多重化区間が設定された場合が示されている。図5に示すように仮想バッファ量が推移する場合、BMAX−BuffMAXより、BuffMINの方が小さい。従って、この場合は、BuffMINがBdiffminとして選択される。なお、BuffMINが小さいということは、この多重化区間においては、多重化を行わないと、仮想バッファのアンダーフローが発生する可能性があることが示される。一方、BMAX−BuffMAXが小さい場合には、その多重化区間においては、多重化を行わないと、仮想バッファからのデータの引き抜きが発生せず、オーバーフローが発生する可能性がある。
ステップS13:優先度計算部12−1〜12−nは、多重化区間Gcにおける優先度E=Bdiffmin/BMAXを算出する。優先度計算部12−1〜12−nは、各メディアのビットストリームのBdiffminを、各メディアの仮想バッファ量の許容値BMAXで割ることによって規格化し、優先度を求める。これにより、メディアごとのビットストリームの多重化の優先度を示す統一的な指標を得ることができる。
次に、選択部13での選択処理及び多重化部11での多重化処理の詳細を説明する。
(多重化するビットストリームの選択処理及び多重化処理の一例)
図6は、複数のメディアのビットストリームと多重化区間の一例を示す図である。
横軸は時間方向を示している。図6ではメディアM1,M2,…,Mnのビットストリームと多重化区間Gc1が示されている。メディアM1のビットストリームは、アクセスユニットU20,U21,U22,U23,U24を含んでいる。メディアM2のビットストリームはアクセスユニットU30,U31,U32,U33,U34,U35,U36を含んでいる。また、メディアMnのビットストリームはアクセスユニットU40を含んでいる。
図6に示すように、各メディアM1〜Mnのアクセスユニットの大きさや位置は、メディアによってまちまちである。
図7及び図8は、多重化するビットストリームの選択処理及び多重化処理の一例を示すフローチャートである。
ステップS20:選択部13は、ある多重化区間内の最大ビット数Bmaxから時刻情報のビット数を減算する。
最大ビット数Bmaxは、多重化区間Gc1の時間をGct1、多重化区間Gc1でのビットレートの上限をRmax1とすると、Bmax=Rmax1×Gct1、と表される。ここで、時刻情報の減算後の最大ビット数をBmaxsとすると、Bmaxs=Bmax−Btime×(多重化区間Gc1の終了時刻−STCb)/STCgとなる。Btimeは、時刻情報の多重化に要するビット数、STCbは、前回の多重化区間での時刻情報の挿入時刻、STCgは、時刻情報の挿入間隔を示す。
これにより、ビットストリームに時刻情報が挿入された場合に、ビットレートが上限を超えることを防止できる。
ステップS21:次に選択部13は、多重化区間Gc1の途中から開始または途中で完了となるアクセスユニットがあるか否かを調べ、時刻比でそれらのアクセスユニットのビット数を算出する。たとえば、図6に示した例において、アクセスユニットU21,U24,U36,U40は、多重化区間Gc1の境界を跨いでいる。このようなアクセスユニットに対して、選択部13は、伝送ビットレートが一定であると仮定して、各アクセスユニットのDTSを、DTS=DTS−多重化区間Gc1の開始時刻と更新して、時間比でビット数を算出する。
ステップS22:選択部13は、前の多重化区間で、最大ビット数を超えたなどの理由で伝送していないアクセスユニットがあれば、そのビット数を前の多重化区間からの持ち越しとして現在の多重化区間の先頭のアクセスユニットのビット数に加算する。これにより、前の多重化区間では、上限値(最大ビット数)を超えないような多重化を行うことが可能になっている。
ステップS23:選択部13は、ステップS22の処理によって修正後の各アクセスユニットのビット数の積算値と、時刻情報のビット数の減算後の最大ビット数Bmaxsを比較する。
修正後の各アクセスユニットのビット数の積算値が、Bmaxs以下の場合にはステップS24が行われる。また、修正後の各アクセスユニットのビット数の積算値が、Bmaxsを超える場合には、図8のステップS29の処理が行われる。
ステップS24:選択部13は、Bmaxsと修正後の各アクセスユニットのビット数の積算値との差分に応じて多重化するデータ情報のビット量を決定し、多重化区間の総ビットレートを修正する。
たとえば、多重化区間Gc1の全てのメディアの総ビットレートをRG1とした場合、RG1=RG1+MIN((Bmaxs1−修正された各アクセスユニットのビット数の積算値,データ情報のビット量))/Gct1と修正する。
この式によれば、多重化区間Gc1の最大ビット数Bmaxs1と、修正された各アクセスユニットのビット数の積算値との差分より、データ情報のビット量が小さい場合には、データ情報のビット量分だけビットレートが増加する。また、差分よりもデータ情報のビット量が大きい場合には、その差分に相当するデータ情報のビット量分だけビットレートが増加する。
Bmaxsと修正後の各アクセスユニットのビット数の積算値との差分に応じて多重化するデータ情報のビット量を決定することで、データ情報によりビットレートが上限を超えることが防止される。
ステップS25:選択部13は、時刻情報を多重化するか否か判定する。時刻情報を多重化する場合にはステップS26の処理が行われ、時刻情報を多重化しない場合にはステップS27の処理が行われる。たとえば、選択部13は、現在のシステムの時刻情報であるSTCが、STC−STCb>STCgである場合には、時刻情報を多重化すると判定する。
また、選択部13は、(STCb+STCg−STC)/STCgが所定の閾値よりも小さければ多重化すると判定するようにしてもよい。
ステップS26:選択部13は、時刻情報を多重化するビットストリームに挿入する。
ステップS27:選択部13は、優先度の高いメディアのビットストリームから順に、多重化するビットストリームとして選択する。そして、選択部13は、たとえば、DTS−STC<Bufferdelayであれば、多重化部11に多重化処理を行わせる。
ここで、Bufferdelayは、たとえば、メディアごとのバッファモデルにより規定された、デコーダバッファから最初のアクセスユニットが引き抜かれる時間である。上式のようなタイミングで多重化を行うことで、デコーダバッファの破綻を防ぐことができる。
選択部13は、多重化を行うと、STCをSTC=STC+多重化したビット数/RG1と更新する。
ステップS28:たとえば、文字放送用などで用いられるデータ情報は、バッファ規定はないものの、運用規定などにより、一定時刻以内に送りきることが望ましい。
図9は、データの多重化における、時間と送信残りビット数の関係の一例を示す図である。横軸は時間、縦軸は送信残りビット数を示している。
図9では、現在時刻STCc、送信完了予定時刻STCe、全データ情報のビット数Db、既に送信済みのビット数Ddの一例が示されている。ここで、全データ情報を送信完了予定時刻STCeに送信し終わる平均ビットレートをRgすると、Rg=Db/STCeと表せる。また、現在時刻STCcにおいてデータ情報の残りを送信完了予定時刻STCeに送信し終わる平均ビットレートをRrとすると、Rr=(Db−Dd)/(STCe−STCc)と表せる。このとき、たとえば、選択部13は、Rr−Rg>Th(所定の閾値)である場合には、データ情報を多重化する。
データ情報を多重化すると、選択部13は、STCをSTC=STC+多重化したビット数/RG1と更新する。その後、次の多重化区間の処理が行われる。
ステップS29:修正後の各アクセスユニットのビット数の積算値が、Bmaxsを超える場合、選択部13は、多重化区間の終了境界を跨ぐアクセスユニットがあるか否か判定する。多重化区間の終了境界を跨ぐアクセスユニットがある場合には、ステップS30の処理が行われ、多重化区間の終了境界を跨ぐアクセスユニットがない場合には、ビットレートの上限を超えることを許容して前述のステップS24の処理が行われる。
たとえば、図6に示した例の場合、アクセスユニットU24,U36,U40が、多重化区間Gc1の終了境界を跨ぐ。
ステップS30:選択部13は、多重化区間の終了境界を跨ぐアクセスユニットがある場合、該当するアクセスユニットの中から、多重化対象から除外する(ビット数を0にする)候補を優先度に応じて選択する。該当するアクセスユニットが複数ある場合、選択部13は、たとえば、優先度計算部12−1〜12−nで計算された優先度の最も低いビットストリームのアクセスユニットを1つ選択する。
ステップS31:選択部13は、ステップS30の処理で選択したアクセスユニットのビット数を0にして、そのアクセスユニットを次の多重化区間で多重化する場合、最大ビット数Bmaxsを超えてしまわないか否かを判定する。
次の多重化区間で最大ビット数を超える場合には、選択部13は、選択したアクセスユニットのビット数の修正は行わずに、ステップS34の処理に進み、最大ビット数を超えない場合にはステップS32の処理を行う。
ステップS32:選択部13は、ビット数を0にする候補として選択したアクセスユニットのビット数を0に修正する。これにより、選択されたアクセスユニットは、現在の多重化区間では多重化が行われず、たとえば、次の多重化区間で多重化されることになる。
ステップS33:選択部13は、ステップS32の処理でビット数を修正した後の、各アクセスユニットのビット数の積算値と、時刻情報のビット数の減算後の最大ビット数Bmaxsを比較する。
修正後の各アクセスユニットのビット数の積算値が、Bmaxs以下の場合にはステップS24が行われる。修正後の各アクセスユニットのビット数の積算値が、まだBmaxsを超える場合には、ステップS34の処理が行われる。
ステップS34:選択部13は、ステップS30の処理で選択されなかった、ビット数を0にするアクセスユニットの他の候補があるか否かを判定する。他の候補がある場合には、ステップS30からの処理が繰り返され、ステップS30の処理では、多重化区間の終了境界を跨ぐアクセスユニットのうち、次に優先度が低いビットストリームのアクセスユニットが選択される。他の候補がない場合には、修正を行わずビットレートが上限を超えることを許容して、図7のステップS24の処理が行われる。
以上のようにビットレートの上限値と優先度を考慮した多重化処理を行うことで、多重化後のビットストリームが上限値を超えることが抑制されるとともに、デコードバッファの破綻が防止される。
なお、上記の図7、図8で示した処理フローは、あくまで一例であり、たとえば、適宜処理ステップを入れ替えるようにしてもよい。
たとえば、上記では、多重化区間のアクセスユニットの情報量の積算値が、Bmaxsを超える場合には、多重化しないアクセスユニットを決定するようにしたが、これに限定されない。たとえば、上記積算値からビットレートを計算し、そのビットレートが、多重化区間におけるビットレートの上限を超える場合には、多重化しないアクセスユニットを選択するようにしてもよい。
以上のような多重化装置10の処理内容は、たとえば、LSI(Large Scale Integrated circuit)に搭載されるファームウェアとして適用されてもよい。
また、多重化装置10の各機能を、以下のようなコンピュータで実行されるプログラムにより実現するようにしてもよい。
図10は、本実施の形態に用いるコンピュータのハードウェアの一例を示す図である。
コンピュータ100は、CPU(Central Processing Unit)101によって装置全体が制御されている。CPU101には、バス109を介してRAM(Random Access Memory)102、ROM103及び複数の周辺機器が接続されている。
RAM102は、コンピュータ100の主記憶装置として使用される。RAM102には、CPU101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、CPU101による処理に用いる各種データが格納される
また、ROM103には、CPU101が実行する基本的なプログラムやデータを格納する。前述した、バッファモデルの各種の規格値なども、たとえば、ROM103に格納される。
バス109に接続されている周辺機器としては、ハードディスクドライブ(HDD:Hard Disk Drive)104、グラフィック処理装置105、入力インタフェース106、光学ドライブ装置107、及び通信インタフェース108がある。
HDD104は、内蔵したディスクに対して、磁気的にデータの書き込み及び読み出しを行う。HDD104は、コンピュータ100の二次記憶装置として使用される。HDD104には、OSのプログラム、アプリケーションプログラム、及び各種データが格納される。なお、二次記憶装置としては、フラッシュメモリなどの半導体記憶装置を使用することもできる。
グラフィック処理装置105には、モニタ105aが接続されている。グラフィック処理装置105は、CPU101からの命令に従って、画像をモニタ105aの画面に表示させる。モニタ105aとしては、CRT(Cathode Ray Tube)を用いた表示装置や液晶表示装置などがある。
入力インタフェース106には、キーボード106aとマウス106bとが接続されている。入力インタフェース106は、キーボード106aやマウス106bから送られてくる信号をCPU101に送信する。なお、マウス106bは、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
光学ドライブ装置107は、レーザ光などを利用して、光ディスク107aに記録されたデータの読み取りを行う。光ディスク107aは、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク107aには、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。
通信インタフェース108は、ネットワーク108aに接続されている。通信インタフェース108は、ネットワーク108aを介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。
上記のように、本実施の形態の処理機能は、コンピュータによって実現することができる。その場合、多重化装置10が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、HDD、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD、DVD−RAM、CD−ROM/RWなどがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。
プログラムを流通させる場合には、たとえば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
プログラムを実行するコンピュータは、たとえば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
また、上記の処理機能の少なくとも一部を、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)などの電子回路で実現することもできる。
以上、実施の形態に基づき、本発明のプログラム、多重化装置及び多重化方法の一観点について説明してきたが、これらは一例にすぎず、上記の記載に限定されるものではない。
以上説明した複数の実施の形態に関し、さらに以下の付記を開示する。
(付記1) 多重化対象の複数のビットストリームそれぞれに対して多重化における優先度を算出し、
多重化区間内の前記複数のビットストリームの情報量の積算値と所定の上限値とを比較し、
前記積算値と前記上限値との比較結果及び前記優先度をもとに、前記複数のビットストリームから多重化するビットストリームを選択する、
処理をコンピュータに実行させるプログラム。
(付記2) 前記積算値が前記上限値を超える場合、前記優先度に応じて、前記多重化区間の終了境界を跨ぐアクセスユニットを有する前記ビットストリームを選択して、選択した前記ビットストリームの当該アクセスユニットを多重化対象から除外することを特徴とする付記1記載のプログラム。
(付記3) 前記終了境界を跨ぐ前記アクセスユニットを次の多重化区間内で多重化すると、前記次の多重化区間内における前記積算値が前記上限値を超える場合、前記終了境界を跨ぐ他のビットストリームの他のアクセスユニットを、前記優先度に応じて選択し、当該他のアクセスユニットを前記多重化対象から除外することを特徴とする付記2記載のプログラム。
(付記4) 前記積算値は、前の多重化区間において、前記多重化対象から除外された前記アクセスユニットの情報量を含むことを特徴とする付記2または3に記載のプログラム。
(付記5) 各前記ビットストリームの前記優先度は、前記複数のビットストリームそれぞれに対応して設定される仮想バッファ量の、前記多重化区間内における最大値と前記仮想バッファ量の上限値との差分と、前記多重化区間における前記仮想バッファ量の最小値のうち、小さい方の値を前記仮想バッファ量の前記上限値で規格化した値であることを特徴とする付記1乃至4の何れか一項に記載のプログラム。
(付記6) 前記上限値は、前記多重化区間のビットレートの上限に前記多重化区間の時間を乗じた値から、前記ビットストリームに含ませる時刻情報の情報量を差し引いた値であることを特徴とする付記1乃至5の何れか一項に記載のプログラム。
(付記7) 前記上限値と前記積算値との差分に応じて、多重化するデータ情報の情報量を決定することを特徴とする付記1乃至6の何れか一項に記載のプログラム。
(付記8) 前記優先度の高い順に選択された前記ビットストリームにおいて、デコード開始時刻と、現在時刻の差が所定値以内である場合に、多重化を行うことを特徴とする付記1乃至7の何れか一項に記載のプログラム。
(付記9) 多重化対象の複数の前記ビットストリームは、異なる複数のメディアのビットストリームであることを特徴とする付記1乃至8の何れか一項に記載のプログラム。
(付記10) 現在時刻と、前回時刻情報を挿入した時刻の差に応じて、前記時刻情報を多重化するか否かを選択することを特徴とする付記1乃至9の何れか一項に記載のプログラム。
(付記11) 送信完了予定時刻に全データ情報を送信し終わる平均ビットレートと、現在時刻において前記データ情報の残りを前記送信完了予定時刻に送信し終わる平均ビットレートとの差に応じて、前記データ情報を多重化するか否かを選択することを特徴とする付記1乃至10の何れか一項に記載のプログラム。
(付記12) 前記積算値が前記上限値を超えない場合、前記優先度の高いビットストリームから順に多重化を行うことを特徴とする付記1乃至11の何れか一項に記載のプログラム。
(付記13) 多重化対象の複数のビットストリームそれぞれに対して多重化における優先度を算出する優先度計算部と、
多重化区間内の前記複数のビットストリームの情報量の積算値と所定の上限値とを比較し、前記積算値と前記上限値との比較結果及び前記優先度をもとに、前記複数のビットストリームから多重化するビットストリームを選択する選択部と、
を有することを特徴とする多重化装置。
(付記14) 多重化対象の複数のビットストリームそれぞれに対して多重化における優先度を算出し、
多重化区間内の前記複数のビットストリームの情報量の積算値と所定の上限値とを比較し、
前記積算値と前記上限値との比較結果及び前記優先度をもとに、前記複数のビットストリームから多重化するビットストリームを選択する、ことを特徴とする多重化方法。
10 多重化装置
11 多重化部
12−1,12−2,…,12−n 優先度計算部
13 選択部
14 記憶部
20−1,20−2,…,20−n 符号化部
21−1,21−2,…,21−n メモリ

Claims (5)

  1. 多重化対象の複数のビットストリームそれぞれに対して多重化における優先度を算出し、
    多重化区間内の前記複数のビットストリームの情報量の積算値と第1の上限値とを比較し、
    前記積算値と前記第1の上限値との比較結果及び前記優先度をもとに、前記複数のビットストリームから多重化するビットストリームを選択する際に
    前記積算値が前記第1の上限値を超える場合、前記優先度に応じて、前記多重化区間の終了境界を跨ぐ、受信側のデコーダでのデコード単位を有する前記ビットストリームを選択して、選択した前記ビットストリームの当該デコード単位を多重化対象から除外し、
    前記終了境界を跨ぐ前記デコード単位を次の多重化区間内で多重化すると、前記次の多重化区間内における前記積算値が前記第1の上限値を超える場合、前記終了境界を跨ぐ他のビットストリームの他のデコード単位を、前記優先度に応じて選択し、当該他のデコード単位を前記多重化対象から除外し、
    前記積算値は、前の多重化区間において、前記多重化対象から除外された前記デコード単位の情報量を含み、
    各前記ビットストリームの前記優先度は、前記複数のビットストリームそれぞれに対応して設定される前記デコーダのバッファ量の、前記多重化区間内における最大値と前記バッファ量の第2の上限値との差分と、前記多重化区間における前記バッファ量の最小値のうち、小さい方の値を前記バッファ量の前記第2の上限値で規格化した値であり、
    前記第1の上限値は、前記多重化区間のビットレートの上限に前記多重化区間の時間を乗じた値から、前記ビットストリームに含ませる時刻情報の情報量を差し引いた値である、
    処理をコンピュータに実行させるプログラム。
  2. 前記第1の上限値と前記積算値との差分に応じて、多重化するデータ情報の情報量を決定することを特徴とする請求項1に記載のプログラム。
  3. 前記優先度の高い順に選択された前記ビットストリームにおいて、デコード開始時刻と、現在時刻の差が所定値以内である場合に、多重化を行うことを特徴とする請求項1または2に記載のプログラム。
  4. 多重化対象の複数のビットストリームそれぞれに対して多重化における優先度を算出する優先度計算部と、
    多重化区間内の前記複数のビットストリームの情報量の積算値と第1の上限値とを比較し、前記積算値と前記第1の上限値との比較結果及び前記優先度をもとに、前記複数のビットストリームから多重化するビットストリームを選択する選択部と、を有し、
    前記選択部は、
    前記積算値が前記第1の上限値を超える場合、前記優先度に応じて、前記多重化区間の終了境界を跨ぐ、受信側のデコーダでのデコード単位を有する前記ビットストリームを選択して、選択した前記ビットストリームの当該デコード単位を多重化対象から除外し、
    前記終了境界を跨ぐ前記デコード単位を次の多重化区間内で多重化すると、前記次の多重化区間内における前記積算値が前記第1の上限値を超える場合、前記終了境界を跨ぐ他のビットストリームの他のデコード単位を、前記優先度に応じて選択し、当該他のデコード単位を前記多重化対象から除外し、
    前記積算値は、前の多重化区間において、前記多重化対象から除外された前記デコード単位の情報量を含み、
    各前記ビットストリームの前記優先度は、前記複数のビットストリームそれぞれに対応して設定される前記デコーダのバッファ量の、前記多重化区間内における最大値と前記バッファ量の第2の上限値との差分と、前記多重化区間における前記バッファ量の最小値のうち、小さい方の値を前記バッファ量の前記第2の上限値で規格化した値であり、
    前記第1の上限値は、前記多重化区間のビットレートの上限に前記多重化区間の時間を乗じた値から、前記ビットストリームに含ませる時刻情報の情報量を差し引いた値である、
    ことを特徴とする多重化装置。
  5. 多重化対象の複数のビットストリームそれぞれに対して多重化における優先度を算出し、
    多重化区間内の前記複数のビットストリームの情報量の積算値と第1の上限値とを比較し、
    前記積算値と前記第1の上限値との比較結果及び前記優先度をもとに、前記複数のビットストリームから多重化するビットストリームを選択する際に
    前記積算値が前記第1の上限値を超える場合、前記優先度に応じて、前記多重化区間の終了境界を跨ぐ、受信側のデコーダでのデコード単位を有する前記ビットストリームを選択して、選択した前記ビットストリームの当該デコード単位を多重化対象から除外し、
    前記終了境界を跨ぐ前記デコード単位を次の多重化区間内で多重化すると、前記次の多重化区間内における前記積算値が前記第1の上限値を超える場合、前記終了境界を跨ぐ他のビットストリームの他のデコード単位を、前記優先度に応じて選択し、当該他のデコード単位を前記多重化対象から除外し、
    前記積算値は、前の多重化区間において、前記多重化対象から除外された前記デコード単位の情報量を含み、
    各前記ビットストリームの前記優先度は、前記複数のビットストリームそれぞれに対応して設定される前記デコーダのバッファ量の、前記多重化区間内における最大値と前記バッファ量の第2の上限値との差分と、前記多重化区間における前記バッファ量の最小値のうち、小さい方の値を前記バッファ量の前記第2の上限値で規格化した値であり、
    前記第1の上限値は、前記多重化区間のビットレートの上限に前記多重化区間の時間を乗じた値から、前記ビットストリームに含ませる時刻情報の情報量を差し引いた値である、ことを特徴とする多重化方法。

JP2010252414A 2010-11-11 2010-11-11 プログラム、多重化装置及び多重化方法 Expired - Fee Related JP5625776B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010252414A JP5625776B2 (ja) 2010-11-11 2010-11-11 プログラム、多重化装置及び多重化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010252414A JP5625776B2 (ja) 2010-11-11 2010-11-11 プログラム、多重化装置及び多重化方法

Publications (2)

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

Family

ID=46394986

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010252414A Expired - Fee Related JP5625776B2 (ja) 2010-11-11 2010-11-11 プログラム、多重化装置及び多重化方法

Country Status (1)

Country Link
JP (1) JP5625776B2 (ja)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3364335B2 (ja) * 1994-09-27 2003-01-08 日本放送協会 ビットレート制御機能を具えたマルチプログラム符号化・伝送装置
JP3216503B2 (ja) * 1995-10-20 2001-10-09 三菱電機株式会社 多重化装置および多重化方法
JPH11331248A (ja) * 1998-05-08 1999-11-30 Sony Corp 送信装置および送信方法、受信装置および受信方法、並びに提供媒体
WO2006077621A1 (ja) * 2005-01-18 2006-07-27 Mitsubishi Denki Kabushiki Kaisha 多重化装置及び受信装置
WO2008041271A1 (fr) * 2006-09-29 2008-04-10 Fujitsu Microelectronics Limited Système d'émission/reception, noeud et procédé de communication

Also Published As

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

Similar Documents

Publication Publication Date Title
US10097878B2 (en) Video playback method and control terminal thereof
US10855742B2 (en) Buffering in HTTP streaming client
US9769505B2 (en) Adaptive streaming for digital content distribution
US20180191868A1 (en) Method and System for Downloading Multiple Resolutions Bitrate for Virtual Reality (VR) Video Streaming Optimization
EP2649599B1 (en) Variable bit video streams for adaptive streaming
US9781183B2 (en) Accelerated playback of streaming media
US9648385B2 (en) Adaptive streaming for digital content distribution
US20110176496A1 (en) On-the-fly video quality switching for video distribution networks and methods therefor
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
CN108200470A (zh) 一种视频码率调整方法及设备
US20080049036A1 (en) Multimedia Playback System, FIFO Memory System, and Method for Storing Multimedia Data
JP5625776B2 (ja) プログラム、多重化装置及び多重化方法
US20220256215A1 (en) Systems and methods for adaptive output
JP2009004897A (ja) 動画像符号化装置
US20060280484A1 (en) Recording/playback apparatus and recording/playback method
US20090185620A1 (en) Video encoding apparatus and method for the same
CN108352172B (zh) 用于减轻视听资源中的偏移的方法和控制服务器
KR101086434B1 (ko) 비디오 데이터 디스플레이 방법 및 장치
US11140431B2 (en) Method and system for prioritizing contents for content processing by multichannel video programming distributors
JP2010197957A (ja) 画像音声供給装置、画像音声出力装置、画像供給方法、画像音声出力方法、及びプログラム
US20130201396A1 (en) System and method to ensure buffer compliance in a mpeg2 transport stream system
US20170324967A1 (en) Method for controlling bitstream decoding and associated bitstream decoding circuit
JP5171459B2 (ja) ストリームデータ処理装置、ストリームデータ処理方法、及びストリームデータ処理プログラム
KR20130020003A (ko) 영상 복원 방법 및 장치

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 Request for written amendment filed

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 or registration of utility model

Ref document number: 5625776

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees