JP3851721B2 - マルチメディアデータ入出力インタフェース装置及び同装置に適用される一定レートストリーム出力方法 - Google Patents
マルチメディアデータ入出力インタフェース装置及び同装置に適用される一定レートストリーム出力方法 Download PDFInfo
- Publication number
- JP3851721B2 JP3851721B2 JP5956198A JP5956198A JP3851721B2 JP 3851721 B2 JP3851721 B2 JP 3851721B2 JP 5956198 A JP5956198 A JP 5956198A JP 5956198 A JP5956198 A JP 5956198A JP 3851721 B2 JP3851721 B2 JP 3851721B2
- Authority
- JP
- Japan
- Prior art keywords
- rate
- output
- stream
- transmission line
- input
- 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
Links
Images
Description
【発明の属する技術分野】
本発明は、非同期系伝送路と同期系伝送路との間のインタフェースをなし、非同期系伝送路を介して伝送されるマルチメディアデータを安定した状態で同期系伝送路に送出するのに好適なマルチメディアデータ入出力インタフェース装置及び同装置に適用される一定レートストリーム出力方法に関する。
【0002】
【従来の技術】
近年、映像や音声等の各種メディアの情報信号をデジタル化して信号処理し、それを伝送するマルチメディアデータ伝送技術がめざましく進歩している。
デジタル映像データ(動画像データ)等のマルチメディアデータは、MPEG(Moving Picture Experts Group)と呼ばれる規格の符号化処理技術(データ圧縮処理技術)を適用して符号化されるのが一般的である。MPEGシステムの1つにMPEG2システムがある。このMPEG2システムでは、符号化されたマルチメディアデータのビットストリーム(ビット列)は、それぞれPES(Packetized Elementary Stream)パケットと呼ばれるパケット単位に区切られたPESとされて時分割多重されることにより、トランスポートストリーム(Transport Stream;TS)と呼ばれる多重通信信号となる。このトランスポートストリーム(MPEG2TS)は、PESパケットが幾つかに分解されて188バイトの固定長のトランスポートパケット(TSパケット)に乗せられたデータ構造となっている。トランスポートストリームでは、STB(Set Top of Box)に代表される受信装置の復号器(デコーダ)において基準時計の同期をとるための、PCR(Program Clock Referance 、プログラム時刻基準参照値)と呼ばれる6バイトの時間情報(一種のタイムスタンプ)が適当な頻度で設定される。このPCRの値(PCR値)が設定される特定パケットはPCRパケットと呼ばれ、その値には、該当するパケットの送出時の時刻が用いられる。
【0003】
ケーブルなど放送系のネットワークを介して、メディアサーバ(メディアサーバ計算機)から出力された動画像データなどのマルチメディアデータ、例えばΜPEG2TS(形式のマルチメディアデータ)の再生を行なう場合の問題点として、ΜPEG2TSのタイミングモデルを守らなくてはならないという大前提が崩れてしまうことが挙げられる。
【0004】
この前提とは、マルチメディアデータに対するデコーダ、エンコーダの前後に、バッファリングを行なって遅れ時間を許す部分が存在するものの、ストリームに破綻をきたすことなく連続再生を行なうためには、システム全体としてエンコーダからデコーダまでの遅れ時間が常に一定値をとらなくてはならないということである。
【0005】
このようなタイミングモデル、つまりメディアサーバのクロックに従ってデータ発信が行なわれ、データ下流の機器はそのクロックに従ってデータ転送を行なうモデルはプッシュモデルと呼ばれ、MPEG2TSなどリアルタイムデータ送信を行なう上での基本的なモデルである。これにより、PCRを付加したエンコーダのシステム時間情報を再生しながら、破綻をきたすことなくデータの再生を行なうことが可能となる。
【0006】
ところが、図10のシステムに示すように、メディアサーバ101からATM(Asyncronous Transfer Mode 、非同期転送モード)伝送路に代表される非同期系伝送路102に出力されたデータストリーム(つまり、コンピュータ系からの非同期によるデータストリーム)を、マルチメディアデータ入出力インタフェース装置103で受けて、受信装置(STB)105に対して放送系のケーブル伝送路、つまり同期系伝送路104によるデータ送信(放送系へのデータ送信)を行なう場合、同期系伝送路104には当該伝送路104の搬送波の周波数という絶対的なクロックが存在するため、同期系伝送路104の上流のサーバ101のクロックに同期をとってデータ転送を行なうことは難しい。
【0007】
そのため、非同期系伝送路102(コンピュータ系)と同期系伝送路104(放送系)との接続部分(をなすマルチメディアデータ入出力インタフェース装置103)にてアンダーフローやオーバーフローが起こり易くなってしまい、STB105側では安定したストリームを得ることはできない。入出力インタフェース装置103内に単純にバッフアを設けて破綻を防止するのでは、そのバッファサイズが巨大なものとなりかねない。
【0008】
【発明が解決しようとする課題】
メディアサーバ(メディアサーバ計算機)のクロックにより決められるトランスポートストリーム(MPEG2TS)の持つクロック情報と、機器のクロックの差を吸収する方法の1つとして、PLL(位相ロックループ)回路により機器のクロックを修正するという方法が知られている。これは、デコーダ等で用いられている手法で、機器のクロックをストリームのクロック情報に合わせることで、同期をとる方法である。
【0009】
しかし、図10に示したような同期系(放送系)に接続を行なうシステムの場合、この方法を用いることは難しい。第1の理由は、非同期系(コンピュータ系)につながる同期系伝送路(放送系伝走路)自身が絶対クロックを持つためである。第2の理由は、図11のシステムに示すように、非同期系伝送路102を介してデータを供給するメディアサーバが複数存在し(図ではサーバ101-1〜101-3の3台)、各サーバでそれぞれクロックが異なるため、つまりデータをエンコードして送るときのストリーム(図ではA〜C)に付属して送られる同期信号が異なるためである。
【0010】
本発明は上記事情を考慮してなされたものでその目的は、サーバ計算機からの非同期によるマルチメディアデータのストリームを受けて同期系伝送路に転送するのに、破綻することのない安定したストリームの長時間に亘る供給が図れるマルチメディアデータ入出力インタフェース装置及び同装置に適用される一定レートストリーム出力方法に関する。
【0011】
【課題を解決するための手段】
本発明は、非同期系伝送路と同期系伝送路との間のインタフェースをなし、少なくとも1つのサーバ計算機から上記非同期系伝送路を介して伝送される符号化されたマルチメディアデータのストリームを入力して、上記同期系伝送路の持つ絶対的なクロックに同期した出力レートで当該同期系伝送路に送出するマルチメディアデータ入出力インタフェース装置において、上記非同期系伝送路からの入力ストリームを一時保持するためのバッファ記憶手段と、上記非同期系伝送路から入力するストリームの入力レートが上記同期系伝送路へ送出するストリームの出力レートより少なくとも当該入力レートのドリフト分を下回る値に設定されていることを前提条件に、上記バッファ記憶手段がアンダーフロー状態となっても出力レートが予め定められた一定レートとなるように、ダミーパケットを挿入することで出力レートの調整を行なうようにしたことを特徴とする。ここで、複数のサーバ計算機からそれぞれストリームを受ける入出力インタフェース装置にあっては、それぞれのストリームについてダミーパケットの挿入によりレート調整を行って入力ストリームのレートの平準化を行ない、出力ストリームにおける時分割多重化を行なうようにするとよい。
【0012】
このような構成においては、バッファ記憶手段がアンダーフロー状態に設定される条件のもとで、一定の出力レートとなるようにダミーパケット(Nullパケット)が挿入(付加)されるため、大容量のバッファ記憶手段を用いることなく、上流のサーバ計算機側のクロック(非同期系伝送路のクロック)と搬送波という絶対的なクロックが存在する放送系伝送路などの同期系伝送路のクロックとのずれを吸収し、つまり非同期系伝送路のクロックに影響されずに、同期系伝送路のクロックに同期した時分割多重化が可能となる。
【0013】
ここで、入力ストリームを構成するパケット列に含まれる、再生時期を表すための時間情報(PCR値)を持つ特定パケット(PCRパケット)を出力する場合、当該パケット中の時間情報(PCR値)をレート調整に応じて書き換えて、ダミーパケット挿入による当該パケットの(同期系伝送路に接続された)受信装置(例えばSTB)への到着時間の遅れ分を修正するならば、受信装置側でパケット未到達状態と誤判断されるのを防止して、当該受信装置側で正しく連続再生することが可能となる。
【0014】
また、ダミーパケットの挿入位置(挿入タイミング)は、出力レートと入力レートとの差分をもとにダミーパケットの挿入間隔を算出し、その挿入間隔から決定すればよい。
【0015】
また、出力レートと入力レートとの差分であるレート差分(Δrate)は、バッファ記憶手段に一定量(x0 )の入力データを蓄えた後、当該バッファ記憶手段へのデータ入力を続けながら、当該バッファ記憶手段からの一定レートでのストリームの出力を一定時間(Δt)行ない、上記一定量(x0 )と一定時間(Δt)後にバッファ記憶手段に残っているデータの量(x1 )との差(x0 −x1 )及び当該時間(Δt)から算出すればよい。ここで、レート差分Δrateと、(x0 −x1 )及びΔtとの関係は、Δrate=(x0 −x1 )/Δtのように表される。
【0016】
このように、レート差分(Δrate)を求めるのに、単純に出力レートと入力レートとを用いるのではなく、即ち(一定レートとなる出力レートとは異なって)非同期系伝送路を経ることによるパケット到着時間の揺らぎ(ドリフト)の影響を受けるために正確に測定することが困難な入力レートを測定して出力レートと共に用いるのではなく、当該揺らぎの影響を受けることのない、バッファ記憶手段の入力バッファ領域の時間(Δt)当りの増減量(x0 −x1 )を利用することにより、レート差分(Δrate)を正確に求めることが可能となる。
【0017】
また本発明は、上記レート差分を予め定められた条件を満足するタイミング毎に算出し、当該レート差分を算出する毎に、最新のダミーパケットの挿入間隔を算出するようにしたことをも特徴とする。
【0018】
このような構成においては、常に最新のストリーム入出力状態に対応したレート差分が算出(測定)されて、その最新のレート差分をもとに最新のストリーム入出力状態に対応したダミーパケットの挿入間隔が決定されることから、破綻することのない安定したストリームの長時間に亘る供給が可能となる。
【0019】
【発明の実施の形態】
以下、本発明の実施の形態につき図面を参照して説明する。
図1は本発明の一実施形態に係るマルチメディアデータ入出力インタフェース装置を備えたデータ伝送システムの全体構成を示すブロック図である。
【0020】
図1のデータ伝送システムは、クロックが異なる複数のメディアサーバ、例えば3台のメディアサーバ10-1〜10-3(クロックはCLK1〜CLK3)を備えている。メディアサーバ10-1〜10-3は、当該サーバ10-1〜10-3から送出されるマルチメディアデータのストリーム(例えばMPEG2TS)の伝送路としての非同期系伝送路(コンピュータ系伝送路)11を介してマルチメディアデータ入出力インタフェース装置20と接続されている。本実施形態において、非同期系伝送路11はATM伝送路である。
【0021】
マルチメディアデータ入出力インタフェース装置20は、非同期系伝送路11と、放送系伝送路(ケーブル伝送路)等の同期系伝送路12とのインタフェースをなすもので、非同期系伝送路11を介して転送されるメディアサーバ10-1〜10-3からの各ストリームを入力(受信)し、同期系伝送路12のクロックとの同期がとれた出力レートに合わせて当該同期系伝送路12に出力(送信)する機能を有する。この入出力インタフェース装置20は、非同期系伝送路11とのインタフェースをなすATMインタフェース21、及び同期系伝送路12とのインタフェースをなし、当該同期系伝送路12への破綻することのない安定した一定レートでのストリームの出力を行なう機能(コンスタントビットレートストリームエンジン機能、以下CSE機能と称する)を有するカード(以下、CSEカードと称する)22を備えている。
【0022】
同期系伝送路12には、当該伝送路12を介してマルチメディアデータ入出力インタフェース装置20から転送されるストリームを受信して再生するSTB30が接続されている。STB30には、再生されたデータ(動画像データ、音声データ)を表示、音声出力するためのモニタ31が接続されている。
【0023】
図2はマルチメディアデータ入出力インタフェース装置20のハードウェア並びにソフトウェア構成を示す。
同図に示すように、マルチメディアデータ入出力インタフェース装置20は、主として、プログラム処理が可能な情報処理装置、例えばワークステーション(以下、WSと称する)23と、当該WS23に実装されたATMインタフェース21及びCSEカード22とから構成されている。
【0024】
WS23には、後述するストリームの多重化、クロック誤差調整のためのアルゴリズム(具体的には、入力レートと出力レートとの差分を検出するためのレート差分検出アルゴリズム、Nullパケットの挿入とPCRの書き換えのためのアルゴリズム)を提供するアプリケーションプログラム(以下、上位アプリケーションと称する)230、当該上位アプリケーション230のもとでATMインタフェース21を制御するためのデバイスドライバ(以下、ATMIFドライバと称する)231、及び当該上位アプリケーション230のもとでCSEカード22を制御するためのデバイスドライバ(以下、CSEカードドライバと称する)232等のソフトウェアプログラムがロードされている。
【0025】
ここで、上位アプリケーション230、ATMIFドライバ231、及びCSEカードドライバ232は、記録媒体、例えばCD−ROM24に記録されており、当該CD−ROM24をWS23のCD−ROMドライブ(図示せず)に装着して読み込むことによりWS23内にローディングされる。なお、これらのソフトウェアプログラムを記録した記録媒体としては、CD−ROM24の他に、フロッピーディスク、メモリカード等が利用可能である。また、ATMIFドライバ231及びCSEカードドライバ232のうちの少なくともATMIFドライバ231については、CD−ROM24とは別のOS(オペレーティングシステム)用CD−ROM(記録媒体)から提供するようにしてもよい。また、ソフトウェアプログラムを記録した記録媒体の内容が、通信回線等を介してWS23にダウンロードされるものであっても構わない。
【0026】
CSEカード22は、カード1枚あたり実効帯域24M(メガ)bps(ビット/sec)のデータ転送が可能であり、その出力に同期系伝送路12を介して64QΑM(Quadrature Amplitude Modulation )装置またはSTBを接続することを想定したハードウェア構成となっている。図1のデータ伝送システムでは、CSEカード22には同期系伝送路12を介して多数のSTB30(図では1つだけ示してある)が接続される。CSEカード22はATMインタフェース21と共にWS23内部の図示せぬI/O接続バス(SBus)に接続されている。
【0027】
CSEカード22は、ストリームデータのバッファリングのための、例えば1MB(メガバイト)の書き換え可能なメモリ、例えばSRAM(Static Random Access Memory )221と、WS23内のI/O接続バスとSRAM221との間のデータ転送をDMA(Direct Memory Access)方式で行なうDMAコントローラ(以下、DMACと称する)222とを備えている。SRAM221は、Α,B2面のバッファに分割して管理され、定常状態では一方の面(バッファ)では(入力バッファとして)入力を受けながら、他方の面(バッファ)は(出力バッファとして)コンスタントビットレート出力を行なうように制御される。入力バッファとして用いられた面は、次には出力バッファに切り換えられ、出力バッファとして用いられた面は、次には入力バッファに切り換えられる。
【0028】
SRAM221からの出力レート、即ち(マルチメディアデータ入出力インタフェース装置20内の)CSEカード22から同期系伝送路12への出力レートは水晶発信器の周波数によって、上記したカード1枚あたりの実行帯域24Mbpsより大きい例えば27Mbpsに定められている。SRAM221との間のDMA転送時において、当該SRAM221(内の入力バッファ)が完全充填(FULL)時と、SRAM221(内の出力バッファ)からの出力完了(EMPTY)時には、CSEカード22から割り込み信号が出される。SRAMへのストリームの充填が間に合わない場合は、上位アプリケーション230の制御のもとでNullパケットの挿入が行なわれる。
(A)動作の概要
次に、本実施形態の動作について、マルチメディアデータ入出力インタフェース装置20の動作を中心に説明する。
【0029】
(A1)アンダーフロー施策
マルチメディアデータ入出力インタフェース装置20は、メディアサーバ10-i(i=1〜3)から非同期系伝送路11を介して送出されるデータストリーム(ΜPEG2TS)、即ちコンピユータ系からの非同期によるデータストリームをATMインタフェース21にて受信(入力)し、CSEカード22により同期系伝送路12(ケーブル系)の同期信号に同期してデータを送出(出力)する。この際、送信レート(出力レート)と比較して受信レート(入力レート)が早い場合は入出力インタフェース装置20内にてオーバーフローを起こし、逆の場合はアンダーフローが起こる。
【0030】
オーバーフローが起こる場合はバッフアにより吸収するしかないが、ΜPEG2TSのようなリアルタイム系で且つサイズの大きなデータを長時間に渡って流す場合たちまち破綻を生じる。
【0031】
例えば、4Mbpsのストリームにおいて、100ppmのドリフトが存在する場合、1日を通じて破綻することなくストリームを流し続けるならば、次式
(4×106 [bit/sec])×(100×10-6)
×(24×3600[sec] )=3.456×107 Mb(メガビット)
=4.32MB(メガバイト)
から明らかなように、4Mbpsのストリーム1本あたり4.32MB程度のバッファ領域が必要となる。このバッファ量は、一度バッファリングされたデータが再生されるまでに約17秒間かかることを意味する。このような巨大なバッファを持つことはコストの面からも応答性の面からも好ましいことではない。
【0032】
そこで、本実施形態におけるマルチメディアデータ入出力インタフェース装置20が適用されるデータ伝送システムでは、送信側の実効レートを、受信側の合計レートの24Mbpsより数100ppm(ドリフトを上回る値α)早めたレートとし、意図的にアンダーフロー状態を作り出すようにしている。24Mbpsは、例えば4MbpsのMPEG2コンテンツ6本分、あるいは6Mbpsのコンテンツ4本分に相当する。
【0033】
また、マルチメディアデータ入出力インタフェース装置20では、送信側の実効レートを数100ppm(α)早めた分の帯域を用い、上位アプリケーション230の提供するアルゴリズムによって、通常のパケットとは別の特別のパケットとしてのNullパケットの付加を行ない調整を行う。このNullパケットはMPEG2TSの同期バイト、Nullパケット用に決められた値のPID(パケット識別子)データのみを持ち、プログラムの再生には関与しないダミーパケットである。
【0034】
この意図的に作り出したアンダーフロー状態でのNullパケット付加(挿入)によるレート調整により、各ストリームのレートを同期系伝送路12(放送系伝走路)のクロックと同期がとれたレートに合わせることが可能となると同時に時分割多重化を行うことができる。この様子を図3に示す。ここでは、受信側の合計レートの24Mbpsより数100ppm早められた出力帯域(24Mbps+α)において、多重化されたストリーム全体で見た場合のNullパケットの比率が模式的に示されている(斜線部)。図3は模式図であることから、Nullパケットが1箇所に集中して付加されているように示されているが、実際には次に述べるように所定のルールに従って分散して付加(挿入)される。
【0035】
(A2)レート差分検出
Nullパケットを挿入する際には、全体のレートの調整のみでなく、その位置について考慮する必要がある。
【0036】
例えば、レート調整のために大量のNullパケットが1箇所に入ったとするなら、STB30側では再生するパケットが、破綻しないための条件を満たす時間内に届かずアンダーフローを起こす。このようなSTB30側でのアンダーフローを防ぐための処理を施すには、入力レートの正確な値を知ることが必要である。
【0037】
しかし、通常の方法では困難である。なぜなら、パケット間の到着時間間隔からレートを計算しようとしても、ネットワーク(非同期系伝送路11)を経由したことによるジッタ(ドリフト)の影響により、正確な値を得ることができないからである。その値を計算しようとするなら、繰り返しサンプルをとる必要がある。また従来のような、巨大バッファを用いて入力パケットを溜めて単位時間当たりの入力を算出する方法では、ジッタの影響を取り除けるだけの容量のバッファを確保しなければならず効率が悪く、またバッファの大きさがディレイの原因となり、操作性が著しく落ちることなどの問題点がある。
【0038】
そこで、本実施形態におけるマルチメディアデータ入出力インタフェース装置20では、入力ストリームと出力ストリームのレート誤差が大きくても100ppm程度であることを利用して、最初に一定量のデータをバッファに蓄えておいた状態で、予めシングルストリーム1本分の出力帯域を、最大予想入力帯域を超えるレートに設定しておき、しばらくの間入出力を行なったときのバッファ残量と入出力を行なった時間から両者のレートの差、つまり出力レートと入力レートとの差(レート差分)を検出するようにしている。また、このレート差分を用いてNullパケットを付加(挿入)する位置を、次のように決定する。
【0039】
(A3)Nullパケットの付加とPCRの置き換え
検出したレート差分をもとにNullパケットの付加を行なった場合、パケットの到着時間とメディアサーバ10-iから送出される時間情報との間にずれを生じることとなる。ΜPEG2TSを用いたシステムでは、エンコーダ側のシステム時間を、プログラム時刻基準参照値(PCR)という時間情報の値を用いて取得する。PCRは全てパケットに付加されているわけではなく、PCRパケットと呼ばれる特定パケットにのみその情報が付加されている。
【0040】
上記のずれを修正するのに、出力側に基準となるクロックを設けハードウェア(HW)によりPCRを書き換える手法が考えられる。しかし、この手法はハードウェアのロジックの増大などの不都合が生じるため適当ではない。
【0041】
そこで、本実施形態におけるマルチメディアデータ入出力インタフェース装置20では、先の手法で検出したレートの差分データを用いて、Nullパケット挿入間隔の計算を行ない、Nullパケット1つ分のずれが生じたらNullパケットの挿入を行なう手法を適用する。同時に、修正するシステム時間の計算を行ない、PCRパケットを確認したら、そのPCRフィールドの書き換えを行なう。このPCRの置き換えを行なう理由を、図4を参照して説明する。
【0042】
Nullパケットを付加した場合、そのNullパケット付加直後のパケットは内部のPCRに持つ時刻よりも遅れて到着することとなる。つまり、図4中の時刻t0 で到着していなければならないものが、Nullパケット付加により時刻t1 にならないと到着しない。この時刻t1 での到着を正しいものとするために、PCRの置き換えを行なう。
【0043】
以上の(A1)〜(A3)により、MPEG2TSのタイミングモデルが回復し、STB30側でロックが外れることなく連続的に再生することが可能となる。
(B)動作の詳細
次に、マルチメディアデータ入出力インタフェース装置20で適用された、Nullパケット挿入による、同期系伝送路12(放送系伝送路)に同期されて、且つコンテンツへの影響を最小限とするストリームの再構築方法のアルゴリズムについて詳細に説明する。
【0044】
(B1)レート差分測定手順
初めに、同期系伝送路12のクロックとメディアサーバ10-iのクロックとの差分に起因するレート差分(出力レートと入力レートとの差分)を上位アプリケーション230に従って測定する手順について、図5のフローチャートを参照して説明する。なお、同期系伝送路12における1ストリーム分の伝送帯域はメディアサーバ10-iから受信するデータ通信帯域より100ppm程度のオーダで高いものとする。
【0045】
まず、マルチメディアデータ入出力インタフェース装置20のCSEカード22に設けられたSRAM221のバッファ領域(入力バッフア)に一定量(x0 バイト)のデータを溜める(ステップS1)。
【0046】
次に、コンスタントストリームの出力を開始する(ステップS2)。同時に、時間Δt(sec)をカウントするタイマを起動(セット)する(ステップS3)。
【0047】
そして、タイマが時間Δtをカウントし終えるまでの時間Δtの期間、SRAM221のバッファ領域にデータを入力しながら、当該バッファ領域からのコンスタントストリームの出力を行なう(ステップS4)。
【0048】
やがてタイマが時間Δtをカウントし終えると、バッファ領域の残量(x1 バイト)を測定する(ステップS5)。もし入力レートと出力レートとの差がないならば、x1 =x0 バイトとなるはずであるが、本実施形態のように出力レート>入力レートとなるように設定されている場合には、x1 <x0 となる。
【0049】
次に出力レートと入力レートとの差分(誤差)Δrate(バイト/sec)を、次式
Δrate=(x0 −x1 )/Δt
により算出する(ステップS6)。
【0050】
(B2)Nullパケット挿入間隔等の決定手順
次に、測定したレート差分Δrateをもとに、上位アプリケーション230に従ってNullパケット挿入間隔等を決定する手順について、図6のフローチャートを参照して説明する。
【0051】
まず、1秒間当たりに付加するパケットの数Padd ( 個/sec)を、次式
Padd =188/Δrate
により算出する(ステップS11)。ここで分子の「188(バイト)」は、パケット(トランスポートパケット)のサイズを示す。
【0052】
このPadd の値から、図7に示すNullパケット挿入間隔Tint (sec)を、次式
Tint =1/Padd
により算出する。この間隔Tint でNullパケットを挿入すると、入力側(受信側)のレートと出力側(送信側)のレートの差(Δrate)を吸収することができる。
【0053】
次に、入力レートRin(バイト/sec)を求める。この入力レートRinは、出力レートRout (バイト/sec)がコンスタントであることから、次式
Rin=Rout −Δrate
により求められる。
【0054】
このRinの値から、図7に示す入力ストリームのパケット間隔、つまりNullパケット挿入前ストリームのパケット到着間隔Tin(sec)を、次式
Tin=188/Rin
により算出する。
【0055】
同様にして、図7に示す出力ストリームのパケット間隔、つまりNullパケット挿入後のストリームのパケット間隔Tout (sec)を、Rout の値から、次式
Tout =188/Rout
により算出する。
【0056】
(B3)Nullパケット挿入、PCRの書き換え
次に、上記(B2)で算出したNullパケット挿入間隔Tint 、Nullパケット挿入前ストリームのパケット到着間隔Tin、Nullパケット挿入後のストリームのパケット間隔Tout 等をもとに、上位アプリケーション230に従ってNullパケット挿入、PCRの書き換えを行なう手順について、図8及び図9のフローチャートを参照して説明する。
【0057】
まず、参照するパケット(カレントパケット)を指すポインタPの値を、ストリームの先頭パケットを指すように初期設定する(ステップS21)。
次にポインタPの指すカレントパケットがPCRパケットであるか否かを調べる(ステップS22)。もし、カレントパケットがPCRパケットでなければ、ポインタPを1つ進めて(ステップS23)、次のパケットを調べる(ステップS22)。
【0058】
このようにして、PCRパケットが見付けられたなら、Nullパケットを挿入してからカレントパケットまでの時間間隔(経過時間)Tを初期値0に設定する(ステップS24)。また、見付けたPCRパケット(つまりポインタPの指すパケット)の持つPCRの値(PCRフィールドの値)を、基準時間として書き込む値(基準時間設定値)TPCR に設定する(ステップS25)。
【0059】
次にポインタPを1つ進め(ステップS26)、次のパケットがあるならば(ステップS27)、Nullパケットを挿入してからの経過時間Tの値を、Nullパケット挿入前ストリームのパケット到着間隔(入力ストリームのパケット間隔)Tinの分だけ加えた値に更新する(ステップS28)。また、基準時間設定値TPCR を、Nullパケット挿入後のストリームのパケット間隔(出力ストリームのパケット間隔)Tout の分だけ加えた値に更新する(ステップS29)。
【0060】
次に、(最後にNullパケットを挿入してからの)経過時間TとNullパケット挿入間隔Tint とを比較する(ステップS30)。もし、(先のステップS28で経過時間TをTinの分だけ更新した結果)T>Tint となっているならば、Nullパケットを挿入し(ステップS31)、経過時間TをTint だけ減らした値に更新する(ステップS32)。続いて、(先のステップS26で1つ進められた)ポインタPの指すカレントパケットがPCRパケットであるか否かを調べる(ステップS33)。これに対し、上記ステップS30でT>Tint となっていないことが判定された場合には、そのままステップS33に進み、ポインタPの指すカレントパケットがPCRパケットであるか否かを調べる。
【0061】
もし、カレントパケットがPCRパケットであるならば、当該PCRパケットの持つPCR値を現在の基準時間設定値TPCR に書き換え(ステップS34)、しかる後にステップS26に戻る。これに対し、カレントパケットがPCRパケットでないならば、そのままステップS26に戻る。
【0062】
ところで、上記(B1)のレート差分測定手順で測定(算出)されたレート差分Δrateをもとに、上記(B2)のNullパケット挿入間隔等の決定手順でNullパケット挿入間隔Tint を決定し、その決定した間隔Tint でNullパケットの挿入操作を行なう場合に、一度決定したNullパケット挿入間隔Tint を固定的に使用するものとすると、その間隔Tint が長期に亘り最も適切な間隔であるとは限らないという問題が考えられる。それは、間隔Tint (レート差分Δrate)の測定を行なった時間帯のサンプリング状態などの影響で、本来の間隔(レート差分)より僅かにずれていることがあり得るからである。
【0063】
つまり、一度だけレート差分Δrateの測定を行なってNullパケット挿入間隔Tint を固定してしまうと、微妙なずれの影響が徐々に蓄積し、非常に長時間に亘ってストリームを流した場合、SRAM221内のバッファ領域においてストリームの破綻が起こる虞があるということである。
【0064】
そこで本実施形態では、このような不具合を防止するために、システムの状態(バッファ領域の使用状況)を監視しながら動的にレート差分Δrateを測定してシステム状態に合致したNullパケット挿入間隔Tint を決定するようにしている。ここでは、レート差分Δrateを動的に測定するのに、その測定タイミングを決定するための条件を設定し、その条件を満足するタイミング毎にレート差分Δrateを測定する。この条件には、例えばインターバルタイマによる一定時間計測等を利用すればよい。
【0065】
【発明の効果】
以上詳述したように本発明によれば、サーバ計算機からの非同期によるマルチメディアデータの入力ストリームを一時保持して(搬送波という絶対的なクロックが存在する放送系伝送路などの)同期系伝送路に送出するのに用いられるバッファ記憶手段をアンダーフロー状態に設定する一方、一定の出力レートとなるようにダミーパケットを挿入する構成としたことにより、サーバ計算機からの非同期によるマルチメディアデータのストリームを受けて同期系伝送路に転送するのに、大容量のバッファ記憶手段を用いることなく、サーバ計算機側のクロック(非同期系伝送路のクロック)と同期系伝送路のクロックとのずれを吸収でき、且つ破綻することのない安定したストリームの長時間に亘る供給を実現できる。
【0066】
また、本発明によれば、PCRパケット中のPCR値をダミーパケット挿入によるレート調整に応じて書き換えて、ダミーパケット挿入に伴う当該パケットの受信装置への到着時間の遅れ分を修正することにより、受信装置側でパケット未到達状態と誤判断されるのを防止して、当該受信装置側で正しく連続再生することができる。
【0067】
また、本発明によれば、ダミーパケットの挿入間隔を決定するのに必要な出力レートと入力レートとの差分(レート差分)を求めるのに、単純に出力レートと、ドリフトの影響を受けて正確に測定することが困難な入力レートとを用いるのではなく、ドリフトの影響を受けることのない、バッファ記憶手段の入力バッファ領域の時間当りの増減量を利用するようにしたので、レート差分を正確に求めることができる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係るマルチメディアデータ入出力インタフェース装置を備えたデータ伝送システムの全体構成を示すブロック図。
【図2】同実施形態におけるマルチメディアデータ入出力インタフェース装置のハードウェア並びにソフトウェア構成を示す図。
【図3】同実施形態において、送信側の実効レートを、受信側の合計レートより数100ppm(α)早めたレートとして、意図的にアンダーフロー状態を作り出すようにした様子を示す図。
【図4】同実施形態におけるNullパケット挿入に伴うPCR書き換えを説明するための図。
【図5】同実施形態におけるレート差分測定処理を説明するためのフローチャート。
【図6】同実施形態におけるNullパケット挿入間隔等の決定処理を説明するためのフローチャート。
【図7】図6のフローチャートに従う処理で決定されるNullパケット挿入間隔、入力ストリームのパケット間隔、及び出力ストリームのパケット間隔の関係を示す図。
【図8】同実施形態におけるNullパケット挿入及びPCR書き換え処理を説明するためのフローチャートの一部を示す図。
【図9】同実施形態におけるNullパケット挿入及びPCR書き換え処理を説明するためのフローチャートの残りを示す図。
【図10】コンピュータ系(非同期系)から放送系(同期系)へのデータ送信が行なわれるシステムを示す図。
【図11】クロックの異なる複数のコンピュータ系(非同期系)から放送系(同期系)へのデータ送信が行なわれるシステムを示す図。
【符号の説明】
10-1〜10-3…メディアサーバ
11…非同期系伝送路
12…同期系伝送路
20…マルチメディアデータ入出力インタフェース装置
21…ATMインタフェース
22…CSEカード
23…WS
24…CD−ROM(記録媒体)
30…STB
221…SRAM(バッファ記憶手段)
230…上位アプリケーション(レート調整手段、時間情報書き換え手段、ダミーパケット挿入間隔算出手段、レート差分算出手段)
Claims (3)
- 非同期系伝送路と同期系伝送路との間のインタフェースをなし、少なくとも1つのサーバ計算機から前記非同期系伝送路を介して伝送される符号化されたマルチメディアデータのストリームを入力して、前記同期系伝送路の持つ絶対的なクロックに同期した出力レートで当該同期系伝送路へのストリーム出力を行なうマルチメディアデータ入出力インタフェース装置において、
前記非同期系伝送路からの入力ストリームを一時保持するための前記同期系伝送路へのストリーム出力に用いられるバッファ記憶手段と、
前記同期系伝送路へ送出するストリームの出力レートが前記非同期系伝送路から入力するストリームの入力レートより少なくとも当該入力レートのドリフト分を上回る予め定められた一定レートに設定されていることを前提条件に、前記バッファ記憶手段に一定量の入力データを蓄えた後、前記バッファ記憶手段へのデータ入力を続けながら、前記バッファ記憶手段からの前記一定レートでのストリームの出力を一定時間行ない、前記一定量と前記一定時間後に前記バッファ記憶手段に残っているデータの量との差及び当該時間から、出力レートと入力レートとの差分を算出するレート差分算出手段と、
前記バッファ記憶手段がアンダーフロー状態となっても前記出力レートが前記一定レートとなるように挿入されるべきダミーパケットの挿入間隔を、前記レート差分算出手段によって算出された前記出力レートと入力レートとの差分をもとに算出するダミーパケット挿入間隔算出手段と、
前記ダミーパケット挿入間隔算出手段の算出結果をもとに前記ダミーパケットを挿入する位置を決定するダミーパケット挿入位置決定手段と、
前記バッファ記憶手段から前記同期系伝送路へのストリーム出力を前記クロックに同期した前記一定レートで行なうストリーム出力手段と、
前記バッファ記憶手段からの出力ストリーム中の前記ダミーパケット挿入位置決定手段によって決定された位置に前記ダミーパケットを挿入することで出力レートの調整を行なうダミーパケット挿入手段とを具備することを特徴とするマルチメディアデータ入出力インタフェース装置。 - 非同期系伝送路と同期系伝送路との間のインタフェースをなし、少なくとも1つのサーバ計算機から前記非同期系伝送路を介して伝送される符号化されたマルチメディアデータのストリームを入力してバッファ記憶手段に一時記憶しながら、当該バッファ記憶手段から前記同期系伝送路へのストリーム出力を当該同期系伝送路の持つ絶対的なクロックに同期した出力レートで行なうマルチメディアデータ入出力インタフェース装置に適用される一定レートストリーム出力方法であって、
前記同期系伝送路へ送出するストリームの出力レートを前記非同期系伝送路から入力するストリームの入力レートより少なくとも当該入力レートのドリフト分を上回る値に設定することで、前記バッファ記憶手段がアンダーフロー状態となるように設定し、
前記バッファ記憶手段に一定量の入力データを蓄えた後、前記バッファ記憶手段へのデータ入力を続けながら、前記バッファ記憶手段からの予め定められた一定レートでのストリームの出力を一定時間行なうことにより、前記一定量と前記一定時間後に前記バッファ記憶手段に残っているデータの量との差及び当該時間から、出力レートと入力レートとの差分を算出し、
前記バッファ記憶手段がアンダーフロー状態となっても前記出力レートが前記一定レートとなるように挿入されるべきダミーパケットの挿入間隔を、前記算出された出力レートと入力レートとの差分をもとに算出し、
前記ダミーパケットの挿入間隔の算出結果をもとに前記ダミーパケットを挿入する位置を決定し、
前記バッファ記憶手段からの出力ストリーム中の前記決定された位置に前記ダミーパケットを挿入することで出力レートの調整を行なうようにしたことを特徴とする一定レートストリーム出力方法。 - 非同期系伝送路と同期系伝送路との間のインタフェースをなし、少なくとも1つのサーバ計算機から前記非同期系伝送路を介して伝送される符号化されたマルチメディアデータのストリームを入力してバッファ記憶手段に一時記憶しながら、当該バッファ記憶手段から前記同期系伝送路へのストリーム出力を当該同期系伝送路の持つ絶対的なクロックに同期した出力レートで行なうマルチメディアデータ入出力インタフェース装置に適用される一定レートストリーム出力用のプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記同期系伝送路へ送出するストリームの出力レートが前記非同期系伝送路から入力するストリームの入力レートより少なくとも当該入力レートのドリフト分を上回る予め定められた一定レートに設定されていることを前提条件に、前記バッファ記憶手段に一定量の入力データを蓄えた後、前記バッファ記憶手段へのデータ入力を続けながら、前記バッファ記憶手段からの前記一定レートでのストリームの出力を一定時間行ない、前記一定量と前記一定時間後に前記バッファ記憶手段に残っているデータの量との差及び当該時間から、出力レートと入力レートとの差分を算出する機能と、
前記バッファ記憶手段がアンダーフロー状態となっても前記出力レートが前記一定レートとなるように挿入されるべきダミーパケットの挿入間隔を、前記算出された出力レートと入力レートとの差分をもとに算出する機能と、
前記ダミーパケットの挿入間隔の算出結果をもとに前記ダミーパケットを挿入する位置を決定する機能と、
前記バッファ記憶手段から前記同期系伝送路へのストリーム出力を前記クロックに同期した前記一定レートで行なう機能と、
前記バッファ記憶手段からの出力ストリーム中の前記決定された位置に前記ダミーパケットを挿入することで出力レートの調整を行なう機能とを前記マルチメディアデータ入出力インタフェース装置に含まれるコンピュータに実現させるための一定レートストリーム出力用のプログラムを記録したコンピュータ読み取り可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5956198A JP3851721B2 (ja) | 1998-03-11 | 1998-03-11 | マルチメディアデータ入出力インタフェース装置及び同装置に適用される一定レートストリーム出力方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5956198A JP3851721B2 (ja) | 1998-03-11 | 1998-03-11 | マルチメディアデータ入出力インタフェース装置及び同装置に適用される一定レートストリーム出力方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11261573A JPH11261573A (ja) | 1999-09-24 |
JP3851721B2 true JP3851721B2 (ja) | 2006-11-29 |
Family
ID=13116789
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5956198A Expired - Fee Related JP3851721B2 (ja) | 1998-03-11 | 1998-03-11 | マルチメディアデータ入出力インタフェース装置及び同装置に適用される一定レートストリーム出力方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3851721B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1273151B1 (en) * | 2000-04-08 | 2004-09-29 | Sun Microsystems, Inc. | Resynchronizing media during streaming |
JP5032179B2 (ja) * | 2007-03-30 | 2012-09-26 | 株式会社東芝 | ストリーム再生装置及びメディアデータ復号方法 |
US9369746B2 (en) | 2009-08-07 | 2016-06-14 | Telefonaktiebolaget Lm Ericsson (Publ) | Apparatus and method for tuning to a channel of a moving pictures expert group transport stream (MPEG-TS) |
JP6289147B2 (ja) * | 2014-02-14 | 2018-03-07 | 三菱電機株式会社 | データ伝送装置、データ伝送システム、キャリブレーション方法及びプログラム |
-
1998
- 1998-03-11 JP JP5956198A patent/JP3851721B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH11261573A (ja) | 1999-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4193297B2 (ja) | 通信装置および方法、通信システム、並びに記録媒体 | |
JP4294676B2 (ja) | Mpeg情報信号変換システム | |
US7750935B2 (en) | Apparatus for setting a data stream band width and associated methodology | |
JP4793247B2 (ja) | 記録装置、記録方法、再生装置及び再生方法 | |
JP3516206B2 (ja) | データストリーム処理装置および方法、並びにプログラム格納媒体 | |
US20030066094A1 (en) | Robust method for recovering a program time base in MPEG-2 transport streams and achieving audio/video sychronization | |
WO1997046027A1 (en) | Preserving synchronization of audio and video presentation | |
US6948185B1 (en) | Process and device for synchronizing an MPEG decoder | |
KR100710939B1 (ko) | 데이터 처리시스템, 데이터 송수신장치, 기록매체 | |
JP3810918B2 (ja) | マルチメディアデータ中継装置及び方法 | |
JP3851721B2 (ja) | マルチメディアデータ入出力インタフェース装置及び同装置に適用される一定レートストリーム出力方法 | |
US7092411B2 (en) | Transport stream multiplexing method, transport stream multiplexing apparatus, and storage and reproduction system | |
US8041183B2 (en) | Device for recording and playing stream data | |
JP2005151463A (ja) | ストリームデータ受信装置およびストリームデータ受信方法 | |
KR100817248B1 (ko) | Ieee 1394 버스로 전송되는 mpeg 기록된 데이터를판독하는 방법 및 장치 | |
US20090210588A1 (en) | Output Circuit, Control Program Product, and Control Method | |
JPH10136355A (ja) | Mpeg−2データストリーム内の高速等時データのためのエラー検出及び回復 | |
JP2001156760A (ja) | 通信装置、通信方法、および記録媒体 | |
JPH10308936A (ja) | 映像配信システム、データ配信方法及び媒体 | |
JP2007215180A (ja) | 固定レイテンシを有する時間情報を送信する方法 | |
JP3705231B2 (ja) | トランスポートストリーム・スプライサー | |
US7212597B2 (en) | Acquisition and reconstruction techniques of automatic rate adaptation and time-data-correlation for arbitrary signal types | |
JP2000358006A (ja) | 通信装置、通信方法、および記録媒体 | |
JP2001177568A (ja) | ストリーム多重化装置 | |
JPH11177653A (ja) | Mpegデータ転送制御回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050127 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060530 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060731 |
|
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: 20060829 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060904 |
|
LAPS | Cancellation because of no payment of annual fees |