(57)【要約】【課題】データ列の探索方法、永久削除方法を提供する。【解決手段】パケットデータの到着した時間情報の付加えられた複数のデータ列を探索するための探索情報、前記探索情報を実際のデータ列に連結させる連結情報の貯蔵されている記録媒体上に記録された複数個のデータ列を探索する方法において、（ａ）所望の探索地点の到達時間を設定し、前記所望の探索地点に属するデータ列の最初パケット到達時間の整数部分を初期値として設定する段階と、（ｂ）前記初期値にデータ列ユニットの持続時間を累算して累算値を提供する段階と、（ｃ）設定された探索地点の到達時間が前記累算値より小さいか、同一になるまで前記（ｂ）段階を繰返して行う段階とを含むことを特徴とする。【選択図】図８
2006294233.tif 000002
【特許請求の範囲】
【請求項１】
パケットデータが到着した時間情報の付加えられた複数のデータ列を探索するための探索情報、前記探索情報を実際のデータ列と連結させる連結情報の貯蔵されている記録媒体上に臨時削除により分離された各データ列の境界部分に対応するデータ列ユニットのための各連結目録情報を更新する方法において、
（ａ）臨時削除により分離された各データ列の境界部分で先行するデータ列の最後データ列ユニットと関連した持続時間を更新する段階と、
（ｂ）臨時削除により分離された各データ列の境界部分で後続データ列の最初データ列ユニットと関連した持続時間を更新する段階とを含む方法。
【請求項２】
前記（ａ）段階は、
（ａ１）臨時削除区間に該当するデータ列の最初データ列ユニットの最初パケット到達時間を丸めて整数からなる第１値と、前記先行するデータ列の最後データ列ユニットの最後パケット到達時間の整数部分のみ取って第２値を提供する段階と、
（ａ２）前記第１値から第２値を減算して第１減算結果を提供し、前記先行データ列の最後データ列ユニットの持続時間から前記第１減算結果を減算して第２減算結果を提供する段階と、
（ａ３）前記第２減算結果から単位値だけ増加させて修正された先行データ列の最後データ列ユニットと関連した持続時間を提供する段階とを含む請求項１に記載の方法。
【請求項３】
前記（ｂ）段階は、
（ｂ１）前記後続データ列の最初データ列ユニットの最初パケット到達時間が整数か否かを判断する段階と、
（ｂ２）前記後続データ列の最初データ列ユニットの最初パケット到達時間が整数でなければ、前記後続データ列の最初データ列ユニットの持続時間から単位値だけ増加させて修正し、そうでなければそのまま後続データ列の最初データ列ユニットの持続時間を提供する段階とを含む請求項１に記載の方法。
【請求項４】
パケットデータの到着した時間情報の付加えられた複数のデータ列を探索するための探索情報、前記探索情報を実際データ列と連結させる連結情報の貯蔵されている記録媒体上に編集により割れたデータ列を復元する時、各データ列の境界部分に対応するデータ列ユニットのための各連結目録情報を更新する方法において、
（ａ）データ列を統合する時、統合される各データ列の境界部分で先行データ列の最後データ列ユニットと関連した持続時間を更新する段階と、
（ｂ）データ列を統合する時、統合される各データ列の境界部分で後続データ列の最初データ列ユニットと関連した持続時間を更新する段階とを含む方法。
【請求項５】
前記（ａ）段階は、
（ａ１）先行データ列の最後データ列ユニットの最後パケット到達時間の整数部分に単位値を足した第１値と、後続データ列の最初データ列ユニットのパケット到達時間から整数部分のみを取った第２値を提供する段階と、
（ａ２）前記第２値から先行データ列の最後データ列ユニットの持続時間の差を求め、前記先行データ列の最後データ列ユニットの持続時間に前記差を加算して加算結果を提供する段階と、
（ａ３）後続データ列の最初データ列ユニットのパケット到達時間が整数でなければ前記加算結果から単位値だけ増加させて修正した先行データ列の最後データ列ユニットの持続時間を提供し、そうでなければそのまま先行データ列の最後データ列ユニットの持続時間を提供する段階とを含む請求項４に記載の方法。
【請求項６】
前記（ｂ）段階は、
（ｂ１）前記後続データ列の最初データ列ユニットの最初パケット到達時間が整数か否かを判断する段階と、
（ｂ２）前記後続データ列の最初データ列ユニットの最初パケット到達時間が整数でなければ、前記後続データ列の最初データ列ユニットの持続時間から単位値だけ減少させ修正し、そうでなければそのまま後続データ列の最初データ列ユニットの持続時間を提供する段階とを含む請求項４に記載の方法。
【請求項７】
パケットデータの到着した時間情報の付加えられた複数のデータ列を探索するための探索情報、前記探索情報を実際のデータ列と連結させる連結情報の貯蔵されている記録媒体上に一部のデータ列を永久削除する方法において、
（ａ）永久削除しようとする区間に該当するデータ列のための探索情報を更新する段階と、
（ｂ）前記連結情報を更新するが、永久削除されない正常データ列の境界部分に対応するデータ列ユニットのための各連結目録情報を更新する段階とを含む方法。
【請求項８】
前記（ａ）段階では永久削除しようとする区間に対応する探索情報を削除することを特徴とする請求項７に記載の方法。
【請求項９】
前記（ｂ）段階は、
（ｂ１）前記永久削除可能なデータ列ユニットと関連した連結情報を削除する段階と、
（ｂ２）前記永久削除区間に該当するデータ列と先行データ列の境界部分で前記先行データ列の最後データ列ユニットと関連した持続時間を更新する段階と、
（ｂ３）前記永久削除区間に該当するデータ列と後続データ列の境界部分で前記後続データ列の最初データ列ユニットと関連した持続時間を更新する段階とを含む請求項７に記載の方法。
【請求項１０】
前記（ｂ２）段階は、
（ｂ２１）前記永久削除区間に該当するデータ列の最初データ列ユニットの最初パケット到達時間を丸めて整数からなる第１値と、前記先行データ列の最後データ列ユニットの最後パケット到達時間の整数部分のみ取って第２値を提供する段階と、
（ｂ２２）前記第１値から第２値を減算して第１減算結果を提供し、前記先行データ列の最後データ列ユニットの持続時間から前記第１減算結果を減算して第２減算結果を提供する段階と、
（ｂ２３）前記第２減算結果から単位値だけ増加させて修正された先行データ列の最後データ列ユニットと関連した持続時間を提供する段階とを含む請求項９に記載の方法。
【請求項１１】
前記（ｂ３）段階は、
（ｂ３１）前記後続データ列の最初データ列ユニットの最初パケット到達時間が整数か否かを判断する段階と、
（ｂ３２）前記後続データ列の最初データ列ユニットの最初パケット到達時間が整数でなければ、前記後続データ列の最初データ列ユニットの持続時間から単位値だけ増加させて修正し、そうでなければそのまま後続データ列の最初データ列ユニットの持続時間を提供する段階とを含む請求項９に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はパケット構造を有するデータの編集及び/または再生分野に係り、特にデータ列の探索方法、永久削除方法に関する。
【背景技術】
【０００２】
一般に一つのコンテンツは１つのデータ列(Stream Object:SOB)で形成され、１回のデータ列は複数の一定の単位に分けられたデータ列ユニット(Stream Object Unit:SOBU)で管理される。この時のデータ列は、例えば、使用者が１つの記録を開始して終了するまでに記録されたデータを意味し、具体的にはドラマ一遍または映画一遍が１つのデータ列の形態として記録されうる。従って、コンデンツの代わりにプログラムという表現が使用できるので、以下プログラムとして説明する。
【０００３】
図１は既に記録されたデータ列に対して所望の部分のデータを読出するのに用いられる探索情報とデータとの間の関係を示す例である。何れのプログラムを使用者が録画する場合、使用者の目には１つのプログラムのみが存在すると見られるが内部的には使用者に意味のある探索手段を提供するセル(Cell)、セルにある情報を実際にデータと連結させるデータ列情報(SOB information:SOBI)が存在する。
【０００４】
特に、データ列は貯蔵媒体の物理的な性質、再生/編集装置の性能及び/または管理の便宜と効率を高めるためにデータを一定の単位(データ列ユニット:SOBU)に束ねて管理するが、データ列ユニットへの接近時用いられる情報がデータ列情報の連結目録(MAPping List:MAPL)に貯蔵される。SOBUの番号は１から始まり、連結目録は複数個の項目を有しうる。この項目はデータ列ユニット(SOBU)の持続時間を示すIAPAT(Incremental AP Arrival Time)という情報を有する。
【０００５】
貯蔵装置に記録されたプログラムを任意に接近可能にするために、一般に接近しようとするプログラムに対する探索情報を別に作って使用する。探索情報としては、プログラム内でデータの位置情報、プログラム再生時間とプログラム記録時間が通用され、記録されているプログラムが映画なら映画の特徴的な場面等も使われるが、ここではプログラム記録時間を探索情報の一例として使用する。
【０００６】
探索情報は応用分野によって多様な形式を有するが、通常の場合には情報量を減らし、迅速な探索を可能にするためにプログラムを構成するデータを１つずつ指示しなく、大きく束ねて指示する。このような束は通常階層的に構成されることもあり、図１では３つの階層で構成した例を示す。階層的構造で探索情報が構成される場合、上位階層の情報は直下の正常な下位階層の情報からなる。プログラムを構成する探索情報の上位階層としてはセルが存在し、その下にはデータ列、データ列ユニット順に存在する。探索情報の各階層は相互多様な関係を有しうる、ここでは次の特定の場合を仮定する。
【０００７】
プログラムは１つ以上のセルよりなる。セルは１つのデータ列で構成される。データ列は１つ以上のデータ列ユニットで構成される。データ列ユニットは１つ以上のデータで構成される。図１ではProgram_orgがCell_orgで、Cell_orgはSOBで、SOBはSOBU(１)、SOBU(２)、SOBU(３)で、各SOBUはデータで、各々構成された場合を示す。即ち、Program_orgは自分のセルを記憶する情報構造を有しており、セルは自分のSOBを記憶する情報構造を、SOBはSOBUを記憶する情報構造の連結目録(MAPL)を有している。
【０００８】
また、探索情報が管理するデータ列の範囲を示すために、セルの最初データ到達時間SC_S_APATとセルの最後データ到達時間SC_E_APAT及びデータ列の最初データ到達時間SOB_S_APATとデータ列の最後データ到達時間SOB_E_APATとを各々セル情報とデータ列情報とに含める。臨時削除(Temporal Erase:TE)フラグはデータ列が臨時削除されたことを表示する。ここで、臨時削除とは、使用者がプログラム全体或は一部を削除した後、これを復元できる削除を意味する。逆に復元できない削除を永久削除という。
【０００９】
MAPLの各項目は対応されるSOBUの持続時間を示すIAPAT(Incremental AP Arrival Time)で示す。ここで、APはアプリケーションパケット（Application Packet）であって、パケット構造を有するデータを意味する。SOBUの持続時間のIAPATは下記のように定義される。
【００１０】
時間で表現された探索情報は応用分野によってそれなりの精度を有している。MPEG(Moving Picture Expert Group)-２システムの場合は２７MHz単位で時間をカウントして使用する。図１では０.１単位でデータが表示され、SOBは探索情報のMAPLの大きさを縮めるために１.０単位に時間を示すと仮定したことである。これを４８ビット(６バイト)大きさのレジスターを用いて時間を示す場合に適用すれば、図２に示されたようにポイントb１８以上が少数点以上に該当し、ｂ１８未満が少数点以下に該当する。この少数点の直上のb１８に該当する位置をMTU_SHFTと表示する。
【００１１】
また、図１においてMAPLの各項目は３、１、１という値を有するが、これはMAPLに対する次の定義に立脚したものである。参考に、毎SOBUのIAPATを決定する方法はSOBにおいてSOBUの位置によって、即ち、SOBUが最後SOBUか否かに応じて異なる方法が使われる。例えば、１つのSOBにM個のSOBUがある場合、最後SOBUを除いたi番目のSOBU(i)に対し、IAPATを最初からi番目まで累算したのがSOBU(i+１)の最初AP到達時間より１以上大きくてはいけない。この際、IAPATは１.０単位に表現される整数と仮定し、累算の初期値は０とする。これを数式で表せば次の通りである。
【００１２】
［数１］
SOBU_S_APAT(i+１)≦SUM_IAPAT(i)＜SOBU_S_APAT(i+１)+１
ここで、SUM_IAPAT(i)は該当SOBU、即ち、SOBU(i)を含んで先行する全てのSOBUのIAPAT値を累算したことを示し、SOBU_S_APAT(i+１)はSOBU(i+１)の最初APの到達時間を示す。M個のSOBUがある場合、最後SOBUのSOBU(M)に対してIAPATを最初からM番目まで累算したのがSOBU(M)の最後AP到達時間より大きいが、SOBU(M)の最後AP到達時間より１を超過してはいけない。この際、IAPATは１.０単位で表現される整数と仮定し、累算の開始は“０”にする。
【００１３】
［数２］
SOBU_E_APAT(M)＜SUM_IAPAT(M)≦SOBU_S_APAT(M)+１
ここで、SUM_IAPAT(M)は該当SOBU、即ち、SOBU(M)を含んで先行する全てのIAPATを累算した値を示し、SOBU_E_APAT(M)はSOBU(M)の最後APの到達時間を示す。前記数学式１と数学式２の概念を図３に基づいて詳しく説明する。例えば、IAPAT(１)、IAPAT(２)とIAPAT(６)を求めると次のようである。
【００１４】
図３において、SOBU(１)の場合、SOBU(１)のIAPATを累算した結果、即ちSOBU(１)の値がSOBU(２)の最初AP到達時間より大きいか同一であるが、SOBU(２)の最初AP到達時間より１以上大きくてはいけない。即ち、累算結果が１.９より大きいか同一であるが、２.９よりは小さな整数でなければならないことを意味するので、２になるべきである。従って、SOBU(１)のIAPATは２となる。
【００１５】
SOBU(２)の場合、SOBU(１)のIAPATとSOBU(２)のIAPATとを累算した結果がSOBU(３)の最初AP到達時間より大きいか同一であるが、SOBU(３)の最初AP到達時間より１以上大きくてはいけない。即ち、累算結果が５.５よりは大きいか同一であるが、６.５よりは小さな整数であるべきことを意味するので６になるべきである。SOBU(１)のIAPATが２なのでSOBU２のIAPATは４となる。
【００１６】
このような方法で最初と中間SOBUのIAPATが分かり、図４Aに示された場合は、境界条件なので特に注意すべきである。図４Aに示されたSOBU(２)のIAPATを計算すれば、SOBU(３)の最初AP到達時間が整数５.０の場合SOBU(２)のIAPATまで累算した結果は６でなく５である。一方、図３に示されたSOBU(６)の場合はSOBの最初AP到達時間の整数部分とSOBU(６)までのIAPATを累算した結果がSOBU(６)の最後AP到達時間より大きいが、SOBU(M)の最後AP到達時間より１を超過してはいけない。即ち、累算結果が１０.８よりは大きいが、１１.８よりは小さいか同一な整数を意味するので１１になるべきである。SOBU(５)までIAPATを累算した結果が１０になるのでSOBU(６)のIAPATは１となる。
【００１７】
このような方法で１つのSOBから最後SOBUのIAPATがわかり、図４Bに示された場合は境界条件なので特に注意すべきである。図４Bに示されたSOBU(６)のIAPATを計算すれば、SOBU(６)の最後AP到達時間が整数１１.０の場合SOBU(６)のIAPATまで累算した結果は１１でなく１２である。一方、一般にプログラムが臨時削除される場合TEフラグで表示すると約束されている。従って、プログラムの一部を臨時削除する場合、データ列を分離して臨時削除されたデータ列と削除されていないデータ列とに区分し、臨時削除されたデータ列にはTEフラグをセットする。このような作業を行うのはデータを実際に消さなく使用者とデータとを連結する探索情報のみを変更することによって、後で削除された部分を復元可能にするためである。
【００１８】
しかし、このようにデータ列を分離するにおいて、探索情報を生成する方法が提示されていない。また、臨時削除された部分を表示するのがTEフラグだけなので後で復元するに当ってTEフラグをリセットする方法を採択すべきである。これら、セル間の読出は中間にリセット過程が挿入され、不連続的に行われることがある。
【００１９】
このようにTEフラグをリセットして復元する方法を使用すれば、復元されたプログラムは２つ以上のセルを有することになる。これは臨時削除後、臨時削除された部分を復元してもセル間の動作に対して定義されていないために、図１に示されたように元のプログラムへの復帰ではないことを意味する。従って、使用者としては臨時削除後の復元は元の状態への復帰を意味するので臨時削除によって分離されたデータ列を完全に復元する方法が必要となる。
【発明の開示】
【発明が解決しようとする課題】
【００２０】
従って、本発明の目的は、パケット構造を有するデータ列において元の状態に復元するための探索情報を用いて臨時削除する方法を提供することにある。本発明の他の目的は、複数のデータ列に分離されている時探索情報を用いて高速探索する方法を提供することにある。本発明のさらに他の目的は、臨時削除時複数個に分離されたデータ列を完全復元する方法を提供することにある。
【００２１】
本発明のさらに他の目的は、臨時削除により分離された各データ列の境界部分に対応するデータ列ユニットのための各連結目録情報を更新する方法を提供することにある。本発明のさらに他の目的は、編集により割れたデータ列を元の状態に復元する時、各データ列の境界部分に対応するデータ列ユニットのための各連結目録情報を更新する方法を提供することにある。
【００２２】
本発明のさらに他の目的は、所望の部分のデータ列を永久削除する方法を提供することにある。本発明のさらに他の目的は、臨時削除時、多数個に分離されたデータ列を完全復元するための付加情報を貯蔵する記録媒体を提供することにある。
【課題を解決するための手段】
【００２３】
前記目的を達成するために本発明に係る臨時削除方法は、パケットデータの到着した時間情報の付加えられた複数のデータ列を探索するための探索情報、前記探索情報を実際のデータ列に連結させる連結情報の貯蔵されている記録媒体上に記録されたデータ列の一部を臨時削除する方法において、臨時削除しようとする区間に対応して生成された複数のデータ列のための探索情報と連結情報のみを更新するが、臨時削除区間に該当するデータ列には臨時削除されたことを示す第１付加情報と、第１付加情報の付加えられているデータ列と先行するデータ列が臨時削除前に連続した１つのデータ列であったことを示す第２付加情報を貯蔵する段階を含むことを特徴とする。
【００２４】
本発明に係る探索方法は、パケットデータの到着した時間情報の付加えられた複数のデータ列を探索するための探索情報、前記探索情報を実際のデータ列に連結させる連結情報の貯蔵されている記録媒体上に記録された複数個のデータ列を探索する方法において、所望の探索地点の到達時間を設定し、前記所望の探索地点に属するデータ列の最初パケット到達時間の整数部分を初期値として設定する段階と、前記初期値にデータ列ユニットの持続時間を累算して累算値を提供する段階と、設定された探索地点の到達時間が前記累算値より小さいか、同一になるまで前記(b)段階を繰返して行う段階とを含むことを特徴とする。
【００２５】
本発明に係る復元方法は、パケットデータの到着した時間情報が付加えられた複数のデータ列を探索するための探索情報、前記探索情報を実際のデータ列に連結させる連結情報が貯蔵されている記録媒体上に編集により割れたデータ列を復元する方法において、編集区間に対応して生成された複数のデータ列を元のデータ列に復元するために探索情報と連結情報のみを更新するが、該当データ列が編集されたことを示す第１付加情報と、編集されたデータ列の前に先行するデータ列とは編集前に連続する１つのデータ列であったことを示す第２付加情報とを無効化させる段階を含むことを特徴とする。
【００２６】
本発明に係る臨時削除時連結目録更新方法は、パケットデータの到着した時間情報の付加えられた複数のデータ列を探索するための探索情報、前記探索情報を実際のデータ列と連結させる連結情報の貯蔵されている記録媒体上に臨時削除により分離された各データ列の境界部分に対応するデータ列ユニットのための各連結目録情報を更新する方法において、臨時削除により分離された各データ列の境界部分で先行するデータ列の最後データ列ユニットと関連した持続時間を更新する段階と、臨時削除により分離された各データ列の境界部分で後続データ列の最初データ列ユニットと関連した持続時間を更新する段階とを含むことを特徴とする。
【００２７】
本発明に係る復元時連結目録更新方法は、パケットデータの到着した時間情報の付加えられた複数のデータ列を探索するための探索情報、前記探索情報を実際データ列と連結させる連結情報の貯蔵されている記録媒体上に編集により割れたデータ列を復元する時、各データ列の境界部分に対応するデータ列ユニットのための各連結目録情報を更新する方法において、データ列を統合する時、統合される各データ列の境界部分で先行データ列の最後データ列ユニットと関連した持続時間を更新する段階と、データ列を統合する時、統合される各データ列の境界部分で後続データ列の最初データ列ユニットと関連した持続時間を更新する段階とを含むことを特徴とする。
【００２８】
本発明に係る永久削除方法は、パケットデータの到着した時間情報の付加えられた複数のデータ列を探索するための探索情報、前記探索情報を実際のデータ列と連結させる連結情報の貯蔵されている記録媒体上に一部のデータ列を永久削除する方法において、永久削除しようとする区間に該当するデータ列のための探索情報を更新する段階と、前記連結情報を更新するが、永久削除されない正常データ列の境界部分に対応するデータ列ユニットのための各連結目録情報を更新する段階とを含むことを特徴とする。
【００２９】
また、本発明に係る記録媒体は、パケットデータの到着した時間情報の付加えられた複数のデータ列を探索するための探索情報と前記探索情報を実際のデータ列と連結させる連結情報の貯蔵され、臨時削除区間に該当するデータ列には臨時削除されたことを示す第１付加情報と第１付加情報の付加えられているデータ列と先行データ列とが臨時削除以前に連続して１つのデータ列であったことを示す第２付加情報の貯蔵されることを特徴とする。
【発明の効果】
【００３０】
本発明は臨時削除によるデータ列の分離時、従来に提示されなかった探索情報を生成する方法を提示し、本発明の情報構造と復元方法を用いると、臨時削除で分離されたデータ列を臨時削除される前の状態に完全に復元させうる。また、本発明には探そうとするデータが属しているデータ列ユニットを探し出す過程でSOBUの累積時間(IAPAT)を累算する時、初期値を“０”にしなく、データ列の最初データ到達時間の整数部に設定することによって高速探索が可能である。また、臨時削除された部分を永久削除する場合にも探索情報のみでも削除範囲が分かるために迅速な削除が要求される場合に効率よく使用しうる。
【発明を実施するための最良の形態】
【００３１】
以下、添付した図面に基づき本発明に係るデータ列の臨時削除方法、探索方法、復元方法、永久削除方法及び臨時削除により分離されたデータ列を復元するための付加情報を貯蔵する記録媒体の望ましい実施例を説明する。図５はデータ列の一部を臨時削除する場合、削除範囲を決定する過程を示す一例である。使用者としては貯蔵されたプログラムを任意に、できるだけ最小の単位まで調整しようとする。即ち、使用者が一部を臨時削除しようとするプログラムが映画の場合、一枚単位の編集を希望する。この場合、使用者が調整する精度が、実際に編集装置がデータを処理する単位のデータ列ユニット(SOBU)より小さいので削除範囲を決定する過程で格別な注意が必要である。
【００３２】
図５は使用者がデータ列ユニット(SOBU)より小さな単位の０.１の精度で１.５から３.８まで部分削除を行う場合である。探索情報を用いて使用者が臨時削除しようと指定した時間を探し、これを基にして１つのセルを３つのセルに分離する過程を示す。使用者がプログラムの中間に該当するx-yに亙った時間区間を臨時削除することを示しており、プログラムの最初部分削除及び/または最後部分削除が全て含まれることができ
る。
【００３３】
xからyを削除するために、先にxの属するSOBUとyの属するSOBUを探す。図５ではxはSOBU(１)に、yはSOBU(３)に属することが分かる。従って、１つのセルを３つのセルに分離するに当って、最初セルをSOBU(１)以下のSOBUを含むSOBで、３番目のセルをSOBU(３)以上のセルを含むSOBで、２番目のセルを前述しなかったSOBUを含むSOBで構成する。その理由は探索情報を構成する規則において、セルは１つのデータ列で、１つのデータ列は多数個のSOBUで構成されるように規定するからである。即ち、最初セルはSOBU(１)を有するSOB１で、３番目のセルはSOBU(３)を有するSOB３で、２番目のセルはSOBU(２)を有するSOB２で構成される。
【００３４】
図６は臨時削除で分離されたデータ列の一例であって、削除しようとする部分は斜線で表したxからyまでで、セル２で表されている。データ列の一部を臨時削除するために１つのセル情報を３つのセル情報に分離した後、このうち中間のセルに今後復元のために臨時削除されたことを示すTEフラグをセットする。TEフラグをセットする理由はこのような作業(臨時削除)が行われた部分を今後復元可能にするためである。この際、最初セルは元のセルの最初から削除前までを、最後セルは削除された以後から元のセルの最後までを含む。セルの探索情報とデータとを連結するデータ列情報は各々複数個のデータ列ユニットを有しうる。ここで、セル１は０.８-x(=１.５)までを示し、SOB１は０.８-１.９までを、セル２は２.１-３.３までを、SOB２は２.１-３.３までを、セル３は３.８(=y)-４.８までを、SOB３は３.５-４.８までを各々示す。
【００３５】
セルの範囲とデータ列情報の範囲が一致しない理由は、SOBはSOBU単位で時間を記録し、セルはSOB範囲内で使用者が削除した時間を示すからである。かかる方法を通してSOBIはSOBU単位でSOBが管理でき、セルは使用者に使用者の操作内容が正しく反映されたことを示しうる。
【００３６】
従って、図６はxからyに臨時削除過程を通して３つのセルに分離されたプログラムの探索情報を示す。セル２は臨時削除される部分を束ねてセルという情報構造を表し、臨時削除されたことを表示するためにTEフラグをセットする。このような探索情報を有している場合、再生装置はセル１とセル３とを再生してこれらを連続的に再生する場合セル１とセル３との境界で一般にリセット過程を行う。セル２は臨時削除された状態なので再生されない。xからyまでの時間を臨時削除する過程で１つのセルが３つのセルに分離される。この際、分離された各セルのそれぞれの探索情報は図７のテーブルに示されている。
【００３７】
図７に示されたテーブルにおいて、APはパケットという構造を有する応用で使用するデータである。IAPAT(Incremental AP arrival time)はAP到達時間を累算して解かるようにした形態のAP到達時間を、IAPAT(i)はSOBU(i)のIAPAT、SOB_S_APAT(SOBの最初AP到達時間)はデータ列において最初位置にある開始データの到達時間を、SOB_E_APAT(SOBの最後AP到達時間)はデータ列において最後位置にある最後データの到達時間、SOB_S_SOBU(SOBにおいて最初SOBU)はデータ列において最初位置にある開始データ列ユニットの番号を示す。MAPL_ENT_Ns(MAPL項目数)はデータ列に属したIAPAT数であってデータ列ユニットの数と同一で、MAPL[IAPATs](MAPL項目)はIAPATの集合で、SOB_TY(SOB type)はデータ列のタイプであってTEフラグとCT(Contiguous)フラグなどが位置し、SC_S_APAT(Cellの最初AP到達時間)はセルにおいて最初位置にある開始データの到達時間で、SC_E_APAT (セルの最後AP到達時間)はセルにおいて最後位置にある最後データの到達時間を意味する。ここで、CTフラグについては図１５において詳しく説明する。
【００３８】
臨時削除時探索情報を生成する過程は次の通りである。まず、SOBU番号は１から始まる。ixはxの属するSOBUの番号を意味する。即ち、SOBU(ix)はxの属するSOBUを意味する。但し、xがSOBUの最初AP到達時間と同一な場合、ixはxの属するSOBUの前SOBU番号となる。iyはyの属するSOBU番号を意味する。即ち、SOBU(iy)の属するSOBUを意味する。但し、yがSOBUの最後AP到達時間と同一な場合、iyはyの属するSOBUの後SOBU番号となる。従って、図６においてSOBU(ix)はSOBU(１)で、SOBU(iy)はSOBU(３)である。参考にSOBU(ix+１)はSOBU(２)で、SOBU(iy-１)はSOBU(２)である。
【００３９】
第１段階:SOB１の最初AP到達時間はSOB_orgの最初AP到達時間をコピーして使用する。
第２段階:SOB２の最初AP到達時間はSOBU(ix+１)の最初AP到達時間とする。
第３段階:SOB３の最初AP到達時間はSOBU(iy)の最初AP到達時間とする。
第４段階:SOB１の最後AP到達時間はSOBU(ix)の最後AP到達時間を使用する。
第５段階:SOB２の最後AP到達時間はSOBU(iy-１)の最後AP到達時間を使用する。
第６段階:SOB３の最後AP到達時間はSOB_orgの最後AP到達時間をコピーして使用する。図８は第１段階乃至第６段階の過程を示す例である。
第７段階:SOB１の最初SOBUはSOB_orgの最初SOBUとして設定される。
第８段階:SOB２の最初SOBUはSOBU(ix+１)として設定される。
第９段階:SOB３の最初SOBUはSOBU(iy)で（に）設定される。
【００４０】
第７段階乃至第９段階を図６に適用すれば、SOB１、SOB２、SOB３が全て１つのSOBUを有するのでこれらが直ちにSOBの最初SOBUとなる。従って、図７のテーブルに示されたようにSOB１、SOB２、SOB３の最初SOBUは各々SOBU(１)、SOBU(２)、SOBU(３)となる。
第１０段階:SOB１のMAPL項目数はixとなる。
第１１段階:SOB２のMAPL項目数は[SOBU(iy-１)番号-SOBU(ix+１)番号+１]と決められる。
第１２段階:SOB３のMAPL項目数は[SOBのMAPL項目数-SOBU(iy)番号+１]と決められる。
【００４１】
第１０段階乃至第１２段階を図６に適用すればSOB１、SOB２、SOB３のMAPL項目数は各々１個となる。これは、臨時削除後３つに分離された後、SOB１、SOB２、SOB３は全てSOBUを１つずつ有していることを意味する。
第１３段階:SOB１、SOB２、SOB３のIAPATを決定する。これについては、図１０A、図１０B、図１１A、図１１B、図１２及び図１３を結び付けて説明する。１つのデータ列(SOB)が分離される場合、分離される境界にあるSOBUのIAPAT値のみが変化する。その理由はIAPATを決定する規則がSOBにおけるSOBU位置に応じて別に適用されるからである。
【００４２】
即ち、図９では、分離前SOB_orgがSOB１、SOB２、SOB３に分離された後IAPATが変化された形態を示している。SOBU(１)がSOB１の最後SOBUとなり、SOBU(２)がSOB２の最初SOBUとなる。また、SOBU(２)はSOB２の最後SOBUとなり、SOBU(３)はSOB３の最初SOBUとなる。従って、SOBU(１)のIAPATは１.０が減った２.０となり、SOBU(２)のIAPATは１.０が増えた２.０となり、SOBU(３)のIAPATは１.０が増えた２.０となる。
【００４３】
これに対して、図１０A、図１０B、図１１A及び図１１Bに示した流れ図を結び付けてさらに詳しく説明する。SOBU(ix)の最後AP到達時間、SOBU(ix+１)の最初AP到達時間、SOBU(iy-１)の最後AP到達時間、SOBU(iy)の最初AP到達時間は既知のことと仮定する。臨時削除によるデータ列分離後SOB１とSOB２の境界において、SOB１の最後SOBUのSOBU(ix=１)と関連したIAPATとSOB２の最初SOBUのSOBU(ix+１=２)と関連したIAPATはデータ列の内部における相対的な位置が変更される。従って、これらの値を修正すべきである。
【００４４】
まず、SOB１の最後SOBUのSOBU(ix)のIAPATを修正する方法の流れ図は図１０Aに示されたようである。まず、SOB２の最初SOBUのSOBU(ix+１=２)の最初AP到達時間を丸めて整数にし、これをpreEnd_high(=３)という変数に貯蔵し、SOB１の最後SOBUのSOBU(ix=１)最後AP到達時間の整数分のみ取ったことをpreEnd_APAT_high(=１)という変数に貯蔵し、SOB１の最後SOBUのSOBU(ix)のIAPATをpreEnd_IAPAT(=３)という変数に貯蔵する(Ｓ１０１段階)。preEnd_high値とpreEnd_APAT_high値との差(delta=２)を求め、preEnd_IAPAT(=３)から差(delta=２)を引き、その減算結果(=１)から１だけ増加させ、preEnd_IAPATを修正する(Ｓ１０２段階)。修正されたpreEnd_IAPAT(=２)をSOBU(ix)のIAPATに貯蔵する(Ｓ１０３段階)。従って、SOBU(ix=１)のIAPATは２となる。
【００４５】
次いで、SOB２の最初SOBUのSOBU(ix+１)のIAPATを修正する方法は、図１１Aに示されたようである。まず、SOB２の最初SOBUのSOBU(ix+１=２)の最初AP到達時間をsucStart_APAT(=２.１)という変数に貯蔵し、SOB２の最初SOBUのSOBU(ix+１)のIAPATをsucStart_IAPAT(=１)という変数に貯蔵する(Ｓ１２１段階)。sucStart_APATが整数か否かを判断し(Ｓ１２２段階)、もしsucStart_APATが整数でなければsucStart_IAPATを１だけ増加させ修正する(Ｓ１２３段階)。修正されたsucStart_IAPAT(=２)をSOBU(ix+１)のIAPATに貯蔵したり、Ｓ１２２段階においてsucStart_APATが整数ならばＳ１２１段階で設定されたsucStart_IAPAT(=１)をそのままSOBU(ix+１)のIAPATに貯蔵する(Ｓ１２４段階)。従って、SOBU(ix+１=２)のIAPATは２となる。
【００４６】
図１２はSOB１とSOB２にデータ列が分離される場合、図１０Aと図１１Aに示された流れ図で使用した変数が指示する値を図式化している。同様に、臨時削除によりデータ列が分離される時SOB２とSOB３の境界でも、SOB２の最後SOBUのSOBU(iy-１=２)と関連したIAPATとSOB３の最初SOBUのSOBU(iy=３)と関連したIAPATはデータ列の内部における相対的な位置が変更される。これらの値を図１０B及び図１１Bに示されたように修正すべきである。
【００４７】
まず、SOB２の最後SOBUのSOBU(iy-１)のIAPATを修正する方法の流れ図は図１０Bに示されたようである。先にSOB３の最初SOBUのSOBU(iy=３)の最初AP到達時間を丸めて整数にし、これをpreEnd_high(=４)という変数に貯蔵し、SOB２の最後SOBUのSOBU(iy-１=２)の最後AP到達時間の整数分のみ取ったものをpreEnd_APAT_high(=３)という変数に貯蔵し、SOB２の最後SOBUのSOBU(iy-１)のIAPATをpreEnd_IAPT(=２)という変数に貯蔵する(Ｓ１１１段階)。preEnd_high値とpreEnd_APAT_high値との差(delta=１)を求め、preEnd_IAPAT(=２)から差(delta=１)を引き、その減算結果(=１)から１だけ増加させpreEnd_IAPATを修正する(Ｓ１１２段階)。修正されたpreEnd_IAPAT(=２)をSOBU(iy-１)のIAPATに貯蔵する(Ｓ１１３段階)。従って、SOBU(iy-１=２)のIAPATは２となる。
【００４８】
次いで、SOB３の最初SOBUのSOBU(iy)のIAPATを修正する方法の流れ図は図１１bに示されたようである。まず、SOB３の最初SOBUのSOBU(iy=３)の最初AP到達時間をsucStart_APAT(=３.５)という変数に貯蔵し、SOB３の最初SOBUのSOBU(iy)のIAPATをsucStart_IAPAT(=１)という変数に貯蔵する(Ｓ１３１段階)。sucStart_APATが整数なのかを判断し(Ｓ１３２段階)、もしsucStart_APATが整数でなければ、sucStart_IAPAT(=１)を単位値(ここでは１)だけ増加させ修正する(Ｓ１３３段階)。修正されたsucStart_IAPAT(=２)をSOBU(iy)のIAPATに貯蔵したり、Ｓ１３２段階でsucStart_APATが整数ならＳ１３１段階で設定したsucStart_IAPAT(=１)をそのままSOBU(iy)のIAPATに貯蔵する(Ｓ１３４段階)。従って、SOBU(iy=３)のIAPATは２となる。
【００４９】
図１３はデータ列がSOB２とSOB３とに分離される場合に、図１０bと図１１bにおいて使用した変数が指示する値を図式化している。
第１４段階:臨時削除対象のSOB２のTEフラグとCTフラグとをセットする。臨時削除対象の次のデータ列のSOB３のCTフラグをセットする。
第１５段階:SOB１に該当するセルにおいえ最初APの到達時間をSOB_orgに該当するセルの最初AP到達時間とする。
第１６段階:SOB１に該当するセルいおいて最後APの到達時間をxとする。
第１７段階:SOB２に該当するセルにおいて最初APの到達時間をSOBU(ix+１)の最初AP到達時間とする。
【００５０】
第１８段階:SOB２に該当するセルにおいて最後APの到達時間をSOBU(iy-１)の最後AP到達時間とする。
第１９段階:SOB３に該当するセルにおいて最初APの到達時間をyとする。
第２０段階:SOB３に該当するセルにおいて最後APの到達時間をSOB_orgに該当するセルの最後AP到達時間とする。
このようにデータ列が分離され、修正された探索情報を用いてデータ列を探索する過程は次の通りである。SOB３を例として一般の場合を含む表現を使用すれば次の通りである。
【００５１】
例えば、図１３に示されたように４.５にあるデータ、即ち、APを探そうとするなら、
第１段階:変数ターゲットに４.５を貯蔵する。
第２段階:SOBの最初AP到達時間(SOB_S_APAT)の整数部分を累算の初期値とする。
第３段階:変数iに１を貯蔵する。
第４段階:IAPAT(i)を累算する(sum=sum+IAPAT(i))。
第５段階:もし変数ターゲットが累算した値(sum)より小さいか、同じなら、変数ターゲットはSOBU(i)に属するものである。もし、変数ターゲットが累算した値(sum)より大きいと、iを１増加させて第４段階を行う。
【００５２】
ここで、探そうとするデータの属するデータ列ユニットを探し出す過程でSOBUの累積時間(IAPAT)を累算する時、初期値を“０”にしなく、データ列の最初データ到達時間の整数部として設定することによってIAPATが小さな値を保てる。もし、従来の方法の通り初期値を“０”にすれば、SOB３のIAPATは１でなく５という大きな値を有するべきである。このための回路具現時メモリがさらに多くのビット数を使用すべきことを意味する。
【００５３】
図１４は単純復元で臨時削除により分離されたデータ列を復元する例であって、従来の探索情報を用いて臨時削除された部分を復元する例である。単純復元はTEフラグ設定で使用者に見られなかったデータ列においてTEフラグを無効化させる。即ち、セルの臨時削除を知らせるためにデータ列情報にあるTEフラグをリセットすることである。かかる方法を用いると、使用者はセル１、セル２、セル３を全て読出せる。しかし、具体的にセル１は０.８からx(=１.５)まで、セル２は２.１から３.３まで、セル３はy(=３.８)から４.８までを示すので、この範囲に属するデータのみが読出可能なので斜線部分は読出できない。また、元は１つのセルからなったプログラムが部分削除されて３つのセルに分離されたので、これを復元してもセルとセルとの間の動作に対する定義が必要である。これらセル間の読出は中間にリセット過程が挿入されて不連続的に行われる従来の問題点を解決するために本発明では図１５のようなデータ列情報構造を提案する。
【００５４】
図１５は本発明で提案する付加情報をデータ列情報(SOBI、Stream Object Information)領域で具現した例である。ここでは付加情報をCTフラグ(Contiguous flag)と称する。このCTフラグとTEフラグとはセル情報に貯蔵されることもある。分離されているデータ列が連続であることを知らせるCTフラグのない場合、分離されたデータ列を統合して分離前の状態に復元できない。なぜなら、分離された状態で従来の探索情報のみでは隣接したデータ列が統合可能なのか分からないからである。従って、隣接したデータ列が分離される前に連続再生可能な状態であったか否かを知らせる情報が完全復元を行うために必要である。
【００５５】
従って、CTフラグは別の探索情報を構成したり、既在の探索情報の何処でも位置できるが、本発明の実施例ではデータ列情報に位置している。これは臨時削除というのがデータ列に対して行われるもので、CTフラグはデータ列に発生した変化を反映するものであるからである。従って、図１５では臨時削除を示すTEフラグと臨時削除以前に連続的な１つのデータ列であったことを知らせるCTフラグをデータ列情報に貯蔵する。
【００５６】
CTフラグは、CTフラグと関連したデータ列が先行データ列と臨時削除以前に連続的な１つのデータ列であったことを意味する。これは先行データ列と統合可能なのを意味する。これは１つのデータ列を部分削除して分離する場合に主に発生する。もちろん、１つのデータ列情報に先行データ列と連続されたことを示すCTフラグと次のデータ列と連続されたことを示すCTフラグとを全て表現することもできる。このような構造は情報を一個所に集めて管理するという長所はあるが、各データ列に先行データ列と関連した情報を１つずつ置くことより規則性が劣ってむしろ管理しにくい。従って、ここでは１つのデータ列に１つのCTフラグが存する場合に対して説明する。
【００５７】
図１６は分離されたデータ列に図１５のデータ列情報を付加える例であって、本発明では図６と比較すれば、臨時削除で分離されたデータ列のためのSOBIにCTフラグを追加している点が相違である。セル２のSOB２が臨時削除された部分を示すのでSOBI２にはTEフラグがセットされている。また、SOBI２には先行データ列のSOB１と臨時削除以前に１つの連続されたデータ列であったからCTフラグもセットされている。部分削除で分離されたSOB３に関連したSOBI３にはSOB２と臨時削除以前に１つの連続されたデータ列であったからCTフラグがセットされている。SOB３は臨時削除されたデータ列でないため、TEフラグはセットされていない。
【００５８】
図１７は本発明いおいて提案するCTフラグを用いて図１６の分離されたータ列を復元する例であって、従来の復元方法(図１４)を使用した場合には復元されなかった「*」で表されたxから１.９まで、３.５からyまでの領域が完全復元されることがわかる。
【００５９】
本発明において提案する復元過程は次の通りである。
第１段階:完全復元過程で行われる統合過程の対象となるデータ列を決定する。ここで、説明の便宜上、臨時削除されて復元するセルを目標セル(target cell)と称し、この目標セルに対応するデータ列を目標データ列(target SOB)と称する。図１６では目標セルはセル２で、目標データ列はSOB２となる。
【００６０】
完全復元過程が始まると、まず何れのデータ列を統合するかを決定すべきである。この過程はTEフラグとCTフラグとを用いて解決でき、復元過程の適用範囲は図１８に示されている。完全復元は目標データ列から始まる。目標データ列のTEフラグとCTフラグとがセットされていると、この時先行データ列のTEフラグはリセット状態でなければならない。これは先行データ列が正常な状態であるべきことを意味する。
【００６１】
２つのデータ列のフラグが正常であることが確認されるとこれらを統合しうる。また、目標データ列の後続データ列のCTフラグがセット状態で、TEフラグがリセット状態ならばこれらは統合しうる。つまり、先行データ列、ターゲットデータ列、後続データ列を全て統合可能なのが類推できる。図１６に示されたプログラムの完全復元時、CTフラグを活用すれば図１８に示されたようにSOB１、SOB２、SOB３を全て統合できることがわかる。
【００６２】
第２段階:データ列情報とセル情報とに存する関連した探索情報の値を元の探索情報の値に復元する。図１９は臨時削除前、削除後、そして完全復元後にデータ列と関連した探索情報などを示すテーブルである。
【００６３】
データ列復元時探索情報を更新する方法は次の通りである。
第１段階:SOB_recの最初AP到達時間はSOB１の最初AP到達時間とする。
第２段階:SOB_recの最後AP到達時間はSOB３の最後AP到達時間とする。
第３段階:SOB_recの最初SOBUはSOB１の最初SOBUとする。SOB１、SOB２、SOB３を統合する場合に最初SOBUは統合前、最初SOB１の最初SOBUとなり、図２０は第１段階乃至第３段階を説明するための図面である。
【００６４】
第４段階:SOB_recのMAPL項目数はSOB１、SOB２、SOB３のMAPL項目数を全て足した値とする。本発明の実施例(図１６)ではSOB１、SOB２、SOB３が全て１つのSOBUを有するのでSOB１、SOB２、SOB３を統合する場合、SOBU数はこれらのそれぞれのデータ列の有するSOBUを全て合算したものとなる。
第５段階:SOB_recのIAPATを修正する。これに対しては図２１、図２２A、図２２B、図２３A、図２３B、図２４及び図２５を結び付けて説明する。
【００６５】
図２１は統合前、後のデータ列(SOB)と各SOBに対応する連結目録(MAPL)とIAPATを示す。IAPATは対応するSOBUの位置に応じて他の値を有する。これはIAPATに対する定義がSOBUの位置によって変わるからである。統合前にはSOBU(１)はSOB１の最後SOBUで、SOBU(２)がSOB２の最初SOBUである。また、SOBU(２)はSOB２の最後SOBUで、SOBU(３)はSOB３の最初SOBUである。従ってSOBU(１)のIAPATは１.０が増えた３.０となり、SOBU(２)のIAPATは１.０が減った１.０となり、SOBU(３)のIAPATは１.０が減った１.０となる。
【００６６】
まず、SOB１の最後IAPAT、SOB２の最初、最後IAPAT、そしてSOB３の最初IAPATを修正する。図２１ではSOB２が１つのSOBUからなるためSOB２の最初と最後SOBUは同一である。統合後、SOB１とSOB２の境界で、SOB１の最後SOBUのSOBU(１)と関連したIAPATとSOB２の最初SOBUのSOBU(２)と関連したIAPATはデータ列の内部における相対的な位置が変更される。従って、これらの値を修正すべきである。
【００６７】
まず、SOB１の最後SOBUのSOBU(１)のIAPATを修正する方法の流れ図は図２２Aに示された通りである。まず、SOB１の最後SOBUのSOBU(１)の最後AP到達時間の整数部分に１を足し、これをpreEnd_high(=２)という変数に貯蔵し、SOB２の最初AP到達時間をsucStart_APAT(=２.１)に貯蔵し、SOB２の最初AP到達時間から整数部分のみ取ったことをsucStart_APAT_high(=２.０)に貯蔵し、SOB１の最後SOBUのSOBU(１)のIAPATをpreEnd_IAPAT(=２)という変数に貯蔵する(Ｓ２０１段階)。sucStart_APAT_high値とpreEnd_high値との差(delta=０)を求め、preEnd_IAPAT(=２)に差(delta)を足す(Ｓ２０２段階)。sucStart_APATが整数なのかを判断し(Ｓ２０３段階)、もしsucStart_APATが整数でなければpreEnd_IAPAT(=２)に１を足して修正する(Ｓ２０４段階)。修正されたpreEnd_IAPAT(=３)をSOB１の最後SOBUのIAPATに貯蔵したり、Ｓ２０３段階でsucStart_APATが整数ならばＳ２０２段階で得られたpreEnd_IAPAT(=２)をSOB１の最後SOBUのIAPATに貯蔵する(Ｓ２０５段階)。従って、SOBU(１)のIAPATは３となる。
【００６８】
次いで、統合後SOB２の最初SOBUのSOBU(２)のIAPATを修正する方法の流れ図は図２３Aに示されたようである。まずSOB２の最初SOBUのSOBU(２)の最初AP到達時間をsucStart_APAT(=２.１)という変数に貯蔵し、SOB２の最初SOBUのSOBU(２)のIAPATをsucStart_IAPAT(=２)という変数に貯蔵する(Ｓ２２１段階)。sucStart_APATが整数なのかを判断し(Ｓ２２２段階)、もしsucStart_APATが整数でなければsucStart_IAPAT(=２)を１だけ減少させ修正する(Ｓ２２３段階)。修正されたsucStart_IAPAT(=１)をSOBU(２)のIAPATに貯蔵したり、Ｓ２２２段階でsucStart_APATが整数ならばＳ２２１段階で設定されたsucStart_IAPAT(=２)をそのままSOB２の最初SOBUのIAPATに貯蔵する(Ｓ２２４段階)。従って、SOBU(２)のIAPATは１となる。
【００６９】
図２４はSOB１とSOB２にデータ列が統合される場合に、図２２A及び図２３Aで使用した変数が指示する値を図式化している。同様に、統合後SOB２とSOB３の境界でもSOB２の最後SOBUのSOBU(２)と関連したIAPATとSOB３の最初SOBUのSOBU(３)と関連したIAPATはデータ列の内部における相対的な位置が変更される。従って、これら値を修正すべきである。
【００７０】
まず、SOB２の最後SOBUのSOBU(２)のIAPATを修正する方法の流れ図は図２２Bに示されたようである。まずSOB２の最後SOBUのSOBU(２)の最後AP到達時間の整数部分に１を足し、これをpreEnd_high(=４)という変数に貯蔵し、SOB３の最初AP到達時間をsucStart_APAT(=３.５)に貯蔵し、SOB３の最初AP到達時間から整数部分のみ取ったことをsucStart_APAT_high(=３.０)に貯蔵し、SOB２の最後SOBUのSOBU(２)のIAPATをpPnEnd_IAPAT(=１)という変数に貯蔵する(Ｓ２１１段階)。sucStart_APAT_high値とpreEnd_high値との差(delta=-１)を求め、preEnd_IAPAT(=１)に差(delta)を足す(Ｓ２１２段階)。sucStart_APATが整数なのかを判断し(S２１３段階)、もしsucStart_APATが整数でなければpreEnd_IAPATに１を足して修正する(Ｓ２１４段階)。修正されたpreEnd_IAPAT(=１)をSOB２の最後SOBUのIAPATとしたり、Ｓ２１３段階でsucStart_APATが整数ならばＳ２１２段階で設定したpreEnd_IAPAT(=０)をSOB２の最後SOBUのIAPATに貯蔵する(Ｓ２１５段階)。従って、SOBU(１)のIAPATは１となる。
【００７１】
次いで、統合後SOB３の最初SOBUのSOBU(３)のIAPATを修正する方法の流れ図は図２３Bに示されている。まず、SOB３の最初SOBUのSOBU(３)の最初AP到達時間をsucStart_APAT(=３.５)という変数に貯蔵し、SOB３の最初SOBUのSOBU(３)のIAPATをsucStart_IAPAT(=２)という変数に貯蔵する(Ｓ２３１段階)。sucStart_APATが整数なのかを判断し(Ｓ２３２段階)、もしsucStart_APATが整数でなければsucStart_IAPAT(=２)を１だけ減少させ修正する(Ｓ２３３段階)。修正されたsucStart_IAPAT(=１)をSOBU(３)の最初SOBUと関連したIAPATに貯蔵したり、Ｓ２３２段階でsucStart_APATが整数ならばＳ２３１段階で設定されたsucStart_IAPAT(=２)をSOBU(３)の最初SOBUと関連したIAPATに貯蔵する(Ｓ２３４段階)。従って、SOBU(３)のIAPATは１となる。
【００７２】
図２５はSOB２とSOB３とにデータ列が統合される場合に図２２B及び図２３Bで使用した変数が指示する値を図式化している。
第６段階:SOB_recの状態(status)を決定する。完全復元された状態なのでSOB_recのTEフラグとCTフラグとをリセットする。
第７段階:SOB_recに該当するセルで最初APの到達時間をSOB１に該当するセルの最初AP到達時間とする。
第８段階:SOB_recに該当するセルにおいて最後APの到達時間をSOB３に該当するセルの最後AP到達時間とする。
【００７３】
図２６はxからyに該当するデータ列を永久削除した例であって、この時永久削除可能なSOBUはSOBU(２)である。永久削除を行う場合には、探索情報だけでなく連結情報も変更すべきである。従って、xからyまでを永久削除する時、SOBU(１)は分離生成された新たなデータ列の最後SOBUなので該当IAPAT情報が変更され、SOBU(３)は分離生成された新たなデータ列の最初SOBUなので該当IAPAT情報が変更されるべきである。また、xからyの間に存在する完全削除可能なSOBUのSOBU(２)の探索情報は削除され、SOBU(２)と関連した連結情報も削除されるべきである。参考にSOBUの一部のみ削除された場合は探索情報に残っている。このようにSOBU(２)と関連した探索情報と連結情報とが完全に削除されると、図２６に示されたようにProgram_orgの探索情報と連結情報はセル１とセル２の探索情報と連結情報として更新(update)される。
【００７４】
図２７は本発明に係る永久削除によるデータ列分離時、先行SOB(図２６のセル１に該当)の最後SOBUと関連したIAPATを修正する方法を示す流れ図である。永久削除によるデータ列分離後SOB１とSOB２の境界で、SOB１の最後SOBUのSOBU(ix=１)と関連したIAPATはSOBU(ix)のデータ列の内部における相対的な位置が変更されるのでこの値を修正すべきである。SOBU(ix)の最後AP到達時間、SOBU(ix+１)の最初AP到達時間、SOBU(iy-１)の最後AP到達時間、SOBU(iy)の最初AP到達時間は既知のことと仮定する。
【００７５】
まず、SOB２の最初SOBUのSOBU(ix+１=２)の最初AP到達時間を丸めて整数にし、これをpreEnd_high(=３)という変数に貯蔵し、SOB１の最後SOBUのSOBU(ix=１)の最後AP到達時間の整数分のみ取ったものをpreEnd_APAT_high(=１)という変数に貯蔵し、SOB１の最後SOBUのSOBU(ix)のIAPATをpreEnd_IAPAT(=３)という変数に貯蔵する(Ｓ３０１段階)。preEnd_high値とpreEnd_APAT_high値との差(delta=２)を求め、preEnd_IAPAT(=３)から差(delta=２)を引き、その減算結果(=１)を１だけ増加させてpreEnd_IAPATを修正する(Ｓ３０２段階)。修正されたpreEnd_IAPAT(=２)をSOBU(ix)のIAPATに貯蔵する(Ｓ３０３段階)。従って、SOBU(ix=１)のIAPATは２となる。
【００７６】
図２８は本発明に係る永久削除によるデータ列お分離時、後続SOB(図２６のセル２に該当)の最初SOBUと関連したIAPATを修正する方法を示す流れ図である。SOB２の最初SOBUのSOBU(iy=３)と関連したIAPATはデータ列の内部における相対的な位置が変更されるのでこの値を修正すべきである。
【００７７】
まず、SOB２の最初SOBUのSOBU(iy=３)の最初AP到達時間をsucStart_APAT(=３.５)という変数に貯蔵し、SOB２の最初SOBUのSOBU(iy)のIAPATをsucStart_IAPAT(=１)という変数に貯蔵する(Ｓ３１１段階)。sucStart_APATが整数なのかを判断し(Ｓ３１２段階)、もしsucStart_APATが整数でなければsucStart_IAPAT(=１)を１だけ増加させ修正する(Ｓ３１３段階)。修正されたsucStart_IAPAT(=２)をSOBU(iy)のIAPATに貯蔵したり、Ｓ３１２段階でsucStart_APATが整数ならばS３１１段階で設定したsucStart_IAPAT(=１)をそのままSOBU(iy)のIAPATに貯蔵する(Ｓ３１４段階)。従って、SOBU(iy=３)のIAPATは２となる。本発明はデジタル貯蔵媒体を用いる記録／再生装置に適用でき、特にストリームレコーダに効率よく適用しうる。
【図面の簡単な説明】
【００７８】
【図１】従来の所望の部分のデータを読出すのに用いられる探索情報とデータとの間の関係を示す一例である。
【図２】図１に示された探索情報におけるAPAT及び／またはIAPATの表示に用いられる領域を示す図面である。
【図３】従来のIAPATを求める過程を説明するための図面である。
【図４】図４Aと図４Bは境界領域におけるIAPATを求める例である。
【図５】本発明の理解のため、データの一部を臨時削除するために削除範囲を決定する過程を示す例である。
【図６】臨時削除で分離されたデータ列の例である。
【図７】分離された各セルのそれぞれの探索情報を示すテーブルである。
【図８】分離前後の各セルのそれぞれの探索情報の変化を示す図面である。
【図９】分離前後の各セルのそれぞれのIAPAT変化を示す図面である。
【図１０】図１０Aと図１０Bは本発明に係るデータ列の分離時、先行SOBの最後SOBUと関連したIAPAT修正方法を示す流れ図である。
【図１１】図１１Aと図１１Bは本発明に係るデータ列の分離時、後続SOBの最初SOBUと関連したIAPAT修正方法を示す流れ図である。
【図１２】SOB１とSOB２とにデータ列が分離される場合、図１０Aと図１１Aで使用した変数が指示する値を説明するための図面である。
【図１３】SOB２とSOB３とにデータ列が分離される場合、図１０Bと図１１Bで使用した変数が指示する値を説明するための図面である。
【図１４】単純復元方法で臨時削除により分離されたデータ列を復元する例である。
【図１５】本発明に係るSOBI構造の一例である。
【図１６】図１５に示されたSOBI情報を用いてデータ列の分離を示す実施例である。
【図１７】図１５に示されたSOBI情報を用いて分離されたデータ列を復元する例である。
【図１８】本発明に係る復元過程の適用範囲を示す一例である。
【図１９】臨時削除前、後、そして完全復元後にデータ列と関連した探索情報を示すテーブルである。
【図２０】統合前後の各SOBのAP到達時間を説明するための図面である。
【図２１】統合前後のデータ列とこれに対応する連結目録(MPAL)とデータ列ユニットの持続時間(IAPAT)との関係を示す一例である。
【図２２】図２２A及び図２２bはデータ列の統合時、先行データ列の最後データ列ユニットと関連したIAPAT修正方法を示す流れ図である。
【図２３】図２３A及び図２３Bはデータ列の統合時、後続データ列の最初データ列ユニットと関連したIAPAT修正方法を示す流れ図である。
【図２４】SOB１とSOB２とにデータ列が統合される場合、図２２Aと図２３Aで使用した変数が指示する値を示す図面である。
【図２５】SOB２とSOB３とにデータ列が統合される場合、図２２Bと図２３Bで使用した変数が指示する値を示す図面である。
【図２６】プログラムの一部を永久削除する一例である。
【図２７】本発明に係る永久削除によりデータ列の分離時、先行データ列の最後データ列ユニットと関連したIAPATを修正する方法を示す流れ図である。
【図２８】本発明に係る永久削除によるデータ列の分離時、後続データ列の最初データ列ユニットと関連したIAPATを修正する方法を示す流れ図である。
【符号の説明】
【００７９】
ＭＡＰＬ  連結目録
ＳＯＢ  データ列
ＳＯＢＵ  データ列ユニット
【図１】
2006294233.tif 000003
【図２】
2006294233.tif 000004
【図３】
2006294233.tif 000005
【図４】
2006294233.tif 000006
【図５】
2006294233.tif 000007
【図６】
2006294233.tif 000008
【図７】
2006294233.tif 000009
【図８】
2006294233.tif 000010
【図９】
2006294233.tif 000011
【図１０】
2006294233.tif 000012
【図１１】
2006294233.tif 000013
【図１２】
2006294233.tif 000014
【図１３】
2006294233.tif 000015
【図１４】
2006294233.tif 000016
【図１５】
2006294233.tif 000017
【図１６】
2006294233.tif 000018
【図１７】
2006294233.tif 000019
【図１８】
2006294233.tif 000020
【図１９】
2006294233.tif 000021
【図２０】
2006294233.tif 000022
【図２１】
2006294233.tif 000023
【図２２】
2006294233.tif 000024
【図２３】
2006294233.tif 000025
【図２４】
2006294233.tif 000026
【図２５】
2006294233.tif 000027
【図２６】
2006294233.tif 000028
【図２７】
2006294233.tif 000029
【図２８】
2006294233.tif 000030