JP4147452B2 - 多重化装置および方法、記録媒体、並びにプログラム - Google Patents
多重化装置および方法、記録媒体、並びにプログラム Download PDFInfo
- Publication number
- JP4147452B2 JP4147452B2 JP2002019032A JP2002019032A JP4147452B2 JP 4147452 B2 JP4147452 B2 JP 4147452B2 JP 2002019032 A JP2002019032 A JP 2002019032A JP 2002019032 A JP2002019032 A JP 2002019032A JP 4147452 B2 JP4147452 B2 JP 4147452B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- type
- unit data
- stream
- bit rate
- 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
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Time-Division Multiplex Systems (AREA)
- Television Systems (AREA)
Description
【発明の属する技術分野】
本発明は、多重化装置および方法、記録媒体、並びにプログラムに関し、特に、多重化されているストリームの内容を容易に変更することができるようにした多重化装置および方法、記録媒体、並びにプログラムに関する。
【0002】
【従来の技術】
映像、および音声、並びにこれらに関連した字幕、静止画などの情報を、1つのストリームに多重化して記録または伝送するための規格として、MPEG(Moving Picture Experts Group)システム規格(ISO/IEC13818-1)が存在する。
【0003】
例えば、ヨーロッパ領域で行われているDVB(Digital Video Broadcasting)、または日本国で行われているBS(Broadcasting Satellite)デジタル放送などのデジタルテレビジョン放送においては、MPEG2トランスポートストリームが用いられ、またDVD-videoフォーマット、またはDVD-VR(Video Recording)フォーマットなどの記録においては、MPEGプログラムストリームが用いられている。
【発明が解決しようとする課題】
ところで、MPEGトランスポートストリームまたはMPEGプログラムストリームに多重化されている、例えば、ビデオストリームまたはオーディオストリームのビットレートを低くする場合など、特定のストリームの内容を変更した場合、多重化されている全てのストリームを分離し、所定のストリームに処理を施し、そしてその後、全てのストリームを再多重化する必要があった。
【0004】
通常、再多重化を行う場合、多くの演算が必要になるとともに、分離したストリームを個別に記憶するためのメモリを用意し、それを管理しなければならないので、結局、特定のストリームの内容を変更する場合、時間がかかったり、装置の構成が煩雑になる課題があった。
【0005】
本発明はこのような状況に鑑みてなされたものであり、多重化されている所定のストリームの内容を容易に変更することができるようにするものである。
【0006】
【課題を解決するための手段】
本発明の多重化装置は、少なくとも3種類のデータが所定の長さの単位データ毎に多重化されているビットストリームを受信する受信手段と、ビットストリームから、第1の種類のデータを取り出す取り出し手段と、取り出し手段により取り出された第1の種類のデータのビットレートを変換する処理を施す処理手段と、ビットストリームにおける第1の種類以外の種類の単位データの間隔の長さを、単位データの到達時刻に基づいて算出するとともに、単位データの長さおよび所望のビットストリームのビットレートに基づいて、その間に挿入できる単位データの量を算出する算出手段と、算出手段により算出された単位データの量ずつ、ビットレートが変換された第1の種類のデータを、第1の種類以外の種類の単位データの間に挿入し、単位データを詰めて多重化することにより、ビットレートが変換された第1の種類のデータと、第1の種類以外の種類のデータを再多重化する再多重化手段とを備えることを特徴とする。
【0007】
本発明の多重化方法は、少なくとも3種類のデータが所定の長さの単位データ毎に多重化されているビットストリームを受信する受信ステップと、ビットストリームから、第1の種類のデータを取り出す取り出しステップと、取り出しステップの処理で取り出された第1の種類のデータのビットレートを変換する処理を施す処理ステップと、ビットストリームにおける第1の種類以外の種類の単位データの間隔の長さを、単位データの到達時刻に基づいて算出するとともに、単位データの長さおよび所望のビットストリームのビットレートに基づいて、その間に挿入できる単位データの量を算出する算出ステップと、算出ステップの処理で算出された単位データの量ずつ、ビットレートが変換された第1の種類のデータを、第1の種類以外の種類の単位データの間に挿入し、単位データを詰めて多重化することにより、ビットレートが変換された第1の種類のデータと、第1の種類以外の種類のデータを再多重化する再多重化ステップとを含むことを特徴とする。
【0008】
本発明の記録媒体のプログラムは、少なくとも3種類のデータが所定の長さの単位データ毎に多重化されているビットストリームを受信する受信ステップと、ビットストリームから、第1の種類のデータを取り出す取り出しステップと、取り出しステップの処理で取り出された第1の種類のデータのビットレートを変換する処理を施す処理ステップと、ビットストリームにおける第1の種類以外の種類の単位データの間隔の長さを、単位データの到達時刻に基づいて算出するとともに、単位データの長さおよび所望のビットストリームのビットレートに基づいて、その間に挿入できる単位データの量を算出する算出ステップと、算出ステップの処理で算出された単位データの量ずつ、ビットレートが変換された第1の種類のデータを、第1の種類以外の種類の単位データの間に挿入し、単位データを詰めて多重化することにより、ビットレートが変換された第1の種類のデータと、第1の種類以外の種類のデータを再多重化する再多重化ステップとを含むことを特徴とする。
【0009】
本発明のプログラムは、少なくとも3種類のデータが所定の長さの単位データ毎に多重化されているビットストリームを受信する受信ステップと、ビットストリームから、第1の種類のデータを取り出す取り出しステップと、取り出しステップの処理で取り出された第1の種類のデータのビットレートを変換する処理を施す処理ステップと、ビットストリームにおける第1の種類以外の種類の単位データの間隔の長さを、単位データの到達時刻に基づいて算出するとともに、単位データの長さおよび所望のビットストリームのビットレートに基づいて、その間に挿入できる単位データの量を算出する算出ステップと、算出ステップの処理で算出された単位データの量ずつ、ビットレートが変換された第1の種類のデータを、第1の種類以外の種類の単位データの間に挿入し、単位データを詰めて多重化することにより、ビットレートが変換された第1の種類のデータと、第1の種類以外の種類のデータを再多重化する再多重化ステップとを含むことを特徴とする。
【0010】
本発明の第1の多重化装置および方法、並びにプログラムにおいては、少なくとも3種類のデータが所定の長さの単位データ毎に多重化されているビットストリームが受信され、ビットストリームから、第1の種類のデータが取り出され、取り出された第1の種類のデータのビットレートが変換され、ビットストリームにおける第1の種類以外の種類の単位データの間隔の長さが、単位データの到達時刻に基づいて算出されるとともに、単位データの長さおよび所望のビットストリームのビットレートに基づいて、その間に挿入できる単位データの量が算出され、算出された単位データの量ずつ、ビットレートが変換された第1の種類のデータが、第1の種類以外の種類の単位データの間に挿入され、単位データが詰めて多重化されることにより、ビットレートが変換された第1の種類のデータと、第1の種類以外の種類のデータが再多重化される。
【0011】
【発明の実施の形態】
図1は、本発明を適用した記録装置の構成例を示している。
【0012】
チューナ1は、受信した電波を復調し、番組選択情報により選局されたチャンネルの、MPEG(Moving Picture Experts Group)2の規格に準拠して符号化されたMPEGトランスポートストリームを、デマルチプレクサ2に出力する。
【0013】
デマルチプレクサ2は、チューナ1から供給されたMPEGトランスポートストリームから、番組選択情報により選択された番組を構成するストリームを抽出するとともに、抽出したストリームを、PID(packet ID)に基づいてビデオストリームと、ビデオストリーム以外のストリーム(オーディオデータや制御データからなるストリーム)に分解し、ビデオストリームをビデオデコーダ3に供給し、ビデオストリーム以外のストリームを、到着時刻付加部6に供給する。
【0014】
例えば、図2Aに示すMPEGトランスポートストリームがデマルチプレクサ2に入力された場合、例えば、到着時刻付加部6には、図中、”V”が付されている、ビデオストリームのパケットのみが取り出された、図2Bに示すような、オーディオデータのパケットP0,P1,P3,・・・と、制御データのパケットP2,・・・からなるストリームが供給される。なお、このストリームにおいて、各パケットの位置(パケットの間隔)は、元のMPEGトランスポートストリームにおける状態が保持されている。
【0015】
ビデオデコーダ3は、デマルチプレクサ2から入力されたビデオストリームを、MPEG2の規格に準拠してデコードし、その結果得られたビデオ信号をビデオエンコーダ4に供給する。ビデオデコーダ3はこのとき、ビデオストリームに組み込まれている表示時刻情報を抽出し、スケジューラ8に供給する。
【0016】
ビデオエンコーダ4は、ビデオデコーダ3からのビデオ信号を、要求されるビットレートで(例えば、元のビットレートより低いビットレートで)、MPEG2の規格に準拠してエンコードし、その結果得られたビデオストリームを、バッファメモリ5を介してマルチプレクサ9に供給する。ビデオエンコーダ4はこのとき、例えば、Picture Coding Type、発生ビット量、Top Field First Flag、Repeat First Field Flag等のアクセスユニット情報を、スケジューラ8に供給する。
【0017】
到着時刻付加部6は、入力された、ビデオストリーム以外のストリームを構成するパケットに、そのパケットが記録装置に到着した時刻を表す到着時刻情報を付加する。到着時刻情報が付加されたパケットは、バッファメモリ7に供給されて一時的に記憶される。
【0018】
例えば、到着時刻付加部6に、図2Bに示したストリームが入力される場合、例えば、パケットP0の到着時刻は、時刻t0であるので、パケットP0には、図2Cに示すように、時刻t0を表す到着時刻情報(図中、ATSと示されている)が付加されてバッファメモリ7に記憶される。同様に、パケットP1には、時刻t1を表す時刻情報が、パケットP2には、時刻t2を表す時刻情報が、そしてパケットP3には、時刻t3を表す時刻情報がそれぞれ付加されてバッファメモリ7に記憶される。
【0019】
なお、到着時刻情報は、多重化の時間間隔を復元できるものであればよく、例えば、27MHzのクロックのカウント値などが利用される。また、図2Cの例では、到着時刻情報がパケットの先頭に付加されているが、後で取り除くことができれば、他の場所に付加することもできる。
【0020】
スケジューラ8は、ビデオデコーダ3から入力される表示時刻情報、ビデオエンコーダ4から入力されるアクセスユニット情報、およびマルチプレクサ9から入力される到着時刻情報(ビデオストリーム以外のストリームを構成するパケットに付加された到着時刻情報)に基づく多重化スケジュールに従って、マルチプレクサ9の多重化を制御する。なお、多重化を制御する際、スケジューラ8は、ビデオストリームを構成するパケットに付加される到着時刻情報をマルチプレクサ9に供給する。
【0021】
マルチプレクサ9は、バッファメモリ7に記憶されているビデオストリーム以外のストリームを構成するパケットを適宜読み出し、それに付加された到着時刻情報を読み取り、スケジューラ8に通知する。
【0022】
マルチプレクサ9は、バッファメモリ5に記憶されているビデオストリームを構成するパケットを適宜読み出し、それに、スケジューラ8から供給される到着時刻情報を付加する。
【0023】
マルチプレクサ9は、スケジューラ8の制御に従い、バッファメモリ7から読み出したビデオストリーム以外のストリームのパケットと、バッファメモリ5から読み出したビデオストリームのパケットを多重化し、その結果得られたMPEGトランスポートストリームを誤り訂正部10に供給する。
【0024】
例えば、図2Dに示すように多重化されたMPEGトランスポートストリームが、誤り訂正部10に供給される。
【0025】
誤り訂正部10に供給されたMPEGトランスポートストリームは、そこで誤り訂正がなされ、そして変調された後、記録ヘッド12を介して、記録媒体13に供給されて記録される。
【0026】
以上のように、ビデオストリームのパケット、およびビデオストリーム以外のストリームのパケットに、多重化間隔を復元するための到着時刻情報を付加したので、再多重化されたMPEGトランスポートストリームは、図2Eに示すように、記録時の時間間隔を保持した状態で再生される。
【0027】
次に、MPEGトランスポートストリームを記録する場合のスケジューラ8の動作を、図3のフローチャートを参照して説明する。
【0028】
ステップS10において、スケジューラ8は、1つのパケットを多重化する(挿入する)のに必要な時間T0を、次式に基づいて算出する。
T0(sec)=パケット長(bit)/Rmux(bps)
パケット長は、MPEGトランスポートストリームでは、188×8ビットと一定である。Rmuxは、多重化レートである。
【0029】
ここで算出された時間T0は、スケジューラ8に内蔵されるメモリに記憶される。
【0030】
次に、ステップS11において、スケジューラ8は、多重化されていないパケットが残っているか否かを判定し、残っていると判定した場合、すなわち、ストリームが終了していない場合、ステップS12に進む。
【0031】
ステップS12において、スケジューラ8は、マルチプレクサ9から入力された到着時刻情報(例えば、いまマルチプレクサ9によりバッファメモリ7から読み出されたビデオストリーム以外のストリームを構成するパケットPcurの到着時刻情報)を読み取り、それが表す時刻を時刻tcurとして記憶する。
【0032】
例えば図2CのパケットP1がマルチプレクサ9に付加された到着時刻情報が読み取られ、それが表す時刻t1が時刻tcurとして記憶される。
【0033】
次に、ステップS13において、スケジューラ8は、時刻tcurと、前回のここでの処理でマルチプレクサ9から入力された到着時刻情報(パケットPcurより1つ前にマルチプレクサ9によりバッファメモリ7から読み出されたパケットPprevの到着時刻情報)を表す時刻tprevを用いて、下記の式に示すように、その差分Tdiffを算出する。
Tdiff=tprev−tcur
【0034】
例えば、図4に示すように、例えば、図2BにおけるパケットP0(パケットPprev)とパケットP1(パケットPcur)との間隔が、Tdiffとして算出される。
【0035】
スケジューラ8はその後、パケットPcurの到着時刻情報が表す時刻tcur(パケットP1の到着時刻情報が表す時刻t1)を、時刻tprevとして記憶する。
【0036】
ステップS14において、スケジューラ8は、ステップS13で算出したTdiffが値0より大きいか否かを判定し、大きいと判定した場合、ステップS15に進み、下記の式を算出して、Tdiffに(パケットPprevとパケットPcurの間に)挿入することができるビデオストリームのパケット数Nを算出する。
【0037】
N=(Tdiff/T0)−1
【0038】
例えば、図4に示すように、パケットP1とパケットP0が、パケットPprevとパケットPcurである場合のTdiffに挿入することができるビデオストリームのパケット数Nは、3である。
【0039】
ステップS16において、スケジューラ8は、ステップS15で算出したパケット数Nが0であるか否かを判定し、0ではないと判定した場合、ステップS17に進む。
【0040】
ステップS17において、スケジューラ8は、T-STDのバッファに、1つのパケットを蓄えることができる分の空きが存在するか否かを確認し、ステップS18において、その確認結果に基づいて、ビデオストリームのパケットを多重化できるか否かを判定する。なお、ステップS17の処理の詳細は、後述する。
【0041】
ステップS18で、多重化できると判定された場合、ステップS19に進み、スケジューラ8は、マルチプレクサ9に対して多重化を指示する。
【0042】
次に、ステップS20において、スケジューラ8は、パケット数Nから値1を減算するとともに、ステップS21において、現在の時刻に時間T0を加算して得られた時刻を、ビデオストリームのパケットに付加される到着時刻情報として、マルチプレクサ9に供給する。
【0043】
なお、現在の時刻および時間T0は、ともにMPEGトランスポートストリームのPCRに基づくタイムスケール上の時刻および時間であって、到着時刻付加部6でビデオストリーム以外のストリームのパケットに付加された到着時刻は、到着時刻付加部6独自のタイムスケール上の時刻であるので、互いのタイムスケールが異なるので、ビデオストリームと、ビデオストリーム以外のストリームを多重化する際においては、互いのタイムスケールを統一する必要がある。
【0044】
タイムスケールの統一は、ビデオストリームのパケットに付加される到着時刻情報を、到着時刻付加部6のタイムスケールに変更するか、またはビデオストリーム以外のストリームのパケットに付加されている到着時刻情報を、PCRのタイムスケールに変更することにより可能となるが、いまの場合、ビデオストリームのパケットに付加される到着時刻情報(現在の時刻に時間T0を加算して得られた時刻)を、到着時刻付加部6のタイムスケールに変換するものとする。
【0045】
その後、処理は、ステップS16に戻り、それ以降の処理が行われる。
【0046】
マルチプレクサ9は、スケジューラ8から多重化の指令を受けると(ステップS19)、バッファメモリ5からビデオストリームのパケットを1つ読み出し、それにスケジューラ8から供給された到着時刻情報(ステップS21)を付加するとともに、パケットPprevから詰めて多重化する(挿入する)。なお、パケットPprevは、前回行われた後述するステップS22で多重化されている。
【0047】
ステップS18で、ビデオストリームのパケットを多重化することができないと判定された場合、ステップS19の処理はスキップされ、ステップS20に進む。すなわち、この場合、ステップS21で到着時刻情報がマルチプレクサ9に供給されるが、多重化が指示されないので(ステップS19)、ビデオストリームのパケットの多重化は行われない。
【0048】
ステップS16で、パケット数N=0であると判定された場合、すなわち、Tdiffに挿入することができる数分のパケットがすべて多重化された場合、ステップS22に進み、スケジューラ8は、ビデオストリーム以外のストリームのパケットの多重化を指示する。
【0049】
マルチプレクサ9はこのとき、ビデオストリーム以外のストリームのパケットPcurを、ステップS19の処理における指示で多重化されたビデオストリームのパケットに続けて多重化(挿入)する。これにより、例えば、図2Dに示すように、3個のビデオストリームのパケットが、パケットP0とパケットP1の間に挿入される(多重化される)。
【0050】
その後、ステップS11に戻り、それ以降の処理が実行される。
【0051】
ステップS11において、多重化されるパケットが残っていないと判定された場合、スケジューラ8は、処理を終了させる。
【0052】
以上のように、本発明では、その内容を変更する(例えば、ビットレートを変更する)ストリーム(例えば、ビデオストリーム)とそれ以外のストリームに分割されるので、2つのバッファを用意すればよく、装置の構成を簡単なものにすることができる。また、多重化に必要な演算は、実質、Tdiffの算出(ステップS13)およびパケット数Nの算出(ステップS15)だけであるので、迅速に、多重化処理を行うことができる。
【0053】
以上においては、MPEGトランスポートストリームを記録する場合を例として説明したが、以下において、MPEGプログラムストリームを記録する場合について説明する。
【0054】
このときデマルチプレクサ2は、チューナ1から供給されたMPEGプログラムストリームから、番組選択情報により選択された番組を構成するストリームを抽出するとともに、抽出したストリームを、ストリームIDに基づいてビデオストリームと、ビデオストリーム以外のストリーム(オーディオデータや制御データからなるストリーム)に分解し、ビデオストリームをビデオデコーダ3に供給し、ビデオストリーム以外のストリームを、到着時刻付加部6に供給する。
【0055】
例えば、図5Aに示すMPEGプログラムストリームがデマルチプレクサ2に入力された場合、例えば、到着時刻付加部6には、図中、”V”が付されている、ビデオストリームのパックのみが取り出された、図5Bに示すような、オーディオデータのパック(”A”が付されているパック)と、制御データのパック”D”が付されているパック)からなるストリームが供給される。なお、このストリームにおいて、各パックの位置(パックの間隔)は、元のMPEGプログラムストリームにおける状態が保持されている。
【0056】
ビデオデコーダ3は、デマルチプレクサ2から入力されたビデオストリームを、MPEG2の規格に準拠してデコードし、その結果得られたビデオ信号をビデオエンコーダ4に供給する。ビデオデコーダ3はこのとき、ビデオストリームに組み込まれている表示時刻情報を抽出し、スケジューラ8に供給する。
【0057】
ビデオエンコーダ4は、ビデオデコーダ3からのビデオ信号を、要求されるビットレートで(例えば、元のビットレートより低いビットレートで)、MPEG2の規格に準拠してエンコードし、その結果得られたビデオストリームを、バッファメモリ5を介してマルチプレクサ9に供給する。ビデオエンコーダ4はこのとき、アクセスユニット情報をスケジューラ8に供給する。
【0058】
例えば、到着時刻付加部6に、図2Bに示したストリームが入力される場合、図2Cに示すように、ビデオストリーム以外のストリームを構成するパックに、そのパックが記録装置に到着した時刻を表す到着時刻情報が付加されてバッファメモリ7に記憶される。
【0059】
スケジューラ8は、ビデオデコーダ3から入力された表示時刻情報、ビデオエンコーダ4から入力されるアクセスユニット情報、およびマルチプレクサ9から入力される到着時刻情報(ビデオストリーム以外のストリームを構成するパックに付加された到着時刻情報)に基づく多重化スケジュールに従って、マルチプレクサ9の多重化を制御する。なお、多重化を制御する際、スケジューラ8は、ビデオストリームを構成するパックに付加される到着時刻情報をマルチプレクサ9に供給する。
【0060】
マルチプレクサ9は、スケジューラ8の制御に従って多重化を行い、その結果得られた、例えば、図5Dに示すようなMPEGプログラムストリームを誤り訂正部10に供給する。
【0061】
このようにして記録されたMPEGプログラムストリームは、図5Eに示すように記録時の時間間隔が保持されて再生される。
【0062】
次に、MPEGプログラムストリームを記憶する場合のスケジューラ8の動作を、図6のフローチャートを参照して説明する。
【0063】
ステップS30において、スケジューラ8は、1つのパックを多重化するのに必要な時間T0を、次式に基づいて算出する。パック長は、任意の長さに設定することができる。Rmuxは、多重化レートである。
T0(sec)=パック長(bit)/Rmux(bps)
【0064】
ここで算出された時間T0は、スケジューラ8に内蔵されるメモリに記憶される。
【0065】
次に、ステップS31において、スケジューラ8は、多重化されていないパックが残っているか否かを判定し、残っていると判定した場合、すなわち、ストリームが終了していない場合、ステップS32に進む。
【0066】
ステップS32において、スケジューラ8は、マルチプレクサ9から供給された到着時刻情報(例えば、いまマルチプレクサ9により読み出されたビデオストリーム以外のストリームを構成するパックPcurの到着時刻情報)を読み取り、それが表す時刻を時刻tcurとして記憶する。
【0067】
次に、ステップS33において、スケジューラ8は、時刻tcurと、前回のここでの処理でマルチプレクサ9より入力された到着時刻情報(パックPcurより1つ前にバッファメモリ7からマルチプレクサ9により読み出されたパックPprevの到着時刻情報)を表す時刻tprevを用いて、下記の式に示すように、その差分Tdiffを算出する。
Tdiff=tprev−tcur
【0068】
スケジューラ8はその後、パックPcurの到着時刻情報が表す時刻tcurを、時刻tprevとして記憶する。
【0069】
ステップS34において、スケジューラ8は、ステップS33で算出したTdiffが値0より大きいか否かを判定し、大きいと判定した場合、ステップS35に進み、下記の式を算出して、Tdiffに(パックPprevとパックPcurの間に)挿入することができるビデオストリームのパック数Nを算出する。
【0070】
N=(Tdiff/T0)−1
【0071】
ステップS36において、スケジューラ8は、ステップS35で算出したパック数Nが0であるか否かを判定し、0ではないと判定した場合、ステップS37に進む。
【0072】
ステップS37において、スケジューラ8は、P-STDのバッファに、1つのパックを蓄えることができる分の空きが存在するか否かを確認し、ステップS38において、その確認結果に基づいて、ビデオストリームのパックを多重化できるか否かを判定する。なお、ステップS37の処理の詳細は、後述する。
【0073】
ステップS38で、多重化できると判定された場合、ステップS39に進み、スケジューラ8は、マルチプレクサ9に対して多重化を指示する。
【0074】
次に、ステップS40において、スケジューラ8は、パック数Nから値1を減算するとともに、ステップS41において、現在の時刻に時間T0を加算して得られた時刻を、ビデオストリームのパックに付加される到着時刻情報として、マルチプレクサ9に供給する。
【0075】
タイムスケールの統一は、ビデオストリームのパックに付加される到着時刻情報(現在の時刻に時間T0を加算して得られた時刻)を、到着時刻付加部6のタイムスケールに変換して行われる。
【0076】
その後、処理は、ステップS36に戻り、それ以降の処理が行われる。
【0077】
マルチプレクサ9は、スケジューラ8から多重化の指令を受けると(ステップS39)、バッファメモリ5からビデオストリームのパックを1つ読み出し、それにスケジューラ8から供給された到着時刻情報(ステップS41)を付加するとともに、パックPprevから詰めて多重化する(挿入する)。
【0078】
ステップS38で、ビデオストリームのパックを多重化することができないと判定された場合、ステップS39の処理はスキップされ、ステップS40に進む。すなわち、この場合、ステップS41で到着時刻情報がマルチプレクサ9に供給されるが、多重化が指示されないので(ステップS39)、ビデオストリームのパックの多重化は行われない。
【0079】
ステップS36で、パック数N=0であると判定された場合、すなわち、Tdiffに挿入することができる数分のパックがすべて挿入(多重化)された場合、ステップS42に進み、スケジューラ8は、ビデオストリーム以外のストリームのパックの多重化を指示する。
【0080】
マルチプレクサ9はこのとき、ビデオストリーム以外のストリームのパックPcurを、ステップS39の処理における指示で多重化されたビデオストリームのパックに続けて多重化(挿入)する。
【0081】
その後、ステップS31に戻り、それ以降の処理が実行される。
【0082】
ステップS31において、多重化されるパックが残っていないと判定された場合、スケジューラ8は、処理を終了させる。
【0083】
次に、図3のステップS17または図6のステップS37における処理について説明する。なお、ここでは、図6のステップS37の処理を例として説明する。
【0084】
図7は、P-STDの構成例を示している。
【0085】
バッファ21には、ビデオストリームのパックが入力され、一時的に記憶される。バッファ21に記憶されたビデオストリームのパックは、ビデオデコーダ3から供給された表示時刻情報(DTS(Decoding Time Stamp))が示す時刻になったタイミングで、アクセスユニット(AU)(フレームまたはフィールド)単位で引き抜かれ、デコーダ22に供給される。
【0086】
デコーダ22に供給されたアクセスユニットは、そこでデコードされた後、直接またはバッファ23で並べ替えられた後出力される。
【0087】
バッファ24には、オーディオストリームのパックが入力され、一時的に記憶される。バッファ24に記憶されたオーディオストリームのパックは、ビデオデコーダ3から供給された表示時刻情報が示す時刻になったタイミングで、アクセスユニット(フレーム)単位で引き抜かれ、デコーダ25に供給される。
【0088】
デコーダ25に供給されたアクセスユニットは、そこでデコードされた後、出力される。
【0089】
前述したビデオストリームのみ再エンコードする構成例では、ビデオストリームのバッファのみ考慮すればよい。
【0090】
図8のフローチャートには、ステップS37における処理の詳細が示されている。
【0091】
ステップS50において、バッファ21に蓄えられている各アクセスユニットの表示時刻情報のうち、SCR(図6の現在時刻)以上の値であるものが存在するか否かが判定され、存在すると判定された場合、ステップS51に進み、SCR以上の表示時刻情報に対応するアクセスユニット分のデータ量が、バッファ21の占有量から減算される。
【0092】
ステップS50で、SCR以上の表示時刻情報が存在しないと判定されたとき、またはステップS51で、バッファ21の占有量が減算されたとき、ステップS52に進む。
【0093】
ステップS52において、バッファ21に1パックを蓄えることができる分の空きが存在するか否かが判定され、空きが存在しないと判定された場合、ステップS53に進み、P-STDには、1つのパックを蓄えることができる分の空きが存在しない旨が確認される。
【0094】
一方、ステップS52で、空きがあると判定された場合、ステップS54に進み、バッファ21の占有量に1パック分のデータ量が加算され、その後、ステップS55において、P-STDには、1つのパックを蓄えることができる分の空きが存在する旨が確認される。
【0095】
ステップS53またはステップS55で、バッファ21の空き状態が確認されたとき、処理は終了し、図6のステップS38に進む。
【0096】
図9は、本発明を適用した他の記録装置の構成例が示されている。この記録装置には、図1のビデオデコーダ3乃至バッファメモリ5が2組設けられている(ビデオデコーダ3−1乃至バッファメモリ5−1、およびビデオデコーダ3−2乃至バッファメモリ5−2が設けられている)。すなわち、この場合、2チャンネル分のMPEGトランスポートストリームまたはMPEGプログラムストリームを、上述したように記録することができる。
【0097】
図10は、上述のような記録再生装置として機能するコンピュータ101の一実施の形態の構成を示すブロック図である。CPU(Central Processing Unit)111にはバス115を介して入出力インタフェース116が接続されており、CPU111は、入出力インタフェース116を介して、ユーザから、キーボード、マウスなどよりなる入力部118から指令が入力されると、例えば、ROM112、ハードディスク114、またはドライブ120に装着される磁気ディスク131、光ディスク132、光磁気ディスク133、若しくは半導体メモリ134などの記録媒体に格納されているプログラムを、RAM113にロードして実行する。これにより、上述した各種の処理が行われる。さらに、CPU111は、その処理結果を、例えば、入出力インタフェース116を介して、LCD(Liquid Crystal Display)などよりなる出力部117に必要に応じて出力する。なお、プログラムは、ハードディスク114やROM112に予め記憶しておき、コンピュータ101と一体的にユーザに提供したり、磁気ディスク131、光ディスク132、光磁気ディスク133,半導体メモリ134等のパッケージメディアとして提供したり、衛星、ネットワーク等から通信部119を介してハードディスク114に提供することができる。
【0098】
【発明の効果】
本発明の多重化装置および方法、並びにプログラムによれば、第1の多重化ストリームの到着時刻に基づいて、第1の多重化ストリームに挿入できるデータ量を算出し、算出されたデータ量分のデータを、第1の多重化ストリームに挿入されて、第2の多重化ストリームを多重化するようにしたので、容易に再多重化することができる。
【図面の簡単な説明】
【図1】本発明を適用した記録装置の構成例を示すブロック図である。
【図2】図1の記録装置の記録処理を説明する図である。
【図3】図1のスケジューラの動作を説明するフローチャートである。
【図4】図1のスケジューラの動作を説明する図である。
【図5】図1の記録装置の記録処理を説明する他の図である。
【図6】図1のスケジューラの他の動作を説明するフローチャートである。
【図7】 P-STDの構成例を示すブロック図である。
【図8】図6のステップS37の処理を説明するフローチャートである。
【図9】本発明を適用した記録装置の他の構成例を示す図である。
【図10】パーソナルコンピュータ101の構成例を示すブロック図である。
【符号の説明】
1 チューナ, 2 デマルチプレクサ, 3 ビデオデコーダ, 4 ビデオエンコーダ, 5 バッファメモリ, 6 到着時刻付加部, 7 バッファメモリ, 8 スケジューラ, 9 マルチプレクサ, 10 誤り訂正部, 11 変調部, 12 記録ヘッド, 13 記録媒体
Claims (4)
- 少なくとも3種類のデータが所定の長さの単位データ毎に多重化されているビットストリームを受信する受信手段と、
前記ビットストリームから、第1の種類のデータを取り出す取り出し手段と、
前記取り出し手段により取り出された前記第1の種類のデータのビットレートを変換する処理を施す処理手段と、
前記ビットストリームにおける前記第1の種類以外の種類の前記単位データの間隔の長さを、前記単位データの到達時刻に基づいて算出するとともに、前記単位データの長さおよび所望のビットストリームのビットレートに基づいて、その間に挿入できる前記単位データの量を算出する算出手段と、
前記算出手段により算出された前記単位データの量ずつ、ビットレートが変換された前記第1の種類のデータを、前記第1の種類以外の種類の前記単位データの間に挿入し、前記単位データを詰めて多重化することにより、ビットレートが変換された前記第1の種類のデータと、前記第1の種類以外の種類のデータを再多重化する再多重化手段と
を備えることを特徴とする多重化装置。 - ビットストリームを再多重化する多重化装置の多重化方法において、
少なくとも3種類のデータが所定の長さの単位データ毎に多重化されているビットストリームを受信する受信ステップと、
前記ビットストリームから、第1の種類のデータを取り出す取り出しステップと、
前記取り出しステップの処理で取り出された前記第1の種類のデータのビットレートを変換する処理を施す処理ステップと、
前記ビットストリームにおける前記第1の種類以外の種類の前記単位データの間隔の長さを、前記単位データの到達時刻に基づいて算出するとともに、前記単位データの長さおよび所望のビットストリームのビットレートに基づいて、その間に挿入できる前記単位データの量を算出する算出ステップと、
前記算出ステップの処理で算出された前記単位データの量ずつ、ビットレートが変換された前記第1の種類のデータを、前記第1の種類以外の種類の前記単位データの間に挿入し、前記単位データを詰めて多重化することにより、ビットレートが変換された前記第1の種類のデータと、前記第1の種類以外の種類のデータを再多重化する再多重化ステップと
を含むことを特徴とする多重化方法。 - ビットストリームを再多重化する多重化装置のプログラムであって、
少なくとも3種類のデータが所定の長さの単位データ毎に多重化されているビットストリームを受信する受信ステップと、
前記ビットストリームから、第1の種類のデータを取り出す取り出しステップと、
前記取り出しステップの処理で取り出された前記第1の種類のデータのビットレートを変換する処理を施す処理ステップと、
前記ビットストリームにおける前記第1の種類以外の種類の前記単位データの間隔の長さを、前記単位データの到達時刻に基づいて算出するとともに、前記単位データの長さおよび所望のビットストリームのビットレートに基づいて、その間に挿入できる前記単位データの量を算出する算出ステップと、
前記算出ステップの処理で算出された前記単位データの量ずつ、ビットレートが変換された前記第1の種類のデータを、前記第1の種類以外の種類の前記単位データの間に挿入し、前記単位データを詰めて多重化することにより、ビットレートが変換された前記第1の種類のデータと、前記第1の種類以外の種類のデータを再多重化する再多重化ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記
録媒体。 - ビットストリームを再多重化する多重化装置のプログラムであって、
少なくとも3種類のデータが所定の長さの単位データ毎に多重化されているビットストリームを受信する受信ステップと、
前記ビットストリームから、第1の種類のデータを取り出す取り出しステップと、
前記取り出しステップの処理で取り出された前記第1の種類のデータのビットレートを変換する処理を施す処理ステップと、
前記ビットストリームにおける前記第1の種類以外の種類の前記単位データの間隔の長さを、前記単位データの到達時刻に基づいて算出するとともに、前記単位データの長さおよび所望のビットストリームのビットレートに基づいて、その間に挿入できる前記単位データの量を算出する算出ステップと、
前記算出ステップの処理で算出された前記単位データの量ずつ、ビットレートが変換された前記第1の種類のデータを、前記第1の種類以外の種類の前記単位データの間に挿入し、前記単位データを詰めて多重化することにより、ビットレートが変換された前記第1の種類のデータと、前記第1の種類以外の種類のデータを再多重化する再多重化ステップと
を含む処理をコンピュータに実行させることを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002019032A JP4147452B2 (ja) | 2002-01-28 | 2002-01-28 | 多重化装置および方法、記録媒体、並びにプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002019032A JP4147452B2 (ja) | 2002-01-28 | 2002-01-28 | 多重化装置および方法、記録媒体、並びにプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003224831A JP2003224831A (ja) | 2003-08-08 |
JP4147452B2 true JP4147452B2 (ja) | 2008-09-10 |
Family
ID=27743104
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002019032A Expired - Fee Related JP4147452B2 (ja) | 2002-01-28 | 2002-01-28 | 多重化装置および方法、記録媒体、並びにプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4147452B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2925814A1 (fr) * | 2007-12-19 | 2009-06-26 | Thomson Licensing Sas | Dispositif et procede de reception de paquets de donnees video. |
-
2002
- 2002-01-28 JP JP2002019032A patent/JP4147452B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003224831A (ja) | 2003-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4828760B2 (ja) | データストリームの変換方法と装置 | |
JP4538908B2 (ja) | データ変換装置及び方法 | |
KR100226528B1 (ko) | 다중화 압축화상/음성데이타의 복호장치 | |
JP4731083B2 (ja) | データストリームの変換方法と装置 | |
JP4837868B2 (ja) | ディジタルビデオ記録物を編集するための方法及び装置並びに、そのような方法で作成された記録物 | |
US7729358B2 (en) | Transcoding apparatus, method and medium | |
JP4490811B2 (ja) | 暗号化mpegトランスポートストリームからmpegプログラムストリームを作成する方法 | |
US7881584B2 (en) | Reproducing apparatus and method, and recording medium | |
KR100724206B1 (ko) | 정보 처리 장치, 방법 및 기록 매체 | |
KR100534291B1 (ko) | 디지털 방송 기록 재생 장치 | |
US20020031330A1 (en) | Storage and reproduction system, transport stream storage method, and transport stream reproduction method | |
US8254764B2 (en) | Recording apparatus, image reproducing apparatus, and special reproduction method therefor | |
JP4147452B2 (ja) | 多重化装置および方法、記録媒体、並びにプログラム | |
US20070147429A1 (en) | Stream file format for digital video recording | |
JP2005347787A (ja) | 情報記録装置及び情報記録方法 | |
JP2003153151A (ja) | デジタル放送蓄積再生装置 | |
JP4861221B2 (ja) | 記録装置、記録方法、映像記録再生装置、および、その録画ファイル加工方法 | |
US7206502B2 (en) | Apparatus and method for recording and reproducing digital data | |
JP2008085863A (ja) | トランスポートストリーム補正装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041227 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070606 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070806 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080310 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080508 |
|
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: 20080529 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080611 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110704 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110704 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110704 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120704 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120704 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130704 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |