(57)【要約】【課題】タイムスタンプを付加する処理にかかる負担を軽減する。【解決手段】複数のトランスポートパケットのうちの所定のトランスポートパケットには、27MHzのシステムクロック周波数を基準としたPCRが埋め込まれている。PCR検出部１４は、PCRが埋め込まれているトランスポートパケットを検出し、時間間隔算出部１５は、PCRが埋め込まれているトランスポートパケットに基づいて、隣り合うトランスポートパケット同士の入力タイミングの間隔を算出する。そして、タイムスタンプ算出部１６は、トランスポートパケット同士の入力タイミングの間隔に基づいて、トランスポートパケットの入力タイミングを算出し、その入力タイミングを表すタイムスタンプを複数のトランスポートパケットにそれぞれ付加する。本発明は、例えば、ハードディスクレコーダに適用できる。【選択図】図１
2009060324.tif 000002
【特許請求の範囲】
【請求項１】
MPEG2-TS（Moving Picture Experts Group 2 Transport Stream）に含まれる複数のTS（Transport Stream）パケットに、前記MPEG2-TSをデコードするデコーダへの入力タイミングを表すタイムスタンプをそれぞれ付加するタイムスタンプ付加装置において、
複数の前記TSパケットのうちの所定のTSパケットには、所定のシステムクロック周波数を基準としたPCR（Program Clock Reference）が埋め込まれており、前記PCRが埋め込まれているTSパケットを検出する検出手段と、
前記PCRが埋め込まれているTSパケットに基づいて、隣り合うTSパケット同士の入力タイミングの間隔を算出する時間間隔算出手段と、
前記TSパケット同士の入力タイミングの間隔に基づいて、前記TSパケットの入力タイミングを算出し、前記入力タイミングを表すタイムスタンプを複数の前記TSパケットにそれぞれ付加するタイムスタンプ算出手段と
を備えるタイムスタンプ付加装置。
【請求項２】
複数の前記TSパケットには、それぞれを識別するPID（Packet Identifier）が含まれており、
前記MPEG2-TSに含まれる所定のTSパケットには、前記TSパケットのPIDのリストが記述されているPMT（Program Map Table）を伝送するTSパケットのPIDを示すPAT（Program Association Table）が含まれており、
前記検出手段は、
前記PATを解析して、前記PMTを伝送するTSパケットのPIDを検出し、
前記PMTを伝送するTSパケットのPIDにより識別されるTSパケットのPMTを解析して、前記PCRが埋め込まれているTSパケットのPIDを検出し、
前記PCRが埋め込まれているTSパケットのPIDに基づいて、前記PCRが埋め込まれているTSパケットを検出する
請求項１に記載のタイムスタンプ付加装置。
【請求項３】
複数の前記TSパケットには、それぞれを識別するPID（Packet Identifier）が含まれており、
前記TSパケットのPIDのリストが記述されているPMT（Program Map Table）を伝送するTSパケットのPID、または、前記PCRが埋め込まれているTSパケットのPIDを記憶する記憶手段
をさらに備え、
前記検出手段は、
前記記憶手段に記憶されている前記PMTを伝送するTSパケットのPIDにより識別されるTSパケットのPMTを解析して、前記PCRが埋め込まれているTSパケットのPIDを検出し、前記PCRが埋め込まれているTSパケットのPIDに基づいて、前記PCRが埋め込まれているTSパケットを検出し、
または、前記記憶手段に記憶されている前記PCRが埋め込まれているTSパケットのPIDに基づいて、前記PCRが埋め込まれているTSパケットを検出する
請求項１に記載のタイムスタンプ付加装置。
【請求項４】
前記検出手段は、
前記PCRが埋め込まれているTSパケットのデータ構造に基づいて、前記TSパケットの所定の箇所から、前記PCRの値を抽出するPCR値抽出手段と、
前記PCRが埋め込まれているTSパケットのMPEG2-TS中における位置を表す位置情報を取得する位置情報取得手段と
を有し、
前記PCR値抽出手段が抽出したPCRの値と、前記位置情報取得手段が取得した位置情報とを、前記時間間隔算出手段に供給する
請求項１に記載のタイムスタンプ付加装置。
【請求項５】
前記位置情報取得手段は、
先頭のTSパケットから、最初に前記PCRが含まれているTSパケットの直前のTSパケットまでのパケット数と、
前記PCRが含まれているTSパケットの次に前記PCRが含まれているTSパケットの直前のTSパケットまでのパケット数と、
最後に前記PCRが含まれているTSパケットから、最後尾のTSパケットまでのパケット数と
を前記位置情報として取得する
請求項４に記載の検出装置。
【請求項６】
前記位置情報取得手段は、前記PCRが含まれているTSパケットの前記MPEG2-TSの先頭からのバイト数またはパケット数を、前記位置情報として取得する
請求項４に記載の検出装置。
【請求項７】
前記時間間隔算出手段には、前記検出手段から、前記PCR値抽出手段が抽出したPCRの値と、前記位置情報取得手段が取得した位置情報とが供給され、
前記時間間隔算出手段は、前記PCRの値と前記位置情報とを用いて、
前記PCRが含まれている２つのTSパケット間における前記入力タイミングの間隔を、前記２つのTSパケットから抽出されたPCRの値に基づいて算出し、
先頭のTSパケットから、最初に前記PCRが含まれているTSパケットまでの間における前記入力タイミングの間隔を、最初に前記PCRが含まれているTSパケットから抽出されたPCRの値と、最初に前記PCRが含まれているTSパケットの次の前記PCRが含まれているTSパケットから抽出されたPCRの値とに基づいて算出し、
最後に前記PCRが含まれているTSパケットから、最後尾のTSパケットまでにおける前記入力タイミングの間隔を、最後に前記PCRが含まれているTSパケットから抽出されたPCRの値と、最後に前記PCRが含まれているTSパケットの前の前記PCRが含まれているTSパケットから抽出されたPCRの値とに基づいて算出する
請求項４に記載の検出装置。
【請求項８】
前記タイムスタンプ算出手段は、前記時間間隔算出手段から供給される前記入力タイミングの間隔と、前記時間間隔算出手段が前記入力タイミングの間隔を算出する際に生じる余剰の積算値であるキャリーオーバとを用いて、前記TSパケットの入力タイミングを算出する
請求項７に記載の検出装置。
【請求項９】
前記タイムスタンプ算出手段は、ハードウェアによりに実現され、前記時間間隔算出手段は、CPU（Central Processing Unit）がソフトウェアを実行することにより実現されている
請求項１に記載の検出装置。
【請求項１０】
MPEG2-TS（Moving Picture Experts Group 2 Transport Stream）に含まれる複数のTS（Transport Stream）パケットに、前記MPEG2-TSをデコードするデコーダへの入力タイミングを表すタイムスタンプをそれぞれ付加するタイムスタンプ付加方法において、
複数の前記TSパケットのうちの所定のTSパケットには、所定のシステムクロック周波数を基準としたPCR（Program Clock Reference）が埋め込まれており、前記PCRが埋め込まれているTSパケットを検出し、
前記PCRが埋め込まれているTSパケットに基づいて、隣り合うTSパケット同士の入力タイミングの間隔を算出し、
前記TSパケット同士の入力タイミングの間隔に基づいて、前記TSパケットの入力タイミングを算出し、前記入力タイミングを表すタイムスタンプを複数の前記TSパケットにそれぞれ付加する
ステップを含むタイムスタンプ付加方法。
【請求項１１】
MPEG2-TS（Moving Picture Experts Group 2 Transport Stream）に含まれる複数のTSパケットに、前記MPEG2-TSをデコードするデコーダへの入力タイミングを表すタイムスタンプをそれぞれ付加する処理をコンピュータに実行させるプログラムにおいて、
複数の前記TSパケットのうちの所定のTSパケットには、所定のシステムクロック周波数を基準としたPCR（Program Clock Reference）が埋め込まれており、前記PCRが埋め込まれているTSパケットを検出し、
前記PCRが埋め込まれているTSパケットに基づいて、隣り合うTSパケット同士の入力タイミングの間隔を算出し、
前記TSパケット同士の入力タイミングの間隔に基づいて、前記TSパケットの入力タイミングを算出し、前記入力タイミングを表すタイムスタンプを複数の前記TSパケットにそれぞれ付加する
ステップを含む処理をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、タイムスタンプ付加装置およびタイムスタンプ付加方法、並びにプログラムに関し、特に、タイムスタンプを付加する処理にかかる負担を軽減することができるようにしたタイムスタンプ付加装置およびタイムスタンプ付加方法、並びにプログラムに関する。
【背景技術】
【０００２】
近年、テレビジョン放送されている番組をハードディスクなどの記録媒体に記録し、その後、記録媒体に記録されている番組を再生して、ユーザが視聴することができるディジタル機器の普及が拡大している。このようなディジタル機器としては、ハードディスクレコーダや、パーソナルコンピュータ、録画機能を備えたテレビジョン放送受像機などがある。
【０００３】
日本のテレビジョン放送における規格としては、国際標準規格であるMPEG（Moving Picture Experts Group）の中でも、通信システムや放送システムへの適用が考慮されているMPEG-2システムが採用されている。さらに、MPEG-2システムの中でも、伝送時に誤りが発生する環境での伝送や蓄積などに適したMPEG2-TSと呼ばれる形式が採用されている。
【０００４】
MPEG2-TSでは、送信側の装置は、MPEG-2で符号化された画像および音声を、TS（Transport Stream：トランスポートストリーム）パケットと呼ばれるパケットに分割し、TSパケットを順次送信する。
【０００５】
また、MPEG2-TSでは、送信側が意図したとおりに受信側で番組を再生することができるように、TSパケットには、27MHzのシステムクロック周波数を基準としたPCR（Program Clock Reference：プログラムクロックリファレンス）が埋め込まれる。同様に、TSパケットには、再生時に参照される時刻管理情報であるPTS（Program Time Stamp：プログラムタイムスタンプ）や、デコード時に参照される時刻管理情報であるDTS（Decoding Time Stamp：デコーディングタイムスタンプ）などのデータも埋め込まれる。
【０００６】
上述したようなディジタル機器などの受信側の装置は、TSパケットを受信し、そのTSパケットから、PAT（Program Association Table：プログラムアソシエーションテーブル）、およびPMT（Program Map Table：プログラムマップテーブル）を取得する。受信側の装置は、PATおよびPMTに基づいて、PID（Packet Identifier：パケット識別子）を判別することができ、所定のPIDを持つTSパケットを、映像や、音声、PCRなどに分離する。
【０００７】
また、受信側の装置は、TSパケットから取得したPCRを使用して、STC（System Time Clock：システムタイムクロック）の初期値を設定する。また、受信側の装置は、定期的に受信されるPCRの値と、STCとを比較し、デコードのタイムベースとなる27MHzのシステムクロック周波数の誤差を調節する。
【０００８】
一般に、放送局などの送信側の装置から送出されたTSパケットが、受信側の装置において映像および音声のデコード処理時に、TSパケットなどを一時的に蓄積する受信バッファのアンダーフローおよびオーバフローが発生せず、かつ、映像と音声との間の同期処理が正常になるように、受信側の装置は実装される。
【０００９】
ところで、MPEG2-TSを用いた映像コンテンツは、IPTV（Internet Protocol Television）などのネットワークを経由した配信が行われる場合があり、またDLNA（Digital Living Network Alliance）などに代表されるホームネットワーク環境下での配信が行われる場合もある。
【００１０】
このようなネットワークを介した映像コンテンツの配信において、送信側の装置が、TSパケットの出力タイミングを正確に制御したとしても、ネットワーク内で、TSパケットが異なる経路を通過する可能性があり、TSパケットの到着時間が、送信間隔に従わないことがある。また、ネットワーク内の中継機器が、MPEG2-TSの処理とは全く関係ない他の通信処理を同時に行うようなときも、TSパケットの到着時間が、送信間隔に従わないことがある。
【００１１】
また、時刻情報であるPCRは、100ms以内に最低１つ含まれるものと規定されており、全てのTSパケットに含まれるわけではない。よって、受信側の装置が、ネットワークを介して伝送されるTSパケットのPCRのみを参照して、送信側の装置が期待するタイミングで受信したTSパケットを、デコーダへ入力することは困難である。
【００１２】
従って、ネットワークを介した映像コンテンツの配信では、送信側の装置が、個々のTSパケットにタイムスタンプ（デコーダへの入力タイミング）を付加し、受信側の装置が、TSパケットに付加されているタイムスタンプを使用して、そのTSパケットをデコードするタイミングを制御する方法が、有効である。
【００１３】
従って、例えば、テレビジョン放送されたコンテンツを、録画機器などにおいてMPEG2-TSで記録し、そのコンテンツをホームネットワークへ送出する場合には、録画機器が、TSパケットにタイムスタンプを付加する処理を行う必要がある。また、タイムスタンプが付加されていないMPEG2-TSを、IPTVなどのネットワークを経由して配信する場合にも、同様に、配信装置は、TSパケットにタイムスタンプを付加する処理を行う必要がある。
【００１４】
しかしながら、一般的に、録画機器などの組み込み機器に搭載されているCPU（Central Processing Unit）は、処理速度が低速であり、例えば、コンテンツの長さが長い場合などには、タイムスタンプを付加する処理に占有されてしまう。即ち、録画機器などの組み込み機器にとって、タイムスタンプを付加する処理にかかる負担は大きくなる。
【００１５】
また、処理速度が高速で、高性能なCPUを録画機器などに搭載することで、タイムスタンプを付加する処理の負担が大きくなることを解決することができるが、そのような解決では、録画機器などの製造コストが高くなってしまう。
【００１６】
ここで、特許文献１には、時刻情報の連続性および周期性を保ち、様々な伝送速度に対応したトランスポートストリームを発生させる技術が開示されている。
【００１７】
また、特許文献２には、非同期の複数のトランスポートストリームの多重時に発生する遅延揺らぎを防止する技術が開示されている。
【００１８】
【特許文献１】特開２００１−２８５２３３号公報
【特許文献２】特開平１１−４１１９３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１９】
上述したように、録画機器などの組み込み機器にとって、TSパケットにタイムスタンプを付加する処理にかかる負担が大きい。
【００２０】
本発明は、このような状況に鑑みてなされたものであり、TSパケットにタイムスタンプを付加する処理にかかる負担を軽減することができるようにするものである。
【課題を解決するための手段】
【００２１】
本発明の一側面のタイムスタンプ付加装置は、MPEG2-TSに含まれる複数のTSパケットに、前記MPEG2-TSをデコードするデコーダへの入力タイミングを表すタイムスタンプをそれぞれ付加するタイムスタンプ付加装置において、複数の前記TSパケットのうちの所定のTSパケットには、所定のシステムクロック周波数を基準としたPCRが埋め込まれており、前記PCRが埋め込まれているTSパケットを検出する検出手段と、前記PCRが埋め込まれているTSパケットに基づいて、隣り合うTSパケット同士の入力タイミングの間隔を算出する時間間隔算出手段と、前記TSパケット同士の入力タイミングの間隔に基づいて、前記TSパケットの入力タイミングを算出し、前記入力タイミングを表すタイムスタンプを複数の前記TSパケットにそれぞれ付加するタイムスタンプ算出手段とを備える。
【００２２】
本発明の一側面のタイムスタンプ付加方法またはプログラムは、MPEG2-TSに含まれる複数のTSパケットに、前記MPEG2-TSをデコードするデコーダへの入力タイミングを表すタイムスタンプをそれぞれ付加するタイムスタンプ付加方法、または、MPEG2-TSに含まれる複数のTSパケットに、前記MPEG2-TSをデコードするデコーダへの入力タイミングを表すタイムスタンプをそれぞれ付加する処理をコンピュータに実行させるプログラムにおいて、複数の前記TSパケットのうちの所定のTSパケットには、所定のシステムクロック周波数を基準としたPCRが埋め込まれており、前記PCRが埋め込まれているTSパケットを検出し、前記PCRが埋め込まれているTSパケットに基づいて、隣り合うTSパケット同士の入力タイミングの間隔を算出し、前記TSパケット同士の入力タイミングの間隔に基づいて、前記TSパケットの入力タイミングを算出し、前記入力タイミングを表すタイムスタンプを複数の前記TSパケットにそれぞれ付加するステップを含む。
【００２３】
本発明の一側面においては、MPEG2-TSに含まれる複数のTSパケットのうちの所定のTSパケットには、所定のシステムクロック周波数を基準としたPCRが埋め込まれている。そして、PCRが埋め込まれているTSパケットが検出され、PCRが埋め込まれているTSパケットに基づいて、隣り合うTSパケット同士の入力タイミングの間隔が算出される。そして、TSパケット同士の入力タイミングの間隔に基づいて、TSパケットの入力タイミングが算出され、入力タイミングを表すタイムスタンプが複数のTSパケットにそれぞれ付加される。
【発明の効果】
【００２４】
本発明の一側面によれば、タイムスタンプを付加する処理にかかる負担を軽減することができる。
【発明を実施するための最良の形態】
【００２５】
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書又は図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書又は図面に記載されていることを確認するためのものである。従って、明細書又は図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００２６】
本発明の一側面のタイムスタンプ付加装置は、MPEG2-TSに含まれる複数のTSパケットに、前記MPEG2-TSをデコードするデコーダへの入力タイミングを表すタイムスタンプをそれぞれ付加するタイムスタンプ付加装置において、
複数の前記TSパケットのうちの所定のTSパケットには、所定のシステムクロック周波数を基準としたPCR（Program Clock Reference）が埋め込まれており、前記PCRが埋め込まれているTSパケットを検出する検出手段（例えば、図１のPCR検出部１４）と、
前記PCRが埋め込まれているTSパケットに基づいて、隣り合うTSパケット同士の入力タイミングの間隔を算出する時間間隔算出手段（例えば、図１の時間間隔算出部１５）と、
前記TSパケット同士の入力タイミングの間隔に基づいて、前記TSパケットの入力タイミングを算出し、前記入力タイミングを表すタイムスタンプを複数の前記TSパケットにそれぞれ付加するタイムスタンプ算出手段（例えば、図１のタイムスタンプ算出部１６）と
を備える。
【００２７】
また、本発明の一側面のタイムスタンプ付加装置は、
複数の前記TSパケットには、それぞれを識別するPIDが含まれており、
前記TSパケットのPIDのリストが記述されているPMTを伝送するTSパケットのPID、または、前記PCRが埋め込まれているTSパケットのPIDを記憶する記憶手段（例えば、図１のメモリ１２）
をさらに備え、
前記検出手段は、
前記記憶手段に記憶されている前記PMTを伝送するTSパケットのPIDにより識別されるTSパケットのPMTを解析して、前記PCRが埋め込まれているTSパケットのPIDを検出し、前記PCRが埋め込まれているTSパケットのPIDに基づいて、前記PCRが埋め込まれているTSパケットを検出し、
または、前記記憶手段に記憶されている前記PCRが埋め込まれているTSパケットのPIDに基づいて、前記PCRが埋め込まれているTSパケットを検出する。
【００２８】
また、本発明の一側面のタイムスタンプ付加装置は、
前記検出手段が、
前記PCRが埋め込まれているTSパケットのデータ構造に基づいて、前記TSパケットの所定の箇所から、前記PCRの値を抽出するPCR値抽出手段（例えば、図４のステップＳ４７の処理を実行する図１のPCR検出部１４）と、
前記PCRが埋め込まれているTSパケットのMPEG2-TS中における位置を表す位置情報を取得する位置情報取得手段（例えば、図４のステップＳ４８の処理を実行する図１のPCR検出部１４）と
を有し、
前記PCR値抽出手段が抽出したPCRの値と、前記位置情報取得手段が取得した位置情報とを、前記時間間隔算出手段に供給する。
【００２９】
本発明の一側面のタイムスタンプ付加方法またはプログラムは、MPEG2-TSに含まれる複数のTSパケットに、前記MPEG2-TSをデコードするデコーダへの入力タイミングを表すタイムスタンプをそれぞれ付加するタイムスタンプ付加方法、または、MPEG2-TSに含まれる複数のTSパケットに、前記MPEG2-TSをデコードするデコーダへの入力タイミングを表すタイムスタンプをそれぞれ付加する処理をコンピュータに実行させるプログラムであって、
複数の前記TSパケットのうちの所定のTSパケットには、所定のシステムクロック周波数を基準としたPCRが埋め込まれており、前記PCRが埋め込まれているTSパケットを検出し（例えば、図３のステップＳ２２）、
前記PCRが埋め込まれているTSパケットに基づいて、隣り合うTSパケット同士の入力タイミングの間隔を算出し（例えば、図３のステップＳ１４）、
前記TSパケット同士の入力タイミングの間隔に基づいて、前記TSパケットの入力タイミングを算出し、前記入力タイミングを表すタイムスタンプを複数の前記TSパケットにそれぞれ付加する（例えば、図３のステップＳ３２）
ステップを含む。
【００３０】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
【００３１】
図１は、本発明を適用したタイムスタンプ付加装置の一実施の形態の構成例を示すブロック図である。
【００３２】
図１において、タイムスタンプ付加装置１１は、メモリ１２、CPU１３、PCR検出部１４、時間間隔算出部１５、タイムスタンプ算出部１６、およびシステムバス１７から構成される。
【００３３】
CPU１３には、メモリ１２が接続されており、CPU１３、PCR検出部１４、およびタイムスタンプ算出部１６が、システムバス１７を介して互いに接続されている。また、CPU１３が、ソフトウェアを実行することにより、時間間隔算出部１５の機能が実現される。
【００３４】
メモリ１２には、タイムスタンプを付加する処理の対象となるMPEG2-TS（以下、適宜、タイムスタンプ無しMPEG2-TSと称する）が、あらかじめ記憶されている。また、メモリ１２には、タイムスタンプ無しMPEG2-TSにタイムスタンプを付加する処理が施され、その結果得られるタイムスタンプ付きMPEG2-TSが記憶される。
【００３５】
CPU１３は、タイムスタンプ無しMPEG2-TSをメモリ１２から読み出し、システムバス１７を介して、PCR検出部１４に供給する。
【００３６】
PCR検出部１４は、CPU１３から供給されるMPEG2-TSを解析し、27MHzのシステムクロック周波数を基準としたPCRが埋め込まれているTSパケットを検出する。
【００３７】
例えば、PCR検出部１４は、MPEG2-TSの所定のTSパケット（PIDが０であるTSパケット）に示されているPATを解析して、PMTが含まれているTSパケットのPIDを検出し、このPIDにより識別されるTSパケットに含まれているPMTを解析して、PCRが埋め込まれているTSパケットのPIDを検出する。そして、PCRが埋め込まれているTSパケットのPIDに基づいて、PCRが埋め込まれているTSパケットを検出する。
【００３８】
または、例えば、メモリ１２に、PMTが含まれているTSパケットのPIDや、PCRが埋め込まれているTSパケットのPIDが、あらかじめ記憶されているときには、PCR検出部１４は、それらのPIDに基づいて、PCRが埋め込まれているTSパケットを検出する。なお、メモリ１２に記憶されるPMTやPCRが含まれているTSパケットのPIDは、例えば、ユーザが任意に設定したり、CPU１３により実行される他のアプリケーションが任意に設定したりすることができる。
【００３９】
そして、PCR検出部１４は、PCRが埋め込まれているTSパケットからPCR値を抽出するとともに、PCRを検出したTSパケットの位置情報を取得する。PCRを検出したTSパケットの位置情報としては、例えば、先頭のTSパケットから最初にPCRが検出されたTSパケットまでのパケット数、PCRが検出されたTSパケット間のパケット数、および最後にPCRが検出されたTSパケットから最後尾のTSパケットまでのパケット数が用いられる。
【００４０】
また、PCR検出部１４は、PCRが埋め込まれているTSパケットの検出が完了すると、その旨を表すPCR検出完了通知とともに、TSパケットから抽出したPCR値と、そのTSパケットの位置情報とを、システムバス１７を介して、CPU１３に供給する。
【００４１】
時間間隔算出部１５は、PCR検出部１４がCPU１３に供給したPCR値と位置情報とに基づいて、隣り合うTSパケット同士の時間間隔（例えば、MPEG2-TSをデコードするデコーダへTSパケットが入力される入力タイミング（時刻）の間隔）などを算出し、その時間間隔を含む時間間隔データを取得する。CPU１３は、時間間隔算出部１５が取得する時間間隔データと、メモリ１２から読み出したタイムスタンプ無しMPEG2-TSとを、システムバス１７を介して、タイムスタンプ算出部１６に供給する。
【００４２】
タイムスタンプ算出部１６は、CPU１３から供給される時間間隔データを用い、所定の式を演算して各TSパケットの入力タイミングを表す、例えば、４バイトのタイプスタンプを算出する。そして、タイムスタンプ算出部１６は、そのタイムスタンプを、CPU１３から供給されるタイムスタンプ無しMPEG2-TSのTSパケットにそれぞれ付加し、タイムスタンプ付きMPEG2-TSを取得する。その後、タイムスタンプ算出部１６は、タイムスタンプ付きMPEG2-TSを、システムバス１７を介してCPU１３に供給し、CPU１３は、タイムスタンプ付きMPEG2-TSをメモリ１２に記憶させる。
【００４３】
次に、図２は、MPEG2-TSの構成例を示す図である。
【００４４】
図２の上側には、タイムスタンプ付加装置１１に入力されるタイムスタンプ無しMPEG2-TSが示されており、下側には、タイムスタンプを付加する処理が施されて出力されるタイムスタンプ付きMPEG2-TSが示されている。
【００４５】
タイムスタンプ無しMPEG2-TSは、188バイトのTSパケットが、複数、連続して構成されている。タイムスタンプ付きMPEG2-TSは、各TSパケットの先頭に、４バイトのタイムスタンプが付加された192バイトのタイムスタンプ付きTSパケットが、複数、連続して構成される。
【００４６】
次に、図３は、図１のタイムスタンプ付加装置１１が、MPEG2-TSにタイムスタンプを付加する処理を説明するフローチャートである。
【００４７】
初期状態として、メモリ１２には、タイムスタンプ無しMPEG2-TSが記憶されており、ステップＳ１１において、CPU１３は、メモリ１２からタイムスタンプ無しMPEG2-TSを読み出し、処理はステップＳ１２に進む。
【００４８】
ステップＳ１２において、CPU１３は、ステップＳ１１でメモリ１２から読み出したタイムスタンプ無しMPEG2-TSを、PCR検出部１４に供給する。その後、CPU１３は、PCR検出部１４から、PCR検出完了通知とともに、PCRが埋め込まれているTSパケットから取得したPCR値と、そのTSパケットの位置情報とが送信されてくるまで、処理を待機し、それらが送信されてくると、処理はステップＳ１３に進む。
【００４９】
ステップＳ１３において、CPU１３は、PCR検出部１４から、PCR検出完了通知とともに送信されてくるPCR値と位置情報とを受信する。
【００５０】
ステップＳ１３の処理後、処理はステップＳ１４に進み、CPU１３では、時間間隔算出部１５が、ステップＳ１３で受信したPCR値と位置情報とを用いて、隣り合うTSパケット同士の時間間隔などを算出し、その時間間隔を含む時間間隔データを取得する。
【００５１】
ステップＳ１４の処理後、処理はステップＳ１５に進み、CPU１３は、ステップＳ１４で時間間隔算出部１５が取得した時間間隔データと、メモリ１２から読み出したタイムスタンプ無しMPEG2-TSとをタイムスタンプ算出部１６に供給する。その後、CPU１３は、タイムスタンプ算出部１６からタイムスタンプ付きMPEG2-TSが供給されてくるまで、処理を待機し、タイムスタンプ付きMPEG2-TSが送信されてくると、処理はステップＳ１６に進む。
【００５２】
ステップＳ１６において、CPU１３は、タイムスタンプ算出部１６から送信されてくるタイムスタンプ付きMPEG2-TSを受信し、処理はステップＳ１７に進む。
【００５３】
ステップＳ１７において、CPU１３は、ステップＳ１６で受信したタイムスタンプ付きMPEG2-TSをメモリ１２に記憶させ、CPU１３での処理は終了する。
【００５４】
一方、PCR検出部１４は、ステップＳ１２でCPU１３が、タイムスタンプ無しMPEG2-TSを送信すると、ステップＳ２１において、そのタイムスタンプ無しMPEG2-TSを受信する。
【００５５】
ステップＳ２１の処理後、処理はステップＳ２２に進み、PCR検出部１４は、タイムスタンプ無しMPEG2-TSを解析し、PCR値と位置情報を取得するPCR検出処理（後述する図４のフローチャートの処理）を行う。
【００５６】
ステップＳ２２のPCR検出処理の処理後、処理はステップＳ２３に進み、PCR検出部１４は、ステップＳ２２で取得したPCR値と位置情報とともに、PCR検出処理が完了した旨を表すPCR検出完了通知を、CPU１３に送信し、PCR検出部１４での処理は終了する。
【００５７】
一方、タイムスタンプ算出部１６は、ステップＳ１５でCPU１３が、タイムスタンプ無しMPEG2-TSと時間間隔データとを送信すると、ステップＳ３１において、そのタイムスタンプ無しMPEG2-TSと時間間隔データとを受信する。
【００５８】
ステップＳ３１の処理後、処理はステップＳ３２に進み、タイムスタンプ算出部１６は、ステップＳ３１で受信した時間間隔データを用い、所定の式を演算して各TSパケットのタイプスタンプを算出する。そして、タイムスタンプ算出部１６は、図２に示したように、各TSパケットの先頭にタイムスタンプを付加し、タイムスタンプ付きMPEG2-TSを取得して、処理はステップＳ３３に進む。
【００５９】
ステップＳ３３において、タイムスタンプ算出部１６は、ステップＳ３２で取得したタイムスタンプ付きMPEG2-TSをCPU１３に供給し、タイムスタンプ算出部１６での処理は終了する。
【００６０】
次に、図４は、図３のステップＳ２２のPCR検出処理を説明するフローチャートである。
【００６１】
ステップＳ４１において、PCR検出部１４は、パケット数のカウントに用いるカウント値ｎを、初期値としての、例えば、０にセットし、処理はステップＳ４２に進む。
【００６２】
ステップＳ４２において、PCR検出部１４は、先頭のTSパケットを解析し、処理はステップＳ４３に進む。
【００６３】
ステップＳ４３において、PCR検出部１４は、ステップＳ４２で解析したTSパケットのPIDが、PCRが埋め込まれているTSパケットであることを表すPCR_PIDであるか否かを判定する。
【００６４】
ステップＳ４３において、PCR検出部１４が、TSパケットのPIDがPCR_PIDであると判定した場合、処理はステップＳ４４に進み、一方、TSパケットのPIDがPCR_PIDでないと判定した場合、処理はステップＳ４９に進む。
【００６５】
ステップＳ４４において、PCR検出部１４は、ステップＳ４２で解析したTSパケットに、処理の対象となっているMPEG2-TSに関する付加情報などが記述されているアダプテーションフィールド（adaptation_field）があるか否かを判定する。
【００６６】
ステップＳ４４において、PCR検出部１４が、TSパケットにアダプテーションフィールドがあると判定した場合、処理はステップＳ４５に進み、一方、TSパケットにアダプテーションフィールドがないと判定した場合、処理はステップＳ４９に進む。
【００６７】
ステップＳ４５において、PCR検出部１４は、ステップＳ４２で解析したTSパケットのアダプテーションの長さ（adaptation_field_length）が０であるか否かを判定する。
【００６８】
ステップＳ４５において、PCR検出部１４が、TSパケットのアダプテーションフィールドの長さが０でないと判定した場合、処理はステップＳ４６に進み、一方、TSパケットのアダプテーションフィールドの長さが０であると判定した場合、処理はステップＳ４９に進む。
【００６９】
ステップＳ４６において、PCR検出部１４は、PCRが含まれているか否かを表すフラグ（PCR_flag）が、PCRが含まれていることを表す１であるか否かを判定する。
【００７０】
ステップＳ４６において、PCR検出部１４が、PCRが含まれているか否かを表すフラグが１であると判定した場合、処理はステップＳ４７に進み、一方、PCRが含まれているか否かを表すフラグが１でないと判定した場合、処理はステップＳ４９に進む。
【００７１】
ここで、処理がステップＳ４７に進むとき、ステップＳ４３乃至Ｓ４６での判定により、処理の対象となっているTSパケットにPCRが埋め込まれていると判定されている。即ち、処理の対象となっているTSパケットが、PCRが埋め込まれているTSパケットであるとして検出されているので、ステップＳ４７において、PCR検出部１４は、TSパケットからPCR値を抽出し、処理はステップＳ４８に進む。
【００７２】
ステップＳ４８において、PCR検出部１４は、カウント値ｎを位置情報として取得し、カウント値をリセット、即ち、カウント値ｎに初期値としての０をセットする。ここで、後述するように、TSパケットにPCRが埋め込まれていない場合には、カウント値ｎをインクリメントして処理が繰り返されるので、TSパケットにPCRが埋め込まれていると判定されたときのカウント値は、PCRが含まれているTSパケットの位置を示す位置情報（即ち、パケット数）となる。
【００７３】
ステップＳ４９において、PCR検出部１４は、カウント値ｎを１だけインクリメントする。
【００７４】
ステップＳ４８またはＳ４９の処理後、処理はステップＳ５０に進み、PCR検出部１４は、MPEG2-TSが終了したか否かを判定する。例えば、MPEG2-TSの先頭のTSパケットから順に処理の対象としている場合、最後尾のTSパケットが処理の対象とされたか否かを判定する。
【００７５】
ステップＳ５０において、PCR検出部１４が、MPEG2-TSが終了していないと判定した場合、処理はステップＳ５１に進む。
【００７６】
ステップＳ５１において、PCR検出部１４は、現在処理の対象となったTSパケットの次のTSパケットを処理の対象とし、ステップＳ４２に戻り、新たに処理の対象となったTSパケットに対して、以下、同様の処理が繰り返される。
【００７７】
一方、ステップＳ５０において、PCR検出部１４が、MPEG2-TSが終了したと判定した場合、処理は終了される。
【００７８】
次に、図５を参照して、時間間隔およびタイムスタンプ値を算出する処理について説明する。
【００７９】
図５には、処理の対象となるMPEG2-TSが示されており、MPEG2-TSは、複数のTSパケットが連続して構成されている。
【００８０】
図５において、ハッチングが施されているTSパケットは、PCR検出部１４においてPCRが検出されたTSパケットを表しており、それらのTSパケットの上側には、TSパケットからそれぞれ抽出されたPCR値が示されている。即ち、図５の例では、５つのTSパケットからPCRが抽出され、最初にPCRが検出されたTSパケットのPCR値はPCR1であり、２番目にPCRが検出されたTSパケットのPCR値はPCR2であり、以下同様に、最後にPCRが検出されたTSパケットのPCR値はPCR5である。
【００８１】
また、TSパケットの下側には、PCR検出部１４において位置情報として取得されたパケット数が示されている。即ち、先頭のTSパケットからPCR値がPCR1であるTSパケットの直前のTSパケットまでのパケット数がＮ0であり、PCR値がPCR1であるTSパケットからPCR値がPCR2であるTSパケットの直前のTSパケットまでのパケット数がＮ1である。以下、同様に、PCR値がPCR5であるPCRが検出されたTSパケットから最後尾のTSパケットまでのパケット数がＮ5である。
【００８２】
そして、時間間隔算出部１５は、PCRが検出されたTSパケットにより区切られる処理ブロックごとに、隣り合うTSパケット同士の時間間隔を算出する処理を行う。図５の例では、処理ブロックＵ1乃至Ｕ4ごとに処理が行われる。
【００８３】
例えば、先頭の処理ブロックＵ1には、先頭のTSパケットからPCR値がPCR1であるTSパケットの直前のTSパケットまでのTSパケット、および、PCR値がPCR1であるTSパケットからPCR値がPCR2であるTSパケットの直前のTSパケットまでのTSパケットが含まれている。即ち、先頭のTSパケットからPCR値がPCR1であるTSパケットの直前のTSパケットまでにおいて、時間間隔データは、PCR値がPCR1であるTSパケットからPCR値がPCR2であるTSパケットの直前のTSパケットまでのTSパケットにおける時間間隔データと同様に、PCR1とPCR2を用いて求められる。
【００８４】
また、処理ブロックＵ2には、PCR値がPCR2であるTSパケットから、PCR値がPCR3であるTSパケットの直前のTSパケットまでのTSパケットが含まれており、処理ブロックＵ3には、PCR値がPCR3であるTSパケットから、PCR値がPCR4であるTSパケットの直前のTSパケットまでのTSパケットが含まれている。即ち、PCRが検出されたTSパケット間において、時間間隔データは、その前後のTSパケットのPCR値を用いて求められる。
【００８５】
また、最後尾の処理ブロックＵ4には、PCR値がPCR4であるTSパケットから、PCR値がPCR5であるTSパケットの直前のTSパケットまでのTSパケット、および、PCR5であるTSパケットから、最後尾のTSパケットまでのTSパケットが含まれている。即ち、PCR5であるTSパケットから、最後尾のTSパケットまでのTSパケットにおいて、時間間隔データは、PCR値がPCR4であるTSパケットから、PCR値がPCR5であるTSパケットの直前のTSパケットまでのTSパケットにおける時間間隔データと同様に、PCR4とPCR5を用いて求められる。
【００８６】
上述したように、PCR検出部１４により、PCR値とパケット数とが取得され、時間間隔算出部１５が、PCR値とパケット数に基づいて、時間間隔データを取得する。
【００８７】
ｎ番目の処理ブロックＵn（図５の例では、ｎ＝１〜４）において、隣り合うTSパケット同士の時間間隔（整数値）をＱnとすると、時間間隔Ｑnは、次の式（１）で表される。
【００８８】
Ｑn＝（ＰＣＲn+1−ＰＣＲn）／Ｎn
・・・（１）
【００８９】
ただし、Ｎnは、ｎ番目の処理ブロックＵnのパケット数である。また、処理ブロックＵnにおいて、隣り合うTSパケット同士の時間間隔Ｑnの余剰をＲnとすると、余剰Ｒnは、次の式（２）で表される。
【００９０】
Ｒn＝（ＰＣＲn+1−ＰＣＲn）ｍｏｄＮn
・・・（２）
【００９１】
ただし、式（２）において、ｍｏｄは、（ＰＣＲn+1−ＰＣＲn）をパケット数Ｎnで除算し、その演算結果として余剰を返す演算子である。
【００９２】
ここで、処理ブロックＵnのｍ番目のTSパケットのタイムスタンプ値をＶn[m]とする。
【００９３】
まず、１番目の処理ブロックＵ1の先頭のTSパケットについてのタイムスタンプ値Ｖ1[1]は、任意の値に設定される。なお、１番目の処理ブロックＵ1における時間間隔Ｑ1は、（ＰＣＲ2−ＰＣＲ1）／Ｎ1であり、処理ブロックＵ1における余剰Ｒ1は、（ＰＣＲ2−ＰＣＲ1）ｍｏｄＮ1である。
【００９４】
そして、２番目の処理ブロックＵ2の先頭のTSパケットについてのタイムスタンプ値Ｖ2[1]は、次の式（３）で表される。
【００９５】
Ｖ2[1]＝Ｖ1[1]＋Ｑ1（Ｎ0＋Ｎ1）＋（Ｒ1（Ｎ0＋Ｎ1）＋Ｃ1[1]）／Ｎ1
＝Ｖ1[1]＋（（ＰＣＲ2−ＰＣＲ1）×（Ｎ0＋Ｎ1）＋Ｃ1[1]）／Ｎ1
・・・（３）
【００９６】
ただし、式（３）においてＣ1[1]は、処理ブロックＵ1の先頭のTSパケットについてのタイムスタンプ値Ｖ1[1]のキャリーオーバを表し、次の式（４）で表される。
【００９７】
Ｃ1[1]＝（−Ｒ1×Ｎ0）ｍｏｄＮ1
・・・（４）
【００９８】
なお、処理ブロックＵ2以降において、各処理ブロックＵn（ｎ≧２）の先頭のTSパケットについてのタイムスタンプ値Ｖn[1]のキャリーオーバＣn[1]は、０である。また、２番目の処理ブロックＵ2における時間間隔Ｑ2は、（ＰＣＲ3−ＰＣＲ2）／Ｎ2であり、処理ブロックＵ2における余剰Ｒ2は、（ＰＣＲ3−ＰＣＲ2）ｍｏｄＮ2である。
【００９９】
そして、３番目以降の処理ブロックＵn（ｎ≧３）の先頭のTSパケットについてのタイムスタンプ値Ｖn[1]は、次の式（５）で表される。
【０１００】
Ｖn[1]＝Ｖn-1[1]＋（ＰＣＲn−ＰＣＲn-1）
・・・（５）
【０１０１】
時間間隔算出部１５は、式（１）乃至式（５）を演算することにより、処理ブロックＵnにおける時間間隔Ｑn、時間間隔Ｑnの余剰Ｒn、および処理ブロックＵnの先頭のTSパケットのタイムスタンプ値Ｖn[1]を算出する。そして、時間間隔算出部１５は、時間間隔Ｑn、余剰Ｒn、およびタイムスタンプ値Ｖn[1]を、時間間隔データとして取得し、タイムスタンプ算出部１６に供給する。
【０１０２】
次に、処理ブロックＵnのｍ番目のTSパケットのタイムスタンプ値Ｖn[m]は、（Ｃn[m-1]＋Ｒn）≧Ｎnであるとき、次の式（６）で表され、（Ｃn[m-1]＋Ｒn）＜Ｎnであるとき、次の式（７）で表される。
【０１０３】
Ｖn[m]＝Ｖn[m-1]＋Ｑn＋１
・・・（６）
Ｖn[m]＝Ｖn[m-1]＋Ｑn
・・・（７）
【０１０４】
また、処理ブロックＵnのｍ番目のTSパケットについてのタイムスタンプ値Ｖn[m]のキャリーオーバＣn[m]は、（Ｃn[m-1]＋Ｒｎ）≧Ｎnであるとき、次の式（８）で表され、（Ｃn[m-1]＋Ｒn）＜Ｎnであるとき、次の式（９）で表される。
【０１０５】
Ｃn[m]＝Ｃn[m-1]＋Ｒn−Ｎn
・・・（８）
Ｃn[m]＝Ｃn[m-1]＋Ｒn
・・・（９）
【０１０６】
ただし、式（６）乃至式（９）において、ｍ＞２である。
【０１０７】
タイムスタンプ算出部１６は、時間間隔算出部１５から時間間隔データとして供給される時間間隔Ｑn、余剰Ｒn、およびタイムスタンプ値Ｖn[1]を用いて、式（６）乃至式（９）を演算することにより、タイムスタンプ値Ｖn[m]を算出し、処理ブロックＵnのｍ番目のTSパケットに付加する。
【０１０８】
ここで、例えば、キャリーオーバＣn[m]を考慮せずに、時間間隔Ｑnを単に加算することによりタイムスタンプ値を算出する場合には、余剰が積み重なることにより、PCR値とタイムスタンプ値とのズレが大きくなる。これに対し、キャリーオーバＣn[m]を考慮することにより、このズレを最小にすることができる。
【０１０９】
即ち、キャリーオーバＣn[m]がパケット数Ｎnより大となるときには、タイムスタンプ値Ｖn[m]が、キャリーオーバＣn[m]がパケット数Ｎn未満であるときよりも、１だけ多くなるようにするとともに、キャリーオーバＣn[m]からパケット数Ｎnを減算することで、PCR値とタイムスタンプ値とのズレが、１以上に大きくなることが回避され、タイムスタンプを均等に割り付けることができる。
【０１１０】
また、式（６）乃至式（９）に示すように、タイムスタンプ算出部１６が行う処理は、キャリーオーバと時間間隔とを比較して、直前のタイムスタンプ値に時間間隔を加算し、新たなキャリーオーバを算出するだけの処理である。従って、タイムスタンプ算出部１６をハードウェアで実現すると、その回路は、例えば、除算などを行う必要がある処理を実行する回路などに比べて、ステップ数を少なくし、非常に小さなハードウェアで構成することができるとともに、高速でタイムスタンプを付加することができる。
【０１１１】
即ち、タイムスタンプ算出部１６をハードウェアで実現し、CPU１３が、ソフトウェアを実行することにより、時間間隔算出部１５の機能を実現することで、時間間隔や、その余剰などを算出する処理は、CPU１３で行い、キャリーオーバと時間間隔とを比較して、直前のタイムスタンプ値に時間間隔を加算し、新たなキャリーオーバを算出する処理は、タイムスタンプ算出部１６で行うというように、ハードウェアとソフトウェアとで、効率よく処理を分担して行うことができる。
【０１１２】
また、タイムスタンプ算出部１６をハードウェアで実現することで、CPUにかかる負担が大きくなることを回避することができ、例えば、ハードディスクレコーダなどの組み込み機器に搭載されている処理能力の低いCPUでも、処理に占有されることを回避することができるので、高性能なCPUを搭載してタイムスタンプを付加する処理の負担が大きくなることを解決する場合に比べて、コストを低減させることができる。
【０１１３】
なお、本実施の形態では、CPU１３が、メモリ１２からMPEG2-TSを読み出してPCR検出部１４供給するとしたが、例えば、CPU１３が、MPEG2-TSが記憶されているメモリ１２のアドレスをタイムスタンプ算出部１６に供給し、タイムスタンプ算出部１６がメモリ１２からMPEG2-TSを読み出すとともに、タイムスタンプを付加したMPEG2-TSをメモリ１２に書き込むDMA（Direct Memory Access）により処理を行うようにしてもよい。DMAにより処理を行うことで、より高速にタイムスタンプを付加する処理を行うことができる。
【０１１４】
また、PCRが検出されたTSパケットの位置情報としては、上述したようなPCRが検出されたTSパケット間のパケット数などの他、PCRが検出されたTSパケットの先頭からのバイト数や、先頭からのパケット数などを用いることができる。
【０１１５】
なお、PCRが検出されたTSパケットの位置情報として用いられる、最後にPCRが検出されたTSパケットから最後尾のTSパケットまでのパケット数は、PCR検出部１４からCPU１３に供給しなくてもよい。即ち、CPU１３にとって、ストリーム長が既知であるので、CPU１３は、ストリーム長から、最後にPCRが検出されたTSパケットから最後尾のTSパケットまでのパケット数を取得することができる。
【０１１６】
なお、PCR検出部１４は、PCR検出完了通知とともにPCR値と位置情報とをCPU１３に供給する他、例えば、PCRを検出するたびに、PCR値と位置情報をCPU１３に供給してもよい。
【０１１７】
なお、上述した実施の形態では、時間間隔算出部１５の機能は、CPU１３がソフトウェアを実行することにより実現し、PCR検出部１４やタイムスタンプ算出部１６の機能は、それぞれハードウェアにより実行するとしたが、PCR検出部１４やタイムスタンプ算出部１６の機能も、CPU１３がソフトウェアを実行することにより実現することができる。
【０１１８】
一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
【０１１９】
図６は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示すブロック図である。
【０１２０】
コンピュータにおいて、CPU（Central Processing Unit）１０１，ROM（Read Only Memory）１０２，RAM（Random Access Memory）１０３は、バス１０４により相互に接続されている。
【０１２１】
バス１０４には、さらに、入出力インタフェース１０５が接続されている。入出力インタフェース１０５には、キーボード、マウス、マイクロホンなどよりなる入力部１０６、ディスプレイ、スピーカなどよりなる出力部１０７、ハードディスクや不揮発性のメモリなどよりなる記憶部１０８、ネットワークインタフェースなどよりなる通信部１０９、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア１１１を駆動するドライブ１１０が接続されている。
【０１２２】
以上のように構成されるコンピュータでは、CPU１０１が、例えば、記憶部１０８に記憶されているプログラムを、入出力インタフェース１０５及びバス１０４を介して、RAM１０３にロードして実行することにより、上述した一連の処理が行われる。
【０１２３】
コンピュータ（CPU１０１）が実行するプログラムは、例えば、磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)等）、光磁気ディスク、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア１１１に記録して、あるいは、ローカルエリアネットワーク、インタネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供される。
【０１２４】
そして、プログラムは、リムーバブルメディア１１１をドライブ１１０に装着することにより、入出力インタフェース１０５を介して、記憶部１０８にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部１０９で受信し、記憶部１０８にインストールすることができる。その他、プログラムは、ROM１０２や記憶部１０８に、あらかじめインストールしておくことができる。
【０１２５】
また、上述のフローチャートを参照して説明した各処理は、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理（例えば、並列処理あるいはオブジェクトによる処理）も含むものである。また、プログラムは、１のCPUにより処理されるものであっても良いし、複数のCPUによって分散処理されるものであっても良い。
【０１２６】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【０１２７】
【図１】本発明を適用したタイムスタンプ付加装置の一実施の形態の構成例を示すブロック図である。
【図２】MPEG2-TSの構成例を示す図である。
【図３】タイムスタンプ付加装置１１が、MPEG2-TSにタイムスタンプを付加する処理を説明するフローチャートである。
【図４】PCR検出処理を説明するフローチャートである。
【図５】時間間隔およびタイムスタンプ値を算出する処理について説明する図である。
【図６】本発明を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
【符号の説明】
【０１２８】
１１  タイムスタンプ付加装置，  １２  メモリ，  １３  CPU，  １４  PCR検出部，  １５  時間間隔算出部，  １６  タイムスタンプ算出部，  １７  システムバス
【図１】
2009060324.tif 000003
【図２】
2009060324.tif 000004
【図３】
2009060324.tif 000005
【図４】
2009060324.tif 000006
【図５】
2009060324.tif 000007
【図６】
2009060324.tif 000008