JPH10271463A - データ多重化装置およびその方法 - Google Patents
データ多重化装置およびその方法Info
- Publication number
- JPH10271463A JPH10271463A JP7183497A JP7183497A JPH10271463A JP H10271463 A JPH10271463 A JP H10271463A JP 7183497 A JP7183497 A JP 7183497A JP 7183497 A JP7183497 A JP 7183497A JP H10271463 A JPH10271463 A JP H10271463A
- Authority
- JP
- Japan
- Prior art keywords
- data
- video
- audio
- amount
- stream
- 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.)
- Pending
Links
Landscapes
- Television Systems (AREA)
- Time-Division Multiplex Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
(57)【要約】
【課題】残り記憶容量を考慮せず、浮動小数点演算を用
いない簡単なアルゴリズムで、受信バッファに破綻せな
いように、音声・映像データを多重化する。 【解決手段】CPU424は、映像フレームに対して端
数なく映像データを配分するようにビデオエンコーダ2
0の発生データ量を制御する。CPU424は、オーデ
ィオエンコーダ24が生成する音声データのデータレー
トに基づいて、1フレームごとに多重化する音声データ
のデータ量A、および、所定数のフレーム、例えば30
フレームごとに多重化する音声データのデータ量Bを算
出し、30フレームの間に多重化した音声データのデー
タ量Cが、データ量Bより多いか否かに応じてデータ量
Aに1を加算し、データ量Dを算出する。さらに、CP
U424は、データ多重化装置2の各構成部分を制御
し、一定量の映像データと、フレームごとに算出したデ
ータ量Dの音声データとを多重化する。
いない簡単なアルゴリズムで、受信バッファに破綻せな
いように、音声・映像データを多重化する。 【解決手段】CPU424は、映像フレームに対して端
数なく映像データを配分するようにビデオエンコーダ2
0の発生データ量を制御する。CPU424は、オーデ
ィオエンコーダ24が生成する音声データのデータレー
トに基づいて、1フレームごとに多重化する音声データ
のデータ量A、および、所定数のフレーム、例えば30
フレームごとに多重化する音声データのデータ量Bを算
出し、30フレームの間に多重化した音声データのデー
タ量Cが、データ量Bより多いか否かに応じてデータ量
Aに1を加算し、データ量Dを算出する。さらに、CP
U424は、データ多重化装置2の各構成部分を制御
し、一定量の映像データと、フレームごとに算出したデ
ータ量Dの音声データとを多重化する。
Description
【0001】
【発明の属する技術分野】本発明は、映像データおよび
音声データ(音声・映像データ)を多重化し、伝送する
ためのトランスポートストリームを生成するデータ多重
化装置およびその方法に関する。
音声データ(音声・映像データ)を多重化し、伝送する
ためのトランスポートストリームを生成するデータ多重
化装置およびその方法に関する。
【0002】
【従来の技術】映像データおよび音声データ(音声・映
像データ)をMPEG方式等により圧縮符号化し、所定
の伝送パケットに多重化してトランスポートストリーム
を生成し、視聴者に配信するディジタルテレビジョン放
送が実用化されている。音声・映像データを多重化する
場合、伸長復号装置のバッファ残量を考慮する必要があ
る。つまり、送信側で、MPEG等の規格において定め
られている伸長復号装置の受信バッファ(音声の場合4
kB)にオーバーフローもアンダーフローも(破綻が)
生じないように計画して音声・映像データを多重化する
必要がある。
像データ)をMPEG方式等により圧縮符号化し、所定
の伝送パケットに多重化してトランスポートストリーム
を生成し、視聴者に配信するディジタルテレビジョン放
送が実用化されている。音声・映像データを多重化する
場合、伸長復号装置のバッファ残量を考慮する必要があ
る。つまり、送信側で、MPEG等の規格において定め
られている伸長復号装置の受信バッファ(音声の場合4
kB)にオーバーフローもアンダーフローも(破綻が)
生じないように計画して音声・映像データを多重化する
必要がある。
【0003】しかしながら、受信バッファに破綻が生じ
なくても、例えば、音声データに1秒の時間間隔が空く
場合等、データの伝送間隔が広すぎると、受信側で正常
に音声データを再生できなくなる可能性が生じる。ま
た、受信バッファが破綻しないように音声・映像データ
の圧縮符号化および多重化を計画するためのアルゴリズ
ムは複雑であり、浮動小数点演算を要するため所持時間
が長くかかる。
なくても、例えば、音声データに1秒の時間間隔が空く
場合等、データの伝送間隔が広すぎると、受信側で正常
に音声データを再生できなくなる可能性が生じる。ま
た、受信バッファが破綻しないように音声・映像データ
の圧縮符号化および多重化を計画するためのアルゴリズ
ムは複雑であり、浮動小数点演算を要するため所持時間
が長くかかる。
【0004】
【発明が解決しようとする課題】本発明は上述した従来
技術の問題点に鑑みてなされたものであり、ディジタル
テレビジョン放送設備等において、受信側の伸長復号装
置の受信バッファの残り記憶容量を考慮せず、しかも、
浮動小数点演算を用いない整数演算のみの簡単なアルゴ
リズムで、受信バッファに破綻を生じさせないように、
音声・映像データを伝送パケットに多重化し、トランス
ポートストリームを生成することができるデータ多重化
装置およびその方法を提供することを目的とする。ま
た、本発明は、常に、受信側において正常に音声・映像
データを再生することができるように、音声・映像デー
タを伝送パケットに多重化し、トランスポートストリー
ムを生成することができるデータ多重化装置およびその
方法を提供することを目的とする。
技術の問題点に鑑みてなされたものであり、ディジタル
テレビジョン放送設備等において、受信側の伸長復号装
置の受信バッファの残り記憶容量を考慮せず、しかも、
浮動小数点演算を用いない整数演算のみの簡単なアルゴ
リズムで、受信バッファに破綻を生じさせないように、
音声・映像データを伝送パケットに多重化し、トランス
ポートストリームを生成することができるデータ多重化
装置およびその方法を提供することを目的とする。ま
た、本発明は、常に、受信側において正常に音声・映像
データを再生することができるように、音声・映像デー
タを伝送パケットに多重化し、トランスポートストリー
ムを生成することができるデータ多重化装置およびその
方法を提供することを目的とする。
【0005】
【課題を解決するための手段】上記目的を達成するため
に、本発明にかかるデータ多重化装置は、端数が生じな
いように、映像データの映像フレーム周期それぞれに生
成した映像データを等しいデータ量ずつ配分することが
できる条件を満たす目標データ量を算出する映像目標デ
ータ量算出手段と、算出した前記目標データ量と等しい
データ量の映像データを生成する映像データ生成手段
と、前記映像フレーム周期と異なる音声フレーム周期ご
とに、所定のデータ量の音声データを生成する音声デー
タ生成手段と、生成した前記音声データを、前記映像フ
レーム周期それぞれにほぼ等しいデータ量ずつ配分する
音声データ配分手段と、前記映像フレーム周期ごとに、
前記等しいデータ量の映像データ、および、配分した前
記音声データを、所定のトランスポートストリームに多
重化する多重化手段とを有する。
に、本発明にかかるデータ多重化装置は、端数が生じな
いように、映像データの映像フレーム周期それぞれに生
成した映像データを等しいデータ量ずつ配分することが
できる条件を満たす目標データ量を算出する映像目標デ
ータ量算出手段と、算出した前記目標データ量と等しい
データ量の映像データを生成する映像データ生成手段
と、前記映像フレーム周期と異なる音声フレーム周期ご
とに、所定のデータ量の音声データを生成する音声デー
タ生成手段と、生成した前記音声データを、前記映像フ
レーム周期それぞれにほぼ等しいデータ量ずつ配分する
音声データ配分手段と、前記映像フレーム周期ごとに、
前記等しいデータ量の映像データ、および、配分した前
記音声データを、所定のトランスポートストリームに多
重化する多重化手段とを有する。
【0006】好適には、前記映像データ生成手段は、非
圧縮映像データを圧縮して、前記目標データ量に適合す
るデータレートの前記映像データを生成する。
圧縮映像データを圧縮して、前記目標データ量に適合す
るデータレートの前記映像データを生成する。
【0007】好適には、前記音声データ配分手段は、所
定数の前記映像フレーム周期の間に多重化する前記音声
データの目標データ量を算出する音声目標データ量算出
手段と、当該映像フレーム周期の過去、前記所定数の前
記映像フレーム周期の間に多重化した前記音声データの
データ量を計数する音声データ計数手段と、算出した前
記音声データの目標データ量、および、計数した前記音
声データのデータ量とに基づいて、当該映像フレーム周
期に配分する前記音声データのデータ量を算出する音声
データ配分量算出手段とを有する。
定数の前記映像フレーム周期の間に多重化する前記音声
データの目標データ量を算出する音声目標データ量算出
手段と、当該映像フレーム周期の過去、前記所定数の前
記映像フレーム周期の間に多重化した前記音声データの
データ量を計数する音声データ計数手段と、算出した前
記音声データの目標データ量、および、計数した前記音
声データのデータ量とに基づいて、当該映像フレーム周
期に配分する前記音声データのデータ量を算出する音声
データ配分量算出手段とを有する。
【0008】好適には、前記音声データおよび前記映像
データに付加する付加データを生成する付加データ生成
手段をさらに有し、前記多重化手段は、生成した付加デ
ータを、さらに前記所定のトランスポートストリームに
多重化する。
データに付加する付加データを生成する付加データ生成
手段をさらに有し、前記多重化手段は、生成した付加デ
ータを、さらに前記所定のトランスポートストリームに
多重化する。
【0009】映像目標データ量算出手段は、映像データ
のフレーム周期(映像フレーム周期)それぞれに、例え
ば、バイト単位で端数のない等しいデータ量の映像デー
タを配分することができるように、映像データ生成手段
が所定の単位時間〔例えば、30映像フレーム周期分の
時間(1秒)〕ごとに生成すべき映像データのデータ量
を示す目標データ量を算出する。
のフレーム周期(映像フレーム周期)それぞれに、例え
ば、バイト単位で端数のない等しいデータ量の映像デー
タを配分することができるように、映像データ生成手段
が所定の単位時間〔例えば、30映像フレーム周期分の
時間(1秒)〕ごとに生成すべき映像データのデータ量
を示す目標データ量を算出する。
【0010】映像データ生成手段は、例えば、非圧縮映
像データをMPEG方式で圧縮符号化し、上記単位時間
ごとに、映像目標データ量算出手段が算出した目標デー
タ量と等しいデータ量の圧縮映像データを生成する。
像データをMPEG方式で圧縮符号化し、上記単位時間
ごとに、映像目標データ量算出手段が算出した目標デー
タ量と等しいデータ量の圧縮映像データを生成する。
【0011】音声データ生成手段は、例えば、非圧縮音
声データをMPEG方式で圧縮符号化し、音声データの
サンプリング周期ごとに一定のデータ量の圧縮音声デー
タを生成する。付加データ生成手段は、例えば、複数言
語の字幕を多重化する際に用いられる付加データ(プラ
イベートデータ)等を生成する。
声データをMPEG方式で圧縮符号化し、音声データの
サンプリング周期ごとに一定のデータ量の圧縮音声デー
タを生成する。付加データ生成手段は、例えば、複数言
語の字幕を多重化する際に用いられる付加データ(プラ
イベートデータ)等を生成する。
【0012】音声データ配分手段は、例えば、上記単位
時間の間に多重化すべき音声データのデータ量を示す音
声データの目標データ量を算出する(音声目標データ量
算出手段)。次に、音声データ配分手段は、映像フレー
ム周期ごとに、その映像フレーム周期の過去、上記単位
時間の間に多重化手段が多重化した圧縮音声データのデ
ータ量を計数する(音声データ計数手段)。
時間の間に多重化すべき音声データのデータ量を示す音
声データの目標データ量を算出する(音声目標データ量
算出手段)。次に、音声データ配分手段は、映像フレー
ム周期ごとに、その映像フレーム周期の過去、上記単位
時間の間に多重化手段が多重化した圧縮音声データのデ
ータ量を計数する(音声データ計数手段)。
【0013】さらに、音声データ配分手段は、例えば、
計数した音声データのデータ量が、算出した音声データ
の目標データ量より多いか否かに応じて、上記単位時間
の間に多重化すべき音声データのデータ量を、上記単位
時間に含まれる映像フレーム周期の数で除算し、小数点
以下を切り捨てて得られるデータ量に1を加算し、その
映像フレーム周期に配分する音声データのデータ量を算
出する(音声データ配分量算出手段)。
計数した音声データのデータ量が、算出した音声データ
の目標データ量より多いか否かに応じて、上記単位時間
の間に多重化すべき音声データのデータ量を、上記単位
時間に含まれる映像フレーム周期の数で除算し、小数点
以下を切り捨てて得られるデータ量に1を加算し、その
映像フレーム周期に配分する音声データのデータ量を算
出する(音声データ配分量算出手段)。
【0014】多重化手段は、生成された映像データを、
映像フレーム周期に同期して、映像フレーム周期ごと
に、等量の圧縮映像データ、その映像フレーム周期に配
分されたデータ量の音声データ、および、生成した付加
データを、伝送用パケットに多重化し、トランスポート
ストリームを生成する。
映像フレーム周期に同期して、映像フレーム周期ごと
に、等量の圧縮映像データ、その映像フレーム周期に配
分されたデータ量の音声データ、および、生成した付加
データを、伝送用パケットに多重化し、トランスポート
ストリームを生成する。
【0015】また、本発明に係るデータ多重化方法は、
端数が生じないように、映像データの映像フレーム周期
それぞれに生成した映像データを等しいデータ量ずつ配
分することができる条件を満たす目標データ量を算出
し、算出した前記目標データ量と等しいデータ量の映像
データを生成し、前記映像フレーム周期と異なる音声フ
レーム周期ごとに、所定のデータ量の音声データを生成
し、生成した前記音声データを、前記映像フレーム周期
それぞれにほぼ等しいデータ量ずつ配分し、前記映像フ
レーム周期ごとに、前記等しいデータ量の映像データ、
および、配分した前記音声データを、所定の伝送パケッ
トに多重化し、トランスポートストリームを生成する。
端数が生じないように、映像データの映像フレーム周期
それぞれに生成した映像データを等しいデータ量ずつ配
分することができる条件を満たす目標データ量を算出
し、算出した前記目標データ量と等しいデータ量の映像
データを生成し、前記映像フレーム周期と異なる音声フ
レーム周期ごとに、所定のデータ量の音声データを生成
し、生成した前記音声データを、前記映像フレーム周期
それぞれにほぼ等しいデータ量ずつ配分し、前記映像フ
レーム周期ごとに、前記等しいデータ量の映像データ、
および、配分した前記音声データを、所定の伝送パケッ
トに多重化し、トランスポートストリームを生成する。
【0016】好適には、非圧縮映像データを圧縮して、
前記目標データ量に適合するデータレートの前記映像デ
ータを生成する。
前記目標データ量に適合するデータレートの前記映像デ
ータを生成する。
【0017】好適には、所定数の前記映像フレーム周期
の間に多重化する前記音声データの目標データ量を算出
し、当該映像フレーム周期の過去、前記所定数の前記映
像フレーム周期の間に多重化した前記音声データのデー
タ量を計数し、算出した前記音声データの目標データ
量、および、計数した前記音声データのデータ量とに基
づいて、当該映像フレーム周期に配分する前記音声デー
タのデータ量を算出する。
の間に多重化する前記音声データの目標データ量を算出
し、当該映像フレーム周期の過去、前記所定数の前記映
像フレーム周期の間に多重化した前記音声データのデー
タ量を計数し、算出した前記音声データの目標データ
量、および、計数した前記音声データのデータ量とに基
づいて、当該映像フレーム周期に配分する前記音声デー
タのデータ量を算出する。
【0018】好適には、前記音声データおよび前記映像
データに付加する付加データを生成し、生成した付加デ
ータを、さらに前記所定のトランスポートストリームに
多重化する。
データに付加する付加データを生成し、生成した付加デ
ータを、さらに前記所定のトランスポートストリームに
多重化する。
【0019】
【発明の実施の形態】第1実施例 以下、本発明の第1の実施例を説明する。
【0020】データ多重化装置1の構成 図1は、第1の実施例として示す本発明に係るデータ多
重化装置1の構成を示す図である。図1に示すように、
データ多重化装置1は、ビデオエンコーダ(video encod
er) 20、オーディオエンコーダ(audio encoder) 24
およサブタイトルエンコーダ(subtitle encoder)28お
よび多重化装置(multiplexer) 10から構成され、多重
化装置10は、バッファメモリ(buffer)100およびト
ランスポートストリーム生成装置(transport stream ma
ker)102から構成される。
重化装置1の構成を示す図である。図1に示すように、
データ多重化装置1は、ビデオエンコーダ(video encod
er) 20、オーディオエンコーダ(audio encoder) 24
およサブタイトルエンコーダ(subtitle encoder)28お
よび多重化装置(multiplexer) 10から構成され、多重
化装置10は、バッファメモリ(buffer)100およびト
ランスポートストリーム生成装置(transport stream ma
ker)102から構成される。
【0021】データ多重化装置1は、これらの構成部分
により、ビデオエンコーダ20、オーディオエンコーダ
24およびサブタイトルエンコーダ28それぞれにより
エンコードされた映画あるいは音楽プロモーション用の
ビデオストリーム(video stream)、オーディオストリー
ム(audio stream)およびサブタイトルストリーム(subti
tle stream) を1つに多重化してトランスポートストリ
ーム(transport stream)を生成する。
により、ビデオエンコーダ20、オーディオエンコーダ
24およびサブタイトルエンコーダ28それぞれにより
エンコードされた映画あるいは音楽プロモーション用の
ビデオストリーム(video stream)、オーディオストリー
ム(audio stream)およびサブタイトルストリーム(subti
tle stream) を1つに多重化してトランスポートストリ
ーム(transport stream)を生成する。
【0022】ビデオエンコーダ20 ビデオエンコーダ20は、編集装置等の外部機器(図示
せず)から入力される映像データを、例えばMPEG2
方式等により圧縮符号化し、比較的長い一定時間ごとに
ほぼ等しいデータ量のビデオストリームを生成する固定
レート符号化を行い、多重化装置10のバッファメモリ
100に対して出力する。従って、ビデオエンコーダ2
0が生成するビデオストリームの映像フレームごとのデ
ータレートは平均してほぼ一定である。
せず)から入力される映像データを、例えばMPEG2
方式等により圧縮符号化し、比較的長い一定時間ごとに
ほぼ等しいデータ量のビデオストリームを生成する固定
レート符号化を行い、多重化装置10のバッファメモリ
100に対して出力する。従って、ビデオエンコーダ2
0が生成するビデオストリームの映像フレームごとのデ
ータレートは平均してほぼ一定である。
【0023】オーディオエンコーダ24 オーディオエンコーダ24は、外部機器から入力される
音声データを、例えばMPEG2方式等により圧縮符号
化し、音声フレーム〔24ms,26.1ms,36m
s=音声データのサンプリング周期(1152/48k
Hz,1152/44.1kHz,1152/32kH
z)〕ごとに等しいデータ量のオーディオストリームを
生成し、多重化装置10のバッファメモリ100に対し
て出力する。
音声データを、例えばMPEG2方式等により圧縮符号
化し、音声フレーム〔24ms,26.1ms,36m
s=音声データのサンプリング周期(1152/48k
Hz,1152/44.1kHz,1152/32kH
z)〕ごとに等しいデータ量のオーディオストリームを
生成し、多重化装置10のバッファメモリ100に対し
て出力する。
【0024】サブタイトルエンコーダ28 サブタイトルエンコーダ28は、サブタイトルデータを
生成する外部機器から入力されるサブタイトルデータ
を、線形量子化処理および固定長符号化処理によりエン
コードし、サブタイトルストリームとして多重化装置1
0のバッファメモリ100に対して出力する。
生成する外部機器から入力されるサブタイトルデータ
を、線形量子化処理および固定長符号化処理によりエン
コードし、サブタイトルストリームとして多重化装置1
0のバッファメモリ100に対して出力する。
【0025】バッファメモリ100 多重化装置10のバッファメモリ100は、ビデオエン
コーダ20、オーディオエンコーダ24およびサブタイ
トルエンコーダ28からそれぞれ入力されるビデオスト
リーム、オーディオストリームおよびサブタイトルスト
リームをバッファリングしてトランスポートストリーム
生成装置102に対して出力する。トランスポートスト
リーム生成装置102は、例えば、マイクロプロセッサ
(CPU)等を用いた高速コンピュータから構成され、
バッファメモリ100にバッファリングされたビデオス
トリーム、オーディオストリームおよびサブタイトルス
トリーム(それぞれをエレメンタリストリームとも記
す)を所定のタイミングで読み出してスケジューリング
を行い、トランスポートストリームの伝送フォーマット
に合わせてヘッダ等を付加してトランスポートストリー
ムを生成し、出力する。
コーダ20、オーディオエンコーダ24およびサブタイ
トルエンコーダ28からそれぞれ入力されるビデオスト
リーム、オーディオストリームおよびサブタイトルスト
リームをバッファリングしてトランスポートストリーム
生成装置102に対して出力する。トランスポートスト
リーム生成装置102は、例えば、マイクロプロセッサ
(CPU)等を用いた高速コンピュータから構成され、
バッファメモリ100にバッファリングされたビデオス
トリーム、オーディオストリームおよびサブタイトルス
トリーム(それぞれをエレメンタリストリームとも記
す)を所定のタイミングで読み出してスケジューリング
を行い、トランスポートストリームの伝送フォーマット
に合わせてヘッダ等を付加してトランスポートストリー
ムを生成し、出力する。
【0026】第1の実施例として示したデータ多重化装
置1によれば、映画等の音声データ、映像データおよび
サブタイトルデータをMPEG方式等により圧縮符号化
し、圧縮符号化したこれらのデータを多重化して1つの
トランスポートストリームを生成し、出力することがで
きる。
置1によれば、映画等の音声データ、映像データおよび
サブタイトルデータをMPEG方式等により圧縮符号化
し、圧縮符号化したこれらのデータを多重化して1つの
トランスポートストリームを生成し、出力することがで
きる。
【0027】第2実施例 以下、本発明の第2の実施例を説明する。
【0028】第1の実施例として示したデータ多重化装
置1は、バッファメモリ100が全てのエレメンタリス
トリームをバッファメモリ100に一度、蓄積し、さら
に、トランスポートストリーム生成装置102のCPU
がスケジューリングおよびヘッダ(header)の付加等の処
理を行ってトランスポートストリームを生成する。この
ように、処理を行うCPUが直接、CPUがエレメンタ
リストリームの各ワード(バイト)に対してデータバス
を介してアクセスして処理を行うことによりトランスポ
ートストリームを生成する方法は、トランスポートスト
リーム生成装置102のデータバスに生じるバスネック
等が原因となって高速処理ができず、高速なトランスポ
ートストリームの生成に適用しえない。
置1は、バッファメモリ100が全てのエレメンタリス
トリームをバッファメモリ100に一度、蓄積し、さら
に、トランスポートストリーム生成装置102のCPU
がスケジューリングおよびヘッダ(header)の付加等の処
理を行ってトランスポートストリームを生成する。この
ように、処理を行うCPUが直接、CPUがエレメンタ
リストリームの各ワード(バイト)に対してデータバス
を介してアクセスして処理を行うことによりトランスポ
ートストリームを生成する方法は、トランスポートスト
リーム生成装置102のデータバスに生じるバスネック
等が原因となって高速処理ができず、高速なトランスポ
ートストリームの生成に適用しえない。
【0029】第2の実施例として示す本発明に係るデー
タ多重化装置2は、かかるデータ多重化装置1の問題点
を解決するための装置であり、エレメンタリストリーム
多重化のスケジューリングを行う制御系と、直接にエレ
メンタリストリームを多重化する多重化系とを分離する
ことにより高速なトランスポートストリームの生成を可
能としている。
タ多重化装置2は、かかるデータ多重化装置1の問題点
を解決するための装置であり、エレメンタリストリーム
多重化のスケジューリングを行う制御系と、直接にエレ
メンタリストリームを多重化する多重化系とを分離する
ことにより高速なトランスポートストリームの生成を可
能としている。
【0030】図2は、本発明に係るデータ多重化装置2
の構成を示す図である。図3は、図2に示したビデオエ
ンコーダ20の構成を示す図である。図4は、図2に示
したオーディオエンコーダ24の構成を示す図である。
の構成を示す図である。図3は、図2に示したビデオエ
ンコーダ20の構成を示す図である。図4は、図2に示
したオーディオエンコーダ24の構成を示す図である。
【0031】データ多重化装置2の構成 図2に示すように、データ多重化装置2は、ビデオエン
コーダ20、オーディオエンコーダ24、サブタイトル
エンコーダ28、多重化系12および制御系42から構
成される。
コーダ20、オーディオエンコーダ24、サブタイトル
エンコーダ28、多重化系12および制御系42から構
成される。
【0032】多重化系12は、入力用のFIFOメモリ
32a,32b,32c、第1のスイッチ回路(swich)
34、第2のスイッチ回路36、出力用のFIFOメモ
リ38およひSCSI(small computer system interfa
ce) インターフェース回路(SCSIIF回路)40か
ら構成される。制御系42は、データサイズ計数用イン
ターフェース回路(データサイズIF)30a,30
b,30c、RAM430、イーサネットインターフェ
ース回路(ether-net interface;ENIF回路)42
0、シリアルインターフェース回路(serial interfac
e; SIF回路)422、CPU424、処理用RAM
426および制御データ用RAM428がCPUバスを
介して相互に接続された構成を採る。
32a,32b,32c、第1のスイッチ回路(swich)
34、第2のスイッチ回路36、出力用のFIFOメモ
リ38およひSCSI(small computer system interfa
ce) インターフェース回路(SCSIIF回路)40か
ら構成される。制御系42は、データサイズ計数用イン
ターフェース回路(データサイズIF)30a,30
b,30c、RAM430、イーサネットインターフェ
ース回路(ether-net interface;ENIF回路)42
0、シリアルインターフェース回路(serial interfac
e; SIF回路)422、CPU424、処理用RAM
426および制御データ用RAM428がCPUバスを
介して相互に接続された構成を採る。
【0033】ビデオエンコーダ20 ビデオエンコーダ20は、図3に示すように、加算回路
202、DCT回路204、量子化回路(quantize)20
6、逆量子化回路(I quantize)208、逆DCT回路(I
DCT) 210、加算回路212、フレームメモリ回路2
16、可変長符号化回路(VLC回路)218、ビット
レート制御回路(bit rate control)220、可変長符号
バッファ(VLCバッファ)222から構成される。
202、DCT回路204、量子化回路(quantize)20
6、逆量子化回路(I quantize)208、逆DCT回路(I
DCT) 210、加算回路212、フレームメモリ回路2
16、可変長符号化回路(VLC回路)218、ビット
レート制御回路(bit rate control)220、可変長符号
バッファ(VLCバッファ)222から構成される。
【0034】CPU424は、ビットレート制御回路2
20に対して目標データ量video_rate_ta
rgetを設定する。ビットレート制御回路220は、
可変長符号化回路218が実際に生成したビデオストリ
ーム(MPEG Video stream) のデータ量に基づいて、圧縮
符号化後のデータ量が、設定された目標データ量vid
eo_rate_targetと等しくなるように量子
化回路206を制御する。
20に対して目標データ量video_rate_ta
rgetを設定する。ビットレート制御回路220は、
可変長符号化回路218が実際に生成したビデオストリ
ーム(MPEG Video stream) のデータ量に基づいて、圧縮
符号化後のデータ量が、設定された目標データ量vid
eo_rate_targetと等しくなるように量子
化回路206を制御する。
【0035】CPU424の目標データ量video_
rate_targetの設定およびビットレート制御
回路220の制御により、データ多重化装置2の各構成
部分は、外部機器から入力される映像データVideoIN を
MPEG2方式により圧縮符号化し、目標データ量vi
deo_rate_targetとほぼ等しいデータ量
のビデオストリームを生成し、データ多重化装置2のデ
ータサイズIF30aおよびFIFOメモリ32aに対
して出力する。
rate_targetの設定およびビットレート制御
回路220の制御により、データ多重化装置2の各構成
部分は、外部機器から入力される映像データVideoIN を
MPEG2方式により圧縮符号化し、目標データ量vi
deo_rate_targetとほぼ等しいデータ量
のビデオストリームを生成し、データ多重化装置2のデ
ータサイズIF30aおよびFIFOメモリ32aに対
して出力する。
【0036】オーディオエンコーダ24 オーディオエンコーダ24は、図4に示すように、サブ
バンド分析フィルタバンク(SAFB)240、線形量
子化回路242、ビット圧縮回路244、FFT(fast
fourier transfer) 回路246、心理聴覚モデル24
8、動的ビット割り当て回路250、スケールファクタ
選択情報記憶回路252、スケールファクタ抽出回路2
54、サイド情報符号化回路256およびビットストリ
ーム生成回路258から構成され、外部機器から入力さ
れた音声データ(Audio入力)を、MPEG2方式
により圧縮符号化し、オーディオストリーム(MPEG Audi
o stream) を生成し、データ多重化装置2のデータサイ
ズIF30bおよびFIFOメモリ32bに対して出力
する。
バンド分析フィルタバンク(SAFB)240、線形量
子化回路242、ビット圧縮回路244、FFT(fast
fourier transfer) 回路246、心理聴覚モデル24
8、動的ビット割り当て回路250、スケールファクタ
選択情報記憶回路252、スケールファクタ抽出回路2
54、サイド情報符号化回路256およびビットストリ
ーム生成回路258から構成され、外部機器から入力さ
れた音声データ(Audio入力)を、MPEG2方式
により圧縮符号化し、オーディオストリーム(MPEG Audi
o stream) を生成し、データ多重化装置2のデータサイ
ズIF30bおよびFIFOメモリ32bに対して出力
する。
【0037】サブタイトルエンコーダ28 サブタイトルエンコーダ28は、第1の実施例において
と同様に、外部機器から入力されるサブタイトルデータ
等のプライベートデータをエンコードする。なお、サブ
タイトルエンコーダ28は、エンコード済みサブタイト
ルデータを外部機器から直接、受け取ってもよく、例え
ば、ENIF回路420がイーサネットワーク等のLA
Nを介して、または、SIF422がシリアルラインを
介してエンコード済みサブタイトルデータを受け取り、
CPUバスを介してRAM430に対して出力する。エ
ンコード済みサブタイトルデータは、エンコード済みの
ビデオデータあるいはエンコード済みのオーディオデー
タに比べ、データ量が極端に少なく、CPUバスを介し
て伝送しても、CPUバスのデータトラフィックに影響
を与えないので、問題が生じることはない。
と同様に、外部機器から入力されるサブタイトルデータ
等のプライベートデータをエンコードする。なお、サブ
タイトルエンコーダ28は、エンコード済みサブタイト
ルデータを外部機器から直接、受け取ってもよく、例え
ば、ENIF回路420がイーサネットワーク等のLA
Nを介して、または、SIF422がシリアルラインを
介してエンコード済みサブタイトルデータを受け取り、
CPUバスを介してRAM430に対して出力する。エ
ンコード済みサブタイトルデータは、エンコード済みの
ビデオデータあるいはエンコード済みのオーディオデー
タに比べ、データ量が極端に少なく、CPUバスを介し
て伝送しても、CPUバスのデータトラフィックに影響
を与えないので、問題が生じることはない。
【0038】この場合、エンコード済みのサブタイトル
データに付されているヘッダに書かれたヘッダサイズを
ENIF回路420またはSIF422が検出し、検出
したヘッダサイズをCPUバスを介してCPU424に
対して出力する。また、RAM430は、CPU424
の制御に従って、入力されたエンコード済みのサブコー
ドデータをスイッチ回路34の入力端子bに対して出力
する。
データに付されているヘッダに書かれたヘッダサイズを
ENIF回路420またはSIF422が検出し、検出
したヘッダサイズをCPUバスを介してCPU424に
対して出力する。また、RAM430は、CPU424
の制御に従って、入力されたエンコード済みのサブコー
ドデータをスイッチ回路34の入力端子bに対して出力
する。
【0039】FIFOメモリ32a,32b,32c 多重化系12(図1)において、FIFOメモリ32
a,32b,32cはそれぞれ、ビデオエンコーダ2
0、オーディオエンコーダ24およびサブタイトルエン
コーダ28からそれぞれ入力されるビデオストリーム、
オーディオストリームおよびサブタイトルストリームを
バッファリングし、スイッチ回路34の入力端子a,
b,cに対して出力する。
a,32b,32cはそれぞれ、ビデオエンコーダ2
0、オーディオエンコーダ24およびサブタイトルエン
コーダ28からそれぞれ入力されるビデオストリーム、
オーディオストリームおよびサブタイトルストリームを
バッファリングし、スイッチ回路34の入力端子a,
b,cに対して出力する。
【0040】スイッチ回路34 スイッチ回路34は、制御信号(control) を介した多重
化系12の制御に従って、入力端子a,b,c,dのい
ずれかを選択し、これらの入力端子それぞれに入力され
るエレメンタリストリームのいずれかを選択して多重化
し、スイッチ回路36の入力端子bに対して出力する。
なお、スイッチ回路34は、入力端子のいずれにも入力
されるエレメンタリストリームがない場合、あるいは、
スタッフィング処理を行う場合等は、入力端子a,b,
c,dのいずれをも選択せず、所定のブランクデータ
(連続した論理値1または0)を出力する。
化系12の制御に従って、入力端子a,b,c,dのい
ずれかを選択し、これらの入力端子それぞれに入力され
るエレメンタリストリームのいずれかを選択して多重化
し、スイッチ回路36の入力端子bに対して出力する。
なお、スイッチ回路34は、入力端子のいずれにも入力
されるエレメンタリストリームがない場合、あるいは、
スタッフィング処理を行う場合等は、入力端子a,b,
c,dのいずれをも選択せず、所定のブランクデータ
(連続した論理値1または0)を出力する。
【0041】スイッチ回路36 スイッチ回路36は、制御信号(control) を介した多重
化系12の制御に従って、入力端子a,bのいずれかを
選択し、入力端子bにスイッチ回路34から入力される
エレメンタリストリームのいずれか、または、入力端子
aに処理用RAM426から入力されるプライベートデ
ータストリーム(ヘッダデータ)を選択して多重化し、
FIFOメモリ38およびSCSIIF回路40に対し
て出力する。
化系12の制御に従って、入力端子a,bのいずれかを
選択し、入力端子bにスイッチ回路34から入力される
エレメンタリストリームのいずれか、または、入力端子
aに処理用RAM426から入力されるプライベートデ
ータストリーム(ヘッダデータ)を選択して多重化し、
FIFOメモリ38およびSCSIIF回路40に対し
て出力する。
【0042】FIFOメモリ38 FIFOメモリ38は、スイッチ回路36が多重化した
データストリームをバッファリングし、トランスポート
ストリームとして通信回線等の外部機器(図示せず)に
対して出力する。
データストリームをバッファリングし、トランスポート
ストリームとして通信回線等の外部機器(図示せず)に
対して出力する。
【0043】SCSIIF回路40 SCSIIF回路40は、スイッチ回路36が多重化し
たデータストリームを、ハードディスク装置(HDD) ある
いは光磁気ディスク装置(MOD) の記録装置等(図示せ
ず)に対して出力し、記録させる。
たデータストリームを、ハードディスク装置(HDD) ある
いは光磁気ディスク装置(MOD) の記録装置等(図示せ
ず)に対して出力し、記録させる。
【0044】データ量IF30a,30b,30c 制御系42において、データサイズIF30a,30
b,30cはそれぞれ、ビデオエンコーダ20、オーデ
ィオエンコーダ24およびサブタイトルエンコーダ28
から入力されるビデオストリーム、オーディオストリー
ムおよびサブタイトルストリームのフレームごとのデー
タサイズ(size)を計数し、CPUバスを介してCPU4
24に対して出力する。
b,30cはそれぞれ、ビデオエンコーダ20、オーデ
ィオエンコーダ24およびサブタイトルエンコーダ28
から入力されるビデオストリーム、オーディオストリー
ムおよびサブタイトルストリームのフレームごとのデー
タサイズ(size)を計数し、CPUバスを介してCPU4
24に対して出力する。
【0045】なお、データサイズの計数は、データサイ
ズIF30a,30b,30cに内蔵されたカウンタに
より行われる。また、データサイズの計数は、ビデオエ
ンコーダ20、オーディオエンコーダ24およびサブタ
イトルエンコーダ28が出力する各エレメンタリースト
リームのフレームごとのデータサイズを、データサイズ
IF30a,30b,30cが検出することによっても
可能である。
ズIF30a,30b,30cに内蔵されたカウンタに
より行われる。また、データサイズの計数は、ビデオエ
ンコーダ20、オーディオエンコーダ24およびサブタ
イトルエンコーダ28が出力する各エレメンタリースト
リームのフレームごとのデータサイズを、データサイズ
IF30a,30b,30cが検出することによっても
可能である。
【0046】ENIF回路420 ENIF回路420は、イーサネット等のLAN(図示
せず)を介して入力されてくるプライベートデータ(pri
vate data)を受け入れ、CPUバスを介してCPU42
4に対して出力する。
せず)を介して入力されてくるプライベートデータ(pri
vate data)を受け入れ、CPUバスを介してCPU42
4に対して出力する。
【0047】SIF回路422 SIF回路422は、例えばコンピュータから入力され
るシリアル形式のプライベートデータを受け入れ、CP
U424に対して出力する。なお、プライベートデータ
の例として、上述したサブタイトルデータ、クローズド
キャプションデータおよびユーザーデータを挙げること
ができる。
るシリアル形式のプライベートデータを受け入れ、CP
U424に対して出力する。なお、プライベートデータ
の例として、上述したサブタイトルデータ、クローズド
キャプションデータおよびユーザーデータを挙げること
ができる。
【0048】CPU424 CPU424は、例えば、マイクロプロセッサおよびプ
ログラム格納用のROMおよびこれらの周辺回路から構
成され、データサイズIF30a,30b,30c、E
NIF回路420およびSIF回路422から入力され
るデータサイズを処理用RAM426に記憶し、FIF
Oメモリ32a,32b,32c等の残り記憶容量(バ
ッファ残量)および処理用RAM426に記憶したデー
タサイズに基づいて、エレメンタリストリームの多重化
の順番、多重化のタイミング調整およびスケジューリン
グ等の多重化方法の計画を行い、計画した多重化方法に
従ってスイッチ回路34,36の多重化動作をCPUバ
スを介して制御する。
ログラム格納用のROMおよびこれらの周辺回路から構
成され、データサイズIF30a,30b,30c、E
NIF回路420およびSIF回路422から入力され
るデータサイズを処理用RAM426に記憶し、FIF
Oメモリ32a,32b,32c等の残り記憶容量(バ
ッファ残量)および処理用RAM426に記憶したデー
タサイズに基づいて、エレメンタリストリームの多重化
の順番、多重化のタイミング調整およびスケジューリン
グ等の多重化方法の計画を行い、計画した多重化方法に
従ってスイッチ回路34,36の多重化動作をCPUバ
スを介して制御する。
【0049】また、制御データ用RAM428は、CP
U424の処理にかかわる制御用のデータを記憶してお
り、CPU424は、制御データ用RAM428に記憶
された制御データを用いたスケジューリングに従って、
ヘッダデータを処理用RAM426上に作成し、スイッ
チ回路36の入力端子aに対して出力する。
U424の処理にかかわる制御用のデータを記憶してお
り、CPU424は、制御データ用RAM428に記憶
された制御データを用いたスケジューリングに従って、
ヘッダデータを処理用RAM426上に作成し、スイッ
チ回路36の入力端子aに対して出力する。
【0050】また、ヘッダデータの一部は、ENIF回
路240またはSIF回路422を介して入力され、R
AM426に記憶されたプライベートデータ(ユーザー
データ)に基づいて作成される場合もある。
路240またはSIF回路422を介して入力され、R
AM426に記憶されたプライベートデータ(ユーザー
データ)に基づいて作成される場合もある。
【0051】データ多重化装置2の動作 以下、第2実施例におけるデータ多重化装置2の動作を
説明する。ビデオエンコーダ20、オーディオエンコー
ダ24およびサブタイトルエンコーダ28はそれぞれ、
入力される映像データ、音声データおよびサブタイトル
データをエンコードする。データサイズIF30a,3
0b,30cはそれぞれ、ビデオストリーム、オーディ
オストリームおよびサブタイトルストリームのデータサ
イズを計数し、CPU424に対して出力する。
説明する。ビデオエンコーダ20、オーディオエンコー
ダ24およびサブタイトルエンコーダ28はそれぞれ、
入力される映像データ、音声データおよびサブタイトル
データをエンコードする。データサイズIF30a,3
0b,30cはそれぞれ、ビデオストリーム、オーディ
オストリームおよびサブタイトルストリームのデータサ
イズを計数し、CPU424に対して出力する。
【0052】なお、サブタイトルエンコーダ28ではな
く、ENIF回路420がイーサネット等のLANを介
して、または、SIF回路422がシリアルラインを介
してエンコード済みのサブタイトルデータを受け取る場
合には、ENIF回路420またはSIF回路422が
データサイズを検出し、CPUバスを介してCPU42
4に対して出力する。また、RAM430は、CPU4
24の制御に従って、入力されたエンコード済みサブコ
ードデータを、スイッチ回路34の入力端子dに対して
出力する。
く、ENIF回路420がイーサネット等のLANを介
して、または、SIF回路422がシリアルラインを介
してエンコード済みのサブタイトルデータを受け取る場
合には、ENIF回路420またはSIF回路422が
データサイズを検出し、CPUバスを介してCPU42
4に対して出力する。また、RAM430は、CPU4
24の制御に従って、入力されたエンコード済みサブコ
ードデータを、スイッチ回路34の入力端子dに対して
出力する。
【0053】図5は、図2に示したデータ多重化装置2
のCPU424の第2の実施例における処理を示すフロ
ーチャートである。なお、図5に示した処理は、ビデオ
フレームごとに実行される。
のCPU424の第2の実施例における処理を示すフロ
ーチャートである。なお、図5に示した処理は、ビデオ
フレームごとに実行される。
【0054】図5に示すように、ステップ102(S1
02)において、CPU424は、データサイズIF3
0aからビデオストリームのフレームごとのデータサイ
ズを受信すると、処理用RAM426に受信したデータ
サイズを格納する。また、CPU424は、データサイ
ズIF30b,30c、ENIF回路420またはSI
F回路422から入力されるデータサイズを受け取り次
第、処理用RAM426に記憶する。
02)において、CPU424は、データサイズIF3
0aからビデオストリームのフレームごとのデータサイ
ズを受信すると、処理用RAM426に受信したデータ
サイズを格納する。また、CPU424は、データサイ
ズIF30b,30c、ENIF回路420またはSI
F回路422から入力されるデータサイズを受け取り次
第、処理用RAM426に記憶する。
【0055】ステップ103(S103)において、C
PU424は、変数nを初期化する。
PU424は、変数nを初期化する。
【0056】ステップ104(S104)において、C
PU424は、上述した多重化方法の計画を行う。
PU424は、上述した多重化方法の計画を行う。
【0057】さらに、CPU424は、この処理におけ
るループの回数Nを決定する。ループ回数Nは1ビデオ
フレーム期間に挿入されるパケット数を示し、ループ回
数Nの値は、例えば、パケットサイズが188Byte
固定であることから、トランスポートストリームのデー
タレートに依存する。つまり、ループ回数Nは、以下の
式〔N={トランスポートストリームのデータレート
(Byte)}÷30÷188(Byte);NTSC
方式の場合, N={トランスポートストリームのデー
タレート(Byte)}÷25÷188(Byte);
PAL方式の場合〕から算出され、CPU424は、ル
ープ回数Nと、受け取った各データサイズとに基づい
て、多重化のスケジューリングを行う。
るループの回数Nを決定する。ループ回数Nは1ビデオ
フレーム期間に挿入されるパケット数を示し、ループ回
数Nの値は、例えば、パケットサイズが188Byte
固定であることから、トランスポートストリームのデー
タレートに依存する。つまり、ループ回数Nは、以下の
式〔N={トランスポートストリームのデータレート
(Byte)}÷30÷188(Byte);NTSC
方式の場合, N={トランスポートストリームのデー
タレート(Byte)}÷25÷188(Byte);
PAL方式の場合〕から算出され、CPU424は、ル
ープ回数Nと、受け取った各データサイズとに基づい
て、多重化のスケジューリングを行う。
【0058】ステップ106(S106)において、C
PU424は、計画した多重化方法が、ビデオストリー
ムを出力することを示すか否かを判断する。多重化方法
が、ビデオストリームを出力することを示す場合には、
CPU424はS107の処理に進み、ビデオストリー
ムを出力することを示さない場合には、S110の処理
に進む。
PU424は、計画した多重化方法が、ビデオストリー
ムを出力することを示すか否かを判断する。多重化方法
が、ビデオストリームを出力することを示す場合には、
CPU424はS107の処理に進み、ビデオストリー
ムを出力することを示さない場合には、S110の処理
に進む。
【0059】ステップ107(S107)において、C
PU424は、スイッチ回路36を制御して、RAM4
26から入力されるビデオ用のヘッダデータ(a)を選
択させ、出力させる。
PU424は、スイッチ回路36を制御して、RAM4
26から入力されるビデオ用のヘッダデータ(a)を選
択させ、出力させる。
【0060】ステップ108(S108)において、C
PU424は、スイッチ回路34を制御してビデオスト
リームを選択させ、スイッチ回路36を制御してスイッ
チ回路34からのデータストリームを選択させてビデオ
ストリームをトランスポートストリームに多重化させ
る。
PU424は、スイッチ回路34を制御してビデオスト
リームを選択させ、スイッチ回路36を制御してスイッ
チ回路34からのデータストリームを選択させてビデオ
ストリームをトランスポートストリームに多重化させ
る。
【0061】ステップ110(S110)において、C
PU424は、計画した多重化方法が、音声ストリーム
を出力することを示すか否かを判断する。多重化方法
が、音声ストリームを出力することを示す場合には、C
PU424はS111の処理に進み、音声ストリームを
出力することを示さない場合には、S114の処理に進
む。
PU424は、計画した多重化方法が、音声ストリーム
を出力することを示すか否かを判断する。多重化方法
が、音声ストリームを出力することを示す場合には、C
PU424はS111の処理に進み、音声ストリームを
出力することを示さない場合には、S114の処理に進
む。
【0062】ステップ111(S111)において、C
PU424は、スイッチ回路36を制御して、RAM4
26から入力されるオーディオ用のヘッダデータ(a)
を選択させ、出力させる。
PU424は、スイッチ回路36を制御して、RAM4
26から入力されるオーディオ用のヘッダデータ(a)
を選択させ、出力させる。
【0063】ステップ112(S112)において、C
PU424は、スイッチ回路34を制御してオーディオ
ストリームを選択させ、スイッチ回路36を制御してス
イッチ回路34からのデータストリームを選択させてオ
ーディオストリームをトランスポートストリームに多重
化させる。
PU424は、スイッチ回路34を制御してオーディオ
ストリームを選択させ、スイッチ回路36を制御してス
イッチ回路34からのデータストリームを選択させてオ
ーディオストリームをトランスポートストリームに多重
化させる。
【0064】ステップ114(S114)において、C
PU424は、計画した多重化方法が、サブタイトルエ
ンコーダからのサブタイトルストリームを出力すること
を示すか否かを判断する。CPU424は、多重化方法
がサブタイトルストリームを出力することを示す場合に
はS115の処理に進み、多重化方法がサブタイトルス
トリームを出力することを示さない場合にはS118の
処理に進む。ステップ115(S115)において、C
PU424は、スイッチ回路36を制御して、RAM4
26から入力されるサブタイトル用のヘッダデータ
(a)を選択させ、出力させる。
PU424は、計画した多重化方法が、サブタイトルエ
ンコーダからのサブタイトルストリームを出力すること
を示すか否かを判断する。CPU424は、多重化方法
がサブタイトルストリームを出力することを示す場合に
はS115の処理に進み、多重化方法がサブタイトルス
トリームを出力することを示さない場合にはS118の
処理に進む。ステップ115(S115)において、C
PU424は、スイッチ回路36を制御して、RAM4
26から入力されるサブタイトル用のヘッダデータ
(a)を選択させ、出力させる。
【0065】ステップ116(S116)において、C
PU424は、スイッチ回路34を制御してサブタイト
ルストリームを選択させ、スイッチ回路36を制御して
スイッチ回路34からのデータストリームを選択させて
サブタイトルストリームをトランスポートストリームに
多重化させる。ステップ118(S118)において、
CPU424は、計画した多重化方法がヘッダデータを
付加することを示すか否かを判断する。CPU424
は、多重化方法がヘッダデータを出力することを示す場
合にはS119の処理に進み、ヘッダデータを出力する
ことを示さない場合にはS122の処理に進む。
PU424は、スイッチ回路34を制御してサブタイト
ルストリームを選択させ、スイッチ回路36を制御して
スイッチ回路34からのデータストリームを選択させて
サブタイトルストリームをトランスポートストリームに
多重化させる。ステップ118(S118)において、
CPU424は、計画した多重化方法がヘッダデータを
付加することを示すか否かを判断する。CPU424
は、多重化方法がヘッダデータを出力することを示す場
合にはS119の処理に進み、ヘッダデータを出力する
ことを示さない場合にはS122の処理に進む。
【0066】ステップ119(S119)において、C
PU424は、スイッチ回路36を制御してプライベー
トデータストリームを選択させてプライベートデータス
トリーム(ヘッダデータ)をトランスポートストリーム
に多重化させる。ステップ120(S120)におい
て、CPU424は、スイッチ回路34,36およびR
AM430を制御して、RAM430からのプライベー
トデータを出力させて、トランスポートストリームに多
重化させる。
PU424は、スイッチ回路36を制御してプライベー
トデータストリームを選択させてプライベートデータス
トリーム(ヘッダデータ)をトランスポートストリーム
に多重化させる。ステップ120(S120)におい
て、CPU424は、スイッチ回路34,36およびR
AM430を制御して、RAM430からのプライベー
トデータを出力させて、トランスポートストリームに多
重化させる。
【0067】ステップ122(S122)において、C
PU424は、変数n=Nであるか否かを判断する。変
数n=Nの場合には処理を終了し、n≠Nの場合にはS
106の処理に進む。FIFOメモリ38は、FIFO
メモリ38から出力されるトランスポートストリームを
バッファリングして、通信回線等に対して送出する。S
CSIIF回路40は、FIFOメモリ38から出力さ
れるトランスポートストリームをハードディスク装置等
に対して送出し、記録させる。
PU424は、変数n=Nであるか否かを判断する。変
数n=Nの場合には処理を終了し、n≠Nの場合にはS
106の処理に進む。FIFOメモリ38は、FIFO
メモリ38から出力されるトランスポートストリームを
バッファリングして、通信回線等に対して送出する。S
CSIIF回路40は、FIFOメモリ38から出力さ
れるトランスポートストリームをハードディスク装置等
に対して送出し、記録させる。
【0068】以上説明したように、本発明に係るデータ
多重化装置2においては、CPU424のソフトウェア
処理により、トランスポートストリームを生成するたび
に多重化方法を計画するので、例えば、エレメンタリス
トリームをハードウェアによりトランスポートストリー
ムに多重化する場合に比べて、付加するプライベートデ
ータストリーム(ヘッダデータ)の種類および数を任意
に変更可能であるという特徴がある。従って、プライベ
ートデータストリームの種類および数の変更が容易であ
る。
多重化装置2においては、CPU424のソフトウェア
処理により、トランスポートストリームを生成するたび
に多重化方法を計画するので、例えば、エレメンタリス
トリームをハードウェアによりトランスポートストリー
ムに多重化する場合に比べて、付加するプライベートデ
ータストリーム(ヘッダデータ)の種類および数を任意
に変更可能であるという特徴がある。従って、プライベ
ートデータストリームの種類および数の変更が容易であ
る。
【0069】なお、データ多重化装置2に対しては、ト
ランスポートストリームに多重化するエレメンタリスト
リームの数を増減する、あるいは、ENIF回路420
およびSIF回路422の数を増減する変更を加えるこ
とが可能である。また、第2の実施例として示した他
に、サブタイトルストリームの代わりに、例えば、編集
処理および放送時の処理に係るデータストリームをトラ
ンスポートストリームに多重化する等、データ多重化装
置2は、種々の構成を採ることができる。
ランスポートストリームに多重化するエレメンタリスト
リームの数を増減する、あるいは、ENIF回路420
およびSIF回路422の数を増減する変更を加えるこ
とが可能である。また、第2の実施例として示した他
に、サブタイトルストリームの代わりに、例えば、編集
処理および放送時の処理に係るデータストリームをトラ
ンスポートストリームに多重化する等、データ多重化装
置2は、種々の構成を採ることができる。
【0070】第3実施例 以下、本発明の第3の実施例を説明する。
【0071】第2の実施例として示したデータ多重化装
置2(図2)においては、データ量が非常に多いエレメ
ンタリストリームをCPUバス上で伝送することがない
ので、CPUバス上でバスネックが生じて高速なエレメ
ンタリストリームのトランスポートストリームに対する
多重化が妨げられることがないので、データ多重化装置
2は、高速なトランスポートストリームを生成するため
に好適である。
置2(図2)においては、データ量が非常に多いエレメ
ンタリストリームをCPUバス上で伝送することがない
ので、CPUバス上でバスネックが生じて高速なエレメ
ンタリストリームのトランスポートストリームに対する
多重化が妨げられることがないので、データ多重化装置
2は、高速なトランスポートストリームを生成するため
に好適である。
【0072】しかしながら、第2の実施例におけるデー
タ多重化装置2は、データ量IF30a,30b,30
c等が計数した各エレメンタリーストリームのデータ量
およびFIFOメモリ32a,32b,32cの残り記
憶容量(バッファ残量)に基づいて、CPU424がス
イッチ回路34の接続を切り換えて多重化を行う。従っ
て、ビデオエンコーダ20、オーディオエンコーダ24
およびサブタイトルエンコーダ28が、FIFOメモリ
32a,32b,32cそれぞれに、間欠的にデータを
書き込むか、あるいは、連続的にデータを書き込むかに
よってFIFOメモリ32a,32b,32cの残り記
憶容量(バッファ残量)に変動が生じる。
タ多重化装置2は、データ量IF30a,30b,30
c等が計数した各エレメンタリーストリームのデータ量
およびFIFOメモリ32a,32b,32cの残り記
憶容量(バッファ残量)に基づいて、CPU424がス
イッチ回路34の接続を切り換えて多重化を行う。従っ
て、ビデオエンコーダ20、オーディオエンコーダ24
およびサブタイトルエンコーダ28が、FIFOメモリ
32a,32b,32cそれぞれに、間欠的にデータを
書き込むか、あるいは、連続的にデータを書き込むかに
よってFIFOメモリ32a,32b,32cの残り記
憶容量(バッファ残量)に変動が生じる。
【0073】従って、多重化後のトランスポートースト
リームのある部分のオーディオストリームのデータ量が
少なくなり、他の部分のオーディオストリームのデータ
量が多くなるといったように、結果的に多重化後のエレ
メンタリストリームのデータ量に疎密が生じて、各エレ
メンタリストリームの間隔に偏りが生じ、例えば、オー
ディオストリームの間隔が長くなった場合等に、受信側
の伸長復号装置が正常に音声再生をできなくなるといっ
た不具合が生じる可能性がある。
リームのある部分のオーディオストリームのデータ量が
少なくなり、他の部分のオーディオストリームのデータ
量が多くなるといったように、結果的に多重化後のエレ
メンタリストリームのデータ量に疎密が生じて、各エレ
メンタリストリームの間隔に偏りが生じ、例えば、オー
ディオストリームの間隔が長くなった場合等に、受信側
の伸長復号装置が正常に音声再生をできなくなるといっ
た不具合が生じる可能性がある。
【0074】例えば、CPU424が、受信側の伸長復
号装置の受信バッファの残り記憶容量(バッファ残量)
をも考慮した多重化計画を行うことにより、このような
不具合を回避することも可能である。しかしながら、C
PU424が受信バッファを考慮して、映像フレーム信
号と非同期に多重化計画を行うためのソフトウェアのア
ルゴリズムは複雑であり、長い処理時間を要するので、
この方法は、多重化処理の高速化を妨げる原因となる。
号装置の受信バッファの残り記憶容量(バッファ残量)
をも考慮した多重化計画を行うことにより、このような
不具合を回避することも可能である。しかしながら、C
PU424が受信バッファを考慮して、映像フレーム信
号と非同期に多重化計画を行うためのソフトウェアのア
ルゴリズムは複雑であり、長い処理時間を要するので、
この方法は、多重化処理の高速化を妨げる原因となる。
【0075】本発明の第3の実施例は、かかる不具合を
解決するためになされ、映像データのフレーム信号(映
像フレーム信号)に同期して、残り記憶容量(バッファ
残量)を考慮しない簡単なアルゴリズムで多重化を計画
し、高速で、受信側の伸長復号装置の受信バッファに破
綻を生じさせることがない各エレメンタリストリームの
多重化を行うことができるようにデータ多重化装置2
(図2)の動作を改良したものである。
解決するためになされ、映像データのフレーム信号(映
像フレーム信号)に同期して、残り記憶容量(バッファ
残量)を考慮しない簡単なアルゴリズムで多重化を計画
し、高速で、受信側の伸長復号装置の受信バッファに破
綻を生じさせることがない各エレメンタリストリームの
多重化を行うことができるようにデータ多重化装置2
(図2)の動作を改良したものである。
【0076】CPU424の多重化計画第3の実施例に
おいて、CPU424(図2)は、図2に点線で示すよ
うに、ビデオエンコーダ20から入力される映像フレー
ム信号に同期して、映像フレーム信号の周期〔映像フレ
ーム周期;1/30秒(NTSC方式の場合),1/2
5秒(PAL方式の場合)〕ごとの多重化方法を計画
し、計画した多重化方法に基づいて、データ多重化装置
2の各構成部分を制御する。
おいて、CPU424(図2)は、図2に点線で示すよ
うに、ビデオエンコーダ20から入力される映像フレー
ム信号に同期して、映像フレーム信号の周期〔映像フレ
ーム周期;1/30秒(NTSC方式の場合),1/2
5秒(PAL方式の場合)〕ごとの多重化方法を計画
し、計画した多重化方法に基づいて、データ多重化装置
2の各構成部分を制御する。
【0077】データ多重化装置2の各構成部分は、CP
U424の制御に従って、各映像フレーム周期におい
て、下式に示すほぼ等しいデータ量aのビデオストリー
ムを、例えばATM方式の伝送パケットに多重化し、さ
らに、オーディオエンコーダ24およびサブタイトルエ
ンコーダ28が生成したオーディオストリームおよびプ
ライベートデータストリームを順次、伝送パケットに多
重化して、トランスポートデータストリームを生成す
る。なお、固定レート符号化により、ビデオストリーム
のデータレートはほぼ一定となるので、データ量aは、
結果的に、ビデオエンコーダ20が生成するビデオスト
リームの映像フレーム周期当たりの平均データ量とほぼ
同じになる。
U424の制御に従って、各映像フレーム周期におい
て、下式に示すほぼ等しいデータ量aのビデオストリー
ムを、例えばATM方式の伝送パケットに多重化し、さ
らに、オーディオエンコーダ24およびサブタイトルエ
ンコーダ28が生成したオーディオストリームおよびプ
ライベートデータストリームを順次、伝送パケットに多
重化して、トランスポートデータストリームを生成す
る。なお、固定レート符号化により、ビデオストリーム
のデータレートはほぼ一定となるので、データ量aは、
結果的に、ビデオエンコーダ20が生成するビデオスト
リームの映像フレーム周期当たりの平均データ量とほぼ
同じになる。
【0078】
【数1】 a≒V/k …(1) 但し、aは、1映像フレーム周期に多重化されるビデオ
ストリームのデータ量であり、Vは、ビデオストリーム
の符号化レートである。
ストリームのデータ量であり、Vは、ビデオストリーム
の符号化レートである。
【0079】さらに、上述した映像フレーム周期ごとの
多重化計画により、受信バッファの破綻が防止できる理
由を説明する。受信側の伸長復号装置(デコーダ)にお
いては、映像フレーム周期ごとに受信バッファから映像
データが読み出され、除去される。従って、映像フレー
ム信号に同期して、映像フレーム周期ごとに、送信側か
ら適切な範囲のほぼ等量のビデオストリームを受信バッ
ファに書き込めば、受信バッファに破綻が生じることは
ない。逆に、例えば、第m番目の映像フレーム周期にお
いてビデオストリームを多重化せず、第(m+1)番目
の映像フレーム周期において2フレーム分のビデオスト
リームを伝送パケットに多重化し、トランスポートスト
リームを生成して伝送すると、受信バッファに破綻が生
じる可能性が生じる。
多重化計画により、受信バッファの破綻が防止できる理
由を説明する。受信側の伸長復号装置(デコーダ)にお
いては、映像フレーム周期ごとに受信バッファから映像
データが読み出され、除去される。従って、映像フレー
ム信号に同期して、映像フレーム周期ごとに、送信側か
ら適切な範囲のほぼ等量のビデオストリームを受信バッ
ファに書き込めば、受信バッファに破綻が生じることは
ない。逆に、例えば、第m番目の映像フレーム周期にお
いてビデオストリームを多重化せず、第(m+1)番目
の映像フレーム周期において2フレーム分のビデオスト
リームを伝送パケットに多重化し、トランスポートスト
リームを生成して伝送すると、受信バッファに破綻が生
じる可能性が生じる。
【0080】同様に、オーディオストリームも、音声デ
ータのサンプリング周期〔音声フレーム周期;上述のよ
うに、24ms(1152/48kHz),26.1m
s(1152/44.1kHz),36ms(1152
/32kHz)≠1/30秒,1/25秒(映像フレー
ム周期)〕ごとに、音声フレーム周期ごとに生成され、
また、デコーダの受信バッファから読み出され、除去さ
れるので、音声フレーム周期ごとに等量ずつ伝送パケッ
トに多重化し、トランスポートストリームを生成して伝
送することにより、受信バッファの破綻を防ぐことがで
きる。
ータのサンプリング周期〔音声フレーム周期;上述のよ
うに、24ms(1152/48kHz),26.1m
s(1152/44.1kHz),36ms(1152
/32kHz)≠1/30秒,1/25秒(映像フレー
ム周期)〕ごとに、音声フレーム周期ごとに生成され、
また、デコーダの受信バッファから読み出され、除去さ
れるので、音声フレーム周期ごとに等量ずつ伝送パケッ
トに多重化し、トランスポートストリームを生成して伝
送することにより、受信バッファの破綻を防ぐことがで
きる。
【0081】つまり、オーディオストリームは、音声デ
ータのサンプリング周波数が48kHzまたは44.1
kHzである場合には、映像フレーム周期ごとに1回ま
たは2回、を生成され、また、受信側のデコーダの受信
バッファから除去され、音声データのサンプリング周波
数が32kHzである場合には、映像フレーム周期ごと
に0回または1回、生成され、受信側のデコーダの受信
バッファから除去される。従って、CPU424は、映
像フレーム周期ごとに高々2回、オーディオストリーム
を等量ずつ伝送パケットに多重化し、トランスポートス
トリームを生成するように多重化計画を行うことによ
り、受信バッファの破綻、および、音声の再生が正常に
できなくなる不具合を防ぐことができる。
ータのサンプリング周波数が48kHzまたは44.1
kHzである場合には、映像フレーム周期ごとに1回ま
たは2回、を生成され、また、受信側のデコーダの受信
バッファから除去され、音声データのサンプリング周波
数が32kHzである場合には、映像フレーム周期ごと
に0回または1回、生成され、受信側のデコーダの受信
バッファから除去される。従って、CPU424は、映
像フレーム周期ごとに高々2回、オーディオストリーム
を等量ずつ伝送パケットに多重化し、トランスポートス
トリームを生成するように多重化計画を行うことによ
り、受信バッファの破綻、および、音声の再生が正常に
できなくなる不具合を防ぐことができる。
【0082】データ多重化装置2の動作 以下、第3の実施例におけるデータ多重化装置2の動作
を、ビデオストリームおよびオーディオストリームのデ
ータレートの具体例を挙げて説明する。
を、ビデオストリームおよびオーディオストリームのデ
ータレートの具体例を挙げて説明する。
【0083】ビデオエンコーダ20は、CPU424の
制御に従って、入力される映像データをエンコードし、
例えば、ほぼ一定のデータレート(4Mbps)のビデ
オストリームを生成する。オーディオエンコーダ24
は、CPU424の制御に従って、入力される映像デー
タをエンコードし、固定データレート(384kbp
s)のオーディオストリームを生成する。サブタイトル
エンコーダ28は、適宜、入力されるサブタイトルデー
タをエンコードし、プライベートデータストリームを生
成する。
制御に従って、入力される映像データをエンコードし、
例えば、ほぼ一定のデータレート(4Mbps)のビデ
オストリームを生成する。オーディオエンコーダ24
は、CPU424の制御に従って、入力される映像デー
タをエンコードし、固定データレート(384kbp
s)のオーディオストリームを生成する。サブタイトル
エンコーダ28は、適宜、入力されるサブタイトルデー
タをエンコードし、プライベートデータストリームを生
成する。
【0084】データ量IF30a,30b,30cはそ
れぞれ、ビデオエンコーダ20、オーディオエンコーダ
24およびサブタイトルエンコーダ28がそれぞれ生成
したビデオストリーム、オーディオストリームおよびプ
ライベートデータストリームの一定時間当たりのデータ
量を計数し、これらのストリームのデータレートとして
CPU424に対して出力する。
れぞれ、ビデオエンコーダ20、オーディオエンコーダ
24およびサブタイトルエンコーダ28がそれぞれ生成
したビデオストリーム、オーディオストリームおよびプ
ライベートデータストリームの一定時間当たりのデータ
量を計数し、これらのストリームのデータレートとして
CPU424に対して出力する。
【0085】ここで、NTSC方式のビデオストリーム
のデータレートが、例えば4Mbpsである場合には、
下式に示すように、1映像フレーム周期当たりのビデオ
ストリームのデータ量は16666.7バイトであり、
同様に、オーディオストリームのデータレートが384
kbpsである場合には、下式に示すように、1映像フ
レーム周期当たりのオーディオストリームのデータ量は
1600バイトとなる。
のデータレートが、例えば4Mbpsである場合には、
下式に示すように、1映像フレーム周期当たりのビデオ
ストリームのデータ量は16666.7バイトであり、
同様に、オーディオストリームのデータレートが384
kbpsである場合には、下式に示すように、1映像フ
レーム周期当たりのオーディオストリームのデータ量は
1600バイトとなる。
【0086】
【数2】 1映像フレーム周期当たりのビデオストリームのデータ量; 4,000,000bps/(8ビット×30フレーム) =16666.7バイト …(2−1) 1フレーム当たりのオーディオストリームのデータ量; 38400,000bps/(8ビット×30フレーム) =1600バイト …(2−2)
【0087】従って、CPU424は、1映像フレーム
周期ごとに、16666バイトまたは166667バイ
トのビデオストリームを伝送パケットに多重化し、ま
た、1600バイトのオーディオストリームを、図6に
示す順番で多重化するように多重化計画を行い、この多
重化計画に従ってトランスポートストリームを生成する
ようにデータ多重化装置2の各構成部分を制御する。
周期ごとに、16666バイトまたは166667バイ
トのビデオストリームを伝送パケットに多重化し、ま
た、1600バイトのオーディオストリームを、図6に
示す順番で多重化するように多重化計画を行い、この多
重化計画に従ってトランスポートストリームを生成する
ようにデータ多重化装置2の各構成部分を制御する。
【0088】図6は、図2に示したデータ多重化装置2
が第3の実施例において生成するトランスポートストリ
ームに含まれる各エレメンタリストリームの順番を例示
する図である。まず、CPU424は、スイッチ回路3
6を制御して入力端子a側を選択させ、ビデオストリー
ムおよびオーディオストリームに先立って、CPU42
4が生成したPCR(program clock reference) デー
タ、PAT(program associationtable) およびPMT
(program map table) データを、処理用RAM426を
介して、例えば、1映像フレーム周期(MPEGにおい
て規定されている最長再送周期以下)ごとにそれぞれ1
つの伝送パケットに多重化し、トランスポートストリー
ムを生成して外部に出力する。
が第3の実施例において生成するトランスポートストリ
ームに含まれる各エレメンタリストリームの順番を例示
する図である。まず、CPU424は、スイッチ回路3
6を制御して入力端子a側を選択させ、ビデオストリー
ムおよびオーディオストリームに先立って、CPU42
4が生成したPCR(program clock reference) デー
タ、PAT(program associationtable) およびPMT
(program map table) データを、処理用RAM426を
介して、例えば、1映像フレーム周期(MPEGにおい
て規定されている最長再送周期以下)ごとにそれぞれ1
つの伝送パケットに多重化し、トランスポートストリー
ムを生成して外部に出力する。
【0089】次に、CPU424は、スイッチ回路36
を制御して入力端子b側を選択させ、スイッチ回路34
を制御して入力端子の選択を順次、変更して、第1のビ
デオストリーム、第1のオーディオストリーム、第1の
サブタイトル(プライベートデータストリーム)、第1
のNullデータ、第2のビデオストリーム、第2のオ
ーディオストリーム、第2のサブタイトル(プライベー
トデータストリーム)および第2のNullデータの順
番で各ストリームを伝送パケットに多重化し、トランス
ポートストリームを生成して外部に出力する。
を制御して入力端子b側を選択させ、スイッチ回路34
を制御して入力端子の選択を順次、変更して、第1のビ
デオストリーム、第1のオーディオストリーム、第1の
サブタイトル(プライベートデータストリーム)、第1
のNullデータ、第2のビデオストリーム、第2のオ
ーディオストリーム、第2のサブタイトル(プライベー
トデータストリーム)および第2のNullデータの順
番で各ストリームを伝送パケットに多重化し、トランス
ポートストリームを生成して外部に出力する。
【0090】なお、図6に示したNullデータは、デ
ータ多重化装置2が出力するトランスポートストリーム
のデータレートを一定とするために、ビデオストリー
ム、オーディオストリーム、プライベートデータストリ
ームおよびその他のデータの合計のデータレートが、伝
送路のデータレートより小さい場合に挿入される無効デ
ータである。
ータ多重化装置2が出力するトランスポートストリーム
のデータレートを一定とするために、ビデオストリー
ム、オーディオストリーム、プライベートデータストリ
ームおよびその他のデータの合計のデータレートが、伝
送路のデータレートより小さい場合に挿入される無効デ
ータである。
【0091】以下、図7を参照して、CPU424の処
理をさらに説明する。図7は、図2に示したデータ多重
化装置2のCPU424の第3の実施例における多重化
計画の処理を示すフローチャートである。
理をさらに説明する。図7は、図2に示したデータ多重
化装置2のCPU424の第3の実施例における多重化
計画の処理を示すフローチャートである。
【0092】図7に示すように、ステップ200(S2
00)において、CPU424は、データ量IF30
a,30b,30cから入力される各エレメンタリスト
リームの一定時間当たりのデータ量に基づいて、これら
のエレメンタリストリームを、図6に示したトランスポ
ートストリームの各位置それぞれにおいて、どれだけの
データ量だけ多重化するかを示すパラメータ(SIZE
_FRAMEV,SIZE_FRAME_V1,SIZ
E_FRAME_V2等)の設定を行う。
00)において、CPU424は、データ量IF30
a,30b,30cから入力される各エレメンタリスト
リームの一定時間当たりのデータ量に基づいて、これら
のエレメンタリストリームを、図6に示したトランスポ
ートストリームの各位置それぞれにおいて、どれだけの
データ量だけ多重化するかを示すパラメータ(SIZE
_FRAMEV,SIZE_FRAME_V1,SIZ
E_FRAME_V2等)の設定を行う。
【0093】ステップ202(S202)において、C
PU424は、ビデオエンコーダ20から入力される映
像フレーム信号を受信し、新たな映像フレーム周期が始
まった場合にはS204の処理に進み、始まらない場合
にはS202の処理に留まる。ステップ204(S20
4)において、CPU424は、PCRデータ、PAT
データおよびPMTデータを多重化し、外部に出力す
る。
PU424は、ビデオエンコーダ20から入力される映
像フレーム信号を受信し、新たな映像フレーム周期が始
まった場合にはS204の処理に進み、始まらない場合
にはS202の処理に留まる。ステップ204(S20
4)において、CPU424は、PCRデータ、PAT
データおよびPMTデータを多重化し、外部に出力す
る。
【0094】ステップ206(S206)において、C
PU424は、ビデオストリームを、S200の処理に
おいて設定したパラメータSIZE_FRAME_V1
が示すデータ量だけ多重化し、第1のビデオストリーム
として外部に出力する。ステップ208(S208)に
おいて、CPU424は、オーディオストリームを、S
200の処理において設定したパラメータSIZE_F
RAME_A1が示すデータ量だけ多重化し、第1のオ
ーディオストリームとして外部に出力する。
PU424は、ビデオストリームを、S200の処理に
おいて設定したパラメータSIZE_FRAME_V1
が示すデータ量だけ多重化し、第1のビデオストリーム
として外部に出力する。ステップ208(S208)に
おいて、CPU424は、オーディオストリームを、S
200の処理において設定したパラメータSIZE_F
RAME_A1が示すデータ量だけ多重化し、第1のオ
ーディオストリームとして外部に出力する。
【0095】ステップ210(S210)において、C
PU424は、サブタイトルデータ(プライベートデー
タストリーム)を、S200の処理において設定したパ
ラメータSIZE_FRAME_S1が示すデータ量だ
け多重化し、第1のプライベートデータストリームとし
て外部に出力する。ステップ212(S212)におい
て、CPU424は、Nullデータを、S200の処
理において設定したパラメータSIZE_FRAME_
N1が示すデータ量だけ多重化し、第1のNullデー
タとして外部に出力する。
PU424は、サブタイトルデータ(プライベートデー
タストリーム)を、S200の処理において設定したパ
ラメータSIZE_FRAME_S1が示すデータ量だ
け多重化し、第1のプライベートデータストリームとし
て外部に出力する。ステップ212(S212)におい
て、CPU424は、Nullデータを、S200の処
理において設定したパラメータSIZE_FRAME_
N1が示すデータ量だけ多重化し、第1のNullデー
タとして外部に出力する。
【0096】ステップ214(S214)において、C
PU424は、ビデオストリームを、S200の処理に
おいて設定したパラメータSIZE_FRAME_V2
が示すデータ量だけ多重化し、第2のビデオストリーム
として外部に出力する。ステップ216(S216)に
おいて、CPU424は、オーディオストリームを、S
200の処理において設定したパラメータSIZE_F
RAME_A2が示すデータ量だけ多重化し、第2のオ
ーディオストリームとして外部に出力する。
PU424は、ビデオストリームを、S200の処理に
おいて設定したパラメータSIZE_FRAME_V2
が示すデータ量だけ多重化し、第2のビデオストリーム
として外部に出力する。ステップ216(S216)に
おいて、CPU424は、オーディオストリームを、S
200の処理において設定したパラメータSIZE_F
RAME_A2が示すデータ量だけ多重化し、第2のオ
ーディオストリームとして外部に出力する。
【0097】ステップ218(S218)において、C
PU424は、サブタイトルデータ(プライベートデー
タストリーム)を、S200の処理において設定したパ
ラメータSIZE_FRAME_S2が示すデータ量だ
け多重化し、第2のプライベートデータストリームとし
て外部に出力する。ステップ220(S220)におい
て、CPU424は、Nullデータを、S200の処
理において設定したパラメータSIZE_FRAME_
N2が示すデータ量だけ多重化し、第2のNullデー
タとして外部に出力する。
PU424は、サブタイトルデータ(プライベートデー
タストリーム)を、S200の処理において設定したパ
ラメータSIZE_FRAME_S2が示すデータ量だ
け多重化し、第2のプライベートデータストリームとし
て外部に出力する。ステップ220(S220)におい
て、CPU424は、Nullデータを、S200の処
理において設定したパラメータSIZE_FRAME_
N2が示すデータ量だけ多重化し、第2のNullデー
タとして外部に出力する。
【0098】なお、図6および図7においては、各エレ
メンタリストリームの多重化の繰り返し回数が2回の場
合を例示してあるので、2回に分けて多重化される各エ
レメンタリストリームのデータ量をほぼ等しくする。つ
まり、各パラメータの関係は、SIZE_FRAME_
V1≒SIZE_FRAME_V2,SIZE_FRA
ME_A1≒SIZE_FRAME_A2,SIZE_
FRAME_S1≒SIZE_FRAME_S2とな
る。
メンタリストリームの多重化の繰り返し回数が2回の場
合を例示してあるので、2回に分けて多重化される各エ
レメンタリストリームのデータ量をほぼ等しくする。つ
まり、各パラメータの関係は、SIZE_FRAME_
V1≒SIZE_FRAME_V2,SIZE_FRA
ME_A1≒SIZE_FRAME_A2,SIZE_
FRAME_S1≒SIZE_FRAME_S2とな
る。
【0099】また、図6および図7示した各エレメンタ
リストリームの多重化の繰り返し回数は2回に限定され
ないので、繰り返し回数が奇数の場合等には、これらの
パラメータのいずれかを大きい値にすることも可能であ
る。例えば、繰り返し回数が3回の場合には、各パラメ
ータの関係を、SIZE_FRAME_V1<SIZE
_FRAME_V2<SIZE_FRAME_V3,S
IZE_FRAME_A1<SIZE_FRAME_A
2<SIZE_FRAME_A3,SIZE_FRAM
E_S1<SIZE_FRAME_S2<SIZE_F
RAME_S3とすることも可能である。
リストリームの多重化の繰り返し回数は2回に限定され
ないので、繰り返し回数が奇数の場合等には、これらの
パラメータのいずれかを大きい値にすることも可能であ
る。例えば、繰り返し回数が3回の場合には、各パラメ
ータの関係を、SIZE_FRAME_V1<SIZE
_FRAME_V2<SIZE_FRAME_V3,S
IZE_FRAME_A1<SIZE_FRAME_A
2<SIZE_FRAME_A3,SIZE_FRAM
E_S1<SIZE_FRAME_S2<SIZE_F
RAME_S3とすることも可能である。
【0100】また、第3の実施例として図6に示した各
エレメンタリストリームの多重化の順番は例示であっ
て、他の順番で各エレメンタリストリームの多重化を計
画するようにCPU424の動作を変更してもよい。ま
た、第3の実施例として示したデータ多重化装置2の多
重化計画は、NTSC方式の525/60形式の音声・
映像データにも、PAL方式の625/50形式の音声
・映像データにも適応することができる。また、PES
パケットに多重化する際の単位としては、1ピクチャー
分の映像データであっても、1映像フレーム周期の間に
出力する映像データであってもよい。また、第3の実施
例に対しても、第2の実施例に対してと同様な変形が可
能である。
エレメンタリストリームの多重化の順番は例示であっ
て、他の順番で各エレメンタリストリームの多重化を計
画するようにCPU424の動作を変更してもよい。ま
た、第3の実施例として示したデータ多重化装置2の多
重化計画は、NTSC方式の525/60形式の音声・
映像データにも、PAL方式の625/50形式の音声
・映像データにも適応することができる。また、PES
パケットに多重化する際の単位としては、1ピクチャー
分の映像データであっても、1映像フレーム周期の間に
出力する映像データであってもよい。また、第3の実施
例に対しても、第2の実施例に対してと同様な変形が可
能である。
【0101】第4実施例 第3の実施例に示したデータ多重化装置2(図2)の動
作によれば、受信バッファの残り記憶容量を考慮しない
簡単なアルゴリズムで、受信側の伸長復号装置の受信バ
ッファに破綻を生じさせることなく、常に、音声・映像
の正常な再生を可能なように音声・映像データを伝送パ
ケットに多重化し、トランスポートストリームを生成す
ることができる。
作によれば、受信バッファの残り記憶容量を考慮しない
簡単なアルゴリズムで、受信側の伸長復号装置の受信バ
ッファに破綻を生じさせることなく、常に、音声・映像
の正常な再生を可能なように音声・映像データを伝送パ
ケットに多重化し、トランスポートストリームを生成す
ることができる。
【0102】しかしながら、NTSC方式の525/6
0形式の映像データの映像フレーム周期は正確には1/
29.97Hzであり、例えば、ビデオエンコーダ20
が生成するビデオストリームのデータレートが4Mbp
s固定である場合には、下式に示すように、映像フレー
ム周期ごとに、ビデオストリーム0.35バイト分の端
数が生じ、CPU424は、この端数を考慮して多重化
計画を行う必要がある。
0形式の映像データの映像フレーム周期は正確には1/
29.97Hzであり、例えば、ビデオエンコーダ20
が生成するビデオストリームのデータレートが4Mbp
s固定である場合には、下式に示すように、映像フレー
ム周期ごとに、ビデオストリーム0.35バイト分の端
数が生じ、CPU424は、この端数を考慮して多重化
計画を行う必要がある。
【0103】
【数3】 4×106 /29.97=133466.8ビット =16683.35バイト …(3)
【0104】また、オーディオエンコーダ24が生成す
るオーディオストリームについても同様であり、例え
ば、オーディオストリームのデータレートが384kb
ps固定である場合には、下式に示すように、映像フレ
ーム周期ごとに、オーディオストリーム0.6016バ
イト分の端数が生じ、CPU424は、この端数を考慮
して多重化計画を行う必要がある。
るオーディオストリームについても同様であり、例え
ば、オーディオストリームのデータレートが384kb
ps固定である場合には、下式に示すように、映像フレ
ーム周期ごとに、オーディオストリーム0.6016バ
イト分の端数が生じ、CPU424は、この端数を考慮
して多重化計画を行う必要がある。
【0105】
【数4】 384×103 /29.97=12812.813ビット =1601.6016バイト …(4)
【0106】一方、PAL方式の625/50形式の映
像フレーム周期は1/25Hzであり、例えば、上述の
ようにビデオストリームのデータレートが4Mbps固
定であり、オーディオストリームのデータレートが38
4kbps固定である場合には、下式に示すように、ビ
デオストリームおよびオーディオストリームに端数が生
じない。しかしながら、ビデオストリームおよびオーデ
ィオストリームのデータレートが、200bps(=2
5×8)の倍数でない場合には、端数が生じるので、C
PU424は、この端数を考慮して多重化計画を行う必
要がある。
像フレーム周期は1/25Hzであり、例えば、上述の
ようにビデオストリームのデータレートが4Mbps固
定であり、オーディオストリームのデータレートが38
4kbps固定である場合には、下式に示すように、ビ
デオストリームおよびオーディオストリームに端数が生
じない。しかしながら、ビデオストリームおよびオーデ
ィオストリームのデータレートが、200bps(=2
5×8)の倍数でない場合には、端数が生じるので、C
PU424は、この端数を考慮して多重化計画を行う必
要がある。
【0107】
【数5】 ビデオストリーム; 4×106 /25=160000ビット =20000バイト …(5−1) オーディオストリーム; 384×103 /25=15360ビット =1920バイト …(5−2)
【0108】本発明の第4の実施例は、上述した問題に
鑑みてなされたものであり、本発明の第3の実施例を改
良し、多重化計画のアルゴリズムをさらに簡単にしたも
のである。
鑑みてなされたものであり、本発明の第3の実施例を改
良し、多重化計画のアルゴリズムをさらに簡単にしたも
のである。
【0109】CPU424の多重化計画 以下、NTSC方式のビデオストリームを多重化する場
合を例に、第4の実施例におけるCPU424の多重化
計画を説明する。
合を例に、第4の実施例におけるCPU424の多重化
計画を説明する。
【0110】ビデオストリームのデータレート 第4の実施例においては、CPU424は、データ量I
F30aから入力されるビデオエンコーダ20のビデオ
ストリームのデータレートvideo_rate_or
gを、下式に示す固定値(frame_video_r
ate)に近似して多重化計画を行う。
F30aから入力されるビデオエンコーダ20のビデオ
ストリームのデータレートvideo_rate_or
gを、下式に示す固定値(frame_video_r
ate)に近似して多重化計画を行う。
【0111】
【数6】 frame _video _rate(byte)=video _rate_org(bps) /{(8×1001)/(1000 ×30) } …(6) 但し、video _rate_org は、ビデオエンコーダ20が
生成するビデオストリームのデータレートであり、fram
e _video _rateは小数点以下を切り捨てる。
生成するビデオストリームのデータレートであり、fram
e _video _rateは小数点以下を切り捨てる。
【0112】ただし、上式6により算出されるビデオー
ストリームの映像フレーム周期当たりのデータレートf
rame_video_rateの値は離散的になる
が、制約がない限り、通常、ビデオストリームのデータ
レートは任意の値とすることができるので、特に問題が
生じることはない。
ストリームの映像フレーム周期当たりのデータレートf
rame_video_rateの値は離散的になる
が、制約がない限り、通常、ビデオストリームのデータ
レートは任意の値とすることができるので、特に問題が
生じることはない。
【0113】また、上式6が、演算〔1001/(10
00×30)〕を含むのは、NTSC方式の1秒あたり
のフレーム数29.97を、整数演算により扱い得るよ
うにするためである。
00×30)〕を含むのは、NTSC方式の1秒あたり
のフレーム数29.97を、整数演算により扱い得るよ
うにするためである。
【0114】なお、CPU424が、ビデオエンコーダ
20のビットレート制御回路220(図3)に設定する
目標データ量video_rate_targetの値
は、下式により算出される。
20のビットレート制御回路220(図3)に設定する
目標データ量video_rate_targetの値
は、下式により算出される。
【0115】
【数7】 video _rate_target(bps) =frame _video _rate(byte) /{(8×30×1000)/1001} …(7)
【0116】例えば、ビデオエンコーダ20が生成する
ビデオストリームのデータレートvideo_rate
_orgが4Mbpsの場合には、目標データ量vid
eo_rate_targetの値は3.999920
1Mbpsである。なお、この場合には、両者の値の間
の差はごくわずかであり、CPU424が、目標データ
量video_rate_targetとして、データ
レートvideo_rate_orgをビットレート制
御回路220に設定しても、実用上、何らの問題も生じ
ない。
ビデオストリームのデータレートvideo_rate
_orgが4Mbpsの場合には、目標データ量vid
eo_rate_targetの値は3.999920
1Mbpsである。なお、この場合には、両者の値の間
の差はごくわずかであり、CPU424が、目標データ
量video_rate_targetとして、データ
レートvideo_rate_orgをビットレート制
御回路220に設定しても、実用上、何らの問題も生じ
ない。
【0117】以下、図8をさらに参照して、CPU42
4がビデオエンコーダ20のビットレート制御回路22
0(図3)に設定する目標データ量video_rat
e_targetの算出方法を説明する。図8は、第4
の実施例において、データ多重化装置2のビデオエンコ
ーダ20のビットレート制御回路220に設定される目
標データ量video_rate_targetの算出
方法を示すフローチャート図である。
4がビデオエンコーダ20のビットレート制御回路22
0(図3)に設定する目標データ量video_rat
e_targetの算出方法を説明する。図8は、第4
の実施例において、データ多重化装置2のビデオエンコ
ーダ20のビットレート制御回路220に設定される目
標データ量video_rate_targetの算出
方法を示すフローチャート図である。
【0118】図8に示すように、ステップ240(S2
40)において、CPU424は、データ量IF30a
から、ビデオエンコーダ20が生成するビデオストリー
ムのデータレートvideo_rate_orgを受け
て、RAM428に設定する。
40)において、CPU424は、データ量IF30a
から、ビデオエンコーダ20が生成するビデオストリー
ムのデータレートvideo_rate_orgを受け
て、RAM428に設定する。
【0119】ステップ242(S242)において、C
PU424は、式6により、映像フレーム周期当たりの
ビデオストリームのデータレートframe_vide
o_rateを算出する。
PU424は、式6により、映像フレーム周期当たりの
ビデオストリームのデータレートframe_vide
o_rateを算出する。
【0120】ステップ244(S244)において、C
PU424は、式7により、ビデオエンコーダ20のビ
ットレート制御回路220に設定する目標データ量vi
deo_rate_targetを算出する。
PU424は、式7により、ビデオエンコーダ20のビ
ットレート制御回路220に設定する目標データ量vi
deo_rate_targetを算出する。
【0121】なお、例えば、ビデオストリームのデータ
レートvideo_rate_orgが4Mbpsであ
り、伝送パケットのペイロード部分が184バイトであ
る場合には、下式に示すように、123バイトの端数が
生じる。一般には、この端数を収容した伝送パケットの
ペイロード部分の余りに、61バイト(=184−12
3)のスタッフィングデータを収容する処理を行うが、
この処理を行うと、トランスポートストリームのデータ
レートを不要に高くしてしまう。従って、この端数部分
を、次の映像フレーム期間において多重化する方法を採
ることが好ましい。
レートvideo_rate_orgが4Mbpsであ
り、伝送パケットのペイロード部分が184バイトであ
る場合には、下式に示すように、123バイトの端数が
生じる。一般には、この端数を収容した伝送パケットの
ペイロード部分の余りに、61バイト(=184−12
3)のスタッフィングデータを収容する処理を行うが、
この処理を行うと、トランスポートストリームのデータ
レートを不要に高くしてしまう。従って、この端数部分
を、次の映像フレーム期間において多重化する方法を採
ることが好ましい。
【0122】
【数8】 =16683(式3)/184 =90パケット+余り123バイト …(8)
【0123】オーディオストリームのデータレート 図9は、MPEG方式において規格化されているオーデ
ィオストリームのデータレートを示す図表である。ビデ
オストリームのデータレートとは異なり、図9に示すよ
うに、オーディオストリームのデータレートaudio
_rate_targetは固定値であって、いずれも
8×1000bpsの倍数の値を採る。
ィオストリームのデータレートを示す図表である。ビデ
オストリームのデータレートとは異なり、図9に示すよ
うに、オーディオストリームのデータレートaudio
_rate_targetは固定値であって、いずれも
8×1000bpsの倍数の値を採る。
【0124】例えば、オーディオエンコーダ24が生成
するオーディオストリームのデータレートaudio_
rate_targetが、384kbpsである場合
には、30映像フレーム周期の間にオーディオエンコー
ダ24が出力するオーディオストリームのデータ量au
dio_frame_30frameは、制御周期を3
0映像フレーム周期(約1秒)とすると、下式に示すよ
うに算出される。
するオーディオストリームのデータレートaudio_
rate_targetが、384kbpsである場合
には、30映像フレーム周期の間にオーディオエンコー
ダ24が出力するオーディオストリームのデータ量au
dio_frame_30frameは、制御周期を3
0映像フレーム周期(約1秒)とすると、下式に示すよ
うに算出される。
【0125】
【数9】 audio _rate_30frame =384 ×1000×1001/1000 =384384ビット =48048 バイト …(9)
【0126】従って、1映像フレーム周期ごとにトラン
スポートストリームに多重化すべきオーディオストリー
ムのデータ量は、1601バイトまたは1602バイト
となる。従って、CPU424は、過去30映像フレー
ム周期の間に多重化したオーディオフレームが、式9に
より算出したデータ量audio_frame_30f
rame(48048バイト)より多い場合には160
2バイト分のオーディオストリームを、その映像フレー
ム周期のトランスポートストリームに多重化し、多くな
い場合には1601バイト分のオーディオストリームを
その映像フレーム周期のトランスポートストリームに多
重化するように、スイッチ回路34の接続を制御する。
スポートストリームに多重化すべきオーディオストリー
ムのデータ量は、1601バイトまたは1602バイト
となる。従って、CPU424は、過去30映像フレー
ム周期の間に多重化したオーディオフレームが、式9に
より算出したデータ量audio_frame_30f
rame(48048バイト)より多い場合には160
2バイト分のオーディオストリームを、その映像フレー
ム周期のトランスポートストリームに多重化し、多くな
い場合には1601バイト分のオーディオストリームを
その映像フレーム周期のトランスポートストリームに多
重化するように、スイッチ回路34の接続を制御する。
【0127】データ多重化装置2の動作 以下、図10をさらに参照して、第4の実施例における
データ多重化装置2の動作を説明する。図10は、第4
の実施例において、データ多重化装置2が、映像フレー
ム周期ごとにトランスポートストリームに多重化するオ
ーディオストリームのデータ量を算出し、ビデオストリ
ーム等と多重化する処理を示すフローチャート図であ
る。
データ多重化装置2の動作を説明する。図10は、第4
の実施例において、データ多重化装置2が、映像フレー
ム周期ごとにトランスポートストリームに多重化するオ
ーディオストリームのデータ量を算出し、ビデオストリ
ーム等と多重化する処理を示すフローチャート図であ
る。
【0128】図10に示すように、ステップ300(S
300)において、CPU424は、オーディオエンコ
ーダ24が生成したオーディオストリームのデータレー
トを、データ量IF30bから受け、RAM428に設
定する。
300)において、CPU424は、オーディオエンコ
ーダ24が生成したオーディオストリームのデータレー
トを、データ量IF30bから受け、RAM428に設
定する。
【0129】ステップ302(S302)において、C
PU424は、1映像フレーム周期ごとにトランスポー
トストリームに多重化すべきオーディオストリームのデ
ータ量frame_audio_rate_preを、
下式により算出する。
PU424は、1映像フレーム周期ごとにトランスポー
トストリームに多重化すべきオーディオストリームのデ
ータ量frame_audio_rate_preを、
下式により算出する。
【0130】
【数10】 frame _audio _rate_pre =audio _rate_target /{(8×1001)/(1000 ×30) } …(10) 但し、frame _audio _rate_pre の小数点以下は切り
捨てる。
捨てる。
【0131】ステップ304(S304)において、C
PU424は、式9により、30映像フレーム周期当た
りのオーディオストリームのデータ量audio_fr
ame_30frameを算出する。
PU424は、式9により、30映像フレーム周期当た
りのオーディオストリームのデータ量audio_fr
ame_30frameを算出する。
【0132】ステップ306(S306)において、C
PU424は、ビデオエンコーダ20から入力される映
像フレーム信号を受信し、映像フレーム周期が開始した
か否かを判断する。映像フレーム周期が開始した場合に
は、CPU424はs308の処理に進み、開始しない
場合にはS306の処理に留まる。
PU424は、ビデオエンコーダ20から入力される映
像フレーム信号を受信し、映像フレーム周期が開始した
か否かを判断する。映像フレーム周期が開始した場合に
は、CPU424はs308の処理に進み、開始しない
場合にはS306の処理に留まる。
【0133】ステップ308(S308)において、C
PU424は、過去30映像フレーム周期の間に多重化
したオーディオストリームのデータ量が、S304の処
理において算出したデータ量audio_frame_
30frameより多いか否かを判断し、多い場合には
S310の処理に進み、多くない場合にはS312の処
理に進む。
PU424は、過去30映像フレーム周期の間に多重化
したオーディオストリームのデータ量が、S304の処
理において算出したデータ量audio_frame_
30frameより多いか否かを判断し、多い場合には
S310の処理に進み、多くない場合にはS312の処
理に進む。
【0134】ステップ310(S310)において、C
PU424は、その映像フレーム周期において多重化す
るオーディオフレームのデータ量frame_audi
o_rateを求め、S302の処理において算出した
データ量frame_audio_rate_preと
する。
PU424は、その映像フレーム周期において多重化す
るオーディオフレームのデータ量frame_audi
o_rateを求め、S302の処理において算出した
データ量frame_audio_rate_preと
する。
【0135】ステップ312(S312)において、C
PU424は、その映像フレーム周期において多重化す
るオーディオフレームのデータ量frame_audi
o_rateを求め、S302の処理において算出した
データ量frame_audio_rate_pre+
1とする。
PU424は、その映像フレーム周期において多重化す
るオーディオフレームのデータ量frame_audi
o_rateを求め、S302の処理において算出した
データ量frame_audio_rate_pre+
1とする。
【0136】CPU424は、スイッチ回路34等、デ
ータ多重化装置2の各構成部分を制御して、図8に示し
た処理により算出されたデータ量frame_vide
o_rateのビデオストリーム、図10のS300〜
S312の処理により算出されたデータ量frame_
audio_rateのオーディオストリームおよびプ
ライベートデータストリームを多重化させる。
ータ多重化装置2の各構成部分を制御して、図8に示し
た処理により算出されたデータ量frame_vide
o_rateのビデオストリーム、図10のS300〜
S312の処理により算出されたデータ量frame_
audio_rateのオーディオストリームおよびプ
ライベートデータストリームを多重化させる。
【0137】以上説明したように、第4の実施例として
示したデータ多重化装置2の動作によれば、浮動小数点
演算を用いない簡単なアルゴリズムで、映像フレーム期
間に同期したビデオストリームおよびオーディオストリ
ーム等の多重化を行うことができる。
示したデータ多重化装置2の動作によれば、浮動小数点
演算を用いない簡単なアルゴリズムで、映像フレーム期
間に同期したビデオストリームおよびオーディオストリ
ーム等の多重化を行うことができる。
【0138】なお、トランスポートストリームの生成開
始時に、生成されたビデオストリームが30映像フレー
ム周期分に達しない間は、例えば、データ量frame
_audio_rateを、データ量frame_au
dio_rate_preおよびデータ量frame_
audio_rate_pre+1いずれかとすればよ
い。
始時に、生成されたビデオストリームが30映像フレー
ム周期分に達しない間は、例えば、データ量frame
_audio_rateを、データ量frame_au
dio_rate_preおよびデータ量frame_
audio_rate_pre+1いずれかとすればよ
い。
【0139】また、映像フレーム周期当たりに多重化す
るビデオストリームのデータ量video_frame
_rateを、上述したように映像フレーム周期ごとに
変更する方法の他、例えば、30映像フレーム周期(所
定の制御周期)ごとに、データ量frame_audi
o_rateを、データ量frame_audio_r
ate_preおよびデータ量frame_audio
_rate_pre+1のいずれかに変更する方法を採
ってもよい。
るビデオストリームのデータ量video_frame
_rateを、上述したように映像フレーム周期ごとに
変更する方法の他、例えば、30映像フレーム周期(所
定の制御周期)ごとに、データ量frame_audi
o_rateを、データ量frame_audio_r
ate_preおよびデータ量frame_audio
_rate_pre+1のいずれかに変更する方法を採
ってもよい。
【0140】また、ビデオストリームおよびオーディオ
ストリームのデータレート(4Mbps,384kbp
s等)、および、データ量の単位(バイト)は例示であ
って、適切な変更を施すことにより、第4の実施例とし
て示した多重化計画の方法は、他のデータレートのビデ
オストリームおよびオーディオストリーム、および、他
のデータ量の単位を用いた多重化計画に応用することが
できる。
ストリームのデータレート(4Mbps,384kbp
s等)、および、データ量の単位(バイト)は例示であ
って、適切な変更を施すことにより、第4の実施例とし
て示した多重化計画の方法は、他のデータレートのビデ
オストリームおよびオーディオストリーム、および、他
のデータ量の単位を用いた多重化計画に応用することが
できる。
【0141】
【発明の効果】以上述べたように、本発明は、ディジタ
ルテレビジョン放送等において、音声データ、映像デー
タおよびプライベートデータの多重化に好適である。ま
た、本発明によれば、ディジタルテレビジョン放送用等
の音声データ、映像データおよび付加データの高速多重
化に好適で、しかも、付加データの種類および処理の変
更に柔軟に対応しうる。
ルテレビジョン放送等において、音声データ、映像デー
タおよびプライベートデータの多重化に好適である。ま
た、本発明によれば、ディジタルテレビジョン放送用等
の音声データ、映像データおよび付加データの高速多重
化に好適で、しかも、付加データの種類および処理の変
更に柔軟に対応しうる。
【0142】また、本発明によれば、ディジタルテレビ
ジョン放送設備等において、受信側の伸長復号装置の受
信バッファの残り記憶容量を考慮せず、しかも、浮動小
数点演算を用いない整数演算のみの簡単なアルゴリズム
で、受信バッファに破綻を生じさせないように、音声・
映像データを伝送パケットに多重化し、トランスポート
ストリームを生成することができる。また、本発明によ
れば、常に、受信側において正常に音声・映像データを
再生することができるように、音声・映像データを伝送
パケットに多重化し、トランスポートストリームを生成
することができる。
ジョン放送設備等において、受信側の伸長復号装置の受
信バッファの残り記憶容量を考慮せず、しかも、浮動小
数点演算を用いない整数演算のみの簡単なアルゴリズム
で、受信バッファに破綻を生じさせないように、音声・
映像データを伝送パケットに多重化し、トランスポート
ストリームを生成することができる。また、本発明によ
れば、常に、受信側において正常に音声・映像データを
再生することができるように、音声・映像データを伝送
パケットに多重化し、トランスポートストリームを生成
することができる。
【図1】第1の実施例として示す本発明に係るデータ多
重化装置の構成を示す図である。
重化装置の構成を示す図である。
【図2】本発明に係るデータ多重化装置の構成を示す図
である。
である。
【図3】図2に示したビデオエンコーダの構成を示す図
である。
である。
【図4】図2に示したオーディオエンコーダの構成を示
す図である。
す図である。
【図5】図2に示したデータ多重化装置の第2の実施例
におけるCPUの処理を示すフローチャートである。
におけるCPUの処理を示すフローチャートである。
【図6】図2に示したデータ多重化装置が第3の実施例
において生成するトランスポートストリームに含まれる
各エレメンタリストリームの順番を例示する図である。
において生成するトランスポートストリームに含まれる
各エレメンタリストリームの順番を例示する図である。
【図7】図2に示したデータ多重化装置のCPUの第3
の実施例における多重化計画の処理を示すフローチャー
トである。
の実施例における多重化計画の処理を示すフローチャー
トである。
【図8】第4の実施例において、データ多重化装置(図
2)のビデオエンコーダのビットレート制御回路に設定
される目標データ量video_rate_targe
tの算出方法を示すフローチャート図である。
2)のビデオエンコーダのビットレート制御回路に設定
される目標データ量video_rate_targe
tの算出方法を示すフローチャート図である。
【図9】図9は、MPEG方式において規格化されてい
るオーディオストリームのデータレートを示す図表であ
る。
るオーディオストリームのデータレートを示す図表であ
る。
【図10】第4の実施例において、データ多重化装置
(図2)が、映像フレーム周期ごとにトランスポートス
トリームに多重化するオーディオストリームのデータ量
を算出し、ビデオストリーム等と多重化する処理を示す
フローチャート図である。
(図2)が、映像フレーム周期ごとにトランスポートス
トリームに多重化するオーディオストリームのデータ量
を算出し、ビデオストリーム等と多重化する処理を示す
フローチャート図である。
1,2…データ多重化装置、10…多重化装置、100
…バッファメモリ、102…トランスポートストリーム
生成装置、12…多重化系、20…ビデオエンコーダ、
24…オーディオエンコーダ、28…サブタイトルエン
コーダ、32a,32b,32c…FIFOメモリ、3
4,36…スイッチ回路、38…FIFOメモリ、40
…SCSIIF回路、42…制御系、30a,30b,
30c…データ量IF、420…ENIF回路、422
…SIF回路、424…CPU、426…処理用RA
M、428…制御データ用RAM、430…RAM。
…バッファメモリ、102…トランスポートストリーム
生成装置、12…多重化系、20…ビデオエンコーダ、
24…オーディオエンコーダ、28…サブタイトルエン
コーダ、32a,32b,32c…FIFOメモリ、3
4,36…スイッチ回路、38…FIFOメモリ、40
…SCSIIF回路、42…制御系、30a,30b,
30c…データ量IF、420…ENIF回路、422
…SIF回路、424…CPU、426…処理用RA
M、428…制御データ用RAM、430…RAM。
Claims (8)
- 【請求項1】端数が生じないように、映像データの映像
フレーム周期それぞれに生成した映像データを等しいデ
ータ量ずつ配分することができる条件を満たす目標デー
タ量を算出する映像目標データ量算出手段と、 算出した前記目標データ量と等しいデータ量の映像デー
タを生成する映像データ生成手段と、 前記映像フレーム周期と異なる音声フレーム周期ごと
に、所定のデータ量の音声データを生成する音声データ
生成手段と、 生成した前記音声データを、前記映像フレーム周期それ
ぞれにほぼ等しいデータ量ずつ配分する音声データ配分
手段と、 前記映像フレーム周期ごとに、前記等しいデータ量の映
像データ、および、配分した前記音声データを、所定の
トランスポートストリームに多重化する多重化手段とを
有するデータ多重化装置。 - 【請求項2】前記映像データ生成手段は、非圧縮映像デ
ータを圧縮して、前記目標データ量に適合するデータレ
ートの前記映像データを生成する請求項1に記載のデー
タ多重化装置。 - 【請求項3】前記音声データ配分手段は、 所定数の前記映像フレーム周期の間に多重化する前記音
声データの目標データ量を算出する音声目標データ量算
出手段と、 当該映像フレーム周期の過去、前記所定数の前記映像フ
レーム周期の間に多重化した前記音声データのデータ量
を計数する音声データ計数手段と、 算出した前記音声データの目標データ量、および、計数
した前記音声データのデータ量とに基づいて、当該映像
フレーム周期に配分する前記音声データのデータ量を算
出する音声データ配分量算出手段とを有する請求項1に
記載のデータ多重化装置。 - 【請求項4】前記音声データおよび前記映像データに付
加する付加データを生成する付加データ生成手段をさら
に有し、 前記多重化手段は、生成した付加データを、さらに前記
所定のトランスポートストリームに多重化する請求項1
に記載のデータ多重化装置。 - 【請求項5】端数が生じないように、映像データの映像
フレーム周期それぞれに生成した映像データを等しいデ
ータ量ずつ配分することができる条件を満たす目標デー
タ量を算出し、 算出した前記目標データ量と等しいデータ量の映像デー
タを生成し、 前記映像フレーム周期と異なる音声フレーム周期ごと
に、所定のデータ量の音声データを生成し、 生成した前記音声データを、前記映像フレーム周期それ
ぞれにほぼ等しいデータ量ずつ配分し、 前記映像フレーム周期ごとに、前記等しいデータ量の映
像データ、および、配分した前記音声データを、所定の
トランスポートストリームに多重化するデータ多重化方
法。 - 【請求項6】非圧縮映像データを圧縮して、前記目標デ
ータ量に適合するデータレートの前記映像データを生成
する請求項5に記載のデータ多重化方法。 - 【請求項7】所定数の前記映像フレーム周期の間に多重
化する前記音声データの目標データ量を算出し、 当該映像フレーム周期の過去、前記所定数の前記映像フ
レーム周期の間に多重化した前記音声データのデータ量
を計数し、 算出した前記音声データの目標データ量、および、計数
した前記音声データのデータ量とに基づいて、当該映像
フレーム周期に配分する前記音声データのデータ量を算
出する請求項5に記載のデータ多重化方法。 - 【請求項8】前記音声データおよび前記映像データに付
加する付加データを生成し、 生成した付加データを、さらに前記所定のトランスポー
トストリームに多重化する請求項5に記載のデータ多重
化方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP7183497A JPH10271463A (ja) | 1997-03-25 | 1997-03-25 | データ多重化装置およびその方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP7183497A JPH10271463A (ja) | 1997-03-25 | 1997-03-25 | データ多重化装置およびその方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH10271463A true JPH10271463A (ja) | 1998-10-09 |
Family
ID=13471982
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP7183497A Pending JPH10271463A (ja) | 1997-03-25 | 1997-03-25 | データ多重化装置およびその方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH10271463A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2010033125A (ja) * | 2008-07-25 | 2010-02-12 | Hitachi Ltd | ストレージ装置及びデータ転送方法 |
-
1997
- 1997-03-25 JP JP7183497A patent/JPH10271463A/ja active Pending
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2010033125A (ja) * | 2008-07-25 | 2010-02-12 | Hitachi Ltd | ストレージ装置及びデータ転送方法 |
| US8352663B2 (en) | 2008-07-25 | 2013-01-08 | Hitachi, Ltd. | Data storage apparatus and method of data transfer |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3103301B2 (ja) | Mpeg1規格により符号化された音声映像信号ストリームの多重化方法 | |
| US6327421B1 (en) | Multiple speed fast forward/rewind compressed video delivery system | |
| US6542518B1 (en) | Transport stream generating device and method, and program transmission device | |
| KR100226528B1 (ko) | 다중화 압축화상/음성데이타의 복호장치 | |
| US5963256A (en) | Coding according to degree of coding difficulty in conformity with a target bit rate | |
| JP3976759B2 (ja) | 音声信号と映像信号を同期させる装置 | |
| EP0634870B1 (en) | Synchronizing method for time division multiplexed video and audio signals | |
| EP0634867B1 (en) | Compressed and coded data recording method | |
| JP3666625B2 (ja) | データ記録方法およびデータ記録装置 | |
| CN100353766C (zh) | 数据流重放设备和方法、数字广播接收器和相关的计算机程序 | |
| EP0826289B1 (en) | Data multiplexing apparatus | |
| US8104067B2 (en) | Apparatus for receiving and playing back data | |
| JPH0730886A (ja) | 画像および音声信号処理方法とその装置 | |
| JP3277971B2 (ja) | データ多重化装置、データ多重化方法及びデータ記録媒体 | |
| JPH08275151A (ja) | 多重化圧縮画像音声データの分配復号装置 | |
| JPH10271463A (ja) | データ多重化装置およびその方法 | |
| JPH09312625A (ja) | データ多重化装置およびその方法 | |
| JP2005151463A (ja) | ストリームデータ受信装置およびストリームデータ受信方法 | |
| JPH09312656A (ja) | 伝送装置およびその方法 | |
| JPH10271482A (ja) | 符号化映像の同期再生制御方法およびシステム | |
| JPH11298893A (ja) | トランスポートストリーム同期回路 | |
| JP2823806B2 (ja) | 画像復号装置 | |
| JPH09284732A (ja) | 音声・映像データ生成装置およびその方法 | |
| JPH09261604A (ja) | ディジタル信号符号化方法および装置、ディジタル信号伝送方法および装置、並びに記録媒体 | |
| JPH1051769A (ja) | 同期データ生成装置およびその方法 |