説明

データ処理装置

本発明のデータ処理装置は、複数のフレームを含む映像および音声の少なくとも一方の信号が入力される信号入力部と、受け取った信号を圧縮符号化して、符号化データを生成する圧縮部と、符号化データを分割して一定のデータサイズを有する1以上のパケットを生成し、符号化データの再生を制御する情報を格納した制御パケットを付加して、データストリームを生成するストリーム組立部とを有する。ストリーム組立部は、各フレームについて、データストリーム内の格納位置を示す位置情報を生成して、補助情報として制御パケットに記述する。これにより、例えばトランスポートストリームに容易に変換可能なデータ構造を有するプログラムストリームが得られる。

【発明の詳細な説明】
【技術分野】
本発明は、光ディスク等の記録媒体に動画ストリームのストリームデータをリアルタイムで記録するデータ処理装置および方法等に関する。
【背景技術】
映像(ビデオ)信号および音声(オーディオ)信号を低いビットレートで圧縮し符号化する種々のデータストリームが規格化されている。そのようなデータストリームの例として、MPEG2システム規格(ISO/IEC 13818−1)のシステムストリームが知られている。システムストリームは、プログラムストリーム(PS)、トランスポートストリーム(TS)、およびPESストリームの3種類を包含する。
近年、磁気テープに代わって、相変化光ディスク、MO等の光ディスクが、データストリームを記録するための記録媒体として注目を浴びてきている。現在、相変化光ディスクにデータストリームを記録するための規格として「Video Recording規格」(DVD Specifications for Re−writable/Re−recordable Discs Part3 VIDEO RECORDING version 1.0 September 1999)が規定されている。
図1は、従来のデータ処理装置90の機能ブロックの構成を示す。データ処理装置90は、DVD−RAMディスク、Blu−rayディスク(BD)等の相変化光ディスク131にリアルタイムでデータストリームを記録し、記録されたデータストリームを再生することができる。
データ処理装置90のデータ記録処理は以下のように行われる。まず、映像信号入力部100に入力された映像信号は、映像圧縮部101で圧縮符号化される。同時に、音声信号入力部102に入力された音声信号が音声圧縮部103で圧縮符号化される。プログラムストリーム組立部244は、それらを多重化してMPEG2プログラムストリーム(以下、「プログラムストリーム」または「PS」と称する)を生成する。これらの処理は、MPEG2PSエンコーダ170内で行われる。次に、記録部120およびピックアップ130は、生成されたPSを光ディスク131に書き込む。このとき、記録制御部161、連続データ領域検出部160、論理ブロック管理部163等の処理に基づいて光ディスク131上の物理的に連続する空き領域が検出され、PSが記録される。
データストリームの再生処理は以下のように行われる。プログラムストリーム分解部114は、ピックアップ130および再生部121を介して再生されたプログラムストリームをビデオ信号およびオーディオ信号に分離する。映像伸長部111および音声伸長部113は、それぞれビデオ信号およびオーディオ信号をデコードし、その結果得られたビデオデータおよびオーディオデータを映像表示部110および音声出力部112において表示し、出力する。
図2は、プログラムストリーム20のデータ構造の例を示す。プログラムストリーム20は、ビデオオブジェクトユニット(Video OBject Unit;VOBU)21を複数含んでいる。VOBU21は、ビデオデータが格納されたビデオパック(V_PCK)22およびオーディオデータが格納されたオーディオパック(A_PCK)を複数含む。これらはビデオの再生時間にすると0.4秒から1秒分のデータである。ビデオパック22は、パックヘッダ22aと、パケットヘッダ22bと、圧縮されたビデオデータ22cとを含む。一方、オーディオパックでは、ビデオパック22のビデオデータ22cに代えてオーディオデータが含まれる。なお、1つのVOBUのデータサイズは、ビデオデータが可変ビットレートであれば最大記録再生レート以下の範囲で変動する。ビデオデータが固定ビットレートであればVOBUのデータサイズはほぼ一定である。なお、一般に「パック」とはパケットの1つの例示的な形態として知られている。
図3は、プログラムストリーム20と光ディスク131の記録領域との関係を示す。プログラムストリーム20のVOBUは、光ディスク131の連続データ領域24に記録される。連続データ領域24は物理的に連続する論理ブロックから構成されており、この領域には最大レートでの再生時間にして17秒以上のデータが記録される。データ処理装置90は、論理ブロックごとに誤り訂正符号を付与する。論理ブロックのデータサイズは32kバイトである。各論理ブロックは、2Kバイトのセクタを16個含む。
図4は、記録されたデータが光ディスク131のファイルシステムにおいて管理されている状態を示す。例えばUDF(Universal Disk Format)規格のファイルシステム、またはISO/IEC13346(Volume and file structure of write−once and rewritable media using non−sequential recording for information interchange)ファイルシステムが利用される。図4では、連続して記録されたプログラムストリームがファイル名VR_MOVIE.VROとして記録されている。ファイルを構成するファイルエントリの位置として先頭セクタ番号が設定される。ファイルエントリは、各連続データ領域(CDA:Contiguous Data Area)a〜cを管理するアロケーションディスクリプタa〜cを含む。1つのファイルが複数の領域a〜cに分かれている理由は、領域aの途中に不良論理ブロック、書き込みができないPCファイル等が存在したからである。
なお、UDF規格はISO/IEC 13346規格のサブセットに相当する。また、光ディスクドライブ(データ処理装置90)を1394インタフェースおよびSBP(Serial Bus Protocol)−2を介してPC等と接続することにより、記録されたファイルをPCからも1つのファイルとして扱うことができる。
図5は、DVD−VR規格に準拠したプログラムストリーム25のデータ構造の例を示す。プログラムストリーム25とプログラムストリーム20との相違点は、プログラムストリーム25の各VOBU26の先頭に、必ずRDIパック(RDI_PCK)27が付加される点である。RDIパック27には、PSの再生を制御するための制御情報が規定され、パックヘッダ27a、システムヘッダ27b、PESヘッダ27c、RDIデータ27dおよびメーカ拡張フィールド27eが含まれる。メーカ拡張フィールド27eには、メーカ独自の情報(メーカ拡張情報)を記述できる。
データ処理装置90は、プログラムストリーム20、25の記録および再生に加え、IEEE1394インタフェース部140からD−VHS、セットトップボックス(STB)等へデータストリームを出力することができる。ただし、IEEE1394インタフェース規格では、映像同期通信プロトコルとしてMPEG2トランスポートストリーム(以下、「トランスポートストリーム」または「TS」と称する)のみが規定されているため、データ処理装置90はPSをTSに変換する必要がある。
以下、トランスポートストリームを説明する。図6は、トランスポートストリーム28のデータ構造の例を示す。TS28は複数のTSオブジェクトユニット(TS OBject Unit;TOBU)29を含み、そのTOBU29は1以上のトランスポートパケット(TSパケット)から構成されている。TSパケットは、例えば、圧縮ビデオデータが格納されたビデオTSパケット(V_TSP)30、圧縮されたオーディオデータが格納されたオーディオTSパケット(A_TSP)31、プログラム・アソシエーション・テーブル(PAT)が格納されたパケット(PAT_TSP)32、プログラム・マップ・テーブル(PMT)が格納されたパケット(PMT_TSP)33およびプログラム・クロック・リファレンス(PCR)が格納されたパケット(PCR_TSP)34である。
図7(a)〜(e)は、各TSパケットのデータ構造の例を示す。各TSパケットTSパケットヘッダ30a〜34aに示すように、TSパケットの種類に応じて異なるパケット識別子(PID)が割り当てられている。トランスポートストリームでは複数の番組のデータのパケット毎に異なるPIDが与えられているので、PIDを利用することにより必要な番組のTSパケットのみを取得できる。例えば、V_TSP30およびA_TSP31を取得するための手順は以下のとおりである。まず、PIDが“0x000”のPAT_TSP32が取得される。PAT_TSP32内のPAT32cには、PMT_TSPのPIDが記述されている。そこで、PMT_TSP33のPID(“0x0030”)が取得される。PMT_TSP33内のPMT33cには、V_TSP30のPID(“0x0020”)およびA_TSP31のPID(“0x0021”)が記述されている。それらのPIDが付与されたパケットを取得することにより、V_TSP30およびA_TSP31が得られる。
トランスポートストリームは、パケット構造を保持した状態でBD等の記録媒体に記録される。例えば、国際公開第01/04893号パンフレットには、MPEG2映像のトランスポートストリームを記録媒体に記録する技術が記載されている。なお、受信されたトランスポートストリームに到着タイムスタンプが付加されて記録媒体に記録される場合がある。図8(a)〜(c)は、タイムスタンプつきのTS35のデータ構造を示す。図8(a)は、オブジェクトユニット(TTOBU)36に格納されたビデオTSパケット(V_TSPT)37およびオーディオTSパケット(A_TSPT)38を示す。図8(b)および(c)は、それぞれビデオTSパケット37およびオーディオTSパケット38のデータ構造を示す。先頭の4バイトがタイムスタンプ37aおよび38aであり、次の188バイトが受信した各TSパケットである。
データ処理装置90においてプログラムストリームがトランスポートストリームに変換される際、まずPS→PES変換部243がPSを一旦パケット化エレメンタリストリーム(PES)に変換し、その後、PES→TS変換部242がPESをTSに変換する。このような処理は、例えば、日本国特開平10−243394号公報に記載されている。
図9(a)〜(c)は、PS39を、PES40を介して一般的なTS41にストリーム変換するときのストリームの対応関係を示す。PES40の各PESパケットには、1フレームのデータが格納されている。また、一般的なTS41でも、1個のPESパケットには1フレームのデータが格納される。説明の簡単化のため、図にはビデオデータに関する処理のみを示している。また、PS39は、例えばDVD−VR規格準拠に準拠したストリームである。
図9(a)に示すように、まず、PS39の各ビデオパックからビデオデータ部分39a〜39cが抽出される。これらはビデオの1フレーム単位でまとめられて、図9(b)に示すビデオPESパケットのペイロード40bが構成される。ペイロード40bにPESヘッダ40aが付加されると、PES40の1ビデオPESパケットが得られる。
図9(c)のTS41のビデオTSパケットは、例えば、PES40を184バイト単位で分割したデータ41bに、4バイトのTSヘッダ41aが付加されて構成される。TS41には、PAT、PMT等を含むTSパケット(図示せず)も新たに生成され挿入される。
ところが、従来の装置では、プログラムストリームからトランスポートストリームへ変換する処理に非常に時間がかかるという問題が生じていた。
その第1の理由は、従来の変換処理では、デコーダが動作するために基準とする時刻情報(プログラムクロックリファレンス;PCR)がトランスポートストリームに付加し直されていたからである。すなわち、トランスポートストリームは、トランスポートストリームのシステムターゲットでコーダモデル(T−STD)に準拠した音声/映像データの多重化ストリームとして構築される必要があり、多重化のタイミングや順序を変更してプログラムクロックリファレンス(PCR)の値を算出することを要するからである。また、トランスポートストリームには、ストリーム特有のパケット(PAT_TSP、PMT_TSP、PCR_TSP等)を例えば100ミリ秒以下の間隔で挿入する必要があるため、やはり音声/映像データを多重化するタイミングや順序を変更する必要がある。
第2の理由は、トランスポートストリームのPESパケットのペイロードに1フレーム分のデータが格納される場合には、PSからPESへの変換時に、PSの各パックを走査して1フレームごとの境界を探索しなければならないからである。例えばDVD−VR規格に準拠したプログラムストリームを、1フレームのデータが1個のPESパケットに格納される一般的なトランスポートストリームに変換するとき、音声/映像ストリームを全てスキャンして各音声/映像フレームの開始位置およびデータサイズを検出し、各フレームの開始位置にPESパケットヘッダを付与してPESパケット化する必要がある。さらに、PESパケット化に際しては、全ての音声/映像フレームに付与されているとは限らないPTSおよびDTSを、全ての音声/映像フレームのPESパケットヘッダに付与する必要がある。
本発明は、上記問題点に鑑みてなされたものであり、その目的とするところは、トランスポートストリームに容易に変換可能なデータ構造を有するプログラムストリームを提供することにある。
【発明の開示】
本発明によるデータ処理装置は、複数のフレームを含む映像および音声の少なくとも一方の信号が入力される信号入力部と、受け取った前記信号を圧縮符号化して、符号化データを生成する圧縮部と、前記符号化データを分割して一定のデータサイズを有する1以上のパケットを生成し、前記符号化データの再生を制御する制御情報を格納した制御パケットを付加して、データストリームを生成するストリーム組立部とを有している。前記ストリーム組立部は、各フレームについて、前記データストリーム内の格納位置を示す位置情報を生成して、前記制御情報として前記制御パケットに記述する。
ある好ましい実施形態において、前記ストリーム組立部は、さらに各フレームの表示のタイミングを示す時刻情報を生成して、前記制御情報として前記制御パケットに記述する。
ある好ましい実施形態において、前記ストリーム組立部は、さらに各フレームの復号化のタイミングを示す時刻情報を生成して、前記制御情報として前記制御パケットに記述する。
ある好ましい実施形態において、前記ストリーム組立部は、さらに各フレームのデータサイズを示すサイズ情報を生成して、前記制御情報として前記制御パケットに記述する。
ある好ましい実施形態において、前記ストリーム組立部は、前記制御パケット内の、任意の情報を記述可能なフィールドに前記制御情報を記述する。
ある好ましい実施形態において、前記ストリーム組立部は、前記制御パケットとして制御パックを生成し、前記制御パックを付加して、前記データストリームとしてプログラムストリームを生成する。
本発明によるデータ処理方法は、複数のフレームを含む映像および音声の少なくとも一方の信号を入力するステップと、受け取った前記信号を圧縮符号化して、符号化データを生成するステップと、前記符号化データを分割して一定のデータサイズを有する1以上のパケットを生成するステップと、前記1以上のパケットに、前記符号化データの再生を制御する制御情報を格納した制御パケットを付加して、データストリームを生成するステップを包含する。データストリームを生成するステップは、各フレームについて、前記データストリーム内の格納位置を示す位置情報を生成して、前記制御情報として前記制御パケットに記述する。
ある好ましい実施形態において、前記データストリームを生成するステップは、各フレームの表示のタイミングを示す時刻情報を生成して、前記制御情報として前記制御パケットに記述するステップをさらに包含する。
ある好ましい実施形態において、前記データストリームを生成するステップは、各フレームの復号化のタイミングを示す時刻情報を生成して、前記制御情報として前記制御パケットに記述するステップをさらに包含する。
ある好ましい実施形態において、前記データストリームを生成するステップは、各フレームのデータサイズを示すサイズ情報を生成して、前記制御情報として前記制御パケットに記述するステップをさらに包含する。
ある好ましい実施形態において、前記データストリームを生成するステップは、前記制御パケット内の、任意の情報を記述可能なフィールドに前記制御情報を記述する。
ある好ましい実施形態において、前記データストリームを生成するステップは、前記制御パケットとして制御パックを生成し、前記制御パックを付加して、前記データストリームとしてプログラムストリームを生成する。
本発明によるデータ処理方法は、第1のデータストリームを第2のデータストリームに変換する際に使用される。ここで、前記第1のデータストリームは、第1のデータサイズを有するパケットであって、複数のフレームを含む映像および音声の少なくとも一方の信号を圧縮符号化した符号化データを含む1以上のパケットと、前記符号化データの再生に関する制御情報が格納された制御パケットとを有する。また、前記第2のデータストリームは、前記第1のデータサイズとは異なる第2のデータサイズを有する1以上のパケットを有する。このデータ処理方法は、前記制御パケットから、前記データストリームにおける各フレームの格納位置を示す位置情報および再生タイミングを示す時刻情報を含む前記制御情報を取り出すステップと、前記制御情報に基づいて、各パケット内の前記符号化データが、フレームの先頭部分を含むか否かを判断するステップと、前記フレームの先頭部分を含む場合には、前記第2のデータストリームの再生タイミングを示す時刻情報を前記フレームの先頭部分の前に付加して、前記符号化データを分割して前記パケットに格納し、前記フレームの先頭部分を含まない場合には、前記符号化データを分割して前記パケットに格納して、前記第2のデータストリームを生成するステップとを包含する。
本発明による他のデータ処理装置は、複数のフレームを含む映像および音声の少なくとも一方の信号が入力される信号入力部と、受け取った前記信号を圧縮符号化して、符号化データを生成する圧縮部と、前記符号化データを分割して一定のデータサイズを有するパケットを生成し、前記パケットを並べて第1のデータストリームを生成するストリーム組立部とを有する。前記ストリーム組立部は、全てのパケットに対して復号のタイミングを示す第1の時刻情報を生成し、さらに一部のパケットに対して所定のタイミングで第1の時刻情報の時刻よりも遅い時刻を示す第2の時刻情報を生成して、前記第1の時刻情報および前記第2の時刻情報の一方を各パケットに記述する。
ある好ましい実施形態において、前記ストリーム組立部は、前記第1のデータストリームと異なる第2のデータストリームのパケットのデータサイズに基づいて第2の時刻情報を生成する。
ある好ましい実施形態において、前記ストリーム組立部は、100ミリ秒以内に1回のタイミングで前記第2の時刻情報を生成する。
ある好ましい実施形態において、前記ストリーム組立部は、前記データストリームの映像再生時間に基づいて複数のパケットを1つのユニットとして関連付け、前記ユニットの先頭に映像パケットが現れるタイミングで前記第2の時刻情報を生成する。
ある好ましい実施形態において、前記データ処理装置は、前記第1のデータストリームを記録媒体に記録する記録部を有する。
ある好ましい実施形態において、他のデータ処理装置は、前記記録媒体に記録された前記第1のデータストリームを前記第2のデータストリームに変換する。データ処理装置は、前記パケットを1以上の前記パケットに変換する変換部を有する。変換部は、前記第2の時刻情報が記述されたパケットを変換したパケットの前に、前記符号化データを含むパケットを特定するための制御パケットを挿入する。
本発明によるさらに他のデータ処理装置は、複数のフレームを含む映像および音声の少なくとも一方の信号が入力される信号入力部と、受け取った前記信号を圧縮符号化して、符号化データを生成する圧縮部と、前記符号化データを分割して第1のデータサイズを有するパケットを生成し、前記パケットを並べて第1のデータストリームを生成するストリーム組立部とを有する。前記ストリーム組立部は、一部のパケット内にパディングパケットを設け、前記パディングパケットのデータサイズを前記第1のデータストリームと異なる第2のデータストリームのパケットのデータサイズに基づいて決定する。
ある好ましい実施形態において、前記ストリーム組立部は、100ミリ秒以内に1回のタイミングで、前記パディングパケットを有するパケットを設ける。
ある好ましい実施形態において、前記データ処理装置は、前記第1のデータストリームを記録媒体に記録する記録部を有する。
ある好ましい実施形態において、他のデータ処理装置は、前記記録媒体に記録された前記第1のデータストリームを前記第2のデータストリームに変換する。データ処理装置は、前記パケットを1以上の前記パケットに変換する変換部を有する。変換部は、前記パディングパケットが設けられたパケットを変換する際に、前記パディングパケットを、前記符号化データを含むパケットを特定するための制御パケットに変換する。
【図面の簡単な説明】
図1は、従来のデータ処理装置90のブロック図である。
図2は、プログラムストリーム20のデータ構造の例を示す図である。
図3は、プログラムストリーム20と光ディスク131の記録領域との関係を示す図である。
図4は、記録されたデータが光ディスク131のファイルシステムにおいて管理されている状態を示す図である。
図5は、DVD−VR規格に準拠したプログラムストリーム25のデータ構造の例を示す図である。
図6は、トランスポートストリーム28のデータ構造の例を示す図である。
図7は、V_TSP30のデータ構造を示し、図7(b)はA_TSP31のデータ構造を示す図であり、図7(c)はPAT_TSP32のデータ構造を示す図であり、図7(d)はPMT_TSP33のデータ構造を示し、図7(e)はPCR_TSP34のデータ構造を示す図である。
図8は、(a)は、オブジェクトユニット(TTOBU)36に格納されたビデオTSパケット(V_TSPT)37およびオーディオTSパケット(A_TSPT)38を示す図であり、(b)および(c)は、それぞれビデオTSパケット37およびオーディオTSパケット38のデータ構造を示す図である。
図9(a)〜(c)は、DVD−VR規格準拠のPS39から、PES40を介して1フレームのデータが1個のPESパケットに格納される一般的なTS41にストリーム変換するときのストリームの対応関係を示す図である。
図10は、第1の実施形態によるデータ処理装置10のブロック図である。
図11(a)は、PSをデコードするMPEG2PSデコーダ171のブロック図であり、図11(b)は、TSをデコードするTSデコーダモデルのブロック図である。
図12は、データ処理装置10のPS組立部104が生成したPS50と、PS50に基づいて変換されたTS55との対応関係を示す図である。
図13は、PSの各パックに含まれるパックヘッダのデータ構造を示す図である。
図14は、SCRギャップの位置を模式的に示す図である。
図15は、VOBUの途中に100ミリ秒以内で繰り返し設けられたSCRギャップを模式的に示す図である。
図16は、DVD−VR規格に準拠したPSに設定したSCRギャップを模式的に示す図である。
図17は、PS組立部104がプログラムストリームのSCRを設定する際の処理の手順を示す図である。
図18は、変換部142において実行される、PSからTSへの変換処理の手順を示す図である。
図19は、各パックに対する末尾SCRを示す図である。
図20は、実施形態2によるデータ処理装置10のPS組立部104が生成したPS59−1と、PS59−1に基づいて変換されたTS59−2との対応関係を示す図である。
図21は、ビデオパック61に含まれるパディングパケット61aのデータ構造を示す図である。
図22は、100ミリ秒以内で繰り返し設けられたパディングパケットを含むビデオパック65、66を模式的に示す図である。
図23(a)は、本実施形態によるPS組立部104により生成されたプログラムストリームのデータ構造を示す図であり、図23(b)は、ビデオ用補助情報67dの詳細なデータ構造を示す図である。
図24は、VOBU#iの先頭を0として算出したときの、Iフレーム、B1フレームおよびB2フレームの開始アドレスを模式的に示す図である。
図25は、変換部142がPSをTSに変換する処理の手順を示す図である。
図26(a)は、補助情報フィールド70にサイズ情報を規定したメーカ拡張フィールド69を示す図であり、図26(b)は、補助情報フィールド70のデータ構造を示す図である。
【発明を実施するための最良の形態】
以下、添付の図面を参照しながら、本発明のデータ処理装置の各実施形態を説明する。
(実施形態1)
図10は、本発明の第1の実施形態によるデータ処理装置10の機能ブロックの構成を示す。データ処理装置10は、DVD−RAMディスク、Blu−rayディスク(BD)等の相変化光ディスク131にリアルタイムでデータストリームを記録し、記録されたデータストリームを再生することができる。
データ処理装置10はさらに、生成し、または記録したプログラムストリーム(PS)をMPEG2トランスポートストリーム(TS)に変換して、IEEE1394インターフェース部140を介して出力することができる。
以下、データ処理装置10の記録機能に関する構成を説明する。データ処理装置10は、映像信号入力部100と、音声信号入力部102と、MPEG2PSエンコーダ170と、記録部120と、連続データ領域検出部160と、記録制御部161と、論理ブロック管理部163とを有する。
映像信号入力部100は映像信号入力端子であり、映像データを表す映像信号を受け取る。音声信号入力部102は音声信号入力端子であり、音声データを表す音声信号を受け取る。例えば、データ処理装置10がポータブルビデオコーダである場合には、映像信号入力部100および音声信号入力部102は、それぞれチューナ部(図示せず)の映像出力部および音声出力部と接続され、それぞれから映像信号および音声信号を受け取る。また、データ処理装置10がムービーレコーダ、カムコーダ等である場合には、映像信号入力部100および音声信号入力部102は、それぞれカメラのCCD(図示せず)およびマイクから出力された映像信号および音声信号を受け取る。
MPEG2−PSエンコーダ170(以下、「エンコーダ170」と称する)は、映像信号および音声信号を受け取り、後述する本発明の処理を行って、図2に示すMPEG2プログラムストリーム(PS)、または、図5に示すDVD−VR規格に準拠したPSを生成する。エンコーダ170は、映像圧縮部101と、音声圧縮部103と、PS組立部104とを有する。映像圧縮部101および音声圧縮部103は、それぞれ映像信号および音声信号をMPEG2規格に基づいて圧縮符号化して映像データおよび音声データを生成する。PS組立部104は、映像データと音声データを、それぞれ2キロバイト単位のパックV_PCK及びA_PCKに分割し、この2種類のパックが一つのVOBUを構成するよう順番に並べるとともに、RDIパック27を付加する。
記録部120は、記録制御部161の指示に基づいてピックアップ130を制御し、記録制御部161から指示された論理ブロック番号の位置からPSのビデオオブジェクトユニット(VOBU)26を記録する。このとき、記録部120は、各VOBUを32Kバイト単位に分割し、その単位で誤り訂正符号を付加して一つの論理ブロックとして光ディスク131上に記録する。一つの論理ブロックの途中で一つのVOBUの記録が終了した場合は、隙間を開けることなく次のVOBUの記録を連続的に行う。PSは、例えば図4に示すような形態で光ディスク131に格納されている。
連続データ領域検出部160は、論理ブロック管理部163によって管理される光ディスク131のセクタの使用状況を調べ、連続した空き論理ブロック領域を検出する。
記録制御部161は、記録部120の動作を制御する。記録制御部161は、予め連続データ領域検出部160に指示を出して、連続した空き論理ブロック領域を検出させておく。そして、記録制御部161は、論理ブロック単位の書き込みが発生するたびに当該論理ブロック番号を記録部120に通知し、論理ブロックが使用済みになった場合には論理ブロック管理部163に通知する。なお、記録制御部161は、連続データ領域検出部160に対して連続した空き論理ブロック領域のサイズを動的に検出させてもよい。
論理ブロック管理部163は、記録制御部161から通知された使用済み論理ブロック番号によって論理ブロック番号ごとの使用状況を把握して管理を行う。すなわち、論理ブロック番号を構成する各セクタ単位の使用状況を、UDFもしくはISO/IEC 13346のファイル構成で規定されているスペースビットディスクリプタ領域を用いて、使用済みもしくは未使用であるかを記録して管理することになる。そして、記録処理の最終段階において、FID及びファイルエントリをディスク上のファイル管理領域へ書き込む。
以下、PSを記録する際のデータ量と再生時間との関係を説明する。連続データ領域検出部160は、1つの連続データ領域の残りが最大記録再生レート換算で3秒分を切った時点で、次の連続データ領域の再検出を行なう。そして、1つの連続データ領域が一杯になると、次の連続データ領域に書き込みを行なう。
データ処理装置10が記録されたPSを再生するときは、光ディスク131からのデータの読み出しと読み出したデータのデコード(再生)を並列的に行う。このとき、データの最大再生レートよりもデータの読出レートの方が高速となるように制御して、再生すべきデータが不足しないように動作する。その結果、PSの再生を継続すると、単位時間あたり、データ最大再生レートとデータ読み出しレートとのレート差分だけ再生すべきデータを余分に確保できることになる。データ処理装置10は、ピックアップ130がデータを読み出しできない期間中(例えばシーク動作中)に余分に確保したデータを再生することにより、途切れのないPSの再生を実現することができる。
例えば、再生部121のデータ読み出しレートが11.08Mbps、PS分解部114のデータ最大再生レートが10.08Mbps、ピックアップの最大移動時間が1.5秒とすると、途切れることなくPSを再生するためには、ピックアップ130の移動中に15.12Mビットの余分なデータが必要になる。これだけのデータを確保するためには、15.12秒間の連続読み出しが必要になる。すなわち、15.12Mビットを、データ読み出しレート11.08Mbpsとデータ最大記録再生レート10.08Mbpsの差で除算した時間だけ連続読み出しする必要がある。したがって、15.12秒間の連続データ読み出しの間に最大167.53Mビット分のデータ(すなわち16.62秒分の再生データ)を読み出すことになるので、16.62秒(約17秒)分以上の連続データ領域を確保することにより、連続的なデータ再生を保証することが可能となる。なお、連続データ領域の途中には、数個の不良論理ブロックがあってもよい。ただし、この場合には、再生時にかかる不良論理ブロックを読み込むのに必要な読み出し時間を見越して、連続データ領域を再生時間にして16.62秒分よりも若干多く確保する必要がある。
以上の各構成要素によって、データ処理装置10の記録機能が実現される。なおデータ処理装置10の再生機能に関する構成および動作は従来のデータ処理装置90と同じであるため、その説明は省略する。
次に、データ処理装置10のPSからTSへのストリーム変換機能およびそのための構成を説明する。データ処理装置10は、1394I/F部140と、出力タイミング調整部141と、PS→TS変換部142とを有する。
IEEE1394インターフェース規格によって伝送可能なデータ形式はTSに限られているため、データ処理装置10はPSからTSへのストリーム変換機能を有する。ストリーム変換は、例えば以下の局面で行われる。データ処理装置10がカムコーダであるとき、映像および音声は、PSとして、カムコーダに装填された光ディスク131に記録される。ユーザがIEEE1394ケーブルを介してカムコーダとPCを接続し、記録内容をPCに伝送するよう指示すると、カムコーダはPSをTSに変換する。これにより、カムコーダからPCに対してTSが伝送される。
1394I/F部140は、IEEE1394インターフェース規格に基づいて、データを出力する端子である。出力タイミング調整部141は、TSの出力タイミングを調整して、TSを1394I/F部140に渡す。
PS→TS変換部142(以下、「変換部142」と称する)は、PSからTSへのフォーマット変換を行う。変換部142は、ピックアップ130および再生部121を介して再生されたPS、または、エンコーダ170において生成されたPSを受け取って、TSを生成する。生成されたTSのデータ構造は、例えば図6に示すとおりである。変換部142は、図6に示すPAT_TSP32、PMT_TSP33、PCR_TSP34等を挿入して、TSを生成する。これらのTSパケットのデータ構造および機能は、図7を参照しながら説明したとおりである。
次に、図11を参照しながらPSおよびTSのストリーム特性を説明し、その後、データ処理装置10によるPSの生成処理およびPSからTSへのデータ変換処理を説明する。
PSを生成するエンコーダ170は、一般のMPEG2PSデコーダにおいてデコード可能なPSにエンコードしなければならない。そのために、システムエンコード条件と呼ばれる所定の条件が課されている。システムエンコード条件を満足することにより、PSは、一般のMPEG2PSデコーダ171がデコード可能なストリーム特性を有している。これはTSについても同様である。
図11(a)は、PSをデコードするMPEG2PSデコーダ171のブロック図である。まず、デコーダ171は、PS分解部114と、映像伸長部111と、音声伸長部113とを有する。これらの構成は、プログラムストリーム・システムターゲットデコーダー(P−STD)と呼ばれるデコーダモデルの構成と概ね同じである。
PSは、パックヘッダに記述された任意のレート(例えば10.08Mbpsという比較的速いレート)でPS分解部114のデマルチプレクサ114aに入力される。PSはデマルチプレクサ114aによって映像データおよび音声データに分離され、一定レート(ピークレート10.08Mbps)で映像データ用のバッファB114bと、音声データ用のバッファB114cに入力される。このとき、PSを構成していたパックヘッダ、システムヘッダ、PESヘッダ等は除去されて、各バッファには、映像データおよび音声データからなるエレメンタリストリームが入力される。映像データおよび音声データの各エレメンタリストリームはそれぞれ、映像伸長部111および音声伸長部113においてデコードされ、非圧縮の映像ストリームおよび音声ストリームとして出力される。
一方、図11(b)は、TSをデコードするTSデコーダモデルの機能ブロックを示す。このTSデコーダモデルは、いわゆるトランスポートストリーム・システムターゲットデコーダ(T−STD)と呼ばれている。データ処理装置10の変換部142は、T−STDに基づいて構成されている。
図11(b)において、TSは、伝送媒体等の特性に応じた一定の伝送レートでデコーダのPIDフィルタ42に入力される。PIDフィルタは、TSパケットに割り当てられたパケット識別しPIDに応じてTSを映像データ、音声データ、システムデータ等に分離され、映像データ用のトランスポートバッファTB43a、音声データ用のトランスポートバッファTB45a等に入力される。映像データはその後、マルチプレクスバッファMB43b、エレメンタリデコーダバッファEB43cを経て、映像伸長部44にて映像ストリームにデコードされる。一方音声データは、エレメンタリデコーダバッファEB45bを経て、音声伸長部46にて映像ストリームにデコードされる。
PIDフィルタ42において分離されたデータは、それぞれ異なるレートで各バッファに入力され、バッファ間を伝送される。例えば、映像データは、バッファ42からバッファ43aには10.08Mbpsで伝送され、バッファ43aからバッファ43bへは18Mbpsで伝送され、バッファ43bからバッファ43cへは15Mbps以下で伝送される。一方、音声データはバッファ45aからバッファ45bへ2Mbps以下で伝送される。
PSおよびTSの各々について、デコーダ内の伝送レートに注目すると、PSの音声データはTSの音声データよりも速く伝送される。またPSには、P−STDのデマルチプレクサ114aがPSの各パックを受け取ったときの時刻情報が規定されている。この時刻情報は、PSのパックヘッダ22a(図2)、27a(図5)内に、時刻情報(システムクロックリファレンス;SCR)として規定される。一方、TSにはT−STDのPIDフィルタ42がTSの各トランスポートパケットを受け取った時の時刻情報が規定されている。この時刻情報は、トランスポートパケットヘッダ内に所定の頻度で記録される。例えば時刻情報は、PCR_TSPに100ミリ秒以下の間隔で設定される。
本実施形態によるPS組立部104は、TSに変換することを想定してPSを生成し、P−STDにおける各ストリームの伝送速度の相違を考慮して時刻情報を付加する。すなわち、パケットの到着時刻情報を変更しなくてもT−STDに適合するストリームに変換できるように、PS用のシステムエンコードを行う。具体的には、音声ストリームは最大2Mbpsでデマルチプレクサ114aから114bへ伝送されるものとし、PS用のシステムエンコードを行って、例えばバッファB114bおよびB114cがアンダーフローしないようにする。これにより、PSの時刻情報(SCR)をTSの時刻情報(PCR)へ変換する際に、値をそのまま利用することができ、再システムエンコードによる時刻情報(PCR)の再計算が不要になる。
また、TSを生成する際には、PSには存在しないPATに関するTSパケット、PMTに関するTSパケット等を挿入する必要がある。そのため、本実施形態によるPS組立部104は、そのようなTSパケットを挿入し、処理するタイミングを考慮してPSに時刻情報を設定することにより、TS変換時にTSパケットの時刻情報を再度計算することが不要になる。
本実施形態のPS組立部104は、PSの時刻情報SCRに、以下説明する「SCRギャップ」を設けることにより、PSからTSへの変換に際して、PATを含むTSパケット、PMTを含むTSパケット等を容易に挿入できるようにしている。
以下、図12、13を参照しながら、本実施形態のPS組立部104の処理を具体的に説明する。図12は、PS組立部104によって生成されたPS50と、PS50に基づいて変換されたTS55との対応関係を示す。PS50は、ビデオパック(V_PCK)51、54と、オーディオパック(A_PCK)52とを含んでおり、これらによって各VOBUが構成される。なお、PS50は光ディスク131に記録されていることを想定しているが、記録されているか否かは特に問題ではない。
PS組立部104は、適当なパック(図ではV_PCK51とA_PCK52)間に、SCRギャップ53を設定する。SCRギャップ53は、A_PCK52のSCR#(n+1)を、従来与えられていたSCR値よりも遅く(大きく)規定することによって設けることができる。具体的には、SCRギャップ53は、従来のPS組立部244(図1)が付加するSCR値をT1とし、PS組立部104が付加するSCR値をT2(T2>T1)としたとき、(T2−T1)によって表される時間である。
図13は、PSの各パックに含まれるパックヘッダのデータ構造を示す。SCRの値は、パックヘッダに規定されるデータのうち、フィールド名”system_clock_reference_base”として示される3分割されたフィールド56に33ビットで規定される。本実施形態によれば、A_PCK52のフィールド56には、上述のSCR値T2が設定される。
PSからTSへ変換する場合には、SCRギャップ53の期間に、PATのTSパケット32、PMTのTSパケット33、PCRのTSパケット34、SIT等のTSパケットを挿入する。これにより、A_PCK52のSCR値を再計算する必要がなくなり、ストリームの変換処理が簡単になる。なお、PSからTSへの変換処理は、図18を参照しながら後述する。
PS組立部104は各パックがプログラムストリーム・システムターゲットデコーダ(P−STD)(図11(a))においてデコードできるようにエンコードするとともに、時間情報をほとんど再計算することなく変換したTS55がトランスポートストリーム・システムターゲットデコーダ(T−STD)(図11(b))においてデコードできるようにPS50を生成する。MPEG規格に従った一般的なデコーダが確実にデコードできるようにするために、エンコードを行う際にシステムエンコード条件が規定されている。
システムエンコード条件を具体的に説明すると以下のとおりである。まず、A_PCK52のSCR#(n+1)を遅らせてSCRギャップ53を設けた場合であっても、A_PCK52は、後続のV_PCK54のSCR#(n+2)が示すタイミングまでに2Mbpsの伝送レートで伝送されることが必要である。よって、A_PCK52のSCR#(n+1)とV_PCK54のSCR#(n+2)とによって規定される時間間隔が、2Mbpsの伝送レートでA_PCK52が伝送される場合に要する時間以上になることが必要である。
さらに、A_PCK52のSCR、および、V_PCK54のSCR以外の隣り合うSCRの時間間隔を決定する必要がある。この時間間隔は、V_PCKとA_PCKの間であればPSのピークレート(10.08Mbps)で1個のパックを伝送するのに必要とされる時間以上であることを要する。
本実施形態のPS組立部104は、SCRギャップを、VOBUの先頭に位置するV_PCKの直前に設け、それ以後は100ミリ秒以内に設けている。これにより、TSへの変換時には、1つのVOBUのTSパケット化が終了した後に、PAT等を含むTSパケット32〜34を挿入できる。ただし、TSのビットレートは、100ミリ秒毎のSCRギャップ53中に1以上(例えば3個)のTSパケットを挿入できる程度の増加を想定する必要がある。
図14は、VOBU先頭およびその100ms後に設けるSCRギャップの位置を模式的に示している。図15は、100ミリ秒以内で繰り返し設けられたSCRギャップを模式的に示す。SCRギャップの先頭のSCR値が2700000の整数倍となるように設けられている。「2700000」とした理由は、この値は、27MHzのクロック周波数に対し、時間にして100ミリ秒に相当するからである。なお、SCRギャップは100ミリ秒以内で繰り返し設けるのみであってもよく、必ずしもVOBUの先頭に位置するV_PCKの直前に設けなくてもよい。さらには、100ミリ秒以内であれば、例えば50ミリ秒の整数倍でもよいし、または、可変長であってもよい。図16は、DVD_VR規格に準拠するPSに設定したSCRギャップを模式的に示す。SCRギャップは、VOBU#nの先頭に位置するRDI_PCK58の直前に設けられている。さらに、そのSCRギャップから100ミリ秒以内に次のSCRギャップが設けられている。
図17は、PS組立部104がプログラムストリームのSCRを設定する際の処理の手順を示す。まず、ステップS100において、PS組立部104は、各パックに対して仮のSCR値を決定する。この仮SCR値は、従来のPS組立部244が決定していた値と同じである。次にステップS101において、処理の対象となっているパックがVOBUの先頭パックか否かを判定する。そのパックが先頭パックでなければステップS102に進み、先頭パックであればステップ104に進む。ステップS102では、PS組立部104は、SCR値が100msの整数倍付近か否かを判定する。例えば、27MHzのカウンタを用いている場合には、PS組立部104は、SCR値が2700000の倍数であるか否かを判定する。判定の結果、整数倍付近でなければステップS103に進み、ステップS103において、仮決定したSCR値を変更することなくその値をパックヘッダに記述する。一方、整数倍付近であればステップS104に進み、ステップS104において、SCRを所定のSCRギャップ分だけシフトする。
次に、SCRギャップを設けたPSからTSを生成する手順を説明する。図18は、変換部142において実行される、PSからTSへの変換処理の手順を示す。まず、ステップS200において、VOBUの先頭に位置するV_PCKのSCR値に基づいて、最初のPAT、PMT、PCRの挿入タイミングを決定する。例えば、27MHzのカウンタを用いる場合には、挿入タイミングは(先頭のVOBUのSCR値div 2700000)によって得られる。この“div”は、除算結果の少数点以下を切り捨てることを意味する。また、“2700000”は100ミリ秒に対応しており、27MHzのカウンタの1/10に相当する値である。
ステップS201において、変換部142は、1パック前の末尾SCRの値を算出する(ただし、前にパックが存在しない最初のパックは除く)。図19は、各パックに対する末尾SCRを示す。図に示すように、「末尾SCR」とは、あるパックの直後の1バイトを伝送する最も早いタイミング(時刻情報)を表す。再び図18の各ステップを説明する。ステップS202では、変換部142は、処理の対象となっているパックがVOBUの先頭パックか否かを判定する。そのパックが先頭パックでなければステップS203に進み、先頭パックであればステップ209に進む。ステップS203において、変換部142は、得られた挿入タイミングがパックのSCR値と末尾SCR値との間に含まれるか否かを判定し、含まれる場合にはステップS209に進み、含まれない場合にはステップS207に進む。
ステップS209では、得られた挿入タイミングにおいて、PAT、PMT、およびPCRのTSパケットを挿入する。次にステップS204において、挿入タイミング値に2700000を加算して次の挿入タイミング値とする。その後、ステップS207に進む。
ステップS207では、変換部142は、1つのパックを188バイトに分割してTSパケットを生成する。例えば図12に示すように、1個のビデオパックは11個のビデオTSパケット30に分割され、1個のオーディオパックは11個のオーディオTSパケット31に分割される。TSパケットには、ステップS208において、タイムスタンプが付加される。
ステップS206においては、変換部142は、PS内の全てのパックが処理されたか否かを判定する。そして、全てのパックの処理が完了した場合には処理を終了し、終了していない場合にはステップS205において次のパックを抽出して、再びステップS201以降の処理を行う。
以上の処理により、変換部142は、プログラムストリームからトランスポートストリームを容易に変換することができる。特に、V_PCKやA_PCK内のPCR,PTS(Presentation Time Stamp)およびDTS(Decoding Time Stamp)を再計算して設定する必要がなく、かつ、プログラムストリームのSCR値に基づいてトランスポートストリームの各TSパケットの時刻情報を決定できるので、従来のように処理に時間を要することがなくなり、変換時の処理負担を著しく軽減できる。TSパケットの時刻情報は、PCRと呼ばれ、TSパケットが仮想的なMPEG2デコーダへ到達すべき時刻を規定する。TSのPCR値は、PSのSCR値を基準にして算出することができる。例えば、図12のPCR34の値をPSのSCR#(n+1)の値よりも時間的に早い値にすればよい。その程度は、1個のTSパケット34の伝送時間分である。
なお、記録されたプログラムストリームをIEEE1394インターフェース部140から出力するために、トランスポートストリームに変換するとして説明した。しかし、記録されたプログラムストリームをトランスポートストリームへ変換し、その後、光ディスク131等の記録媒体へ記録する場合も同様の処理を行うことができる。トランスポートストリームにタイムスタンプを含める場合には、プログラムストリームのSCRを基準としてタイムスタンプを選択すればよい。
なお、プログラムストリーム中に、SCRギャップが設けられた位置を示す位置情報を規定することができる。位置情報は、例えば、プログラムストリーム先頭を0としたパディングパケットの先頭アドレスである。また、SCRギャップ先頭のSCR値をRDI_PCKのメーカ拡張フィールド27e、67(図5、図23)内に設けてもよい。さらにPAT,PMT,PCR、またはSITを含むTSパケットの使用可能なSCR値を候補として記録してもよい。また、動画ストリームを含むファイルとは別ファイル内にこれらの情報を記録してもよい。
(実施形態2)
以下、本発明の第2の実施形態によるデータ処理装置を説明する。本実施形態のデータ処理装置の構成要素は図10に示すデータ処理装置10(図10)と同じである。よって、それぞれの機能の説明は省略し、以下ではデータ処理装置の処理を説明する。
本実施形態によるデータ処理装置10は、図12のSCRギャップ53に代えて、パディングパケットを設ける点において、第1の実施形態によるデータ処理装置と相違する。
図20は、本実施形態によるデータ処理装置10のPS組立部104が生成したPS59−1と、PS59−1に基づいて変換されたTS59−2との対応関係を示す。PS組立部104は、VOBUを構成する適当なパック(図ではビデオパック(V_PCK)61)に、パディングパケット61aを挿入する。プログラムストリームからトランスポートストリームへ変換される際には、パディングパケット61aの位置に対応して、PAT32,PMT33,PCR、SIT等を含むTSパケットが挿入される。1個のビデオパックは11個のビデオTSパケット30に分割され、1個のオーディオパックは11個のオーディオTSパケット31に分割される。
図21は、ビデオパック61に含まれるパディングパケット61aのデータ構造を示す。パディングパケット61aは、パケットヘッダ63と、一定値(0xFF)のパディングバイトが格納されたフィールド64とを有する。パケットヘッダ63には、パディングバイトフィールド64のデータ長(PESパケット長)が2バイトで示されており、これによりパディングパケット61aの長さを特定できる。パディングバイトフィールド64のデータ長は、TSパケットのパケット長に関連しており、例えば、188バイトの整数倍(例えば2倍から4倍)である。「188バイト」は、トランスポートパケットのデータサイズに対応している。なお、パディングバイトフィールド64のデータ長が188バイトの2倍のときは、2個のTSパケットを挿入することが可能になり、4倍のときは、4個のTSパケットを挿入することが可能になる。
なお、パディングパケット61aは、MPEG2システム規格に記載されたパディングパケットと同じである。パディングパケットの配置はDVD−VR規格と同じにしている。ビデオパック61内には、通常の圧縮ビデオデータを可能な限り多く含むようにしてもよい。なお、本実施形態のパディングパケット61aはビデオパック61内に設けられているが、オーディオパック62に設けることもできる。
図22は、100ミリ秒以内で繰り返し設けられたパディングパケットを含むビデオパック65、66を模式的に示す。ビデオパック65、66は、VOBU#nの途中部分に設けられている。この結果、TSのビットレートは、100ミリ秒毎のパディングパケットに1以上のTSパケットを余分に挿入できる程度の増加を想定する必要がある。なお、パディングパケットは100ミリ秒以内で繰り返し設けるのみであってもよく、VOBUの先頭に位置するV_PCKの直前に設けなくてもよい。
図12に関連してした説明と同様、PS組立部104は、各パックがプログラムストリーム・システムターゲットデコーダ(P−STD)のシステムエンコード条件を満足し、かつ、変換後のトランスポートストリームがトランスポートストリーム・システムターゲットデコーダ(T−STD)のシステムエンコード条件をも満たすように、プログラムストリーム59−1を生成する。
システムエンコード条件を具体的に説明すると以下のとおりである。オーディオパック(A_PCK)62のSCR#(n+1)と、後続のV_PCK(図示せず)のSCR#(n+2))とによって規定される時間間隔が、2Mbpsの伝送レートでA_PCK52が伝送される場合に要する時間以上になることが必要である。
さらに他のシステムエンコード条件として、A_PCK62のSCR#(n+1)、および、後続のV_PCK(図示せず)のSCR#(n+2)以外の隣り合うSCR間の時間間隔(例えばビデオパック60および61のSCR間の時間間隔)も規定される。すなわち、この時間間隔はPSのピークレート(10.08Mbps)で1個のパックを伝送するのに要する時間以上になるように各SCR値を設定することが必要である。
なお、プログラムストリーム中に、パディングパケットが設けられた位置を示す位置情報を規定することができる。位置情報は、例えば、プログラムストリーム先頭を0としたパディングパケットの先頭アドレスである。また、SCRギャップ先頭のSCR値をRDI_PCKのメーカ拡張フィールド27e、67(図5、図23)内に設けてもよい。さらにPAT,PMT,PCR、またはSITを含むTSパケットの使用可能なSCR値を候補として記録してもよい。また、動画ストリームを含むファイルとは別ファイル内にこれらの情報を記録してもよい。
(実施形態3)
以下、本発明の第3の実施形態によるデータ処理装置を説明する。本実施形態のデータ処理装置の構成要素は図10に示すデータ処理装置10(図10)と同じである。よって、それぞれの機能の説明は省略し、以下ではデータ処理装置の処理を説明する。なお、以下では実施形態1または実施形態2によるプログラムストリームが生成されるとして説明する。しかし、これは必須の前提ではない。実施形態1または実施形態2によるプログラムストリームが生成されない場合には、PSからTSへ変換する場合のストリーム内の時刻情報を別途算出する必要がある。
本実施形態のデータ処理装置10は、DVD−VR規格に準拠したプログラムストリームをトランスポートストリームに変換する際に、処理負担を軽減し、かつ、変換処理時間を短縮することができるプログラムストリームを生成する。ここでいうプログラムストリームとトランスポートストリームとは、互いに図9に示す関係にあるとする。よって、図9の(c)に記載されるように、TSパケットのデータ部分41bには、(b)のPESパケットが分割されて格納される。PESパケットのペイロード40bには、1フレーム分のデータ(ビデオデータまたはオーディオデータ)が格納されている。1フレーム分のデータは、(a)に示すパックのデータ部分39aおよび39bのデータと、データ部分39cの一部のデータから得られる。なお、映像の1フレームとは、例えばインターレース表示されたときの2フィールド分の画面を表し、音声の1フレームとは、例えばサンプリング周波数48kHz、256kbpsのAC−3音声の場合であれば合計1536個のサンプルをいう。
データ処理装置10のPS組立部104は、PSを生成する際に各パックのデータ部分に格納するデータを決定しているため、ビデオやオーディオ等のデータ種別のみならず、そのデータがどのフレームのどの部分を構成するデータであるか等を特定できる。そこで本実施形態のPS組立部104は、そのようなPSを構成するデータ種別ごとのフレームの位置、PTS(再生タイミング情報)、DTS(デコードタイミング情報)等を示す補助情報を生成するようにした。RDIパック内にはメーカが自由に利用できるデータ領域が存在するため、この領域に補助情報を記録することができる。
図23(a)は、本実施形態によるPS組立部104により生成されたプログラムストリームのデータ構造を示す。このプログラムストリームはDVD_VR規格に準拠しており、2キロバイトのRDIパック(RDI_PCK)にメーカ拡張フィールド67が設けられている。
以下、メーカ拡張フィールド67の構成を説明する。メーカ拡張フィールド67は、メーカ識別情報67a、画素数情報67b、圧縮モード情報67c、ビデオ用補助情報67d、オーディオ用補助情報67eを有する。メーカ識別情報はPSを生成したデータ処理装置10のメーカを示し、画素数情報67bは記録された画像の縦横の画素数を示し、圧縮モード情報67cはDVD−VR規格準拠か否かを示す。このほか、メーカ拡張フィールド67には、PSのアスペクト情報(4:3、16:9、レターボックス等)、音声のチャネル属性情報(モノラル/ステレオ等)を記録することもできる。
メーカ拡張フィールド67のビデオ用補助情報67dおよびオーディオ用補助情報67eには、PSを構成するデータ種別ごとのデータ構造に関する情報が規定される。すなわち、ビデオ用補助情報67dは、RDI_PCKを先頭に含むVOBU内の映像パックに関するデータ構造を規定しており、映像フレーム位置情報、PTS/DTS情報を含んでいる。オーディオ用補助情報67eは、音声パックに関するデータ構造を規定しており、音声フレーム位置情報、PTS情報を含んでいる。
図23(b)は、ビデオ用補助情報67dの詳細なデータ構造を示す。ビデオ用補助情報67dには、MPEG規格に規定されるI、P、Bの各フレームについてのフレーム位置情報68a〜68dおよびPTS/DTS情報が規定されている。
各フレーム位置情報68a〜68dは、プログラムストリーム先頭またはVOBU先頭から各フレームデータの先頭位置までのデータサイズであり、バイト単位で表される。図24は、VOBU#iの先頭を0として算出したときの、Iフレーム、B1フレームおよびB2フレームの開始アドレス(格納位置)を模式的に示す。映像フレームの開始アドレスには、VOBU先頭からA_PCKまでに含まれるA_PCKのデータ長も含まれる。PS組立部104は、PSを生成するとき、各フレームの開始位置およびその位置のPTS等を保持しておき、ビデオ用補助情報67dを生成する。
図23(b)に記載のPTS/DTS情報は、フレーム単位のPTSおよびDTSを示す。DTSは必要に応じて設ければよい。PTS/DTS情報は、各フレーム位置情報68a〜68dに対応して設けられており、Iフレームの位置情報68aの次にはIフレームのPTS/DTS情報が設けられ、P1フレームの位置情報68bの次にはP1フレームのPTS/DTS情報が設けられる。B1、B2フレーム等についても同様である。なお、オーディオ用補助情報67eは特に示していないが、DTS情報が含まれない点を除いては、オーディオ用補助情報67eのデータ構造はビデオ用補助情報67dのデータ構造と同様である。
次に、変換部142が上述のデータ構造を有するPSをTSに変換する手順を説明する。図25は、PSからTSへの変換処理の手順を示す。まず、ステップS300において、変換部142にDVD−VR規格に準拠した2kバイト単位のパックが入力されると、ステップS301において、変換部142はそのパックがRDIパックか否かを判定する(S301)。判定の結果、そのパックがRDIパックであればステップS302に進み、RDIパックでなければステップS303に進む。なお、ステップS303の処理は、そのパックが必ずビデオパック(V_PCK)またはオーディオパック(A_PCK)であることを意味する。
ステップS302では、変換部142はRDIパックのメーカ拡張フィールド67から映像および音声の各々について、フレーム位置情報、PTS/DTS情報を取り出す。
ステップS303では、変換部142は、処理の対象となっているパックのパックヘッダおよびPESヘッダを除去する。ここで留意すべきは、RDIパックは必ずVOBUの先頭に配置されているため、ステップS303を実行する時点では、変換部142は先行するRDIパックから既にフレーム位置情報、PTS/DTS情報を取得していることである。
そこで、変換部142は、ステップS304においてフレーム位置情報を参照して、このパック内にフレーム開始位置があるか否かを判定する。フレーム開始位置が含まれていればステップS305に進み、含まれていなければステップS306に進む。
ステップS305では、変換部142はPTS/DTS情報を参照して該当するPTS/DTSを抽出し、そのPTS/DTSを含むPESヘッダを生成してそのパックデータの前に付加する。次のステップS306では、変換部142は、加工したデータを分割して11個または12個のTSパケットを生成して出力する。その後、ステップS307に進み、次のパックを処理する。
以上の処理により、変換部142はPS内のエレメンタリストリームを解析することなく、PSを、1個のPESパケットに1フレームのデータが含まれるPESから構成されるTSに容易に変換できる。
なお、図23(a)および(b)に示す補助情報67d、67eをさらに拡張することも可能である。図26(a)は、補助情報フィールド70にサイズ情報を規定したメーカ拡張フィールド69を示す。図26(b)は、補助情報フィールド70のデータ構造を示す。補助情報フィールド70は、フレームごとにそのフレームのデータサイズに関する情報が規定されている点において、図23(b)と異なっている。例えば、Iフレームに対しては、開始アドレス68aに続いてPTS/DTSが記述され、その後にフレームサイズ71が記述される。P1フレームに対しては、開始アドレス69aに続いてPTS/DTSが記述され、その後にフレームサイズ72が記述される。B1フレームについても同様に、アドレス68c、PTS等、B1フレームサイズ73が記述される。
なお、上述の処理ではPAT/PMTを含むTSパケットの挿入処理に言及していない。しかし、これらのTSパケットは、例えば実施形態1または2によるデータ処理装置10の処理をそのまま適用して挿入できる。これにより、データ処理装置10は、再度のシステムエンコード処理を行う必要がなくなる。
なお、映像フレームの位置情報を、プログラムストリーム先頭もしくはVOBU先頭から、各フレームの先頭位置までのデータサイズであるとして説明したが、隣接フレーム間の開始アドレスの差分を位置情報として規定することもできる。これは、音声フレームの位置情報も同様である。さらに、音声ストリームの数は1つでも複数でもよい。音声ストリームが2つ以上存在する場合であっても、RDIパック内に補助情報(例えば図23)を規定することができる。
また、1以上の補助情報が記録されているか否かを示すために、RDIパックのメーカ拡張フィールド67、69内に、補助情報が記録されているかどうかを示すフラグ情報を併せて記録してもよい。
VOBU内の映像フレーム情報および音声フレーム情報はそのBOBU先頭のRDI_PCK内に格納されるとした。しかし、映像フレーム情報および音声フレーム情報等の補助情報をストリーム中の別の位置に格納してもよい。また、VOBU内の映像フレームに同期する音声フレームに関する補助情報をそのVOBU先頭のRDI_PCK内に格納してもよい。
本実施の形態のプログラムストリームには、トランスポートストリームに変換するための補助情報が格納されている。そこで、トランスポートストリームからプログラムストリームへのいわゆる逆変換を考慮して、トランスポートストリーム内にプログラムストリームに変換するための補助情報を格納してもよい。補助情報は、例えばその補助情報を格納するための専用のトランスポートパケットに格納すればよい。また、PESストリーム内にプログラムストリームまたはトランスポートストリームに変換するための補助情報を格納してもよい。
以上、本発明の実施形態によるデータ処理装置を説明した。
上述したデータ処理装置の各構成要素の動作は、データ処理装置に設けられた中央制御部(図示せず)の指示に基づいて行われる。中央制御部は、データ処理装置のメモリ(図示せず)に配置されたプログラムに基づいて指示を出し、装置の全体的な動作を制御する。プログラムは、図17、18、25等に記載された手順を実施し、予め定められたデータ構造に応じてデータストリームを解析し、または、そのようなデータ構造に適合するデータストリームを生成する。
本明細書では、MPEG2プログラムストリームを例に説明したが、MPEG1のシステムストリームであってもよい。また、記録媒体は相変化光ディスクであるとしたが、例えばDVD−RAM、DVD−R、DVD−RW、DVD+RW、MO、CD−R、CD−RW等の光ディスクや、ハードディスク等の他のディスク形状の記録媒体も利用できる。また、半導体メモリであってもよい。これに関連して、読み書きヘッドは光ディスク用のピックアップとしたが、例えば、記録媒体がMOの場合にはピックアップ及び磁気ヘッドとなり、またハードディスクの場合は磁気ヘッドとなる。
なお、本発明の各実施形態において、トランスポートストリームは、MPEGを用いたデジタル放送規格に準拠した形式であってもよいし、MPEGを用いたデジタルデータ放送に準拠した形式であってもよい。これにより、デジタル放送用セットトップボックス(STB)との互換性を高めることができ、またデータ放送受信機能等のSTBの有する機能を活用することができる。
本明細書では、トランスポートストリームへ変換後はわずかに転送レートが増加する例を説明したが、PSの1個のパックから13個のTSパケットが変換されることを想定して、変換後は13/11倍の転送レートを想定して、空きタイミングにPAT,PMT,PCRを含むTSパケットを挿入してもよい。また、1個のパックを11個から12個のTSパケットへ分割する例を挙げて説明したが、その数を必ず11個に収めるために、1パック内のエレメンタリーストリーム部分のデータサイズを2024バイト以下に制限してもよい。2024バイト以下にする理由は、2024バイトはトランスポートパケットのペイロードサイズ(184バイト)のちょうど11個分に相当するからである。
データ処理装置10は、カムコーダの他、例えば据え置き型の動画記録装置、またはプログラムストリームからトランスポートストリームへのデータ変換を行う装置であってもよい。
さらに、実施形態1によるデータ処理装置では、SCRギャップはトランスポートパケット変換時にPAT等を挿入する目的に使用するとして説明したが、プログラムストリーム中に別のパックを挿入するために設けてもよい。例えば、プログラムストリーム中に1つの音声ストリームのみが含まれている場合に、PS組立部104がシステムエンコード処理を行って時刻情報を再計算することなく、第2の音声データストリームをA_PCKに挿入できるように、SCRギャップを使用してもよい。
実施形態3による処理で得られたPSは、メーカ拡張情報に各種の補助情報が規定されているが、補助情報を別途集めてMPEGプログラムストリームとは別のデータファイルとして保持していてもよい。
上述の説明では、PSの伝送レートはDVD−VR規格に準拠して10.08Mpbs以下であると想定しているが、10.08Mbpsを超えてもよい。本実施形態の処理によって生成されたPSによれば、ビットレートが上がってもトランスポートストリームへの変換容易性および変換効率には影響しないからである。
以上のように本発明にかかるデータ処理装置によれば、プログラムストリームで記録し、かつトランスポートストリームへの変換が効率的かつ容易である。プログラムストリームで記録することより、DVD機器やPC用の編集アプリケーションソフトウェアとの親和性が高い。また、トランスポートストリームへの変換が容易であるので1394インタフェースとの親和性も高い。
【産業上の利用可能性】
本発明によれば、DVD−VR規格に準拠した映像データのプログラムストリームを、例えばIEEE1394のデジタルインタフェース経由で伝送する場合に、プログラムストリームをトランスポートストリームに容易に変換することができる。
【図1】

【図2】

【図3】

【図4】

【図5】

【図6】

【図7】

【図8】

【図9】

【図10】

【図11】

【図12】

【図13】

【図14】

【図15】

【図16】

【図17】

【図18】

【図19】

【図20】

【図21】

【図22】

【図23】

【図24】

【図25】

【図26】


【特許請求の範囲】
【請求項1】
複数のフレームを含む映像および音声の少なくとも一方の信号が入力される信号入力部と、
受け取った前記信号を圧縮符号化して、符号化データを生成する圧縮部と、
前記符号化データを分割して一定のデータサイズを有する1以上のパケットを生成し、前記符号化データの再生を制御する制御情報を格納した制御パケットを付加して、データストリームを生成するストリーム組立部と
を有し、前記ストリーム組立部は、各フレームについて、前記データストリーム内の格納位置を示す位置情報を生成して、前記制御情報として前記制御パケットに記述する、データ処理装置。
【請求項2】
前記ストリーム組立部は、さらに各フレームの表示のタイミングを示す時刻情報を生成して、前記制御情報として前記制御パケットに記述する、請求項1に記載のデータ処理装置。
【請求項3】
前記ストリーム組立部は、さらに各フレームの復号化のタイミングを示す時刻情報を生成して、前記制御情報として前記制御パケットに記述する、請求項2に記載のデータ処理装置。
【請求項4】
前記ストリーム組立部は、さらに各フレームのデータサイズを示すサイズ情報を生成して、前記制御情報として前記制御パケットに記述する、請求項1に記載のデータ処理装置。
【請求項5】
前記ストリーム組立部は、前記制御パケット内の、任意の情報を記述可能なフィールドに前記制御情報を記述する、請求項1から4のいずれかに記載のデータ処理装置。
【請求項6】
前記ストリーム組立部は、前記制御パケットとして制御パックを生成し、前記制御パックを付加して、前記データストリームとしてプログラムストリームを生成する、請求項1に記載のデータ処理装置。
【請求項7】
複数のフレームを含む映像および音声の少なくとも一方の信号を入力するステップと、
受け取った前記信号を圧縮符号化して、符号化データを生成するステップと、
前記符号化データを分割して一定のデータサイズを有する1以上のパケットを生成するステップと、
前記1以上のパケットに、前記符号化データの再生を制御する制御情報を格納した制御パケットを付加して、データストリームを生成するステップであって、各フレームについて、前記データストリーム内の格納位置を示す位置情報を生成して、前記制御情報として前記制御パケットに記述するステップと
を包含するデータ処理方法。
【請求項8】
前記データストリームを生成するステップは、各フレームの表示のタイミングを示す時刻情報を生成して、前記制御情報として前記制御パケットに記述するステップをさらに包含する、請求項7に記載のデータ処理方法。
【請求項9】
前記データストリームを生成するステップは、各フレームの復号化のタイミングを示す時刻情報を生成して、前記制御情報として前記制御パケットに記述するステップをさらに包含する、請求項8に記載のデータ処理方法。
【請求項10】
前記データストリームを生成するステップは、各フレームのデータサイズを示すサイズ情報を生成して、前記制御情報として前記制御パケットに記述するステップをさらに包含する、請求項7に記載のデータ処理方法。
【請求項11】
前記データストリームを生成するステップは、前記制御パケット内の、任意の情報を記述可能なフィールドに前記制御情報を記述する、請求項6から8のいずれかに記載のデータ処理方法。
【請求項12】
前記データストリームを生成するステップは、前記制御パケットとして制御パックを生成し、前記制御パックを付加して、前記データストリームとしてプログラムストリームを生成する、請求項7に記載のデータ処理方法。

【国際公開番号】WO2004/030358
【国際公開日】平成16年4月8日(2004.4.8)
【発行日】平成18年1月26日(2006.1.26)
【国際特許分類】
【出願番号】特願2004−539573(P2004−539573)
【国際出願番号】PCT/JP2003/012449
【国際出願日】平成15年9月29日(2003.9.29)
【出願人】(000005821)松下電器産業株式会社 (73,050)
【Fターム(参考)】