(57)【要約】【課題】記録媒体の記録単位サイズがパケットサイズの整数倍ではなくても、パケット先頭を迅速に検出し、データのスムーズな再生を可能とする。【解決手段】（１）複数のパケットが入力され、複数のパケット中の一部のパケットの先頭、中間又は最後に、第１、第２、・・・第ｎ又は第（ｎ＋１）（ｎは自然数）のポインタを、各ポインタの間隔が所定長となる位置に挿入し、かつ各ポインタのポインタ値はポインタ挿入位置から次のパケットの先頭までのバイト数を示し、ポインタ挿入パケット及びポインタ非挿入パケットを出力するポインタ挿入部１０３と、（２）ポインタ挿入パケット及びポインタ非挿入パケットが入力され、第１のポインタから第２のポインタの直前まで、第２のポインタから第３のポインタの直前まで、・・・第ｎのポインタから第（ｎ＋１）のポインタの直前までをそれぞれ１単位として、記録媒体に書き込む書き込み部１０４とを備えるディジタルストリーム処理装置。【選択図】　　　図１
2004128754.tif 000002
【特許請求の範囲】
【請求項１】
複数のパケットが入力され、前記複数のパケット中の一部のパケットの先頭、中間又は最後に、第１、第２、・・・第ｎ又は第（ｎ＋１）（ｎは自然数）のポインタを、前記各ポインタの間隔が所定長となる位置に挿入し、かつ前記各ポインタのポインタ値はポインタ挿入位置から次のパケットの先頭までのバイト数を示し、前記ポインタが挿入されたパケット（以下、「ポインタ挿入パケット」とする。）及び前記ポインタが挿入されていないパケット（以下、「ポインタ非挿入パケット」とする。）を出力するポインタ挿入部と、
前記ポインタ挿入パケット及び前記ポインタ非挿入パケットが入力され、前記第１のポインタから前記第２のポインタの直前まで、前記第２のポインタから前記第３のポインタの直前まで、・・・前記第ｎのポインタから前記第（ｎ＋１）のポインタの直前までをそれぞれ１単位として、記録媒体に書き込む書き込み部とを備えることを特徴とするデジタルストリーム処理装置。
【請求項２】
記録媒体から第１、第２、・・・第ｎ及び第（ｎ＋１）（ｎは自然数）のポインタが所定間隔で挿入されている記録ストリームを読み出し、出力する読み出し部と、
前記記録ストリームが入力され、前記記録ストリームの先頭に位置する前記ポインタ（以下、「先頭ポインタ」とする。）のポインタ値が示すバイト数だけ後ろに位置するパケット先頭から後続のパケットの復元を開始し、そして前記先頭ポインタ以外のポインタ（以下、「非先頭ポインタ」とする。）を除去し前記非先頭ポインタの前後に分割されているパケットも復元して出力するパケット復元部とを備えることを特徴とするデジタルストリーム処理装置。
【請求項３】
記録媒体から前記第１、前記第２、・・・前記第ｎ及び前記第（ｎ＋１）（ｎは自然数）のポインタが挿入されている記録ストリームを読み出し、出力する読み出し部と、
前記記録ストリームが入力され、前記記録ストリームの先頭に位置する前記ポインタ（以下、「先頭ポインタ」とする。）のポインタ値が示すバイト数だけ後ろに位置するパケット先頭から後続のパケットの復元を開始し、そして前記先頭ポインタ以外のポインタ（以下、「非先頭ポインタ」とする。）を除去し前記非先頭ポインタの前後に分割されているパケットも復元して出力するパケット復元部とを、さらに備えることを特徴とする請求項１に記載のデジタルストリーム処理装置。
【請求項４】
入力されるビットストリームから予め設定されている識別子を持つパケットを選択し、選択された前記パケットを前記ポインタ挿入部へ出力するパケット選択部を、さらに備えることを特徴とする請求項３に記載のデジタルストリーム処理装置。
【請求項５】
前記復元されたパケットが入力され、前記復元されたパケットに含まれる識別子に基づいて複数の出力先の中から一つの出力先を選択し、選択された前記出力先に前記パケットの一部又は全部を出力する出力部と、
前記出力部からパケットが入力され、入力された前記パケットをデコードする複数のデコーダとを、さらに備えることを特徴とする請求項４に記載のデジタルストリーム処理装置。
【請求項６】
所定データを包含するパケット（以下、「所定データ包含パケット」とする。）及び所定データを包含しないパケット（以下、「所定データ非包含パケット」とする。）が入力され、
前記所定データ包含パケットか又は前記所定データ非包含パケットかを示す情報と直近の前記所定データ包含パケットから何パケット目かを示す情報とによって、前記所定データ包含パケット及び前記所定データ非包含パケットのヘッダを書き換え、
前記ヘッダが書き換えられた前記所定データ包含パケット及び前記所定データ非包含パケットを出力するヘッダ書換部を、さらに備えることを特徴とする請求項１に記載のデジタルストリーム処理装置。
【請求項７】
前記ヘッダが書き換えられた前記所定データ包含パケット及び前記所定データ非包含パケットが入力され、
直近の前記所定データ包含パケットから何パケット目かを示す情報を、前記ヘッダから抽出して出力するヘッダ解析部を、さらに備えることを特徴とする請求項６に記載のデジタルストリーム処理装置。
【請求項８】
ポインタ挿入部が、複数のパケットを入力され、前記複数のパケット中の一部のパケットの先頭、中間又は最後に、第１、第２、・・・第ｎ又は第（ｎ＋１）（ｎは自然数）のポインタを、前記各ポインタの間隔が所定長となる位置に挿入し、かつ前記各ポインタのポインタ値はポインタ挿入位置から次のパケットの先頭までのバイト数を示し、前記ポインタが挿入されたパケット（以下、「ポインタ挿入パケット」とする。）及び前記ポインタが挿入されていないパケット（以下、「ポインタ非挿入パケット」とする。）を出力し、
書き込み部が、前記ポインタ挿入パケット及び前記ポインタ非挿入パケットを入力され、前記第１のポインタから前記第２のポインタの直前まで、前記第２のポインタから前記第３のポインタの直前まで、・・・前記第ｎのポインタから前記第（ｎ＋１）のポインタの直前までをそれぞれ１単位として、記録媒体に書き込むことを特徴とするデジタルストリーム処理方法。
【請求項９】
読み出し部が、記録媒体から第１、第２、・・・第ｎ及び第（ｎ＋１）（ｎは自然数）のポインタが所定間隔で挿入されている記録ストリームを読み出し、
パケット復元部が、前記記録ストリームを入力され、前記記録ストリームの先頭に位置する前記ポインタ（以下、「先頭ポインタ」とする。）のポインタ値が示すバイト数だけ後ろに位置するパケット先頭から後続のパケットの復元を開始し、そして前記先頭ポインタ以外のポインタ（以下、「非先頭ポインタ」とする。）を除去し前記非先頭ポインタの前後に分割されているパケットも復元して出力することを特徴とするデジタルストリーム処理方法。
【請求項１０】
さらに、ヘッダ書換部が、所定データを包含するパケット（以下、「所定データ包含パケット」とする。）及び所定データを包含しないパケット（以下、「所定データ非包含パケット」とする。）を入力され、
前記所定データ包含パケットか又は前記所定データ非包含パケットかを示す情報と直近の前記所定データ包含パケットから何パケット目かを示す情報とによって、前記所定データ包含パケット及び前記所定データ非包含パケットのヘッダを書き換え、
前記ヘッダが書き換えられた前記所定データ包含パケット及び前記所定データ非包含パケットを前記ポインタ挿入部へ出力することを特徴とする請求項８に記載のデジタルストリーム処理方法。
【請求項１１】
さらに、ヘッダ解析部が、前記ヘッダを書き換えられた前記所定データ包含パケット及び前記所定データ非包含パケットを前記パケット復元部から入力され、
直近の前記所定データ包含パケットから何パケット目かを示す情報を、前記ヘッダから抽出して出力することを特徴とする請求項１０に記載のデジタルストリーム処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ディジタルデータストリームを記録又は再生する装置及び方法に関し、特に記録媒体がハードディスクなどのディスクメディアである場合に使用される技術に関する。
【０００２】
【従来の技術】
ディジタル放送で使用される入力ストリームのパケット構造例としては、図１３（Ａ）に示すＭＰＥＧ（Ｍｏｖｉｎｇ　Ｐｉｃｔｕｒｅ　Ｅｘｐｅｒｔｓ　Ｇｒｏｕｐ）構造や、図１３（Ｂ）に示すＤＳＳ（Ｄｅｇｉｔａｌ　Ｓａｔｅｌｌｉｔｅ　Ｓｙｓｔｅｍ）構造が挙げられる。図１３（Ａ）に示すＭＰＥＧ構造においては、パケット長が１８８バイト、パケットＩＤ（ＰＩＤ：Ｐａｃｋｅｔ　ＩＤｅｎｔｉｆｉｅｒ）が１３ビット、パケット先頭バイトの値が０ｘ４７となっているのが特徴である。なお、”０ｘ”は次に続く数値が１６進数表記であることを示す接頭記号である。図１３（Ｂ）に示すＤＳＳ構造においては、パケット長が１３０バイト、サービス・チャンネルＩＤ（ＳＣＩＤ：Ｓｅｒｖｉｃｅ　Ｃｈａｎｎｅｌ　ＩＤ）が１２ビット、パケット先頭１ビットの値がパケット毎に０と１が交互に現れる（トグルする）ことが特徴である。
【０００３】
図１４に入力ストリームの形態から記録ストリームの形態までの遷移を示す。図１４に示すように２のべき乗の単位でない選択パケットを２のべき乗となるセクタ長に束ね、記録ストリームとする結果、例えば、パケットＡ＿２のように、セクタＡとセクタＢという２つのセクタを跨いで記録されるパケットが存在してしまう。
【０００４】
セクタを跨っている（図１４のＡ＿２ｂ）部分の長さは、セクタにより異なる。このため、パケットを復元する際に、図１３に示したパケット先頭の特定パターンがパケット長毎に出現する基準位置を検出する必要がある。ＭＰＥＧを例に以下にその検出手順を説明する。
【０００５】
手順１）セクタの先頭バイトから順次検索し、０ｘ４７の値であるバイトを検出する。
【０００６】
手順２）０ｘ４７の値のバイトを発見したなら、そのバイトから時間的に遅く入力してきた方向（後方）に、パケット長分進んだバイトも０ｘ４７であるか確認する。
なお、パケット長分進むと次セクタのバイトとなる場合には、そのセクタに記録されている部分を含む記録ストリームの一部又は全部を読み出す。
【０００７】
手順３）上記手順２）にて、もし０ｘ４７が確認できれば、再び上記２）を繰り返す。０ｘ４７が確認できなければ、上記１）に戻る。
【０００８】
手順４）上記手順３）にて、０ｘ４７の確認が１０回程度繰り返されたら、その０ｘ４７の位置をパケット先頭の基準位置とし、この基準位置から順次パケットをデコーダへ出力する。
【０００９】
ＭＰＥＧの場合、０ｘ４７の値を持つバイトはパケット先頭以外にも存在し、またＤＳＳの場合、０と１がパケット長毎にトグルする箇所は複数存在しうることから、誤った位置を基準位置とするのを抑制するために、上記手順２）を繰り返す必要がある。つまり、基準位置を検出するために複数セクタに記録されたパケットを記録媒体から読み出してくる必要があり、この間絵や音を再生することができない。
【００１０】
このように、ディジタル放送などで使用されているパケット構造のストリームをハードディスク（ＨＤ）、ＤＶＤ−ＲＡＭなどのディスクメディアに記録する際、記録単位であるセクタ長として２のべき乗の値が用いられる。しかし、ディジタル放送で用いられるパケット構造におけるパケット長は２のべき乗の値になっていないため、セクタ境界で分断されてしまうパケットが存在してしまう。
【００１１】
分断されてしまうと、記録ストリームを途中から再生する場合、セクタ内の最初の何バイトまでが前セクタから跨るパケットの一部であるかがわからないため、直ちに再生することができない。
【００１２】
この問題を回避するため、セクタ境界で分断されないよう、セクタ内に余り（空領域）を持たせる方法もあるが（例えば、特許文献１参照。）、ＭＰＥＧを例にすると、パケット長１８８バイト、セクタ長を５１２（２の９乗）バイトとした場合、空領域が１３６バイトとなり、セクタの約４分の１を無駄にする非効率な記録方法となってしまう。
【００１３】
【特許文献１】
特開平０７−２２６９０２号公報
【００１４】
【発明が解決しようとする課題】
本発明は、上記課題に鑑みてなされたものであり、再生時にパケットを速やかに復元でき、スムーズな再生を可能とする装置および方法を提供することを目的とする。
【００１５】
【課題を解決するための手段】
本発明は、上記課題を解決するためになされたものであり、その第１の特徴はデジタルストリーム処理装置であって（１）複数のパケットが入力され、複数のパケット中の一部のパケットの先頭、中間又は最後に、第１、第２、・・・第ｎ又は第（ｎ＋１）（ｎは自然数）のポインタを、各ポインタの間隔が所定長（例えば、セクタ長）となる位置に挿入し、かつ各ポインタのポインタ値はポインタ挿入位置から次のパケットの先頭までのバイト数を示し、ポインタが挿入されたパケット（以下、「ポインタ挿入パケット」とする。）及びポインタが挿入されていないパケット（以下、「ポインタ非挿入パケット」とする。）を出力するポインタ挿入部と、（２）ポインタ挿入パケット及びポインタ非挿入パケットが入力され、第１のポインタから第２のポインタの直前まで、第２のポインタから第３のポインタの直前まで、・・・第ｎのポインタから第（ｎ＋１）のポインタの直前までをそれぞれ１単位として、記録媒体に書き込む書き込み部とを備えることにある。
【００１６】
このような第１の特徴によれば、例えば所定長をセクタ長とすることにより、各セクタの先頭に、「各セクタの先頭」から「セクタの先頭より後に存在する最初のパケットの先頭」までのバイト数を示すポインタが挿入される。
【００１７】
本発明の第２の特徴は、デジタルストリーム処理装置であって（１）記録媒体から第１、第２、・・・第ｎ及び第（ｎ＋１）（ｎは自然数）のポインタが所定間隔で挿入されている記録ストリームを読み出し、出力する読み出し部と、（２）記録ストリームが入力され、記録ストリームの先頭に位置するポインタ（以下、「先頭ポインタ」とする。）のポインタ値が示すバイト数だけ後ろに位置するパケット先頭から後続のパケットの復元を開始し、そして先頭ポインタ以外のポインタ（以下、「非先頭ポインタ」とする。）を除去し非先頭ポインタの前後に分割されているパケットも復元して出力するパケット復元部と、を備えることにある。
【００１８】
このような第２の特徴によれば、「先頭ポインタより後に存在する最初のパケットの先頭」が容易に特定され、かつ非先頭ポインタは全て除去されるので、パケットの復元が容易になる。
【００１９】
【発明の実施の形態】
以下、本発明の実施形態を図面を参照しながら説明するが、本発明はこれらの実施の形態に限定されるものではない。以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付している。
【００２０】
（第１実施形態）
図１に第１実施形態にかかるディジタルストリーム処理装置の概略ブロック図を示す。図１に示すように、ディジタルストリーム処理装置１００は、入力ストリーム１から所望の識別子（以下、パケットＩＤ）を持つパケットを選択分離するパケット選択部１０２と、この選択されたパケットに記録単位（以下、セクタ）長ごとにポインタを挿入するポインタ挿入部１０３と、このポインタの挿入されたパケットをセクタ長単位に束ね、記録ストリームとして記録媒体１０８に書き込みを行うライト回路部１０４と、記録媒体１０８から記録ストリームの読み出しを行うリード回路部１０５と、この読み出された記録ストリームに挿入されているポインタに基づいて、パケットを元の形に復元するパケット復元部１０６と、復元されたパケットの一部又は全部をパケットＩＤ毎に割当てられているデコーダ１０９に出力するデータ出力部１０７と、パケットＩＤやセクタ長の設定など各回路の制御を行うＣＰＵ１１０とからなる。デコーダ１０９は、１つしか図示していないが、複数存在し得る。例えば、ビデオデコーダ、オーディオデコーダ、文字情報デコーダなどがある。
【００２１】
マルチチャンネルに対応しているディジタル放送ストリームを記録する際、所望のチャンネルのパケットを選択し記録する。このため、パケット選択部１０２では、上記パケットＩＤに基づいて記録対象のパケットを選択・分離し、選択パケットとしてポインタ挿入部１０３に出力する。
ライト回路部１０４では、記録媒体１０８の記録単位（セクタ）毎にパケットデータを束ね、記録媒体１０８への書き込みが行えるストリーム形態（以下、記録ストリーム）へと変換する。セクタ長は、現実的に２のべき乗の値、例えば、５１２（２の９乗）バイトや１０２４（２の１０乗）バイトといった値、が用いられる。
【００２２】
記録ストリームは、図示していない磁気ヘッドなどを経由し記録媒体１０８に対して読み書きが行なわれ、少なからずメモリ（キャッシュとも呼ばれる）などの遅延素子が必要となる。記録媒体１０８には、ＨＤ、ＤＶＤ−ＲＡＭなどのディスクメディアが含まれる。
【００２３】
データ出力部１０７では、再生パケットのパケットＩＤに割当てられているデコーダ１０９に対して、その一部又は全部を出力する。なお、パケットの一部のデータ例として、パケット化エレメンタリー・ストリーム（ＰＥＳ：Ｐａｃｋｅｔｉｚｅｄ　Ｅｌｅｍｅｎｔａｒｙ　Ｓｔｒｅａｍ）、エレメンタリー・ストリーム（ＥＳ：Ｅｌｅｍｅｎｔａｒｙ　Ｓｔｒｅａｍ）、セクション（ＳＥＣＴＩＯＮ）などがある。
【００２４】
ポインタ挿入部１０３は、図３に示すように、ポインタ演算回路２００、レジスタ２３０〜２３４、セレクタ２３５〜２３７、ＳＲフリップフロップ２３８、論理和回路２３９を備える。ポインタ演算回路２００は、Ｐカウンタ２２０、Ｓカウンタ２２１、比較器２２２、セレクタ２２３、レジスタ２２４を備える。
【００２５】
図４は、クロック信号、レジスタ２３３に入力されるＤＡＴＡ信号、ＳＲフリップフロップ２３８及びレジスタ２２０に入力される同期（ＳＹＮＣ）信号、レジスタ２３１，２２０，２２１に入力されるＶＡＬＩＤ信号、論理和回路２３９から出力されるＶＡＬＩＤＯ信号、セレクタ２３７から出力されるＤＡＴＡＯ信号、ＳＲフリップフロップ２３８から出力されるｓｒｆｆ信号、比較器２２２から出力されるｃｍｐ信号、Ｐカウンタ２２０から出力されるＰｃｎｔ値、Ｓカウンタ２２１から出力されるＳｃｎｔ値、レジスタ２２４から出力されるＰＯＩＮＴＥＲ値の関係を示すタイミング図である。
【００２６】
レジスタ２３１，２３２からなる上段の２連レジスタは、ポインタ挿入期間分ＶＡＬＩＤ信号を伸張し、ＶＡＬＩＤＯ信号として出力するために用いる。レジスタ２３３，２３４からなる下段の２連レジスタは、ＤＡＴＡ信号にポインタを挿入し、ＤＡＴＡＯ信号として出力するために用いる。ポインタを挿入するタイミング（セレクタ２３６を切り替るタイミング）は、ＳＲフリップフロップ２３８の出力によって決まる。ＳＲフリップフロップ２３８は、比較器２２２の出力（ポインタ検出タイミング）にてセットし、ＳＹＮＣ信号入力（パケット入力開始タイミング）にてリセットされる。このようにして、ＶＡＬＩＤ信号をポインタ挿入期間分伸張してＶＡＬＩＤＯ信号として出力し、またＤＡＴＡ信号にポインタを付加もしくは挿入してＤＡＴＡＯ信号として出力する。
【００２７】
ポインタ演算回路２００は、パケット内の入力バイト数をカウントするＰカウンタ（Ｐｃｎｔ）２２０と、セクタ長分の入力バイト数をカウントするＳカウンタ（Ｓｃｎｔ）２２１と、予めＣＰＵ１１０から設定されているセクタ長とＳカウンタ２２１の出力値とを比較する比較器２２２と、比較器２２２にてセクタ長とＳカウンタ２２１の出力値が一致した際に、Ｐカウンタ２２０の出力を選択するセレクタ２２３と、セレクタ２２３の出力を保持するレジスタ２２４をそれぞれ備える。
【００２８】
なお、図３は、Ｓカウンタ２２１をアップカウンタ、Ｐカウンタ２２０をダウンカウンタにて構成した場合の回路例を示している。また、セクタ長を５１２バイト、パケット長を１８８バイトとする。
【００２９】
Ｓカウンタ２２１は０から５１１までカウントすることが可能であるが、ポインタを含めて５１２バイト分カウントすればよく、入力バイト数としては５１１バイト分カウントすればよい。よって、１からカウントを開始し、有効パケットバイトが入力される毎に１づつアップする。なお、有効パケットバイトとは、ＶＡＬＩＤ信号がアクティブ時に入力されたパケットデータのことである。したがって、Ｓカウンタ２２１のカウントアップは、ＶＡＬＩＤ信号がアクティブ（図４においてはＨレベル）の時、ＣＬＯＣＫ信号に同期して行なわれる。
【００３０】
Ｐカウンタ２２０は、パケット先頭を示すＳＹＮＣ信号が入力される毎に１８７をセットし、有効パケットバイトが入力される毎に１づつダウンし、１８７から０までカウントする。パケット長「１８８」はＣＰＵ１１０から予め設定されているものとする。なお、カウントダウンは有効を示すＶＡＬＩＤ信号がアクティブ（図４においてはＨレベル）の時、ＣＬＯＣＫ信号に同期して行なわれる。
【００３１】
このような構成によって、Ｓカウンタ２２１が５１１になることでセクタ長（５１２バイト）分入力してきたかどうかを知ることができ、この時のＰカウンタ２２０の値がポインタの値となる。
【００３２】
このように求めたポインタをパケット内に挿入するため、ポインタ挿入部１０３にはポインタを挿入している間、選択パケットの少なくとも挿入位置以降のパケットバイトを遅延させる遅延素子、例えばＲＡＭ（Ｒａｎｄｏｍ　Ａｃｃｅｓｓ　Ｍｅｍｏｒｙ）やＦＩＦＯ（Ｆｉｒｓｔ　Ｉｎ　Ｆｉｒｓｔ　Ｏｕｔ）といったメモリ或いはレジスタが必要となるが、どのような遅延素子（遅延方法）を使うかは限定されない。なお、前述の通り、図３においてはレジスタを用いた例を示している。
【００３３】
パケット復元部１０６は、図５に示すように、セクタ長分の読み出しバイト数をカウントするＲカウンタ３３０と、Ｒカウンタ３３０の出力値と０とを比較する第１の比較器３３１と、Ｒカウンタ３３０の出力値と読み出し開始時のポインタ（以下、１ｓｔポインタ）値とを比較する第２の比較器３３２と、読み出し開始タイミング（ＳＴＡＲＴ）において出力値をセット（”Ｈ”レベル）し、第２の比較器３３２の結果が等しい場合には出力値をリセット（”Ｌ”レベル）するＳＲフリップフロップ（以下、ＳＲ−ＦＦ）３３３をそれぞれ備える。
【００３４】
図６は、クロック信号、Ｒカウンタ３３０，ＳＲフリップフロップ３３３に入力されるＳＴＡＲＴ信号、Ｒカウンタ３３０，論理積回路３３５に入力されるＶＡＬＩＤＩ信号、比較器３３２に入力される１ｓｔＰＯＩＮＴＥＲ値、ＳＲフリップフロップ３３３から出力されるｓｒｆｆ信号、比較器３３１から出力されるｃｍｐ１信号、比較器３３２から出力されるｃｍｐ２信号、Ｒカウンタ３３０から出力されるＲｃｎｔ値、論理積回路３３５から出力されるＶＡＬＩＤＯ信号の関係を示すタイミング図である。
【００３５】
図５においてＳＴＡＲＴ信号は、読み出しの開始を示しており、この時のリード回路部１０５からの有効（ＶＡＬＩＤＩ信号がアクティブ）な読み出しデータ（ＤＡＴＡＩ）はセクタの先頭バイトとなっている。このＳＴＡＲＴ時の有効なＤＡＴＡＩの値は１ｓｔポインタとしてレジスタなどの遅延素子（図示せず）に保持する。ＳＴＡＲＴ直後から１ｓｔポインタの示すバイト数分がセクタを跨っているパケットの一部となる。なお、読み出し時のセクタ順番に論理的な不連続（セクタ間で跨る或いは隣接するパケットが入力時間的に不連続）となった場合にも、リード回路部１０５にて不連続となるセクタのデータを出力する際にＳＴＡＲＴ信号はアクティブにされる。
【００３６】
Ｒカウンタ３３０は、ＳＴＡＲＴ信号により出力が１にセットされ、有効なデータが読み出される（ＶＡＬＩＤＩがアクティブ）毎に１づつカウントアップし、予めＣＰＵ１１０より設定されているセクタ長相当分をカウントすると０に戻る。このことから、１ｓｔポインタの示すバイト数分の読み出しが行なわれたかは、Ｒカウンタ３３０の出力値と１ｓｔポインタの値が等しくなる、つまり、第２の比較器３３２の出力がアクティブとなることで知ることができる。
【００３７】
従って、ＳＲフリップフロップ（ＳＲ−ＦＦ）３３３の出力がアクティブの期間に読み出されたデータがセクタを跨っているパケットの一部となる。
【００３８】
また、Ｒカウンタ３３０の出力が０に戻った時、つまり、第１の比較器３３１がアクティブ時のデータが各セクタのポインタとなっている。
【００３９】
よって、パケット復元部１０６では、ＳＲフリップフロップ（ＳＲ−ＦＦ）３３３の出力と、第１の比較器３３１の出力とがアクティブとなる期間のデータを無効としたデータ列を再生パケット（ＤＡＴＡＯ）として、デコーダ１０９に出力することで、パケットの復元が行える。つまり、ＶＡＬＩＤＩの上記期間を無効（インアクティブ）としたＶＡＬＩＤＯがアクティブ時のＤＡＴＡＩが再生パケットとなる。
【００４０】
図２は、入力ストリーム、選択パケット、ポインタ挿入位置、記録ストリーム及び再生パケットの関係を例示し、再生パケットにおいてはセクタＢから読み出しを開始した場合の例となる。
【００４１】
パケット選択部１０２は、入力ストリームからパケットＡ＿０，Ａ＿１，Ａ＿２，Ａ＿３を選択し、出力する。
【００４２】
ポインタ挿入部１０３は、パケットＡ＿０の先頭及びパケットＡ＿２の中間にポインタＰ＿０，Ｐ＿１を挿入する。ポインタＰ＿０とポインタＰ＿１との間隔は、ライト回路部１０４が記録媒体１０８に書き込む際の１単位であるセクタ長に等しい。ポインタ値は、「ポインタが挿入された位置」から「ポインタが挿入されたパケットの最後」までのバイト数を示す。例えば、パケットＡ＿２に挿入されたポインタＰ＿１のポインタ値は、「ポインタＰ＿１の最後」から「ポインタＰ＿１が挿入されたパケットＡ＿２の最後」まで、つまりパケットＡ＿２の２ｂ部分のバイト数を示す。
【００４３】
ライト回路部１０４は、ポインタ、パケットＡ＿０，Ａ＿１及びＡ＿２ａをセクタＡとして、またポインタ、パケットＡ＿２ｂ，Ａ＿３，Ａ＿４及びＡ＿５ａをセクタＢとして、記録媒体１０８に書き込む。
【００４４】
リード回路部１０５は、記録媒体１０８に記録されているセクタＢから読み出しを開始し、セクタＢ以降の各セクタをパケット復元部１０６へ出力する。
【００４５】
パケット復元部１０６は、記録ストリームから（１）ポインタＰ＿１，Ｐ＿２・・・、（２）ポインタＰ＿１のポインタ値が示すバイト数だけ後方のデータ、つまりパケットＡ＿２の２ｂ部分を除いて、パケットＡ＿３以降のパケットを復元する。すなわち、パケットＡ＿３，Ａ＿４・・・を復元する。セクタＢとセクタＣとのセクタ境界を跨るパケットＡ＿５なども復元する。
【００４６】
以上のように、録画時に挿入したポインタをもとに、再生の際、再生が開始されたセクタからその前セクタより跨っているパケット部分を取り除き、次パケットのデータから抽出、再生を開始することが可能となる。
【００４７】
従って、従来ではパケットの構造から特定パターンの周期性を利用して、パケット先頭を検出していたが、特定パターンはパケット内で不特定に出現する可能性があるため、誤った検出を避けるために多くの時間とパケットが必要であったが、第１実施形態によれば、この検出動作が省略できることから、再生を速やかに開始することが可能となる。
【００４８】
（第２実施形態）
従来はパケットに含まれる特定パターンを利用してパケット復元部にてパケットを復元していたが、前記の如く本発明の第１実施形態によれば、この特定パターンを利用することなくパケット復元部１０６にてパケットを復元できる。
【００４９】
この特定パターンを利用しないということは、つまりこの特定パターン部分又は特定パターンを含む数バイトをパケット毎に別の値に書換えるなどしても何ら再生に支障がないということである。
【００５０】
そこで、第２実施形態では、入力ストリームがＭＰＥＧ構造である場合を例とし、記録ストリームの逆再生をスムーズに行えるようにするために、特定パターン部分を有効利用した場合の実施形態を説明する。
【００５１】
図７に第２実施形態にかかるディジタルストリーム処理装置の概略ブロック図を示す。第２実施形態は、入力ストリーム１から所望の識別子（以下、パケットＩＤ）を持つパケットを選択分離するパケット選択部２０２と、この選択されたパケットの先頭バイトを書換えるヘッダ書換部２１１と、この書換えられたパケットに対して、記録単位（以下、セクタ）長ごとにポインタを挿入するポインタ挿入部２０３と、このポインタの挿入されたパケットをセクタ長単位に束ね、記録ストリームとして記録媒体２０８に書き込みを行うライト回路部２０４と、記録媒体２０８から記録ストリームの読み出しを行うリード回路部２０５と、この読み出された記録ストリームに挿入されているポインタにより、パケットを完結した形に復元するパケット復元部２０６と、復元されたパケットの書換えられた先頭バイトを解析し、ＣＰＵ２１０に通知するヘッダ解析部２１２と、この解析が終了したパケットの一部又は全部を、パケットＩＤ毎に割当てられているデコーダ２０９に出力するデータ出力部２０７と、パケットＩＤやセクタ長の設定など各回路の制御を行うＣＰＵ２１０とからなる。デコーダ２０９は１つしか図示していないが、複数存在し得る。
【００５２】
第２実施形態と第１実施形態との主たる相違点は、ヘッダ書換部２１１とヘッダ解析部２１２であり、以下これらについて説明する。
【００５３】
まず、ヘッダ書換部２１１について説明する。図８に示すように、ヘッダ書換部２１１は、パケット数をカウントするパケットカウンタ２４０と、選択パケットにピクチャの先頭データが含まれているかを検出するピクチャ検出器２４１と、選択パケットの先頭バイトの値：０ｘ４７をパケットカウンタ２４０のカウント値とピクチャ検出器２４１からのピクチャの有無情報とに基づいて書き換えを行う先頭バイト書換器２４２とを備える。
【００５４】
図９は、クロック信号、パケットカウンタ２４０に入力されるＳＹＮＣＩ信号、パケットカウンタ２４０，ピクチャ検出器２４１に入力されるＶＡＬＩＤＩ信号、ピクチャ検出器２４１に入力されるＤＡＴＡＩ信号、パケットカウンタ２４０から出力されるＰａｃｋｅｔＣｏｕｎｔｅｒ値、先頭バイト書換器２４２から出力されるＳＹＮＣＯ信号、先頭バイト書換器２４２から出力されるＤＡＴＡＯ信号の関係を示すタイミング図である。
【００５５】
パケットカウンタ２４０では、パケット先頭を示すＳＹＮＣＩ信号をカウントすることで選択パケットの数を求めることができる。ただし、カウントは下記の条件下で行なわれる。
【００５６】
１）ピクチャ検出器２４１にて、その時カウントした選択パケットにピクチャ先頭データが検出されたなら、次の選択パケットを１番目として、カウントを続ける。
【００５７】
２）１２８までカウントしたなら、次の選択パケットを０番目として、カウントを続ける。つまり、０〜０ｘ７Ｆの７ビットレンジでカウントを行う。
【００５８】
ピクチャ検出器２４１では、ピクチャ先頭データが選択パケットに含まれているかを検出する。検出方法としては、ＭＰＥＧにて規定されているピクチャヘッダパターン（０ｘ０００００１００）又はＶｉｄｅｏ−ＰＥＳヘッダパターン（０ｘ０００００１Ｅ０）などを検索し、検出できた場合には、パケットカウンタ２４０及び先頭バイト書換器２４２に通知する。
【００５９】
先頭バイト書換器２４２では、ピクチャ検出器２４１からピクチャの有無を通知する１ビット情報と、パケットカウンタ２４０から受け取る７ビットのカウント値との計８ビットのデータにて、選択パケットの先頭バイトの値：０ｘ４７を書換える。
【００６０】
この結果、先頭バイトが、その選択パケットの前方（入力順で時間的に早い）パケットを何個戻ったところにピクチャの先頭データを含む選択パケットがあったかを示すことになる。
【００６１】
なお、先頭バイト書換器２４２における書き換えは、ピクチャ検出器２４１にてピクチャが含まれているかどうかの判断が完了するまで行えない。従って、ヘッダ書換部２１１には、ピクチャ検出が終了するまでパケットを保持するメモリ（図示せず）が必要となる。
【００６２】
図９のタイミング図は、このメモリにて１パケット入力時間遅延させ、パケットＢにてピクチャを検出した場合を例としている。
【００６３】
パケットＡに関しては、ピクチャを含まないためピクチャ検出器２４１から受け取る１ビット情報は”０”、パケットカウンタ２４０から受け取るカウンタ値は１０進数表記で”１１”、２進数表記で”０００１０１１”であるから、書換後の先頭バイトは２進数表記で”００００１０１１”、１６進数表記で”０ｘ０ｂ”となる。この”０ｘ０ｂ”は、パケットＡの前方（入力順と逆方向）に１１個戻ったパケット（前方パケット）にピクチャの先頭データを含む選択パケット（ピクチャパケット）があった可能性を示す。つまり、パケットカウンタ２４０のカウント条件（２）に示す通り、１２８＊ｎ＋１１（ｎ：自然数）以上ピクチャパケットと離れていた場合には１１戻った前方パケットの先頭は０ｘ００となっているが、この場合もさらに１２８づつｎ回戻ることで、容易にピクチャパケットを追跡することが可能となる。
【００６４】
また、パケットＢに関しては、ピクチャを含むためピクチャ検出器２４１から受け取る１ビット情報は”１”、パケットカウンタ２４０から受け取るカウンタ値は１０進数表記で”１２”、２進数表記で”０００１１００”であるから、書換後の先頭バイトは２進数表記で”１０００１１００”、１６進数表記で”０ｘ８ｃ”となる。この”０ｘ８ｃ”は、パケットＢから１２個戻った前方パケットにピクチャパケットがあった可能性を示していると共に、後方（入力順と同方向）のパケットから書換後の先頭バイトを元に追跡してきた場合、本パケットがピクチャパケットであることも示す。
【００６５】
続いて、ヘッダ解析部２１２について説明する。ヘッダ解析部２１２では、パケット復元部２０６にて復元された記録ストリームの任意の再生パケットからそのパケット先頭バイトを解析するだけで、前方のピクチャを含む再生パケットの記録位置を知ることができる。
【００６６】
図１０に示すように、ヘッダ解析部２１２は、先頭バイト復元器２５０と、ピクチャ情報抽出器２５１とを備える。
【００６７】
図１１は、ＣＬＯＣＫＩ信号、ＳＹＮＣＩ信号、ＶＡＬＩＤＩ信号、ＤＡＴＡＩ信号、ＰＩＣＰＯＳ値、ＳＹＮＣＯ信号、ＶＡＬＩＤＯ信号及びＤＡＴＡＯ信号の関係を示すタイミング図である。ＣＬＯＣＫＩ信号、ＳＹＮＣＩ信号、ＶＡＬＩＤＩ信号、ＤＡＴＡＩ信号は、先頭バイト復元器２５０及びピクチャ情報抽出器２５１に入力される。ＳＹＮＣＯ信号、ＶＡＬＩＤＯ信号及びＤＡＴＡＯ信号は、先頭バイト復元器２５０から出力される。ＰＩＣＰＯＳ値は、ピクチャ情報抽出器２５１から出力される。
【００６８】
先頭バイト復元器２５０は、（１）同期信号（ＳＹＮＣＩ）、有効信号（ＶＡＬＩＤＩ）、データ信号（ＤＡＴＡＩ）、クロック信号（ＣＬＯＣＫＩ）がパケット復元部２０６から入力され、（２）データ信号に含まれる先頭バイトの位置を同期信号によって特定し、その先頭バイトの値を”０ｘ４７”に書き戻し、（３）同期信号（ＳＹＮＣＯ）、有効信号（ＶＡＬＩＤＯ）、データ信号（ＤＡＴＡＯ）をデータ出力部２０７へ出力する。
【００６９】
ピクチャ情報抽出器２５１は、（１）同期信号（ＳＹＮＣＩ）、有効信号（ＶＡＬＩＤＩ）、データ信号（ＤＡＴＡＩ）、クロック信号（ＣＬＯＣＫＩ）がパケット復元部２０６から入力され、（２）データ信号に含まれる先頭バイトの位置を同期信号によって特定し、その先頭バイトの値を抽出し、ピクチャ情報信号（ＰＩＣＰＯＳ）としてＣＰＵ２１０へ出力する。
【００７０】
図１２は、記録媒体１０８或いはリード回路部１０５に搭載されるであろうメモリ（キャッシュ）におけるパケットの格納イメージを示しているが、理解を容易にするためパケット単位となっている。また、ピクチャパケットとは、ピクチャの先頭データを含むパケットである。
【００７１】
図１２を用いて、ピクチャパケットを検索（追跡）する方法を説明する。例えば、図１２に示す先頭バイトの下位７ビットの値が３４のパケットを読み出したとする。このパケットの最上位ビットは１でないため、さらに３４パケット前方のパケットの先頭バイトを確認する。
【００７２】
もし、この３４パケット前方の先頭バイトの最上位ビットが１であれば、このパケットがピクチャパケットとなるが、いま０であり、下位７ビットの値は０であることから、さらに１２８前方にピクチャパケットがある可能性を示しているため、再び１２８パケット前方のパケットの先頭バイトを確認する。
【００７３】
この、さらに１２８パケット前方の先頭バイトの最上位ビットを確認すると１であるため、このパケットはピクチャパケットとなる。
【００７４】
さらなる前方のピクチャパケットを検索するには、このパケットの先頭バイトの下位７ビットの値が示す５２パケット前方のパケットを同様に確認していくことで、次々とピクチャパケットを検出することができる。
【００７５】
つまり、各パケットの先頭バイトの下位７ビットに記述されている値を頼りに、その値の示すパケット数分前方のパケットのみを図１２に示す矢印の方向に検索していき、その検索したパケットの先頭バイトの最上位ビットの値が１であるかを判断することで、容易に入力順と逆方向にピクチャパケットを検出することができる。
【００７６】
このように、通常速度逆再生、高速逆再生、こま送り逆再生などの逆再生をする際、この書換えられた先頭バイトにより、次に再生すべきピクチャの先頭位置を短時間で容易に検出することができ、スムーズな逆再生が可能となる。
【００７７】
また、ピクチャをＩピクチャ（Ｉｎｔｒａ　ｃｏｄｅｄ　ｐｉｃｔｕｒｅ：イントラ符号化ピクチャ）のみに限定することや、ＩピクチャおよびＰピクチャ（Ｐｒｅｄｉｃｔｉｖｅ　ｃｏｄｅｄ　ｐｉｃｔｕｒｅ：　予測符号化ピクチャ）のみに限定することで、Ｂピクチャ（Ｂｉｄｉｒｅｃｔｉｏｎａｌｌｙ　ｐｒｅｄｉｃｔｉｖｅ　ｃｏｄｅｄ　ｐｉｃｔｕｒｅ：　双方向予測符号化ピクチャ）を省略した簡易的な高速逆再生が可能であり、本発明はこのような場合も包含する。
【００７８】
なお、上記第１、２実施形態においてポインタを１バイトとしているが、ＭＰＥＧやＤＳＳ以外のパケット構造の場合、１バイトでは跨っているパケット長を表現しきれない可能性がある。この場合は、パケット長に応じてポインタ長を変えればよい。例えば、２５６〜６５５３５バイト（１６ビットレンジ）のパケット構造であるなら、ポインタを２バイトとすればよい。もちろん、１〜２５５バイト（８ビットレンジ）のパケット構造であっても、ポインタを２バイト以上とすることも可能であり、本発明はこのような場合も包含する。
【００７９】
また、ディスクメディアに用いられるファイルフォーマットによっては、各セクタ先頭にセクタ番号などの情報を付加しなければならない場合もあり得るが、これら付加情報分をポインタの格納領域に加味することで、本発明が適応できることは明らかであり、本発明はこのような場合も包含する。
【００８０】
さらに、各部でメモリなどの遅延素子が必要な場合、物理的に別個に搭載するのではなく、物理的に１つである遅延素子上の別々の領域を割当ててもよい。
【００８１】
【発明の効果】
前記の如く、本発明によれば、パケット先頭を迅速に検出することができるので、記録媒体の記録単位サイズがパケットサイズの整数倍ではない場合であっても、データのスムーズな再生が可能となる。
【図面の簡単な説明】
【図１】本発明の第１実施形態におけるディジタルストリーム処理装置の構成例を示すブロック図である。
【図２】第１実施形態における入力ストリーム、選択パケット、ポインタ挿入位置、記録ストリーム及び再生パケットの関係を例示する図である。
【図３】図１に示すポインタ挿入部の構成例を示すブロック図である。
【図４】図３に示すポインタ挿入部に関するタイミング図である。
【図５】図１に示すパケット復元部の構成例を示すブロック図である。
【図６】図５に示すパケット復元部に関するタイミング図である。
【図７】本発明の第２実施形態におけるディジタルストリーム処理装置の構成例を示すブロック図である。
【図８】図７に示すヘッダ書換部の構成例を示すブロック図である。
【図９】図８に示すヘッダ書換部に関するタイミング図である。
【図１０】図７に示すヘッダ解析部の構成例を示すブロック図である。
【図１１】図１０に示すヘッダ解析部に関するタイミング図である。
【図１２】記録媒体或いはリード回路部に搭載されるメモリ（キャッシュ）におけるパケットの格納イメージを示す図である。
【図１３】従来のディジタル放送で使用される入力ストリームのパケット構造例を示す図である。
【図１４】従来の入力ストリーム、選択パケット及び記録ストリームの関係を例示する図である。
【符号の説明】
１００…ディジタルストリーム処理装置　１０２…パケット選択部
１０３…ポインタ挿入部　１０４…ライト回路部
１０５…リード回路部　１０６…パケット復元部
１０７…データ出力部　１０８…記録媒体
１０９…デコーダ　１１０…ＣＰＵ
【図１】
2004128754.tif 000003
【図２】
2004128754.tif 000004
【図３】
2004128754.tif 000005
【図４】
2004128754.tif 000006
【図５】
2004128754.tif 000007
【図６】
2004128754.tif 000008
【図７】
2004128754.tif 000009
【図８】
2004128754.tif 000010
【図９】
2004128754.tif 000011
【図１０】
2004128754.tif 000012
【図１１】
2004128754.tif 000013
【図１２】
2004128754.tif 000014
【図１３】
2004128754.tif 000015
【図１４】
2004128754.tif 000016