(57)【特許請求の範囲】
【請求項１】
低ビットレートのデータストリームを記録又は再生する方法であって、
当該方法は、
アプリケーションパケットのデータブロックを含む一定サイズのデータストリームセクションを記録又は再生するステップと、前記アプリケーションパケットのデータブロックのデータフィールドにはタイムスタンプが挿入され、前記タイムスタンプは、前記アプリケーションパケットのデータブロックのアドレスを指定し、再生において正しい時間で前記アプリケーションパケットのデータブロックを伝送するために使用され、前記タイムスタンプは、現在使用されているビットレートで記録される連続するアプリケーションパケットのデータブロックの間の期間に対応し、これにより前記データストリームセクションについて、前記記録について規定された最小のビットレートに対応する最大の期間が定義され、
記録される前記データストリームセクションのビットレートが前記規定された最小のビットレート以下である場合、スタッフィングデータを含む１以上のデータブロックを生成するステップと、
前記スタッフィングデータを含む１以上のデータブロックを、記録される１以上の前記データストリームセクションに挿入するステップとを含み、前記スタッフィングデータを含む１以上のデータブロックを含むデータストリームセクションにおいて、対応するタイムスタンプが少なくとも１つの前記スタッフィングデータを含む１以上のデータブロックに挿入され、それぞれのデータストリームセクションは、前記規定された最小のビットレートよりも低い前記アプリケーションパケットのデータブロックのビットレートを達成するように、少なくとも１つのタイムスタンプを含む、
ことを特徴とする方法。
【請求項２】
前記記録されたデータは、ストリームパケット（S_PES_P）が続くストリームパケットヘッダ（P_H）を有するストリームパック（O_S_P）で表されるデータストリームセクションから構成されるストリームオブジェクトユニットに編成され、
前記ストリームパケットは、更なるヘッダデータ（PES_H, S_ID_,
A_H）と、アプリケーションタイムスタンプ（ATS）により前に付けられたアプリケーションパケットの系列により埋められるアプリケーションパケットエリア（A_P_A）とを含み、
前記スタッフィングパケットの開始を含む前記ストリームパックにおいて、前記アプリケーションパケットエリア（A_P_A）は、スタッフィングバイト（Z1）が続くアプリケーションタイムスタンプから構成され、後続する前記ストリームパックは、前記スタッフィングパケットの残り（Z2）を含む、
請求項１記載の方法。
【請求項３】
前記スタッフィングパケットは、真のアプリケーションパケットデータを含む前記ストリームパックの後に、前記ストリームパックの前記アプリケーションパケットエリアの開始で開始する、
請求項２記載の方法。
【請求項４】
前記スタッフィングパケットは、前記ストリームオブジェクトユニットの残りのパックの前記アプリケーションデータエリアを埋めるために必要とされるゼロバイトと同数のゼロバイトが続くアプリケーションタイムスタンプから構成される、
請求項２又は３記載の方法。
【請求項５】
少なくとも１つのパックが真のアプリケーションパケットデータを含むストリームオブジェクトユニットにおいて、前記スタッフィングパケットの前記アプリケーションタイムスタンプが、前記スタッフィングパケットに先行する前記アプリケーションパケットの前記アプリケーションタイムスタンプに設定され、
真のアプリケーションパケットデータが含まれていないストリームオブジェクトユニットにおいて、前記スタッフィングパケットの前記アプリケーションタイムスタンプは、
【数１】
0004705745.tif 000005
のように設定され、
前記SUM_IAPATは、マッピングリストのエントリからの、前記ストリームオブジェクトユニットに割り当てられるインクリメンタルなアプリケーションパケットの到達時間（IAPAT）の合計であり、前記[（31−MTU＿SHFT）．．0]は、前記SUM_IAPATの２進ワードの値を表すビット数であり、前記MTU_SHFTは、現在のストリームオブジェクトユニットのサイズ及び最大の許容可能なビットレートから導出される定数であり、前記ｋは、前記現在のストリームオブジェクトユニットの数である、
ように前記スタッフィングパケットの前記アプリケーションタイムスタンプが設定される、
請求項２乃至４のいずれか記載の方法。
【発明の詳細な説明】
【０００１】
［発明の分野］
本発明は、たとえば、光ディスクのような記憶媒体に記録される、又は記録されている低ビットレートのデータストリームを記録又は再生するための方法に関する。
【０００２】
［発明の背景］
ＣＤ又はその後継者のように、ＤＶＤ（Digital Versatile Disc）は、様々な技術的な用途に使用することができる。したがって、プリレコードされた動画、音楽及びソフトウェアプログラムの大量配信向けにＤＶＤ−Ｖｉｄｅｏ、ＤＶＤ−ＡＵＤＩＯ及びＤＶＤ−ＲＯＭのような異なるＤＶＤ仕様が定義されている。ＤＶＤディスクに記録するために、ＤＶＲ−Ｒがライトワンスの記録メディア向けに使用され、ＤＶＤ−ＲＷがＤＶＤ−Ｒの書き込み可能なバージョンである一方で、ＤＶＤ−ＲＡＭ及びＤＶＤ＋ＲＷは、ＰＣ又は消費者電子製品領域において一般的な読み出し及び書込み用途の役割を果たしている。
【０００３】
更なる開発の下で、ＤＶＤストリームレコーディングと呼ばれる書込み可能／書き換え可能なＤＶＤディスクは、ＤＶＤ−ＳＲと略記される。ＤＶＤ−ＳＲは、所与のパケット化されたビットストリームのリアルタイムの記録及び再生向けに使用される。ここでは、データが記録されるディスクは、他のＤＶＤ仕様に指定される追記可能、書込み可能又は書換え可能なメディア及びファイルシステムフォーマットのいずれかに準拠する。
【０００４】
一般に、様々なビットストリームのパケット化フォーマットは、システムパラメータに依存する異なる用途向けに使用されている。ＩＳＯ／ＩＥＣ １３８１８−１において規定されているＭＰＥＧ−２システム標準は、いわゆるプログラムストリームとトランスポートストリームの２つの異なるフォーマットを明記している。トランスポートストリームは、衛星を介したＤＶＢデータストリームの伝送といった比較的高い誤り率の用途向けに使用される一方で、プログラムストリームは、データストレージのような低い誤り率のケースにおいて使用される。
【０００５】
ＤＶＤ−ＳＲレコーデッドビットストリームの構造は、基本的に、ＩＳＯ／ＩＥＣ１３８１８−１において定義されたようなプログラムストリームに準拠すべきである。ビットストリームのデータは、ストリームオブジェクトＳＯＢとして記録され、ＳＯＢは、６４ｋバイトの一定サイズからなるストリームオブジェクトユニットＳＯＢＵに編成される。
【０００６】
つぎに、それぞれのＳＯＢＵは、ストリームパケットが続くパックヘッダから構成される一定数のいわゆるストリームパックから構成される。ストリームパケットは、更なるヘッダデータ、及びアプリケーションパケット（AP_PKT）データを含んでいる。それぞれのAP_PKTに対して、アプリケーションタイムスタンプATSが割当てられる。このタイムスタンプは、再生の間に、適切なアプリケーションパケットの伝達を可能にする。
【０００７】
SOBUにより獲得される時間インターバルは、定義されていないが柔軟であり、SOBUの再生時間が記録されたビットストリームの瞬間的なビットレートに非常に依存することができることを意味する。したがって、マッピングリスト（ＭＡＰＬ）は、所望のAP_PKTを発見することのできるSOBUを示すために使用される。
【０００８】
相対的なタイムスタンプ“Incremental APAT”（IAPAT)は、それぞれのSOBUにおける記録された信号の周期に対応して、それぞれのSOBUに割当てられる。IAPATタイムスタンプは、ＤＶＤ−ＳＲの局部基準クロックに基づいて記録の間に、到来するアプリケーションパケットに割当てられるアプリケーション パケット アライバル タイム（APAT）と呼ばれるタイムスタンプから導出される。
【０００９】
１２ビットという制限された解像度は、MAPLがストリーマ装置のメモリ、たとえばＲＡＭにおいて維持されなければならないので、IAPAT値のために使用される。最大のIAPAT値は、約２．３秒であるSOBUの周期の上限に対応する。この上限は、記録されるデータストリームの最小ビットレートを毎秒約５．５ｋビットの値に制限する。
【００１０】
［発明の概要］
本発明の目的は、上記記載された最小ビットレートに制限されることなく、したがって、非常に低いビットレートのデータストリームの記録及び再生を可能にするパケット化されたビットストリームの記録又は再生のための方法を開示することにある。この目的は、請求項１に開示された方法により達成される。
【００１１】
本発明は、非常に低いビットレートが一時的に、又は永続的に生じる所定の用途向けに、ＤＶＤ−ＳＲが適用可能であるという事実の認識に基づいている。しかし、非常に低いビットレートストリームのケースでは、１未満のアプリケーションパケットが存在し、したがって、ストリームオブジェクトユニット当り１未満のATSが存在する。したがって、ＤＶＤ−ＳＲ仕様の現在の草案によれば、マッピングリストのデータ検索の適切な機能が保証されない。
本発明によれば、非常に低いビットレートの場合には、空のパケットが記録され、このパケットは、スタッフィングパケットとして記録される。
【００１２】
アプリケーションパケットを置き換えるこれらスタッフィングパケットの使用により、それぞれのストリームオブジェクトユニットは、スタッフィングが実行されるエリアであっても、少なくとも１つのアプリケーションタイムスタンプ値を含むことが保証される。これにより、たとえば、１００ビット／秒のような非常に低いビットレートでの記録及び再生が可能となる。
【００１３】
［発明の実施の形態］
本発明の実施の形態は、添付図面を参照して記載される。
添付図面を説明するために使用される略記は、以下に説明される。
【００１４】
ＳＯＢ（ストリームオブジェクト）：
１）（編集後、オリジナルのSOBは、１つ以上のＳＯＢに分割される）取得する。
２）MAPL_ENT_NのSOBUから構成される。（MAPL_ENT_N>=１；MAPL_ENT_Nは、このSOBのSOBI、すなわちIFOファイルに位置される。）
３）ストリームそれ自身は、（SROファイルに位置される）SOBUから構成される。
４）ストリームに関する情報（位置、記録時間、開始及び終了時間等）は、（IFOファイルに位置される）SOBIに記憶される。−−＞SOB情報
【００１５】
ＳＯＢＵ（SOBユニット）：
１）SROファイルに記憶される。
２）それぞれのSOBUは、65536バイト=32セクタ=32ストリームパック=32ストリームパケットから構成される。
３）ストリームは、隣接するSOBUから構成される。
【００１６】
ＡＰ＿ＰＫＴ（アプリケーションパケット）
１）ストリームパケットのAP_PKTエリアに記憶される（SROファイル）。
２）AP_PKTは、ストリームの実際のペイロードを含む。
３）ATS（アプリケーションタイムスタンプ）は、それぞれのAP_PKTの前にある。
４）１バイト=<AP_PKTサイズ=<64574バイトである。
５）セクタXのAP_PKTエリアにおいて開始するAP_PKTは、セクタX+YのAP_PKTエリアにおいて終了する場合がある。０=<Y=<31
６）AP_PKTのデータは、SOBUの境界でさえもカバーする。
【００１７】
ＡＰＡＴ（AP_PKT到着時間）
１）４８ビットタイムスタンプ
２）絶対タイムスタンプ
３）DVD SR仕様の正確な時間
４）全ての他のタイムスタンプは、APATのサブセットである。
５）APATの9LSBは、APATの27MHz部分を記述する。
６）APATの（残りの）39MSBは、APATの90kHz部分を記述する。
【００１８】
ＩＡＰＡＴ（インクリメンタルAP_PKT到着時間）：
１）MAPL（マッピングリスト−−＞以下参照）の要素
２）相対的なタイムスタンプ（SOBUの周期を含む）−−＞仕様の唯一の相対的なタイムスタンプ
３）レンジ：1．．212-2（すなわち、5.6ｍｓ．．．23.3ｓ）−−＞12ビット値４）ユニット：IAPAT*512/90000Hz
５）IAPAT＃ｎは、SOBU#n+1の切上げた最初に生じるATS−SOBU#n+1の切上げられた最初に生じるATSである。切上げ（up-rounded）は、最高限度（ATS/218）を意味する。
６）APATのビット18からビット29は、IAPATの12ビットに対応する。
【００１９】
ＭＡＰＬ（マッピングリスト）：
１）IFOファイルに記憶されている。
２）それぞれのSOBIは、１つのMAPLを含んでいる。
３）MAPLは、MAPL_ENT_NのIAPAT値から構成される。
４）MAPL_ENT_Nは、このSOBにより使用されるSOBUの数に等しい。
５）MAPL及びMAPL_ENT_Nは、SOBIに位置されている。
６）タイムスタンプ（APAT）を介して、ストリーム内のAP_PKTを位置するために使用される。（すなわち、セクタ及び該セクタ内のAP_PKTの開始バイトを位置するために使用される）
【００２０】
ＳＵＭ＿ＩＡＰＡＴ（MAPLのIAPATの総和）
１）何処にも記憶されない。すなわち、MAPLエントリの総和（IAPAT）により計算されなければならない。
２）このAP_PKTのタイムスタンプを介して、ストリーム内のAP_PKTの開始の粗野な位置を見つけるために使用される。
３）XがサーチしているAP_PKTのタイムスタンプである場合、及びXがSUM_IAPAT(k)とSUM_IAPAT(k+1)の間にある場合、サーチされたAP_PKTは、SOBU#k又はSOBU#kのいずれかにおいて開始される。−−＞サーチ結果は、2SOBUで正確である。
４）この粗野なサーチの後、AP_PKTの正確な位置は、ストリーム内の直接のサーチを介して発見されなければならない。
５）APATのビット18からビット27（すなわち、APATの30MSB）は、SUM_IAPATに対応する。
【００２１】
ＡＴＳ（アプリケーションタイムスタンプ）：
１）32ビットタイムスタンプであり、ストリームに位置される（SROファイル）２）絶対タイムスタンプである。
３）レンジ：1．．232-1（1/27MHz．．．93.2s）−−＞たとえば、重ね合わせがストリーム内で生じる。すなわち、ATSのレンジは、余りに小さく、1つのSOB全体への明白なポインタとなりえない。完全なAPATの値のみがSOB全体についての明白なタイムスタンプとなる。
４）23MSBからなるユニット：1/90kHz
５）（残りの）９LSBからなるユニット：1/27MHz
６）正確な１つのATSは、それぞれのAR_PKTの前にある。
７）正確な１つのATSは、それぞれのスタッフィングパケットの前にある。
８）APATのビット0からビット31は、ATSの32ビットに対応する。
９）ATSのビット0からビット31は、IAPATの12ビットのレンジを有している。−−＞勿論、IAPATは相対的であり、ATSは、絶対的である。したがって、両者は、実際には比較することができない。
【００２２】
図１ａに示されているように、2048バイトのストリームパックO_S_Pは、14バイトのストリームパックヘッダP_H、及び2034バイトのストリームPESパケットS_PES_Pから構成されている。ストリームPESパケットS_PES_Pは、6バイトのPESヘッダPES_H、ストリームレコーディングデータとして後続するペイロードを指定する1バイトの識別データS_ID、及び2027バイトのストリームデータエリアS_D_Aから構成される。ストリームパケット内のストリームデータエリアS_D_Aは、9バイトのアプリケーションヘッダA_H、及び2018バイトのアプリケーションパケットエリアA_P_Aから構成されている。
【００２３】
通常のビットレートについて、アプリケーションパケットエリアA_P_Aは、AP_PKTの系列により埋められ、それぞれのアプリケーションパケットエリアA_P_Aは、アプリケーションタイムスタンプが前に付けられる。ATSは、32ビット値から構成され、いわば、基本パートと拡張パートの２つの部分に分割される。
【００２４】
非常に低いビットレートストリームのレコーディングのケースでは、スタッフィングが実行され、マッピングリストのデータ検索に関する適切な機能が保証される。このために、スタッフィングパケットが概念的なユニットとして定義される。スタッフィングパケットの目的は、スタッフィングのエリアであっても、それぞれのSOBUが少なくとも１つのアプリケーションタイムスタンプATS値を含むことを保証することである。
【００２５】
図１ｂに示されているように、スタッフィングパケットの開始を含むストリームパケットにおいて、アプリケーションパケットエリアA_P_Aは、スタッフィングバイトエリアZ1が後続する４バイトの１つのATSからなる。後続するストリームパックは、残りのスタッフィングパケットを含む。スタッフィングバイトZ2のみからなるアプリケーションパケットエリアA_P_Aは、図１ｃにおいて概念的に示されている。
【００２６】
スタッフィングパケットは、以下の役割を実行する。
スタッフィングパケットは、真のアプリケーションパケットデータを含むストリームパックの後で、ストリームパックのアプリケーションパケットエリアの開始で常に開始される。
【００２７】
スタッフィングパケットは、４バイトの１つのATSから構成され、SOBUの残りのパックのアプリケーションデータエリアを満たすために必要とされるゼロバイトと同数のゼロバイトが後続する。したがって、スタッフィングパケットの全体の長さは、（4＋2014＋(n-1)*2018）バイトである。ここで、0≦n＜SOBU_SIZは、１つのSOBUにおけるパック数である。
【００２８】
スタッフィングバイトについてのゼロの値は、殆どの用途向けに適切である場合があるが、アプリケーションデータエリアを埋めるための他の値を選択することも可能である。
【００２９】
スタッフィングパケットのATSは、以下のように設定される。
少なくとも１つのパックが真のアプリケーションパケットデータを含むSOBUでは、スタッフィングパケットのATSは、スタッフィングパケットに先行するアプリケーションパケットのATSに設定される。
真のアプリケーションパケットデータが含まれないSOBUでは、スタッフィングパケットのATSは、以下のように設定される。
【数２】
0004705745.tif 000002
ここで、SUM_IAPATは、ストリームオブジェクトユニットに割当てられるタイムスタンプを含むマッピングリスト（MAPL）のエントリから導出される。MTU_SHFTは、ストリームオブジェクトサイズ及び最大許容可能なビットレートから導出される定数である。
【００３０】
スタッフィングパケット又はスタッフィングパケットの一部を含む全てのパックは、以下のように構築される。
MPEG-2システム標準により規定されているように、パックヘッダのシステムクロック基準SCRは、SCR=SCR_previous+2048*8ビット/10.08Mbpsに従い計算される。ここで、SCR_previousは、DVDストリーマ仕様の前のパックのSCRを示す。
PESパケットヘッダPES_H及び識別データS_IDは、全ての他のPESパケットと同様に規定される。
アプリケーションヘッダは、AP_N=0,FIRST_AP_OFFSET=0,EXTENSION_HEADER_INFO=00b,SERVICE_ID=0,MAX_BR_LOG2=0及びSMO_BS_LOG2=0により規定される。これらのパラメータは、予備のDVDストリーマ仕様に定義される。
【００３１】
マッピングリストのエントリの上限について、SOBUkにおける全てのアプリケーションパケットｉに関し、以下の上限が維持されなければならない。
【数３】
0004705745.tif 000003
ここで、APATiは、アプリケーションパケットIのアプリケーションパケット到着時間である。すなわち、たとえば、48ビット値のフォーマットを有する絶対的なタイムスタンプである。
【００３２】
この式の制限が保たれていることを保証するために、以下のステップ又は等価な処理を記録の間に実行することができる。
ａ）データでSOBUを埋めることに応じて、現在のSOBUにおいて開始する最初のアプリケーションパケット(AP)のATSを記憶する。
ｂ）以下の式を実行するかについて、ストリーマシステムクロックTSCを連続的にチェックする。
【数４】
0004705745.tif 000004
ｃ）上式に反すると直ぐに、以下のステップが実行される。
ｃ１）技術的に可能な値よりも小さい場合があるAP_PKT_Nの値を使用して、現在のレコーディングセクタを終了する。AP_PKT_Nは、このストリームパックにおいて開始するAP_PKTの数である。
ｃ２）必要であれば、上述したスタッフィングパケットにより、SOBUの残りを埋めることにより、現在のSOBUを終了する。現在のSOBUデータをディスクに書き込む。
ｃ３）マッピングリストエントリIAPAT(k)＝212-2を作成する。
ｃ４）kを1だけインクリメントする。
ｃ５）SOBU#のレコーディングを開始し、レコーディングのためにその最初のセクタをオープンにする。
ｃ６）AP_PKTがTSC[47．．0]=SUM_IAPAT(k-1)*218に到着した場合、ステップａ）に進む。
ｃ７）スタッフィングパケットのみを含むSOBUとしてSOBU#kを記録する。（ATS=SUM_IAPAT(k-1)［13．．0］*218）
ｃ８）AP_PKTがTSC[47．．18]<SUM_IAPAT(k-1)+(212-2)の間に到着した場合、ステップｃ）に進む。
ｃ９）AP＿PKTは、SOBU#k+1の最初のAP_PKTである。
ｃ１０）IAPAT(k)を設定
ｃ１１）kを1だけインクリメント
ｃ１２）ステップａ）に進む。
【００３３】
アプリケーションパケットが、たとえばビデオ、オーディオ又はサービス情報のような追加のデータといったいずれかのタイプのデータを含む場合、ストリーマにおいて処理されるデータレートは、たとえば、ビデオ信号の詳細で複雑な移動シーンのために、80Mbit/sのピークデータレートにそのレンジが拡大される場合がある。
【００３４】
本発明は、たとえば、いわゆるＤＶＤストリーマのようなパケット化されたビットレートデータストリームの記録及び再生にための何れかの装置において使用することができる。さらに、本発明は、特に、ＤＶＤディスク向けである、パケット化されたビットレートストリームの記録及び再生のための任意の記憶メディア向けに使用することができる。
【図面の簡単な説明】
【図１】  スタッフィングパケットの一部を含むストリームパケットの構造を示す図である。
【図１】
0004705745.tif 000006