(57)【要約】【課題】大量のストリームデータを伝送する際に、適切に時刻情報としてのタイムスタンプを付加することができるデータ処理装置およびデータ処理方法を提供する。【解決手段】コンテンツデータＣ＿Ｄａｔａからタイムスタンプ付きＭＰＥＧ−ＴＳデータを生成する際に、カウンタを含むタイムスタンプ付加部１１と、カウンタに対して、システム内のデータ転送レートに応じたカウントアップ量を算出するＣＰＵ２０と、を有し、カウンタ１１２は、当該カウントアップ量に基づいてパケット毎にカウントアップし、かつ、システム内を転送されるＭＰＥＧ−ＴＳデータは、パケット毎にカウンタ値をタイムスタンプとして付加される。【選択図】図２
2006067427.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツデータを符号化して、第１のクロックに基づいた時刻情報を含むパケットからなるストリームデータを生成するストリームデータ生成部と、
制御部と、
パケット毎に、前記制御部により指定されたカウントアップ量をもって計数するカウンタと、
前記カウンタの値をタイムスタンプとして、前記ストリームデータの各パケットに付加するタイムスタンプ付加部と、を有し、
前記制御部は、前記ストリームデータのうち、少なくとも２つのパケットの時刻情報に基づいて、単位パケット当りの時刻情報の変化量を算出し、当該変化量を前記ストリームデータに対するカウントアップ量として指定する
データ処理装置。
【請求項２】
前記制御部は、
前記パケット単位のデータ量、前記第１のクロックの周波数、および前記コンテンツデータの転送レートから、パケット単位での前記カウンタのカウントアップ量を算出して指定する
請求項１記載のデータ処理装置。
【請求項３】
前記制御部は、
外部から取得したストリームデータに対し、前記第１のクロックに同期して前記カウンタを動作させる第１の動作モードと、
前記ストリームデータ生成部により生成されたストリームデータに対し、パケット毎に前記カウントアップ量をもって、前記カウンタを動作させる第２の動作モードと、を含み、
前記第１および第２の動作モードのいずれかを選択する選択手段を有する
請求項１記載のデータ処理装置。
【請求項４】
前記タイムスタンプ付加部は、
前記２つのパケットの時刻情報を取得するまでは、前記カウンタが前記第１のクロックに同期して計数する値を読み取って、１パケット毎にタイムスタンプを付加する
請求項１記載のデータ処理装置。
【請求項５】
前記制御部は、
前記２つのパケットの時刻情報を取得するまでは、前記パケット単位のデータ量、前記第１のクロックの周波数、および前記コンテンツデータの転送レートから、パケット単位での前記カウンタのカウントアップ量を算出する
請求項１記載のデータ処理装置。
【請求項６】
前記選択手段が第１の動作モードを選択した場合、
外部から取得したストリームデータのうち、少なくとも２つのパケットの時刻情報が得られた後は、単位パケット当りの時刻情報の変化量を算出し、当該変化量だけ前記カウンタをカウントアップさせたカウンタの値をタイムスタンプとして、前記ストリームデータの最初のパケットに対して付加する
請求項３記載のデータ処理装置。
【請求項７】
コンテンツデータを符号化して、第１のクロックに基づいた時刻情報を含むパケットからなるストリームデータを生成するステップと、
前記ストリームデータのうち、少なくとも２つのパケットの時刻情報に基づいて、単位パケット当りの時刻情報の変化量を算出するステップと、
前記変化量を前記ストリームデータに対するカウントアップ量として、カウンタを動作させるステップと、
前記カウンタの値をタイムスタンプとして、前記ストリームデータの各パケットに付加するステップと
を有するデータ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
画像、音声等の様々なコンテンツデータをストリームデータとして処理するデータ処理装置およびデータ処理方法に関する。
【背景技術】
【０００２】
昨今、インターネット通信など、様々な通信媒体を介した画像、音声データ等のデータ転送が盛んに行われている。特に、近年においては、インターネット上のデータ転送において、従来から利用されているダウンロード型伝送方式に加えて、ストリーム型伝送方式によるサービスが増加してきている。
ストリーム型伝送方式は、送信側から受信端末にデータ送信が行われている間に、並列して受信データの再生処理を実行するものであり、インターネット電話・遠隔テレビ会議や、たとえばビデオオンデマンド（ＶＯＤ）等、様々なコンテンツをストリーミング映像配信によって行うサービスに利用されている。
【０００３】
また、放送・通信・蓄積といったすべてのアプリケーションに対して汎用的に使用できる動画像圧縮方式として、ＭＰＥＧ(Moving Picture Experts Group)が知られている。
上記ストリーム型伝送方式では、ＭＰＥＧによるトランスポートストリーム（以下、ＭＰＥＧ−ＴＳという）を、イーサネット（登録商標）コントローラあるいはＩＥＥＥ８０２．１１に準拠した無線コントローラにより伝送することが行われている。たとえば、ＭＰＥＧ−ＴＳは、ＲＴＰ(Real-time Transport Protocol)／ＵＤＰ(User Datagram Protocol)やＨＴＴＰ(HyperText Transfer Protocol) ／ＴＣＰ(Transport Control Protocol)などのプロトコルに従ってパケット単位で伝送される。
【０００４】
その際、上述した各プロトコルでは、時刻情報を入れるフィールドがないため、ネットワークでパケットの時系列上の順序が狂ってしまった場合には、受信側で正しくＭＰＥＧ−ＴＳパケットを再生することができない。
したがって、受信側で確実にＭＰＥＧ−ＴＳパケットを再生することを可能にするため、送信側においてＭＰＥＧ−ＴＳパケットに時間管理値であるタイムスタンプを付加することが行われる。また、そのタイムスタンプを処理してＭＰＥＧ−ＴＳデータを適切に再生する技術についても開示されている（たとえば、下記特許文献１参照）。
なお、ＡＲＩＢ（社団法人電波産業会）では、１８８バイト／パケットのＭＰＥＧ−ＴＳデータに対して、先頭に４バイトのタイムスタンプ（２７ＭＨｚクロックのカウンタ値）を付加したＴＳ（Ｔｉｍｅｄ  ＴＳ）の規格化が検討されている。
【０００５】
【特許文献１】特開２００３−１７９６３７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところで、ＭＥＰＧ−ＴＳデータに対してタイムスタンプを付加する処理としては、
〔１〕付加対象のＭＰＥＧ−ＴＳデータを外部から入力してタイムスタンプを付加する処理
〔２〕アナログ映像信号等をＭＰＥＧエンコーダによりＭＰＥＧ−ＴＳデータを生成して、生成されたＭＰＥＧ−ＴＳデータに対してタイムスタンプを付加する処理
の２通りの処理がある。
【０００７】
上記処理〔１〕では、外部からＭＰＥＧ−ＴＳデータの先頭バイト（ＳＯＰ）が到着した時刻における２７ＭＨｚクロックのカウンタ値（４バイト）をラッチ等し、タイムスタンプとして後段のバッファに書き込む前に付加する。すなわち、ＭＰＥＧ−ＴＳデータの各パケットが外部から到着した時刻を基準としてタイムスタンプを付加すればよい。
【０００８】
一方、上記処理〔２〕では、ＭＰＥＧエンコーダにより生成されたＭＰＥＧ−ＴＳデータは、ＣＰＵを経由してメモリに格納される。その際、伝送効率の観点から、データ転送としてＤＭＡ転送などのバースト転送が用いられるのが一般的である。
しかしながら、処理〔１〕の場合と同様に、アナログ映像信号等が入力された時刻に応じてタイムスタンプを付加すると、バースト転送されたＭＰＥＧ−ＴＳのタイムスタンプの値はどれも同じ値になり、正しくタイムスタンプが付加できないという問題がある。
【０００９】
かかる問題を回避するため、ＭＰＥＧエンコーダから１ＴＳ単位でデータをＣＰＵに入力することも考えられるが、データ伝送効率が著しく悪いうえ、ＣＰＵが入力データの伝送レートを正しく制御しなければならないなど、新たな問題が招来する。
【００１０】
本発明はかかる事情に鑑みてなされたものであり、その目的は、効率的にデータ転送を行いつつ、適切に時刻情報としてのタイムスタンプを付加することができるデータ処理装置およびデータ処理方法を提供することにある。
【課題を解決するための手段】
【００１１】
上記目的を達成するための本発明の第１の観点は、コンテンツデータを符号化して、第１のクロックに基づいた時刻情報を含むパケットからなるストリームデータを生成するストリームデータ生成部と、制御部と、パケット毎に、前記制御部により指定されたカウントアップ量をもって計数するカウンタと、前記カウンタの値をタイムスタンプとして、前記ストリームデータの各パケットに付加するタイムスタンプ付加部と、を有し、前記制御部は、前記ストリームデータのうち、少なくとも２つのパケットの時刻情報に基づいて、単位パケット当りの時刻情報の変化量を算出し、当該変化量を前記ストリームデータに対するカウントアップ量として指定するデータ処理装置である。
【００１２】
好適には、前記制御部は、外部から取得したストリームデータに対し、前記第１のクロックに同期して前記カウンタを動作させる第１の動作モードと、前記ストリームデータ生成部により生成されたストリームデータに対し、パケット毎に前記カウントアップ量をもって、前記カウンタを動作させる第２の動作モードと、を含み、前記第１および第２の動作モードのいずれかを選択する選択手段を有する。
【００１３】
好適には、前記制御部は、前記２つのパケットの時刻情報を取得するまでは、前記パケット単位のデータ量、前記第１のクロックの周波数、および前記コンテンツデータの転送レートから、パケット単位での前記カウンタのカウントアップ量を算出する。
【００１４】
上記目的を達成するための本発明の第２の観点は、コンテンツデータを符号化して、第１のクロックに基づいた時刻情報を含むパケットからなるストリームデータを生成するステップと、前記ストリームデータのうち、少なくとも２つのパケットの時刻情報に基づいて、単位パケット当りの時刻情報の変化量を算出するステップと、前記変化量を前記ストリームデータに対するカウントアップ量として、カウンタを動作させるステップと、前記カウンタの値をタイムスタンプとして、前記ストリームデータの各パケットに付加するステップとを有するデータ処理方法である。
【００１５】
本発明の第１の観点に係るデータ処理装置の作用は、以下の通りである。
すなわち、ストリームデータ生成部は、コンテンツデータを符号化して、第１のクロックに基づいた時刻情報を含むパケットからなるストリームデータを生成する。
制御部は、前記ストリームデータのうち、少なくとも２つのパケットの時刻情報に基づいて、単位パケット当りの時刻情報の変化量を算出し、当該変化量を前記ストリームデータに対するパケット単位のカウントアップ量として、前記カウンタを動作させる。
タイムスタンプ付加部は、前記カウンタの値をタイムスタンプとして、前記ストリームデータの各パケットに付加する。
【発明の効果】
【００１６】
したがって、本発明に係るデータ処理装置内で、ストリームデータについてまとまった単位でデータ転送を行った場合でも、そのデータ転送レートがカウンタのカウントアップ量に反映される結果、まとまった単位で転送されたデータに対して、適切にタイムスタンプを付加することができる。
すなわち、本発明によれば、効率的にデータ転送を行いつつ、適切に時刻情報としてのタイムスタンプを付加することが可能となる。
【発明を実施するための最良の形態】
【００１７】
実施の形態
以下、本発明のデータ処理装置の一実施形態としてのデータ送信装置１について、添付図面に関連付けて説明する。
データ送信装置１は、音楽、映画等の様々なコンテンツのデータ（以下、コンテンツデータ）を、タイムスタンプを付加したＭＰＥＧ−ＴＳデータの形で所定のプロトコルに従って送信するための装置である。
データ送信装置１は、
（１）コンテンツデータをタイムスタンプが付加されていないＭＰＥＧ−ＴＳデータとして入力し、タイムスタンプを付加する処理（外部入力）、
（２）コンテンツデータを内部でＭＰＥＧ−ＴＳデータに符号化し、その後にタイムスタンプを付加する処理、
のいずれの処理をも実行することが可能である。データ送信装置１は、両者のいずれかを選択して処理を行う。
また、データ送信装置１は、ＭＰＥＧ−ＴＳデータについて、ＤＭＡ転送などのバースト転送を可能とするため、タイムスタンプを付加する処理に特徴があり、特にこの点について、本発明の実施の形態を説明する。
【００１８】
図１は、実施形態に係るデータ送信装置１が扱うＭＰＥＧ−ＴＳデータのタイミングチャートであり、（ａ）はタイムスタンプを付加する前のＭＰＥＧ−ＴＳデータを、（ｂ）はタイムスタンプを付加した後のＭＰＥＧ−ＴＳデータを、それぞれ示す。
図１において、（ａ−１）および（ｂ−１）は２７ＭＨｚのクロック信号を、（ａ−２）および（ｂ−２）は同期パルスを、（ａ−３）および（ｂ−３）はデータ有効（Ｄａｔａ  Ｖａｌｉｄ）パルスを、（ａ−４）および（ｂ−４）はＭＰＥＧ−ＴＳデータを、それぞれ示す。
【００１９】
図１（ａ）に示すように、ＭＰＥＧ−ＴＳデータは、１８８バイトの固定長パケットにより構成され、各パケットは、同期バイト（Ｓｙｎｃ：０ｘ４７）から開始するヘッダと、それに続くペイロード（データ部分）からなる。各パケットの信号の同期は、（ａ−１）に示す２７ＭＨｚのクロック信号に基づいて行われる。
図１（ｂ）に示すように、後述するデータ送信装置１の処理によって、各パケットのヘッダの先頭に４バイトのタイムスタンプ（ＴＭ）が付加される。
【００２０】
データ送信装置１の全体構成
次に、データ送信装置１の構成について説明する。
図２は、実施形態に係るデータ送信装置１の構成を示すブロック図である。
図２に示すように、データ送信装置１は、ＭＰＥＧ−ＴＳを処理するためのＴＳ処理部１０と、システム全体を統括するＣＰＵ２０と、ＭＰＥＧエンコーダ５０により生成されるＭＰＥＧ−ＴＳデータを格納するメモリ（ＭＥＭ）３０と、送信処理のためのイーサネットコントローラ（ＥＴＨ）４０と、コンテンツデータＣ＿ＤａｔａからＭＰＥＧ−ＴＳデータを生成するＭＰＥＧエンコーダ（ＭＰＥＧ＿ＥＮＣ）５０からなる。これらの構成要素間のデータ転送には、システムバス９００が用いられる。
なお、ＭＰＥＧエンコーダ５０は、本発明のストリームデータ生成部の一実施形態である。以下では、ＭＰＥＧによる符号化を一例としてＭＰＥＧ−ＴＳ（トランスポートストリーム）データの場合を説明するが、パケット毎の時刻情報を含むストリームデータであれば、ＭＰＥＧ−ＴＳデータ以外のストリームデータに適用可能である。後述するように、ＭＰＥＧ−ＴＳデータには、時刻情報としてのＰＣＲ(Program Clock Reference) が含まれている。
【００２１】
ＴＳ処理部１０は、タイムスタンプの付加を始めとしてＭＰＥＧ−ＴＳデータに対して様々な処理を行う。かかる処理は、外部からＭＰＥＧ−ＴＳを入力する場合と、内部でＭＰＥＧ−ＴＳを生成する場合のいずれの場合に対しても実行される。
図２に示すように、ＴＳ処理部１０は、タイムスタンプ付加部（ＴＭ＿Ａ）１１、ＦＩＦＯバッファ（ＦＩＦＯ）１２、著作権情報設定部（ＣＲＳ）１３および暗号化処理部（ＥＮＣＰ）１４を含んで構成される。
【００２２】
タイムスタンプ付加部（ＴＭ＿Ａ）１１は、ＭＰＥＧ−ＴＳの各パケットに対し、２７ＭＨｚのクロック信号に同期してタイムスタンプを付加する処理を行う。
外部からのＭＰＥＧ−ＴＳデータは、タイムスタンプ付加部１１に直接入力され、また、ＭＰＥＧエンコーダ５０により生成されたＭＰＥＧ−ＴＳデータは、システムバス９００を介してタイムスタンプ付加部１１に入力される。
タイムスタンプ付加部１１の具体的な構成については、後述する。
【００２３】
ＦＩＦＯバッファ（ＦＩＦＯ）１２は、タイムスタンプが付加されたＭＰＥＧ−ＴＳを一時的に格納し、入力した順序で出力する記憶領域である。
【００２４】
著作権情報設定部（ＣＲＳ）１３は、ＭＰＥＧ−ＴＳデータに対して、コンテンツの著作権に関する情報の設定、たとえば、コンテンツを利用する際の使い方に関する権利、パーミッション等の設定を行う。
暗号化処理部（ＥＮＣＰ）１４は、ＭＰＥＧ−ＴＳデータに対して、コンテンツの保護のための暗号化処理を行う。
暗号化処理されたＭＰＥＧ−ＴＳデータは、システムバス９００を介してイーサネットコントローラ４０に供給され、ＲＴＰ(Real-time Transport Protocol)／ＵＤＰ(User Datagram Protocol)やＨＴＴＰ(HyperText Transfer Protocol) ／ＴＣＰ(Transport Control Protocol)などのプロトコルに従ってパケット単位で伝送される。
【００２５】
ＭＰＥＧエンコーダ５０は、コンテンツデータＣ＿Ｄａｔａを符号化してＭＰＥＧ−ＴＳデータを生成する。
その際、各パケットには、９０ｋＨｚをカウントする３３ビットの上位ビットと、２７ＭＨｚへの拡張部分である９ビットの下位ビットからなる４２ビットのＰＣＲが含まれる。すなわち、ＰＣＲは、２７ＭＨｚのクロックと同期をとることが可能な構成となっている。したがって、ＰＣＲは、２７ＭＨｚのクロック（本発明の第１のクロック）に基づいて付された時刻情報であるということができる。
【００２６】
メモリ３０には、ＭＰＥＧエンコーダ５０により生成されたＭＰＥＧ−ＴＳデータを格納するための記憶領域である。ＭＰＥＧ−ＴＳデータが、システムバス９００およびＣＰＵ２０を介してメモリ３０に格納される。
【００２７】
タイムスタンプ付加部１１の構成
次に、タイムスタンプ付加部１１の構成について、図３に関連付けて説明する。
タイムスタンプ付加部１１は、タイムスタンプの値を算出するためのカウンタ（ＣＴＲ）を含み、このカウンタのカウントアップ量を、コンテンツデータＣ＿Ｄａｔａのシステム内での転送レートに基づいて設定する点に特徴がある。
【００２８】
図３において、カウンタ１１２は、２７ＭＨｚのクロックＣＬＫ（本発明の第１のクロック）に基づいて計数する３２ビットカウンタである。カウンタ１１２は、下記の２つの動作モードによって動作し、動作モードの選択がカウントモード選択部１１１により行われる。
なお、カウントモード選択部（ＭＯＤＥ）１１１は、本発明の選択手段の一実施形態である。データ書込み部（ＤＷ）１２０は、本発明のタイムスタンプ付加部の一実施形態である。ＣＰＵ２０、カウントモード選択部（ＭＯＤＥ）１１１およびレジスタ（ＲＥＧ）１１３は、本発明の制御部の一実施形態を構成する。
【００２９】
〔１〕第１の動作モード
第１の動作モードでは、２７ＭＨｚのクロックＣＬＫに基づいて計数し、３２ビットのカウント値Ｃｎｔを出力する。第１の動作モードは、主として、外部から入力したＭＰＥＧ−ＴＳデータを処理する際に選択される。
〔２〕第２の動作モード
第２の動作モードでは、２７ＭＨｚのクロックＣＬＫに基づいて計数するのではなく、レジスタ１１３にロードされた値をカウントアップ量により、各パケットの先頭バイトの受信をトリガとしてカウントし、３２ビットのカウント値Ｃｎｔを出力する。第２の動作モードは、主として、ＭＰＥＧエンコーダ５０により生成したＭＰＥＧ−ＴＳデータを処理する際に選択される。
【００３０】
カウントモード選択部１１１は、ＭＰＥＧ−ＴＳデータの各パケットの先頭バイト（ＳＯＰ）をトリガとして、各パケット毎にモードを選択してカウントイネーブル信号ＣＥをカウンタ１１２に与える。たとえば、第１の動作モードが選択されていれば、カウントイネーブル信号ＣＥはＨレベル（アクティブ）となっている。
また、カウントモード選択部１１１に対する制御信号ｍｏｄｅ＿ｓのレベル変化により、カウンタ１１２は第２の動作モードを選択する。これにより、カウントイネーブル信号ＣＥは、たとえばＬレベルとなり、クロックＣＬＫに基づくカウントを停止し、レジスタ１１３にロードされたΔＴＴＳをカウントアップ量としてカウントが行われる。各パケットの先頭バイト（ＳＯＰ）を受信したタイミングでのみ、ΔＴＴＳをカウントアップ量としたカウントをパケット毎に行う。
【００３１】
カウンタ１１２により生成される３２ビットのカウント値Ｃｎｔは、データ書込み部（ＤＷ）１２０に与えられる。
タイミングジェネレータ（ＴＧ）１３０は、各パケットの先頭バイト（ＳＯＰ）の受信に応じて、制御信号としての入力切替信号ＳＥＬおよびライトイネーブル信号ＷＥを、それぞれデータ書込み部（ＤＷ）１２０およびＦＩＦＯバッファ（ＦＩＦＯ）１２に与える。
これにより、データ書込み部１２０は、ＭＰＥＧ−ＴＳデータとカウント値Ｃｎｔを選択的に取り込み、ＭＰＥＧ−ＴＳデータの先頭に３２ビット（４バイト）のカウント値Ｃｎｔを書き込む。具体的には、図１（ｂ）の（ｂ−４）に示したように、カウント値Ｃｎｔを先頭４バイトのタイムスタンプ（ＴＭ）として各パケットに書き込む。
【００３２】
タイムスタンプが書き込まれたＭＰＥＧ−ＴＳデータは、ライトイネーブル信号ＷＥに同期したタイミングで、順にＦＩＦＯバッファ１２に格納される。
【００３３】
ΔＴＴＳの算出方法
次に、第２の動作モードで必要となるΔＴＴＳの算出方法について説明する。
第２の動作モードにおけるカウンタ１１２のカウントアップ量は、ＣＰＵ２０により以下の通り算出されて、レジスタ１１３にロードされる。
メモリ３０から転送されるＭＰＥＧ−ＴＳデータの各パケットには、時刻情報としての４２ビットのＰＣＲ(Program Clock Reference) が含まれているので、転送レートに応じたパケット間の時間関係がわかる。
すなわち、ｎ−１番目のパケットＴＳ＿ＮＯ（ｎ−１）のＰＣＲをＰＣＲ（ｎ−１）、ｎ番目のパケットＴＳ＿ＮＯ（ｎ）のＰＣＲをＰＣＲ（ｎ）とすると、パケット間でカウントアップすべき量ΔＴＴＳは、下記（１）式の通りとなる。
ΔＴＴＳ＝｛ＰＣＲ（ｎ）−ＰＣＲ（ｎ−１）｝／｛ＴＳ＿ＮＯ（ｎ）−ＴＳ＿ＮＯ（ｎ−１）｝  …  （１）
上記（１）式によれば、実際の転送レートに応じた正確なカウントアップ量を算出することが可能であるが、少なくとも２つのパケットのＰＣＲが得られないと、ΔＴＴＳを算出することはできない。たとえば、各パケットの転送は３０〜１００ｍｓ程度であるので、最悪２００ｍｓ経過しなければ、ΔＴＴＳを算出することができない。
【００３４】
一方、システム内で、ＭＰＥＧ−ＴＳデータを転送する場合には、通常転送レートＴＲ〔Ｍｂｐｓ〕がＣＰＵ２０より指定されるので、この転送レートを用いて、下記（２）式のように算出することもできる。
ΔＴＴＳ＝（パケット単位のデータ量）×（クロックの周波数）／（転送レートＴＲ）
＝（１８８×８）〔ビット〕×２７〔ＭＨｚ〕／ＴＲ〔Ｍｂｐｓ〕
＝  ４０６０８／ＴＲ  …  （２）
上記（２）式によれば、実際のデータ転送を待たずとも、予め転送レートに基づいて算出することができる。しかし、上記（２）式は理論的には正しい値であるものの、実際にデータが転送される際の転送レートはシステムの状態に応じて変化するため、正確な転送レートを反映していない場合がある。
【００３５】
タイムスタンプ付加部１１の動作
次に、タイムスタンプ付加部１１の動作について説明する。
〔１〕コンテンツデータＣ＿Ｄａｔａを外部からＴＳとして入力する場合の動作
外部からＭＰＥＧ−ＴＳデータを入力する場合は、ＴＳ処理部１０にＭＰＥＧ−ＴＳデータの各パケットが到着した時刻に応じて、タイムスタンプの値を決定することができる。具体的には、ＭＰＥＧ−ＴＳデータの各パケットを入力したタイミングで、２７ＭＨｚで動作するカウンタをラッチ等してそのカウント値を各パケットに書き込む。
【００３６】
図３に関連付けて、外部からＴＳを入力する場合の動作を説明する。
外部からＭＰＥＧ−ＴＳデータを入力する場合、カウントモード選択部１１１は、制御信号ｍｏｄｅ＿ｓに応じて第１の動作モードを選択する。すなわち、カウンタ１１２は、２７ＭＨｚのクロックＣＬＫに応じてカウントする。
ＭＰＥＧ−ＴＳデータの各パケットの先頭バイト（ＳＯＰ）を受信する毎に、カウンタ１１２の３２ビットのカウント値Ｃｎｔがラッチされ、その値がデータ書込み部１２０に順次取り込まれる。データ書込み部１２０は、順次カウント値Ｃｎｔを各パケットの先頭にタイムスタンプとして書き込む。
タイムスタンプ付きＭＰＥＧ−ＴＳデータは、ライトイネーブル信号ＷＥに応じて、順次ＦＩＦＯバッファ１２に格納される。
【００３７】
〔２〕コンテンツデータＣ＿Ｄａｔａ基づいて内部でＴＳを生成する場合の動作
コンテンツデータＣ＿Ｄａｔａは、ＭＰＥＧエンコーダ５０によりＭＰＥＧ−ＴＳデータの形に符号化され、そのデータは、ＤＭＡ転送によってＣＰＵ２０を介してメモリ３０に格納される。さらに、イーサネットコントローラ４０経由で伝送する場合には、メモリ３０内のＭＰＥＧ−ＴＳデータは、ＣＰＵ２０を介したＤＭＡ転送によりＴＳ処理部１０へ転送が行われ、タイムスタンプが付加される。
すなわち、画像等を含むコンテンツデータＣ＿Ｄａｔａは、たとえば、画像のＧＯＰ(Group Of Picture)単位毎にシステムバス９００によって転送するのが一般的であり、その際、ＤＭＡ転送等の効率的なデータ転送が利用される。
【００３８】
図３に関連付けて、内部でＴＳを生成する場合のタイムスタンプ付加部１１の動作を説明する。
メモリ３０からＴＳ処理部１０に対してＭＰＥＧ−ＴＳデータが転送される際には、予めＣＰＵ２０によって、前述した（１）式または（２）式に基づいて、ΔＴＴＳが算出され、レジスタ１１３にその値がロードされる。
カウントモード選択部１１１は、制御信号ｍｏｄｅ＿ｓに応じて第２の動作モードを選択する。すなわち、カウンタ１１２は、クロックＣＬＫによってカウントせずに、レジスタ１１３にロードされたΔＴＴＳをカウントアップ量として、パケット毎にカウントアップする。
ＭＰＥＧ−ＴＳデータの各パケットの先頭バイト（ＳＯＰ）を受信する毎に、カウンタ１１２は、ΔＴＴＳだけカウントアップし、そのカウント値がデータ書込み部１２０に順次取り込まれる。データ書込み部１２０では、順次カウント値Ｃｎｔが各パケットの先頭にタイムスタンプとして書き込まれる。
タイムスタンプ付きＭＰＥＧ−ＴＳデータは、ライトイネーブル信号ＷＥに応じて、順次ＦＩＦＯバッファ１２に格納される。
【００３９】
〔３〕ΔＴＴＳが算出されるまでの動作
前述したように、ΔＴＴＳは、（１）式によってＰＣＲの値に基づくΔＴＴＳを算出することが精度上望ましい一方で、（１）式によってΔＴＴＳを算出するためには、少なくとも２つのパケットのＰＣＲを取得するまで（最悪２００ｍｓ程度）待たなくてはならない。そこで、実施形態に係るデータ送信装置１では、ＰＣＲの値に基づくΔＴＴＳが算出できるまでの間、（２）式によって転送レートＴＲに基づくΔＴＴＳを算出する。
具体的には、予めＣＰＵ２０により上記（２）式によって転送レートに基づくΔＴＴＳを算出してレジスタ１１３にその値をロードする。メモリ３０よりデータを転送し、カウンタ１１２は、レジスタ１１３上のΔＴＴＳをカウントアップ量としてカウント値を算出する。その後、ＣＰＵ２０により（１）式によってΔＴＴＳを算出した時点で、レジスタ１１３のΔＴＴＳを更新し、カウンタ１１２は、更新されたΔＴＴＳをカウントアップ量としてカウント値を算出するように構成する。
【００４０】
また、（１）式によってΔＴＴＳを算出するまでの間、メモリ３０より１ＴＳパケット単位でデータ転送を行い、タイムスタンプ付加部１１では第１の動作モードとして処理してもよい。すなわち、カウンタ１１２を２７ＭＨｚのクロックＣＬＫに基づいてカウントし、各パケットが転送される毎にカウンタ１１２のカウント値をラッチしてタイムスタンプとして付加する。
その後、ＣＰＵ２０により（１）式によってΔＴＴＳを算出した時点で、カウントモード選択部１１１は第２の動作モードを選択し、レジスタ１１３へΔＴＴＳをロードする。そして、カウンタ１１２は、そのΔＴＴＳをカウントアップ量としてカウント値を算出する。
【００４１】
上述したように、本実施形態に係るデータ送信装置１によれば、コンテンツデータＣ＿Ｄａｔａからタイムスタンプ付きＭＰＥＧ−ＴＳデータを生成する際に、カウンタ１１２と、当該カウンタ１１２に対して、システム内のデータ転送レートに応じたカウントアップ量ΔＴＴＳを算出するＣＰＵ２０と、データ転送に先立ってΔＴＴＳがロードされるレジスタ１１３と、を有し、カウンタ１１２は、レジスタ１１３のΔＴＴＳに基づいてパケット毎にカウントアップし、かつ、システム内を転送されるＭＰＥＧ−ＴＳデータは、パケット毎にカウンタ１１２のカウント値をタイムスタンプとして付加される構成としたので、以下の効果を得ることができる。
すなわち、レジスタ１１３にΔＴＴＳが一旦ロードされると、ＣＰＵ２０はＭＰＥＧ−ＴＳデータのデータ転送に対してレート制御する必要がなく、ＤＭＡ転送などのバースト転送によってシステム内での効率的なデータ転送を行うことができる。バースト転送を行っても、各パケットのタイムスタンプがすべて同一となることはなく、適切にタイムスタンプが付加される。
【００４２】
本実施形態に係るデータ送信装置１によれば、カウントモード選択部１１１を有し、カウンタ１１２が２７ＭＨｚのクロックに同期してカウントする第１の動作モードと、カウンタ１１２のカウントアップ量がパケット毎にレジスタ１１３にロードされたΔＴＴＳによって規定される第２の動作モード、を選択可能な構成としたので、外部からのＭＰＥＧ−ＴＳデータにタイムスタンプを付加する処理と、内部で生成したＭＰＥＧ−ＴＳデータにタイムスタンプを付加する処理と、を選択的に実行することができる。
【００４３】
本実施形態に係るデータ送信装置１によれば、ＣＰＵ２０は、内部で生成したＭＰＥＧ−ＴＳデータに対するΔＴＴＳに対して、ＰＣＲに基づく第１の算出方法と、転送レートＴＲに基づく第２の算出方法、により算出することができ、第２の算出方法より正確なΔＴＴＳを算出可能な第１の算出方法によりΔＴＴＳが算出するまでは、第２の算出方法によりΔＴＴＳを算出するように構成した。
したがって、最初から、効率的なデータ転送を行いつつ、第１の算出方法によるΔＴＴＳが算出される以前でも、第２の算出方法による比較的精度が高いタイムスタンプを付加することができる。
【００４４】
なお、より正確な第１の算出方法によりΔＴＴＳが算出するまでは、１ＴＳパケット毎にデータ転送して第１の動作モードによってタイムスタンプを付加するように構成することもできる。かかる場合は、第１の算出方法によりΔＴＴＳが算出するまでは、効率的なデータ転送を行うことはできないが、最初から精度が高いタイムスタンプを付加することができる。
【００４５】
本発明は、上述した内容に拘泥せず、本発明の要旨を変更しない範囲で様々な改変を行うことが可能である。
たとえば、上述した実施形態の内容では、外部からのＭＰＥＧ−ＴＳデータは、第１の動作モードによって動作することとしたが、第２の動作モードによって動作するように構成してもよい。その際には、図２のＴＳ処理部１０内に、入力したＭＰＥＧ−ＴＳデータから各パケットのＰＣＲを検出するためのＰＣＲ検出手段を設け、検出されたＰＣＲに基づいてＣＰＵ２０がΔＴＴＳを算出するように構成する。
これにより、外部からのＭＰＥＧ−ＴＳデータがレート制御されていない場合や、入力部のバッファ等の存在によりデータ入力時のカウンタの値が正確なタイムスタンプを反映しない場合でも、適切なタイムスタンプを付加することができる。
【図面の簡単な説明】
【００４６】
【図１】実施形態に係るデータ送信装置１が扱うＭＰＥＧ−ＴＳデータのタイミングチャートである。
【図２】実施形態に係るデータ送信装置１の構成を示すブロック図である。
【図３】タイムスタンプ付加部１１の構成を示すブロック図である。
【符号の説明】
【００４７】
１…データ送信装置、１０…ＴＳ処理部、１１…タイムスタンプ付加部、１１０…カウンタ制御部、１１１…カウントモード選択部（ＭＯＤＥ）、１１２…カウンタ（ＣＴＲ）、１１３…レジスタ、１２０…データ書込み部（ＤＷ）、１３０…タイミングジェネレータ（ＴＧ）、１２…ＦＩＦＯバッファ（ＦＩＦＯ）、１３…著作権情報設定部（ＣＲＳ）、１４…暗号化処理部（ＥＮＣＰ）、２０…ＣＰＵ、３０…メモリ（ＭＥＭ）、４０…イーサネットコントローラ（ＥＴＨ）、５０…ＭＰＥＧエンコーダ（ＭＰＥＧ＿ＥＮＣ）、９００…システムバス。
【図１】
2006067427.tif 000003
【図２】
2006067427.tif 000004
【図３】
2006067427.tif 000005